)))
(est-eval-value-default value)))
+(defun est-eval-value-as-character (value)
+ (let (ret)
+ (if (and (concord-object-p value)
+ (setq ret (concord-object-get value 'character)))
+ (list 'object (list :object value)
+ (mapconcat #'char-to-string ret ""))
+ (est-eval-value-as-object value))))
+
(defun est-eval-value-as-HEX (value)
(if (integerp value)
(list 'HEX nil (format "%X" value))
(error (format "%s" value)))
(format "%s" value)))
+(defun est-eval-value-as-char-list (value &optional separator subtype)
+ (if (and (listp value)
+ (listp (cdr value)))
+ (condition-case nil
+ (let (props)
+ (if separator
+ (setq props (list :separator separator)))
+ (if subtype
+ (setq props (list* :subtype subtype props)))
+ (list* 'list props
+ (mapcar #'est-eval-value-as-character value)))
+ (error (format "%s" value)))
+ (format "%s" value)))
+
(defun est-eval-value-as-composition-list (value &optional separator subtype)
(if (and (listp value)
(listp (cdr value)))
((or (eq format 'space-separated)
(eq format 'space-separated-char-list))
(est-eval-value-as-object-list value " "))
+ ((eq format 'char-list)
+ (est-eval-value-as-char-list value nil))
((eq format 'unordered-list)
(est-eval-value-as-object-list value nil 'unordered-list))
((eq format 'unordered-composition-list)