- (when (and (memq 'ideographic- attributes)
- (setq value (get-char-attribute char 'ideographic-)))
- (insert line-separator)
- (insert "{\"ideographic-\": ")
- (setq lbs (concat "\n" (make-string (current-column) ?\ ))
- separator nil)
- (while (consp value)
- (setq cell (car value))
- (if (integerp cell)
- (setq cell (decode-char '=ucs cell)))
- (cond ((characterp cell)
- (if separator
- (insert lbs))
- (if readable
- (insert (format "%S" cell))
- (char-db-json-insert-char-spec cell readable))
- (setq separator lbs))
- ((consp cell)
- (if separator
- (insert lbs))
- (if (consp (car cell))
- (char-db-json-insert-char-spec cell readable)
- (char-db-json-insert-char-reference cell readable))
- (setq separator lbs))
- (t
- (if separator
- (insert separator))
- (insert (prin1-to-string cell))
- (setq separator " ")))
- (setq value (cdr value)))
- (insert " }")
- (insert line-breaking)
- (setq attributes (delq 'ideographic- attributes)))