update.
[chise/xemacs-chise.git] / lisp / utf-2000 / u000A0-Latin-1-Supplement.el
index c264359..0cf54f5 100755 (executable)
 (define-char
   '((name              . "NO-BREAK SPACE")
-    (ucs               . #x00A0)
     (general-category  separator space) ; Normative Category
     (bidi-category     . "CS")
+    (mirrored          . nil)
     (->decomposition   noBreak #x0020)
+    (->fullwidth
+     ((name              . "fullwidth no-break space")
+      (japanese-jisx0213-1       . #x2922)     ; 
+      ))
+    (latin-iso8859-1   . #xA0) ; 
+    (latin-iso8859-2   . #xA0) ; 
+    (latin-iso8859-3   . #xA0) ; 
+    (latin-iso8859-4   . #xA0) ; 
+    (greek-iso8859-7   . #xA0) ; 
+    (hebrew-iso8859-8  . #xA0) ; 
+    (cyrillic-iso8859-5 . #xA0)        ; 
+    (latin-iso8859-9   . #xA0) ; 
+    (latin-tcvn5712    . #xA0) ; 
+    (ucs               . #x00A0)       ;  
+    ))
+(define-char
+  '((name              . "fullwidth no-break space")
+    (=>ucs             . #x00A0)       ;  
+    (general-category  separator space) ; Normative Category
+    (bidi-category     . "CS")
     (mirrored          . nil)
-    (latin-iso8859-1   #x20)   ; \e.A\e
-    (latin-iso8859-2   #x20)   ; \e.A\e
-    (latin-iso8859-3   #x20)   ; \e.A\e
-    (latin-iso8859-4   #x20)   ; \e.A\e
-    (greek-iso8859-7   #x20)   ; \e.A\e
-    (cyrillic-iso8859-5        #x20)   ; \e.A\e
-    (latin-iso8859-9   #x20)   ; \e.A\e
-    (hebrew-iso8859-8  #x20)   ; \e.A\e
+    (<-fullwidth
+     ((name              . "NO-BREAK SPACE")
+      (ucs               . #x00A0)     ;  
+      ))
+    (japanese-jisx0213-1       . #x2922)       ; 
     ))
 (define-char
   '((name              . "INVERTED EXCLAMATION MARK")
-    (ucs               . #x00A1)
     (general-category  punctuation other) ; Informative Category
     (bidi-category     . "ON")
     (mirrored          . nil)
-    (latin-iso8859-1   #x21)   ; \e.A\eN!
-    (latin-iso8859-9   #x21)   ; \e.A\eN!
+    (->fullwidth
+     ((name              . "fullwidth inverted exclamation mark")
+      (korean-ksc5601            . #x222E)     ; 
+      (japanese-jisx0212         . #x2242)     ; 
+      (japanese-jisx0213-1       . #x2923)     ; 
+      ))
+    (latin-iso8859-1   . #xA1) ; 
+    (latin-iso8859-9   . #xA1) ; 
+    (ucs               . #x00A1)       ; ¡
     ))
 (define-char
-  '((name              . "FULLWIDTH INVERTED EXCLAMATION MARK")
-    (->ucs             . #x00A1)
+  '((name              . "fullwidth inverted exclamation mark")
+    (=>ucs             . #x00A1)       ; ¡
     (general-category  punctuation other) ; Informative Category
     (bidi-category     . "ON")
-    (->decomposition   wide #x00A1)
     (mirrored          . nil)
-    (korean-ksc5601    #x22 #x2E)      ; \e$(D"B\e(B
-    (japanese-jisx0212 #x22 #x42)      ; \e$(D"B\e(B
+    (<-fullwidth
+     ((name              . "INVERTED EXCLAMATION MARK")
+      (ucs               . #x00A1)     ; ¡
+      ))
+    (korean-ksc5601            . #x222E)       ; 
+    (japanese-jisx0212         . #x2242)       ; 
+    (japanese-jisx0213-1       . #x2923)       ; 
     ))
 (define-char
   '((name              . "CENT SIGN")
-    (ucs               . #x00A2)
     (general-category  symbol currency) ; Informative Category
     (bidi-category     . "ET")
     (mirrored          . nil)
-    (latin-iso8859-1   #x22)   ; \e.A\eN"
-    (latin-iso8859-9   #x22)   ; \e.A\eN"
-    (hebrew-iso8859-8  #x22)   ; \e.A\eN"
+    (->fullwidth
+     ((name              . "FULLWIDTH CENT SIGN")
+      (ucs               . #xFFE0)     ; ¢
+      ))
+    (latin-iso8859-1   . #xA2) ; 
+    (hebrew-iso8859-8  . #xA2) ; 
+    (latin-iso8859-9   . #xA2) ; 
+    (ucs               . #x00A2)       ; ¢
     ))
 (define-char
   '((name              . "POUND SIGN")
-    (ucs               . #x00A3)
     (general-category  symbol currency) ; Informative Category
     (bidi-category     . "ET")
     (mirrored          . nil)
-    (latin-iso8859-1   #x23)   ; \e.A\eN#
-    (latin-iso8859-3   #x23)   ; \e.A\eN#
-    (greek-iso8859-7   #x23)   ; \e.A\eN#
-    (latin-iso8859-9   #x23)   ; \e.A\eN#
-    (hebrew-iso8859-8  #x23)   ; \e.A\eN#
+    (->fullwidth
+     ((name              . "FULLWIDTH POUND SIGN")
+      (ucs               . #xFFE1)     ; £
+      ))
+    (latin-iso8859-1   . #xA3) ; 
+    (latin-iso8859-3   . #xA3) ; 
+    (greek-iso8859-7   . #xA3) ; 
+    (hebrew-iso8859-8  . #xA3) ; 
+    (latin-iso8859-9   . #xA3) ; 
+    (ucs               . #x00A3)       ; £
     ))
 (define-char
   '((name              . "CURRENCY SIGN")
-    (ucs               . #x00A4)
     (general-category  symbol currency) ; Informative Category
     (bidi-category     . "ET")
     (mirrored          . nil)
-    (latin-iso8859-1   #x24)   ; \e.A\eN$
-    (latin-iso8859-2   #x24)   ; \e.A\eN$
-    (latin-iso8859-3   #x24)   ; \e.A\eN$
-    (latin-iso8859-4   #x24)   ; \e.A\eN$
-    (latin-iso8859-9   #x24)   ; \e.A\eN$
-    (hebrew-iso8859-8  #x24)   ; \e.A\eN$
-    ))
-(define-char
-  '((name              . "FULLWIDTH CURRENCY SIGN")
-    (->ucs             . #x00A4)
+    (->fullwidth
+     ((name              . "fullwidth currency sign")
+      (chinese-gb2312            . #x2168)     ; 
+      (korean-ksc5601            . #x2234)     ; 
+      (japanese-jisx0212         . #x2270)     ; 
+      (japanese-jisx0213-1       . #x2924)     ; 
+      ))
+    (latin-iso8859-1   . #xA4) ; 
+    (latin-iso8859-2   . #xA4) ; 
+    (latin-iso8859-3   . #xA4) ; 
+    (latin-iso8859-4   . #xA4) ; 
+    (hebrew-iso8859-8  . #xA4) ; 
+    (latin-iso8859-9   . #xA4) ; 
+    (ucs               . #x00A4)       ; ¤
+    ))
+(define-char
+  '((name              . "fullwidth currency sign")
+    (=>ucs             . #x00A4)       ; ¤
     (general-category  symbol currency) ; Informative Category
     (bidi-category     . "ET")
     (mirrored          . nil)
-    (->decomposition   wide #x00A4)
-    (chinese-gb2312    #x21 #x68)      ; \e$(D"p\e(B
-    (korean-ksc5601    #x22 #x34)      ; \e$(D"p\e(B
-    (japanese-jisx0212 #x22 #x70)      ; \e$(D"p\e(B
+    (<-fullwidth
+     ((name              . "CURRENCY SIGN")
+      (ucs               . #x00A4)     ; ¤
+      ))
+    (chinese-gb2312            . #x2168)       ; 
+    (korean-ksc5601            . #x2234)       ; 
+    (japanese-jisx0212         . #x2270)       ; 
+    (japanese-jisx0213-1       . #x2924)       ; 
     ))
 (define-char
   '((name              . "YEN SIGN")
-    (ucs               . #x00A5)
     (general-category  symbol currency) ; Informative Category
     (bidi-category     . "ET")
     (mirrored          . nil)
-    (latin-jisx0201    #x5C)   ; \e.A\eN%
-    (latin-iso8859-1   #x25)   ; \e.A\eN%
-    (latin-iso8859-9   #x25)   ; \e.A\eN%
-    (hebrew-iso8859-8  #x25)   ; \e.A\eN%
+    (->fullwidth
+     ((name              . "FULLWIDTH YEN SIGN")
+      (ucs               . #xFFE5)     ; ¥
+      ))
+    (latin-jisx0201    . #x5C) ; 
+    (latin-iso8859-1   . #xA5) ; 
+    (hebrew-iso8859-8  . #xA5) ; 
+    (latin-iso8859-9   . #xA5) ; 
+    (ucs               . #x00A5)       ; ¥
     ))
 (define-char
   '((name              . "BROKEN BAR")
-    (ucs               . #x00A6)
     (general-category  symbol other) ; Informative Category
     (bidi-category     . "ON")
     (mirrored          . nil)
-    (latin-iso8859-1   #x26)   ; \e.A\eN&
-    (greek-iso8859-7   #x26)   ; \e.A\eN&
-    (latin-iso8859-9   #x26)   ; \e.A\eN&
-    (hebrew-iso8859-8  #x26)   ; \e.A\eN&
+    (->fullwidth
+     ((name              . "FULLWIDTH BROKEN BAR")
+      (ucs               . #xFFE4)     ; ¦
+      ))
+    (latin-iso8859-1   . #xA6) ; 
+    (greek-iso8859-7   . #xA6) ; 
+    (hebrew-iso8859-8  . #xA6) ; 
+    (latin-iso8859-9   . #xA6) ; 
+    (ucs               . #x00A6)       ; ¦
     ))
 (define-char
   '((name              . "SECTION SIGN")
-    (ucs               . #x00A7)
     (general-category  symbol other) ; Informative Category
     (bidi-category     . "ON")
     (mirrored          . nil)
-    (latin-iso8859-1   #x27)   ; \e.A\eN'
-    (latin-iso8859-2   #x27)   ; \e.A\eN'
-    (latin-iso8859-3   #x27)   ; \e.A\eN'
-    (latin-iso8859-4   #x27)   ; \e.A\eN'
-    (greek-iso8859-7   #x27)   ; \e.A\eN'
-    (cyrillic-iso8859-5        #x7D)   ; \e.A\eN'
-    (latin-iso8859-9   #x27)   ; \e.A\eN'
-    (hebrew-iso8859-8  #x27)   ; \e.A\eN'
-    ))
-(define-char
-  '((name              . "FULLWIDTH SECTION SIGN")
-    (->ucs             . #x00A7)
+    (->fullwidth
+     ((name              . "fullwidth section sign")
+      (japanese-jisx0208-1978    . #x2178)     ; 
+      (chinese-gb2312            . #x216C)     ; 
+      (japanese-jisx0208         . #x2178)     ; 
+      (korean-ksc5601            . #x2157)     ; 
+      (chinese-cns11643-1        . #x2170)     ; 
+      ))
+    (latin-iso8859-1   . #xA7) ; 
+    (latin-iso8859-2   . #xA7) ; 
+    (latin-iso8859-3   . #xA7) ; 
+    (latin-iso8859-4   . #xA7) ; 
+    (greek-iso8859-7   . #xA7) ; 
+    (hebrew-iso8859-8  . #xA7) ; 
+    (cyrillic-iso8859-5 . #xFD)        ; 
+    (latin-iso8859-9   . #xA7) ; 
+    (ucs               . #x00A7)       ; §
+    ))
+(define-char
+  '((name              . "fullwidth section sign")
+    (=>ucs             . #x00A7)       ; §
     (general-category  symbol other) ; Informative Category
     (bidi-category     . "ON")
-    (->decomposition   wide #x00A7)
     (mirrored          . nil)
-    (japanese-jisx0208-1978    #x21 #x78)      ; \e$B!x\e(B
-    (chinese-gb2312            #x21 #x6C)      ; \e$B!x\e(B
-    (japanese-jisx0208         #x21 #x78)      ; \e$B!x\e(B
-    (korean-ksc5601            #x21 #x57)      ; \e$B!x\e(B
-    (chinese-cns11643-1                #x21 #x70)      ; \e$B!x\e(B
+    (<-fullwidth
+     ((name              . "SECTION SIGN")
+      (ucs               . #x00A7)     ; §
+      ))
+    (japanese-jisx0208-1978    . #x2178)       ; 
+    (chinese-gb2312            . #x216C)       ; 
+    (japanese-jisx0208         . #x2178)       ; 
+    (korean-ksc5601            . #x2157)       ; 
+    (chinese-cns11643-1                . #x2170)       ; 
+    (japanese-jisx0208-1990    . #x2178)       ; 
+    (chinese-big5              . #xA1B1)       ; 
     ))
 (define-char
   '((name              . "DIAERESIS")
-    (ucs               . #x00A8)
     (general-category  symbol modifier) ; Informative Category
     (bidi-category     . "ON")
-    (->decomposition   compat #x0020 #x0308)
     (mirrored          . nil)
-    (latin-iso8859-1   #x28)   ; \e.A\eN(
-    (latin-iso8859-2   #x28)   ; \e.A\eN(
-    (latin-iso8859-3   #x28)   ; \e.A\eN(
-    (latin-iso8859-4   #x28)   ; \e.A\eN(
-    (greek-iso8859-7   #x28)   ; \e.A\eN(
-    (latin-iso8859-9   #x28)   ; \e.A\eN(
-    (hebrew-iso8859-8  #x28)   ; \e.A\eN(
-    ))
-(define-char
-  '((name              . "FULLWIDTH DIAERESIS")
-    (->ucs             . #x00A8)
+    (->decomposition   compat #x0020 #x0308)
+    (->fullwidth
+     ((name              . "fullwidth diaeresis")
+      (japanese-jisx0208-1978    . #x212F)     ; 
+      (chinese-gb2312            . #x2127)     ; 
+      (japanese-jisx0208         . #x212F)     ; 
+      (korean-ksc5601            . #x2127)     ; 
+      ))
+    (latin-iso8859-1   . #xA8) ; 
+    (latin-iso8859-2   . #xA8) ; 
+    (latin-iso8859-3   . #xA8) ; 
+    (latin-iso8859-4   . #xA8) ; 
+    (greek-iso8859-7   . #xA8) ; 
+    (hebrew-iso8859-8  . #xA8) ; 
+    (latin-iso8859-9   . #xA8) ; 
+    (ucs               . #x00A8)       ; ¨
+    ))
+(define-char
+  '((name              . "fullwidth diaeresis")
+    (=>ucs             . #x00A8)       ; ¨
     (general-category  symbol modifier) ; Informative Category
     (bidi-category     . "ON")
-    (->decomposition   wide #x00A8)
     (mirrored          . nil)
-    (japanese-jisx0208-1978    #x21 #x2F)      ; \e$B!/\e(B
-    (chinese-gb2312            #x21 #x27)      ; \e$B!/\e(B
-    (japanese-jisx0208         #x21 #x2F)      ; \e$B!/\e(B
-    (korean-ksc5601            #x21 #x27)      ; \e$B!/\e(B
+    (<-fullwidth
+     ((name              . "DIAERESIS")
+      (ucs               . #x00A8)     ; ¨
+      ))
+    (japanese-jisx0208-1978    . #x212F)       ; 
+    (chinese-gb2312            . #x2127)       ; 
+    (japanese-jisx0208         . #x212F)       ; 
+    (korean-ksc5601            . #x2127)       ; 
+    (japanese-jisx0208-1990    . #x212F)       ; 
+    (chinese-big5              . #xC6D8)       ; 
     ))
 (define-char
   '((name              . "COPYRIGHT SIGN")
-    (ucs               . #x00A9)
     (general-category  symbol other) ; Informative Category
     (bidi-category     . "ON")
     (mirrored          . nil)
-    (latin-iso8859-1   #x29)   ; \e.A\eN)
-    (greek-iso8859-7   #x29)   ; \e.A\eN)
-    (latin-iso8859-9   #x29)   ; \e.A\eN)
-    (hebrew-iso8859-8  #x29)   ; \e.A\eN)
+    (->fullwidth
+     ((name              . "fullwidth copyright sign")
+      (japanese-jisx0212         . #x226D)     ; 
+      (japanese-jisx0213-1       . #x2926)     ; 
+      ))
+    (latin-iso8859-1   . #xA9) ; 
+    (greek-iso8859-7   . #xA9) ; 
+    (hebrew-iso8859-8  . #xA9) ; 
+    (latin-iso8859-9   . #xA9) ; 
+    (ucs               . #x00A9)       ; ©
     ))
 (define-char
-  '((name              . "FULLWIDTH COPYRIGHT SIGN")
-    (->ucs             . #x00A9)
+  '((name              . "fullwidth copyright sign")
+    (=>ucs             . #x00A9)       ; ©
     (general-category  symbol other) ; Informative Category
     (bidi-category     . "ON")
-    (->decomposition   wide #x00A9)
     (mirrored          . nil)
-    (japanese-jisx0212 #x22 #x6D)      ; \e$(D"m\e(B
+    (<-fullwidth
+     ((name              . "COPYRIGHT SIGN")
+      (ucs               . #x00A9)     ; ©
+      ))
+    (japanese-jisx0212         . #x226D)       ; 
+    (japanese-jisx0213-1       . #x2926)       ; 
     ))
 (define-char
   '((name              . "FEMININE ORDINAL INDICATOR")
-    (ucs               . #x00AA)
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   super #x0061)
     (mirrored          . nil)
-    (latin-iso8859-1   #x2A)   ; \e.A\eN*
-    (latin-iso8859-9   #x2A)   ; \e.A\eN*
+    (->decomposition   super #x0061)
+    (->fullwidth
+     ((name              . "fullwidth feminine ordinal indicator")
+      (korean-ksc5601            . #x2823)     ; 
+      (japanese-jisx0212         . #x226C)     ; 
+      (japanese-jisx0213-1       . #x2927)     ; 
+      ))
+    (latin-iso8859-1   . #xAA) ; 
+    (latin-iso8859-9   . #xAA) ; 
+    (ucs               . #x00AA)       ; ª
     ))
 (define-char
-  '((name              . "FULLWIDTH FEMININE ORDINAL INDICATOR")
-    (->ucs             . #x00AA)
+  '((name              . "fullwidth feminine ordinal indicator")
+    (=>ucs             . #x00AA)       ; ª
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00AA)
     (mirrored          . nil)
-    (korean-ksc5601    #x28 #x23)      ; \e$(D"l\e(B
-    (japanese-jisx0212 #x22 #x6C)      ; \e$(D"l\e(B
+    (<-fullwidth
+     ((name              . "FEMININE ORDINAL INDICATOR")
+      (ucs               . #x00AA)     ; ª
+      ))
+    (korean-ksc5601            . #x2823)       ; 
+    (japanese-jisx0212         . #x226C)       ; 
+    (japanese-jisx0213-1       . #x2927)       ; 
     ))
 (define-char
   '((name              . "LEFT-POINTING DOUBLE ANGLE QUOTATION MARK")
-    (ucs               . #x00AB)
     (general-category  punctuation initial-quote) ; Informative Category
     (bidi-category     . "ON")
     (mirrored          . t)
-    (iso-10646-comment . "*")
-    (latin-iso8859-1   #x2B)   ; \e.A\eN+
-    (greek-iso8859-7   #x2B)   ; \e.A\eN+
-    (latin-iso8859-9   #x2B)   ; \e.A\eN+
-    (hebrew-iso8859-8  #x2B)   ; \e.A\eN+
+    (->fullwidth
+     ((name . "fullwidth left-pointing double angle quotation mark")
+      (japanese-jisx0213-1       . #x2928)     ; 
+      ))
+    (arabic-1-column   . #x2A) ; 
+    (latin-iso8859-1   . #xAB) ; 
+    (greek-iso8859-7   . #xAB) ; 
+    (hebrew-iso8859-8  . #xAB) ; 
+    (latin-iso8859-9   . #xAB) ; 
+    (ucs               . #x00AB)       ; «
+    ))
+(define-char
+  '((name . "fullwidth left-pointing double angle quotation mark")
+    (=>ucs             . #x00AB)       ; «
+    (general-category  punctuation initial-quote) ; Informative Category
+    (bidi-category     . "ON")
+    (mirrored          . t)
+    (<-fullwidth
+     ((name              . "LEFT-POINTING DOUBLE ANGLE QUOTATION MARK")
+      (ucs               . #x00AB)     ; «
+      ))
+    (japanese-jisx0213-1       . #x2928)       ; 
     ))
 (define-char
   '((name              . "NOT SIGN")
-    (ucs               . #x00AC)
     (general-category  symbol math) ; Informative Category
     (bidi-category     . "ON")
     (mirrored          . nil)
-    (latin-iso8859-1   #x2C)   ; \e.A\eN,
-    (greek-iso8859-7   #x2C)   ; \e.A\eN,
-    (latin-iso8859-9   #x2C)   ; \e.A\eN,
-    (hebrew-iso8859-8  #x2C)   ; \e.A\eN,
+    (->fullwidth
+     ((name              . "FULLWIDTH NOT SIGN")
+      (ucs               . #xFFE2)     ; ¬
+      ))
+    (latin-iso8859-1   . #xAC) ; 
+    (greek-iso8859-7   . #xAC) ; 
+    (hebrew-iso8859-8  . #xAC) ; 
+    (latin-iso8859-9   . #xAC) ; 
+    (ucs               . #x00AC)       ; ¬
     ))
 (define-char
   '((name              . "SOFT HYPHEN")
-    (ucs               . #x00AD)
     (general-category  punctuation dash) ; Informative Category
     (bidi-category     . "ON")
     (mirrored          . nil)
-    (latin-iso8859-1   #x2D)   ; \e.A\eN-
-    (latin-iso8859-2   #x2D)   ; \e.A\eN-
-    (latin-iso8859-3   #x2D)   ; \e.A\eN-
-    (latin-iso8859-4   #x2D)   ; \e.A\eN-
-    (greek-iso8859-7   #x2D)   ; \e.A\eN-
-    (cyrillic-iso8859-5        #x2D)   ; \e.A\eN-
-    (latin-iso8859-9   #x2D)   ; \e.A\eN-
-    (hebrew-iso8859-8  #x2D)   ; \e.A\eN-
-    ))
-(define-char
-  '((name              . "FULLWIDTH SOFT HYPHEN")
-    (->ucs             . #x00AD)
+    (->fullwidth
+     ((name              . "fullwidth soft hyphen")
+      (korean-ksc5601            . #x2129)     ; 
+      (japanese-jisx0213-1       . #x2929)     ; 
+      ))
+    (latin-iso8859-1   . #xAD) ; 
+    (latin-iso8859-2   . #xAD) ; 
+    (latin-iso8859-3   . #xAD) ; 
+    (latin-iso8859-4   . #xAD) ; 
+    (greek-iso8859-7   . #xAD) ; 
+    (hebrew-iso8859-8  . #xAD) ; 
+    (cyrillic-iso8859-5 . #xAD)        ; 
+    (latin-iso8859-9   . #xAD) ; 
+    (ucs               . #x00AD)       ; ­
+    ))
+(define-char
+  '((name              . "fullwidth soft hyphen")
+    (=>ucs             . #x00AD)       ; ­
     (general-category  punctuation dash) ; Informative Category
     (bidi-category     . "ON")
-    (->decomposition   wide #x00AD)
     (mirrored          . nil)
-    (korean-ksc5601    #x21 #x29)      ; \e$(C!)\e(B
+    (<-fullwidth
+     ((name              . "SOFT HYPHEN")
+      (ucs               . #x00AD)     ; ­
+      ))
+    (korean-ksc5601            . #x2129)       ; 
+    (japanese-jisx0213-1       . #x2929)       ; 
     ))
 (define-char
   '((name              . "REGISTERED SIGN")
-    (ucs               . #x00AE)
     (general-category  symbol other) ; Informative Category
     (bidi-category     . "ON")
     (mirrored          . nil)
-    (latin-iso8859-1   #x2E)   ; \e.A\eN.
-    (latin-iso8859-9   #x2E)   ; \e.A\eN.
-    (hebrew-iso8859-8  #x2E)   ; \e.A\eN.
+    (->fullwidth
+     ((name              . "fullwidth registered sign")
+      (japanese-jisx0212         . #x226E)     ; 
+      (japanese-jisx0213-1       . #x292A)     ; 
+      ))
+    (latin-iso8859-1   . #xAE) ; 
+    (hebrew-iso8859-8  . #xAE) ; 
+    (latin-iso8859-9   . #xAE) ; 
+    (ucs               . #x00AE)       ; ®
     ))
 (define-char
-  '((name              . "FULLWIDTH REGISTERED SIGN")
-    (->ucs             . #x00AE)
+  '((name              . "fullwidth registered sign")
+    (=>ucs             . #x00AE)       ; ®
     (general-category  symbol other) ; Informative Category
     (bidi-category     . "ON")
-    (->decomposition   wide #x00AE)
     (mirrored          . nil)
-    (japanese-jisx0212 #x22 #x6E)      ; \e$(D"n\e(B
+    (<-fullwidth
+     ((name              . "REGISTERED SIGN")
+      (ucs               . #x00AE)     ; ®
+      ))
+    (japanese-jisx0212         . #x226E)       ; 
+    (japanese-jisx0213-1       . #x292A)       ; 
     ))
 (define-char
   '((name              . "MACRON")
-    (ucs               . #x00AF)
     (general-category  symbol modifier) ; Informative Category
     (bidi-category     . "ON")
-    (->decomposition   compat #x0020 #x0304)
     (mirrored          . nil)
-    (latin-iso8859-1   #x2F)   ; \e.A\eN/
-    (latin-iso8859-4   #x2F)   ; \e.A\eN/
-    (latin-iso8859-9   #x2F)   ; \e.A\eN/
+    (->decomposition   compat #x0020 #x0304)
+    (->fullwidth
+     ((name              . "FULLWIDTH MACRON")
+      (ucs               . #xFFE3)     ;  ̄
+      ))
+    (latin-iso8859-1   . #xAF) ; 
+    (latin-iso8859-4   . #xAF) ; 
+    (latin-iso8859-9   . #xAF) ; 
+    (ucs               . #x00AF)       ; ¯
     ))
 (define-char
   '((name              . "DEGREE SIGN")
-    (ucs               . #x00B0)
     (general-category  symbol other) ; Informative Category
     (bidi-category     . "ET")
     (mirrored          . nil)
-    (latin-iso8859-1   #x30)   ; \e.A\eN0
-    (latin-iso8859-2   #x30)   ; \e.A\eN0
-    (latin-iso8859-3   #x30)   ; \e.A\eN0
-    (latin-iso8859-4   #x30)   ; \e.A\eN0
-    (greek-iso8859-7   #x30)   ; \e.A\eN0
-    (latin-iso8859-9   #x30)   ; \e.A\eN0
-    (hebrew-iso8859-8  #x30)   ; \e.A\eN0
-    ))
-(define-char
-  '((name              . "FULLWIDTH DEGREE SIGN")
-    (->ucs             . #x00B0)
+    (->fullwidth
+     ((name              . "fullwidth degree sign")
+      (japanese-jisx0208-1978    . #x216B)     ; 
+      (chinese-gb2312            . #x2163)     ; 
+      (japanese-jisx0208         . #x216B)     ; 
+      (korean-ksc5601            . #x2146)     ; 
+      (chinese-cns11643-1        . #x2278)     ; 
+      ))
+    (latin-iso8859-1   . #xB0) ; 
+    (latin-iso8859-2   . #xB0) ; 
+    (latin-iso8859-3   . #xB0) ; 
+    (latin-iso8859-4   . #xB0) ; 
+    (greek-iso8859-7   . #xB0) ; 
+    (hebrew-iso8859-8  . #xB0) ; 
+    (latin-iso8859-9   . #xB0) ; 
+    (ucs               . #x00B0)       ; °
+    ))
+(define-char
+  '((name              . "fullwidth degree sign")
+    (=>ucs             . #x00B0)       ; °
     (general-category  symbol other) ; Informative Category
     (bidi-category     . "ET")
-    (->decomposition   wide #x00B0)
     (mirrored          . nil)
-    (japanese-jisx0208-1978    #x21 #x6B)      ; \e$B!k\e(B
-    (chinese-gb2312            #x21 #x63)      ; \e$B!k\e(B
-    (japanese-jisx0208         #x21 #x6B)      ; \e$B!k\e(B
-    (korean-ksc5601            #x21 #x46)      ; \e$B!k\e(B
-    (chinese-cns11643-1                #x22 #x78)      ; \e$B!k\e(B
+    (<-fullwidth
+     ((name              . "DEGREE SIGN")
+      (ucs               . #x00B0)     ; °
+      ))
+    (japanese-jisx0208-1978    . #x216B)       ; 
+    (chinese-gb2312            . #x2163)       ; 
+    (japanese-jisx0208         . #x216B)       ; 
+    (korean-ksc5601            . #x2146)       ; 
+    (chinese-cns11643-1                . #x2278)       ; 
+    (japanese-jisx0208-1990    . #x216B)       ; 
+    (chinese-big5              . #xA258)       ; 
     ))
 (define-char
   '((name              . "PLUS-MINUS SIGN")
-    (ucs               . #x00B1)
     (general-category  symbol math) ; Informative Category
     (bidi-category     . "ET")
     (mirrored          . nil)
-    (latin-iso8859-1   #x31)   ; \e.A\eN1
-    (greek-iso8859-7   #x31)   ; \e.A\eN1
-    (latin-iso8859-9   #x31)   ; \e.A\eN1
-    (hebrew-iso8859-8  #x31)   ; \e.A\eN1
-    ))
-(define-char
-  '((name              . "FULLWIDTH PLUS-MINUS SIGN")
-    (->ucs             . #x00B1)
+    (->fullwidth
+     ((name              . "fullwidth plus-minus sign")
+      (japanese-jisx0208-1978    . #x215E)     ; 
+      (chinese-gb2312            . #x2140)     ; 
+      (japanese-jisx0208         . #x215E)     ; 
+      (korean-ksc5601            . #x213E)     ; 
+      (chinese-cns11643-1        . #x2234)     ; 
+      ))
+    (latin-iso8859-1   . #xB1) ; 
+    (greek-iso8859-7   . #xB1) ; 
+    (hebrew-iso8859-8  . #xB1) ; 
+    (latin-iso8859-9   . #xB1) ; 
+    (ucs               . #x00B1)       ; ±
+    ))
+(define-char
+  '((name              . "fullwidth plus-minus sign")
+    (=>ucs             . #x00B1)       ; ±
     (general-category  symbol math) ; Informative Category
     (bidi-category     . "ET")
-    (->decomposition   wide #x00B1)
     (mirrored          . nil)
-    (japanese-jisx0208-1978    #x21 #x5E)      ; \e$B!^\e(B
-    (chinese-gb2312            #x21 #x40)      ; \e$B!^\e(B
-    (japanese-jisx0208         #x21 #x5E)      ; \e$B!^\e(B
-    (korean-ksc5601            #x21 #x3E)      ; \e$B!^\e(B
-    (chinese-cns11643-1                #x22 #x34)      ; \e$B!^\e(B
+    (<-fullwidth
+     ((name              . "PLUS-MINUS SIGN")
+      (ucs               . #x00B1)     ; ±
+      ))
+    (japanese-jisx0208-1978    . #x215E)       ; 
+    (chinese-gb2312            . #x2140)       ; 
+    (japanese-jisx0208         . #x215E)       ; 
+    (korean-ksc5601            . #x213E)       ; 
+    (chinese-cns11643-1                . #x2234)       ; 
+    (japanese-jisx0208-1990    . #x215E)       ; 
+    (chinese-big5              . #xA1D3)       ; 
     ))
 (define-char
   '((name              . "SUPERSCRIPT TWO")
-    (ucs               . #x00B2)
     (general-category  number other) ; Normative Category
     (bidi-category     . "EN")
-    (->decomposition   super #x0032)
-    (decimal-digit-value . 2)
-    (digit-value       . 2)
-    (numeric-value     . 2)
     (mirrored          . nil)
-    (latin-iso8859-1   #x32)   ; \e.A\eN2
-    (latin-iso8859-3   #x32)   ; \e.A\eN2
-    (greek-iso8859-7   #x32)   ; \e.A\eN2
-    (latin-iso8859-9   #x32)   ; \e.A\eN2
-    (hebrew-iso8859-8  #x32)   ; \e.A\eN2
-    ))
-(define-char
-  '((name              . "FULLWIDTH SUPERSCRIPT TWO")
-    (->ucs             . #x00B2)
+    (decimal-digit-value . 2)
+    (digit-value        . 2)
+    (numeric-value      . 2)
+    (->decomposition   super #x0032)
+    (->fullwidth
+     ((name              . "fullwidth superscript two")
+      (korean-ksc5601            . #x2977)     ; 
+      (japanese-jisx0213-1       . #x292C)     ; 
+      ))
+    (latin-iso8859-1   . #xB2) ; 
+    (latin-iso8859-3   . #xB2) ; 
+    (greek-iso8859-7   . #xB2) ; 
+    (hebrew-iso8859-8  . #xB2) ; 
+    (latin-iso8859-9   . #xB2) ; 
+    (ucs               . #x00B2)       ; ²
+    ))
+(define-char
+  '((name              . "fullwidth superscript two")
+    (=>ucs             . #x00B2)       ; ²
     (general-category  number other) ; Normative Category
     (bidi-category     . "EN")
-    (->decomposition   wide #x00B2)
-    (decimal-digit-value . 2)
-    (digit-value       . 2)
-    (numeric-value     . 2)
     (mirrored          . nil)
-    (korean-ksc5601    #x29 #x77)      ; \e$(C)w\e(B
+    (decimal-digit-value . 2)
+    (digit-value        . 2)
+    (numeric-value      . 2)
+    (<-fullwidth
+     ((name              . "SUPERSCRIPT TWO")
+      (ucs               . #x00B2)     ; ²
+      ))
+    (korean-ksc5601            . #x2977)       ; 
+    (japanese-jisx0213-1       . #x292C)       ; 
     ))
 (define-char
   '((name              . "SUPERSCRIPT THREE")
-    (ucs               . #x00B3)
     (general-category  number other) ; Normative Category
     (bidi-category     . "EN")
-    (->decomposition   super #x0033)
-    (decimal-digit-value . 3)
-    (digit-value       . 3)
-    (numeric-value     . 3)
     (mirrored          . nil)
-    (latin-iso8859-1   #x33)   ; \e.A\eN3
-    (latin-iso8859-3   #x33)   ; \e.A\eN3
-    (greek-iso8859-7   #x33)   ; \e.A\eN3
-    (latin-iso8859-9   #x33)   ; \e.A\eN3
-    (hebrew-iso8859-8  #x33)   ; \e.A\eN3
-    ))
-(define-char
-  '((name              . "FULLWIDTH SUPERSCRIPT THREE")
-    (->ucs             . #x00B3)
+    (decimal-digit-value . 3)
+    (digit-value        . 3)
+    (numeric-value      . 3)
+    (->decomposition   super #x0033)
+    (->fullwidth
+     ((name              . "fullwidth superscript three")
+      (korean-ksc5601            . #x2978)     ; 
+      (japanese-jisx0213-1       . #x292D)     ; 
+      ))
+    (latin-iso8859-1   . #xB3) ; 
+    (latin-iso8859-3   . #xB3) ; 
+    (greek-iso8859-7   . #xB3) ; 
+    (hebrew-iso8859-8  . #xB3) ; 
+    (latin-iso8859-9   . #xB3) ; 
+    (ucs               . #x00B3)       ; ³
+    ))
+(define-char
+  '((name              . "fullwidth superscript three")
+    (=>ucs             . #x00B3)       ; ³
     (general-category  number other) ; Normative Category
     (bidi-category     . "EN")
-    (->decomposition   wide #x00B3)
-    (decimal-digit-value . 3)
-    (digit-value       . 3)
-    (numeric-value     . 3)
     (mirrored          . nil)
-    (korean-ksc5601    #x29 #x78)      ; \e$(C)x\e(B
+    (decimal-digit-value . 3)
+    (digit-value        . 3)
+    (numeric-value      . 3)
+    (<-fullwidth
+     ((name              . "SUPERSCRIPT THREE")
+      (ucs               . #x00B3)     ; ³
+      ))
+    (korean-ksc5601            . #x2978)       ; 
+    (japanese-jisx0213-1       . #x292D)       ; 
     ))
 (define-char
   '((name              . "ACUTE ACCENT")
-    (ucs               . #x00B4)
     (general-category  symbol modifier) ; Informative Category
     (bidi-category     . "ON")
-    (->decomposition   compat #x0020 #x0301)
     (mirrored          . nil)
-    (latin-iso8859-1   #x34)   ; \e.A\eN4
-    (latin-iso8859-2   #x34)   ; \e.A\eN4
-    (latin-iso8859-3   #x34)   ; \e.A\eN4
-    (latin-iso8859-4   #x34)   ; \e.A\eN4
-    (latin-iso8859-9   #x34)   ; \e.A\eN4
-    (hebrew-iso8859-8  #x34)   ; \e.A\eN4
-    ))
-(define-char
-  '((name              . "FULLWIDTH ACUTE ACCENT")
-    (->ucs             . #x00B4)
+    (->decomposition   compat #x0020 #x0301)
+    (->fullwidth
+     ((name              . "fullwidth acute accent")
+      (japanese-jisx0208-1978    . #x212D)     ; 
+      (japanese-jisx0208         . #x212D)     ; 
+      (korean-ksc5601            . #x2225)     ; 
+      ))
+    (latin-iso8859-1   . #xB4) ; 
+    (latin-iso8859-2   . #xB4) ; 
+    (latin-iso8859-3   . #xB4) ; 
+    (latin-iso8859-4   . #xB4) ; 
+    (hebrew-iso8859-8  . #xB4) ; 
+    (latin-iso8859-9   . #xB4) ; 
+    (ucs               . #x00B4)       ; ´
+    ))
+(define-char
+  '((name              . "fullwidth acute accent")
+    (=>ucs             . #x00B4)       ; ´
     (general-category  symbol modifier) ; Informative Category
     (bidi-category     . "ON")
-    (->decomposition   wide #x00B4)
     (mirrored          . nil)
-    (japanese-jisx0208-1978    #x21 #x2D)      ; \e$B!-\e(B
-    (japanese-jisx0208         #x21 #x2D)      ; \e$B!-\e(B
-    (korean-ksc5601            #x22 #x25)      ; \e$B!-\e(B
+    (<-fullwidth
+     ((name              . "ACUTE ACCENT")
+      (ucs               . #x00B4)     ; ´
+      ))
+    (japanese-jisx0208-1978    . #x212D)       ; 
+    (japanese-jisx0208         . #x212D)       ; 
+    (korean-ksc5601            . #x2225)       ; 
+    (japanese-jisx0208-1990    . #x212D)       ; 
+    (chinese-big5              . #xA1A6)       ; 
     ))
 (define-char
   '((name              . "MICRO SIGN")
-    (ucs               . #x00B5)
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   compat #x03BC)
     (mirrored          . nil)
-    (->uppercase       #x039C)
-    (->titlecase       #x039C)
-    (latin-iso8859-1   #x35)   ; \e.A\eN5
-    (latin-iso8859-3   #x35)   ; \e.A\eN5
-    (latin-iso8859-9   #x35)   ; \e.A\eN5
-    (hebrew-iso8859-8  #x35)   ; \e.A\eN5
+    (->decomposition   compat #x03BC)
+    (latin-iso8859-1   . #xB5) ; 
+    (latin-iso8859-3   . #xB5) ; 
+    (hebrew-iso8859-8  . #xB5) ; 
+    (latin-iso8859-9   . #xB5) ; 
+    (ucs               . #x00B5)       ; µ
     ))
 (define-char
   '((name              . "PILCROW SIGN")
-    (ucs               . #x00B6)
     (general-category  symbol other) ; Informative Category
     (bidi-category     . "ON")
     (mirrored          . nil)
-    (latin-iso8859-1   #x36)   ; \e.A\eN6
-    (latin-iso8859-9   #x36)   ; \e.A\eN6
-    (hebrew-iso8859-8  #x36)   ; \e.A\eN6
+    (->fullwidth
+     ((name              . "fullwidth pilcrow sign")
+      (japanese-jisx0208  . #x2279)    ; 
+      (korean-ksc5601    . #x2252)     ; 
+      ))
+    (latin-iso8859-1   . #xB6) ; 
+    (hebrew-iso8859-8  . #xB6) ; 
+    (latin-iso8859-9   . #xB6) ; 
+    (ucs               . #x00B6)       ; ¶
     ))
 (define-char
-  '((name              . "FULLWIDTH PILCROW SIGN")
-    (->ucs             . #x00B6)
+  '((name              . "fullwidth pilcrow sign")
+    (=>ucs             . #x00B6)       ; ¶
     (general-category  symbol other) ; Informative Category
     (bidi-category     . "ON")
-    (->decomposition   wide #x00B6)
     (mirrored          . nil)
-    (japanese-jisx0208 #x22 #x79)      ; \e$B"y\e(B
-    (korean-ksc5601    #x22 #x52)      ; \e$B"y\e(B
+    (<-fullwidth
+     ((name              . "PILCROW SIGN")
+      (ucs               . #x00B6)     ; ¶
+      ))
+    (japanese-jisx0208         . #x2279)       ; 
+    (korean-ksc5601            . #x2252)       ; 
+    (japanese-jisx0208-1990    . #x2279)       ; 
     ))
 (define-char
   '((name              . "MIDDLE DOT")
-    (ucs               . #x00B7)
     (general-category  punctuation other) ; Informative Category
     (bidi-category     . "ON")
     (mirrored          . nil)
-    (latin-iso8859-1   #x37)   ; \e.A\eN7
-    (latin-iso8859-3   #x37)   ; \e.A\eN7
-    (greek-iso8859-7   #x37)   ; \e.A\eN7
-    (latin-iso8859-9   #x37)   ; \e.A\eN7
-    (hebrew-iso8859-8  #x37)   ; \e.A\eN7
-    ))
-(define-char
-  '((name              . "FULLWIDTH MIDDLE DOT")
-    (->ucs             . #x00B7)
+    (->fullwidth
+     ((name              . "fullwidth middle dot")
+      (korean-ksc5601            . #x2124)     ; 
+      (chinese-cns11643-1        . #x2126)     ; 
+      (japanese-jisx0213-1       . #x292E)     ; 
+      ))
+    (latin-iso8859-1   . #xB7) ; 
+    (latin-iso8859-3   . #xB7) ; 
+    (greek-iso8859-7   . #xB7) ; 
+    (hebrew-iso8859-8  . #xB7) ; 
+    (latin-iso8859-9   . #xB7) ; 
+    (ucs               . #x00B7)       ; ·
+    ))
+(define-char
+  '((name              . "fullwidth middle dot")
+    (=>ucs             . #x00B7)       ; ·
     (general-category  punctuation other) ; Informative Category
     (bidi-category     . "ON")
-    (->decomposition   wide #x00B7)
     (mirrored          . nil)
-    (korean-ksc5601    #x21 #x24)      ; \e$(C!$\e(B
-    (chinese-cns11643-1        #x21 #x26)      ; \e$(C!$\e(B
+    (<-fullwidth
+     ((name              . "MIDDLE DOT")
+      (ucs               . #x00B7)     ; ·
+      ))
+    (korean-ksc5601            . #x2124)       ; 
+    (chinese-cns11643-1                . #x2126)       ; 
+    (japanese-jisx0213-1       . #x292E)       ; 
+    (chinese-big5              . #xA150)       ; 
     ))
 (define-char
   '((name              . "CEDILLA")
-    (ucs               . #x00B8)
     (general-category  symbol modifier) ; Informative Category
     (bidi-category     . "ON")
-    (->decomposition   compat #x0020 #x0327)
     (mirrored          . nil)
-    (latin-iso8859-1   #x38)   ; \e.A\eN8
-    (latin-iso8859-2   #x38)   ; \e.A\eN8
-    (latin-iso8859-3   #x38)   ; \e.A\eN8
-    (latin-iso8859-4   #x38)   ; \e.A\eN8
-    (latin-iso8859-9   #x38)   ; \e.A\eN8
-    (hebrew-iso8859-8  #x38)   ; \e.A\eN8
-    ))
-(define-char
-  '((name              . "FULLWIDTH CEDILLA")
-    (->ucs             . #x00B8)
+    (->decomposition   compat #x0020 #x0327)
+    (->fullwidth
+     ((name              . "fullwidth cedilla")
+      (korean-ksc5601            . #x222C)     ; 
+      (japanese-jisx0212         . #x2231)     ; 
+      (japanese-jisx0213-1       . #x292F)     ; 
+      ))
+    (latin-iso8859-1   . #xB8) ; 
+    (latin-iso8859-2   . #xB8) ; 
+    (latin-iso8859-3   . #xB8) ; 
+    (latin-iso8859-4   . #xB8) ; 
+    (hebrew-iso8859-8  . #xB8) ; 
+    (latin-iso8859-9   . #xB8) ; 
+    (ucs               . #x00B8)       ; ¸
+    ))
+(define-char
+  '((name              . "fullwidth cedilla")
+    (=>ucs             . #x00B8)       ; ¸
     (general-category  symbol modifier) ; Informative Category
     (bidi-category     . "ON")
-    (->decomposition   wide #x00B8)
     (mirrored          . nil)
-    (korean-ksc5601    #x22 #x2C)      ; \e$(D"1\e(B
-    (japanese-jisx0212 #x22 #x31)      ; \e$(D"1\e(B
+    (<-fullwidth
+     ((name              . "CEDILLA")
+      (ucs               . #x00B8)     ; ¸
+      ))
+    (korean-ksc5601            . #x222C)       ; 
+    (japanese-jisx0212         . #x2231)       ; 
+    (japanese-jisx0213-1       . #x292F)       ; 
     ))
 (define-char
   '((name              . "SUPERSCRIPT ONE")
-    (ucs               . #x00B9)
     (general-category  number other) ; Normative Category
     (bidi-category     . "EN")
-    (->decomposition   super #x0031)
-    (decimal-digit-value . 1)
-    (digit-value       . 1)
-    (numeric-value     . 1)
     (mirrored          . nil)
-    (latin-iso8859-1   #x39)   ; \e.A\eN9
-    (latin-iso8859-9   #x39)   ; \e.A\eN9
-    (hebrew-iso8859-8  #x39)   ; \e.A\eN9
-    ))
-(define-char
-  '((name              . "FULLWIDTH SUPERSCRIPT ONE")
-    (->ucs             . #x00B9)
+    (decimal-digit-value . 1)
+    (digit-value        . 1)
+    (numeric-value      . 1)
+    (->decomposition   super #x0031)
+    (->fullwidth
+     ((name              . "fullwidth superscript one")
+      (korean-ksc5601            . #x2976)     ; 
+      (japanese-jisx0213-1       . #x2930)     ; 
+      ))
+    (latin-iso8859-1   . #xB9) ; 
+    (hebrew-iso8859-8  . #xB9) ; 
+    (latin-iso8859-9   . #xB9) ; 
+    (ucs               . #x00B9)       ; ¹
+    ))
+(define-char
+  '((name              . "fullwidth superscript one")
+    (=>ucs             . #x00B9)       ; ¹
     (general-category  number other) ; Normative Category
     (bidi-category     . "EN")
-    (->decomposition   wide #x00B9)
-    (decimal-digit-value . 1)
-    (digit-value       . 1)
-    (numeric-value     . 1)
     (mirrored          . nil)
-    (korean-ksc5601    #x29 #x76)      ; \e$(C)v\e(B
+    (decimal-digit-value . 1)
+    (digit-value        . 1)
+    (numeric-value      . 1)
+    (<-fullwidth
+     ((name              . "SUPERSCRIPT ONE")
+      (ucs               . #x00B9)     ; ¹
+      ))
+    (korean-ksc5601            . #x2976)       ; 
+    (japanese-jisx0213-1       . #x2930)       ; 
     ))
 (define-char
   '((name              . "MASCULINE ORDINAL INDICATOR")
-    (ucs               . #x00BA)
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   super #x006F)
     (mirrored          . nil)
-    (latin-iso8859-1   #x3A)   ; \e.A\eN:
-    (latin-iso8859-9   #x3A)   ; \e.A\eN:
+    (->decomposition   super #x006F)
+    (->fullwidth
+     ((name              . "fullwidth masculine ordinal indicator")
+      (korean-ksc5601            . #x282C)     ; 
+      (japanese-jisx0212         . #x226B)     ; 
+      (japanese-jisx0213-1       . #x2931)     ; 
+      ))
+    (latin-iso8859-1   . #xBA) ; 
+    (latin-iso8859-9   . #xBA) ; 
+    (ucs               . #x00BA)       ; º
     ))
 (define-char
-  '((name              . "FULLWIDTH MASCULINE ORDINAL INDICATOR")
-    (->ucs             . #x00BA)
+  '((name              . "fullwidth masculine ordinal indicator")
+    (=>ucs             . #x00BA)       ; º
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00BA)
     (mirrored          . nil)
-    (korean-ksc5601    #x28 #x2C)      ; \e$(D"k\e(B
-    (japanese-jisx0212 #x22 #x6B)      ; \e$(D"k\e(B
+    (<-fullwidth
+     ((name              . "MASCULINE ORDINAL INDICATOR")
+      (ucs               . #x00BA)     ; º
+      ))
+    (korean-ksc5601            . #x282C)       ; 
+    (japanese-jisx0212         . #x226B)       ; 
+    (japanese-jisx0213-1       . #x2931)       ; 
     ))
 (define-char
   '((name              . "RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK")
-    (ucs               . #x00BB)
     (general-category  punctuation final-quote) ; Informative Category
     (bidi-category     . "ON")
     (mirrored          . t)
-    (iso-10646-comment . "*")
-    (latin-iso8859-1   #x3B)   ; \e.A\eN;
-    (greek-iso8859-7   #x3B)   ; \e.A\eN;
-    (latin-iso8859-9   #x3B)   ; \e.A\eN;
-    (hebrew-iso8859-8  #x3B)   ; \e.A\eN;
+    (->fullwidth
+     ((name . "fullwidth right-pointing double angle quotation mark")
+      (japanese-jisx0213-1       . #x2932)     ; 
+      ))
+    (arabic-1-column   . #x2B) ; 
+    (latin-iso8859-1   . #xBB) ; 
+    (greek-iso8859-7   . #xBB) ; 
+    (hebrew-iso8859-8  . #xBB) ; 
+    (latin-iso8859-9   . #xBB) ; 
+    (ucs               . #x00BB)       ; »
+    ))
+(define-char
+  '((name . "fullwidth right-pointing double angle quotation mark")
+    (=>ucs             . #x00BB)       ; »
+    (general-category  punctuation final-quote) ; Informative Category
+    (bidi-category     . "ON")
+    (mirrored          . t)
+    (<-fullwidth
+     ((name              . "RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK")
+      (ucs               . #x00BB)     ; »
+      ))
+    (japanese-jisx0213-1       . #x2932)       ; 
     ))
 (define-char
   '((name              . "VULGAR FRACTION ONE QUARTER")
-    (ucs               . #x00BC)
     (general-category  number other) ; Normative Category
     (bidi-category     . "ON")
-    (->decomposition   fraction #x0031 #x2044 #x0034)
-    (numeric-value     . 1/4)
     (mirrored          . nil)
-    (latin-iso8859-1   #x3C)   ; \e.A\eN<
-    (latin-iso8859-9   #x3C)   ; \e.A\eN<
-    (hebrew-iso8859-8  #x3C)   ; \e.A\eN<
-    ))
-(define-char
-  '((name              . "FULLWIDTH VULGAR FRACTION ONE QUARTER")
-    (->ucs             . #x00BC)
+    (numeric-value     . 1/4)
+    (->decomposition   fraction #x0031 #x2044 #x0034)
+    (->fullwidth
+     ((name              . "fullwidth vulgar fraction one quarter")
+      (korean-ksc5601            . #x2879)     ; 
+      (japanese-jisx0213-1       . #x2933)     ; 
+      ))
+    (latin-iso8859-1   . #xBC) ; 
+    (hebrew-iso8859-8  . #xBC) ; 
+    (latin-iso8859-9   . #xBC) ; 
+    (ucs               . #x00BC)       ; ¼
+    ))
+(define-char
+  '((name              . "fullwidth vulgar fraction one quarter")
+    (=>ucs             . #x00BC)       ; ¼
     (general-category  number other) ; Normative Category
     (bidi-category     . "ON")
-    (->decomposition   wide #x00BC)
-    (numeric-value     . 1/4)
     (mirrored          . nil)
-    (korean-ksc5601    #x28 #x79)      ; \e$(C(y\e(B
+    (numeric-value     . 1/4)
+    (<-fullwidth
+     ((name              . "VULGAR FRACTION ONE QUARTER")
+      (ucs               . #x00BC)     ; ¼
+      ))
+    (korean-ksc5601            . #x2879)       ; 
+    (japanese-jisx0213-1       . #x2933)       ; 
     ))
 (define-char
   '((name              . "VULGAR FRACTION ONE HALF")
-    (ucs               . #x00BD)
     (general-category  number other) ; Normative Category
     (bidi-category     . "ON")
-    (->decomposition   fraction #x0031 #x2044 #x0032)
-    (numeric-value     . 1/2)
     (mirrored          . nil)
-    (latin-iso8859-1   #x3D)   ; \e.A\eN=
-    (latin-iso8859-3   #x3D)   ; \e.A\eN=
-    (greek-iso8859-7   #x3D)   ; \e.A\eN=
-    (latin-iso8859-9   #x3D)   ; \e.A\eN=
-    (hebrew-iso8859-8  #x3D)   ; \e.A\eN=
-    ))
-(define-char
-  '((name              . "FULLWIDTH VULGAR FRACTION ONE HALF")
-    (->ucs             . #x00BD)
+    (numeric-value     . 1/2)
+    (->decomposition   fraction #x0031 #x2044 #x0032)
+    (->fullwidth
+     ((name              . "fullwidth vulgar fraction one half")
+      (korean-ksc5601            . #x2876)     ; 
+      (japanese-jisx0213-1       . #x2934)     ; 
+      ))
+    (latin-iso8859-1   . #xBD) ; 
+    (latin-iso8859-3   . #xBD) ; 
+    (greek-iso8859-7   . #xBD) ; 
+    (hebrew-iso8859-8  . #xBD) ; 
+    (latin-iso8859-9   . #xBD) ; 
+    (ucs               . #x00BD)       ; ½
+    ))
+(define-char
+  '((name              . "fullwidth vulgar fraction one half")
+    (=>ucs             . #x00BD)       ; ½
     (general-category  number other) ; Normative Category
     (bidi-category     . "ON")
-    (->decomposition   wide #x00BD)
-    (numeric-value     . 1/2)
     (mirrored          . nil)
-    (korean-ksc5601    #x28 #x76)      ; \e$(C(v\e(B
+    (numeric-value     . 1/2)
+    (<-fullwidth
+     ((name              . "VULGAR FRACTION ONE HALF")
+      (ucs               . #x00BD)     ; ½
+      ))
+    (korean-ksc5601            . #x2876)       ; 
+    (japanese-jisx0213-1       . #x2934)       ; 
     ))
 (define-char
   '((name              . "VULGAR FRACTION THREE QUARTERS")
-    (ucs               . #x00BE)
     (general-category  number other) ; Normative Category
     (bidi-category     . "ON")
-    (->decomposition   fraction #x0033 #x2044 #x0034)
-    (numeric-value     . 3/4)
     (mirrored          . nil)
-    (latin-iso8859-1   #x3E)   ; \e.A\eN>
-    (latin-iso8859-9   #x3E)   ; \e.A\eN>
-    (hebrew-iso8859-8  #x3E)   ; \e.A\eN>
-    ))
-(define-char
-  '((name              . "FULLWIDTH VULGAR FRACTION THREE QUARTERS")
-    (->ucs             . #x00BE)
+    (numeric-value     . 3/4)
+    (->decomposition   fraction #x0033 #x2044 #x0034)
+    (->fullwidth
+     ((name              . "fullwidth vulgar fraction three quarters")
+      (korean-ksc5601            . #x287A)     ; 
+      (japanese-jisx0213-1       . #x2935)     ; 
+      ))
+    (latin-iso8859-1   . #xBE) ; 
+    (hebrew-iso8859-8  . #xBE) ; 
+    (latin-iso8859-9   . #xBE) ; 
+    (ucs               . #x00BE)       ; ¾
+    ))
+(define-char
+  '((name              . "fullwidth vulgar fraction three quarters")
+    (=>ucs             . #x00BE)       ; ¾
     (general-category  number other) ; Normative Category
     (bidi-category     . "ON")
-    (->decomposition   wide #x00BE)
-    (numeric-value     . 3/4)
     (mirrored          . nil)
-    (korean-ksc5601    #x28 #x7A)      ; \e$(C(z\e(B
+    (numeric-value     . 3/4)
+    (<-fullwidth
+     ((name              . "VULGAR FRACTION THREE QUARTERS")
+      (ucs               . #x00BE)     ; ¾
+      ))
+    (korean-ksc5601            . #x287A)       ; 
+    (japanese-jisx0213-1       . #x2935)       ; 
     ))
 (define-char
   '((name              . "INVERTED QUESTION MARK")
-    (ucs               . #x00BF)
     (general-category  punctuation other) ; Informative Category
     (bidi-category     . "ON")
     (mirrored          . nil)
-    (latin-iso8859-1   #x3F)   ; \e.A\eN?
-    (latin-iso8859-9   #x3F)   ; \e.A\eN?
+    (->fullwidth
+     ((name              . "fullwidth inverted question mark")
+      (korean-ksc5601            . #x222F)     ; 
+      (japanese-jisx0212         . #x2244)     ; 
+      (japanese-jisx0213-1       . #x2936)     ; 
+      ))
+    (latin-iso8859-1   . #xBF) ; 
+    (latin-iso8859-9   . #xBF) ; 
+    (ucs               . #x00BF)       ; ¿
     ))
 (define-char
-  '((name              . "FULLWIDTH INVERTED QUESTION MARK")
-    (->ucs             . #x00BF)
+  '((name              . "fullwidth inverted question mark")
+    (=>ucs             . #x00BF)       ; ¿
     (general-category  punctuation other) ; Informative Category
     (bidi-category     . "ON")
-    (->decomposition   wide #x00BF)
     (mirrored          . nil)
-    (korean-ksc5601    #x22 #x2F)      ; \e$(D"D\e(B
-    (japanese-jisx0212 #x22 #x44)      ; \e$(D"D\e(B
+    (<-fullwidth
+     ((name              . "INVERTED QUESTION MARK")
+      (ucs               . #x00BF)     ; ¿
+      ))
+    (korean-ksc5601            . #x222F)       ; 
+    (japanese-jisx0212         . #x2244)       ; 
+    (japanese-jisx0213-1       . #x2936)       ; 
     ))
 (define-char
   '((name              . "LATIN CAPITAL LETTER A WITH GRAVE")
-    (ucs               . #x00C0)
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x0041 #x0300)
     (mirrored          . nil)
-    (->lowercase       #x00E0)
-    (latin-iso8859-1   #x40)   ; \e.A\eN@
-    (latin-iso8859-3   #x40)   ; \e.A\eN@
-    (latin-iso8859-9   #x40)   ; \e.A\eN@
-    (latin-viscii-upper        #x60)   ; \e.A\eN@
-    ))
-(define-char
-  '((name              . "FULLWIDTH LATIN CAPITAL LETTER A WITH GRAVE")
-    (->ucs             . #x00C0)
+    (->decomposition   #x0041 #x0300)
+    (->fullwidth
+     ((name              . "fullwidth latin capital letter a with grave")
+      (japanese-jisx0212         . #x2A22)     ; 
+      (japanese-jisx0213-1       . #x2937)     ; 
+      ))
+    (->lowercase
+     ((name              . "LATIN SMALL LETTER A WITH GRAVE")
+      (ucs               . #x00E0)     ; à
+      ))
+    (latin-iso8859-1           . #xC0) ; 
+    (latin-iso8859-3           . #xC0) ; 
+    (latin-iso8859-9           . #xC0) ; 
+    (latin-viscii-upper                . #xE0) ; 
+    (latin-viscii              . #xC0) ; 
+    (ucs                       . #x00C0)       ; À
+    ))
+(define-char
+  '((name              . "fullwidth latin capital letter a with grave")
+    (=>ucs             . #x00C0)       ; À
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00C0)
     (mirrored          . nil)
     (->lowercase
-     ((name            . "FULLWIDTH LATIN SMALL LETTER A WITH GRAVE")))
-    (japanese-jisx0212 #x2A #x22)      ; \e$(D*"\e(B
+     ((name . "fullwidth latin small letter a with grave")))
+    (<-fullwidth
+     ((name              . "LATIN CAPITAL LETTER A WITH GRAVE")
+      (ucs               . #x00C0)     ; À
+      ))
+    (japanese-jisx0212         . #x2A22)       ; 
+    (japanese-jisx0213-1       . #x2937)       ; 
     ))
 (define-char
   '((name              . "LATIN CAPITAL LETTER A WITH ACUTE")
-    (ucs               . #x00C1)
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x0041 #x0301)
     (mirrored          . nil)
-    (->lowercase       #x00E1)
-    (latin-iso8859-1   #x41)   ; \e.A\eNA
-    (latin-iso8859-2   #x41)   ; \e.A\eNA
-    (latin-iso8859-3   #x41)   ; \e.A\eNA
-    (latin-iso8859-4   #x41)   ; \e.A\eNA
-    (latin-iso8859-9   #x41)   ; \e.A\eNA
-    (latin-viscii-upper        #x61)   ; \e.A\eNA
-    ))
-(define-char
-  '((name              . "FULLWIDTH LATIN CAPITAL LETTER A WITH ACUTE")
-    (->ucs             . #x00C1)
+    (->decomposition   #x0041 #x0301)
+    (->fullwidth
+     ((name              . "fullwidth latin capital letter a with acute")
+      (japanese-jisx0212         . #x2A21)     ; 
+      (japanese-jisx0213-1       . #x2938)     ; 
+      ))
+    (->lowercase
+     ((name              . "LATIN SMALL LETTER A WITH ACUTE")
+      (ucs               . #x00E1)     ; á
+      ))
+    (latin-iso8859-1           . #xC1) ; 
+    (latin-iso8859-2           . #xC1) ; 
+    (latin-iso8859-3           . #xC1) ; 
+    (latin-iso8859-4           . #xC1) ; 
+    (latin-iso8859-9           . #xC1) ; 
+    (latin-viscii-upper                . #xE1) ; 
+    (latin-viscii              . #xC1) ; 
+    (ucs                       . #x00C1)       ; Á
+    ))
+(define-char
+  '((name              . "fullwidth latin capital letter a with acute")
+    (=>ucs             . #x00C1)       ; Á
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00C1)
     (mirrored          . nil)
     (->lowercase
-     ((name            . "FULLWIDTH LATIN SMALL LETTER A WITH ACUTE")))
-    (japanese-jisx0212 #x2A #x21)      ; \e$(D*!\e(B
+     ((name . "fullwidth latin small letter a with acute")))
+    (<-fullwidth
+     ((name              . "LATIN CAPITAL LETTER A WITH ACUTE")
+      (ucs               . #x00C1)     ; Á
+      ))
+    (japanese-jisx0212         . #x2A21)       ; 
+    (japanese-jisx0213-1       . #x2938)       ; 
     ))
 (define-char
   '((name              . "LATIN CAPITAL LETTER A WITH CIRCUMFLEX")
-    (ucs               . #x00C2)
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x0041 #x0302)
     (mirrored          . nil)
-    (->lowercase       #x00E2)
-    (latin-iso8859-1   #x42)   ; \e.A\eNB
-    (latin-iso8859-2   #x42)   ; \e.A\eNB
-    (latin-iso8859-3   #x42)   ; \e.A\eNB
-    (latin-iso8859-4   #x42)   ; \e.A\eNB
-    (latin-iso8859-9   #x42)   ; \e.A\eNB
-    (latin-viscii-upper        #x62)   ; \e.A\eNB
-    ))
-(define-char
-  '((name              . "FULLWIDTH LATIN CAPITAL LETTER A WITH CIRCUMFLEX")
-    (->ucs             . #x00C2)
+    (->decomposition   #x0041 #x0302)
+    (->fullwidth
+     ((name . "fullwidth latin capital letter a with circumflex")
+      (japanese-jisx0212         . #x2A24)     ; 
+      (japanese-jisx0213-1       . #x2939)     ; 
+      ))
+    (->lowercase
+     ((name              . "LATIN SMALL LETTER A WITH CIRCUMFLEX")
+      (ucs               . #x00E2)     ; â
+      ))
+    (latin-iso8859-1           . #xC2) ; 
+    (latin-iso8859-2           . #xC2) ; 
+    (latin-iso8859-3           . #xC2) ; 
+    (latin-iso8859-4           . #xC2) ; 
+    (latin-iso8859-9           . #xC2) ; 
+    (latin-tcvn5712            . #xA2) ; 
+    (latin-viscii-upper                . #xE2) ; 
+    (latin-viscii              . #xC2) ; 
+    (ucs                       . #x00C2)       ; Â
+    ))
+(define-char
+  '((name . "fullwidth latin capital letter a with circumflex")
+    (=>ucs             . #x00C2)       ; Â
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00C2)
     (mirrored          . nil)
     (->lowercase
-     ((name            . "FULLWIDTH LATIN SMALL LETTER A WITH CIRCUMFLEX")))
-    (japanese-jisx0212 #x2A #x24)      ; \e$(D*$\e(B
+     ((name . "fullwidth latin small letter a with circumflex")))
+    (<-fullwidth
+     ((name              . "LATIN CAPITAL LETTER A WITH CIRCUMFLEX")
+      (ucs               . #x00C2)     ; Â
+      ))
+    (japanese-jisx0212         . #x2A24)       ; 
+    (japanese-jisx0213-1       . #x2939)       ; 
     ))
 (define-char
   '((name              . "LATIN CAPITAL LETTER A WITH TILDE")
-    (ucs               . #x00C3)
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x0041 #x0303)
     (mirrored          . nil)
-    (->lowercase       #x00E3)
-    (latin-iso8859-1   #x43)   ; \e.A\eNC
-    (latin-iso8859-4   #x43)   ; \e.A\eNC
-    (latin-iso8859-9   #x43)   ; \e.A\eNC
-    (latin-viscii-upper        #x63)   ; \e.A\eNC
-    ))
-(define-char
-  '((name              . "FULLWIDTH LATIN CAPITAL LETTER A WITH TILDE")
-    (->ucs             . #x00C3)
+    (->decomposition   #x0041 #x0303)
+    (->fullwidth
+     ((name              . "fullwidth latin capital letter a with tilde")
+      (japanese-jisx0212         . #x2A2A)     ; 
+      (japanese-jisx0213-1       . #x293A)     ; 
+      ))
+    (->lowercase
+     ((name              . "LATIN SMALL LETTER A WITH TILDE")
+      (ucs               . #x00E3)     ; ã
+      ))
+    (latin-iso8859-1           . #xC3) ; 
+    (latin-iso8859-4           . #xC3) ; 
+    (latin-iso8859-9           . #xC3) ; 
+    (latin-viscii-upper                . #xE3) ; 
+    (latin-viscii              . #xC3) ; 
+    (ucs                       . #x00C3)       ; Ã
+    ))
+(define-char
+  '((name              . "fullwidth latin capital letter a with tilde")
+    (=>ucs             . #x00C3)       ; Ã
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00C3)
     (mirrored          . nil)
     (->lowercase
-     ((name            . "FULLWIDTH LATIN SMALL LETTER A WITH TILDE")))
-    (japanese-jisx0212 #x2A #x2A)      ; \e$(D**\e(B
+     ((name . "fullwidth latin small letter a with tilde")))
+    (<-fullwidth
+     ((name              . "LATIN CAPITAL LETTER A WITH TILDE")
+      (ucs               . #x00C3)     ; Ã
+      ))
+    (japanese-jisx0212         . #x2A2A)       ; 
+    (japanese-jisx0213-1       . #x293A)       ; 
     ))
 (define-char
   '((name              . "LATIN CAPITAL LETTER A WITH DIAERESIS")
-    (ucs               . #x00C4)
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x0041 #x0308)
     (mirrored          . nil)
-    (->lowercase       #x00E4)
-    (latin-iso8859-1   #x44)   ; \e.A\eND
-    (latin-iso8859-2   #x44)   ; \e.A\eND
-    (latin-iso8859-3   #x44)   ; \e.A\eND
-    (latin-iso8859-4   #x44)   ; \e.A\eND
-    (latin-iso8859-9   #x44)   ; \e.A\eND
-    ))
-(define-char
-  '((name              . "FULLWIDTH LATIN CAPITAL LETTER A WITH DIAERESIS")
-    (->ucs             . #x00C4)
+    (->decomposition   #x0041 #x0308)
+    (->fullwidth
+     ((name              . "fullwidth latin capital letter a with diaeresis")
+      (japanese-jisx0212         . #x2A23)     ; 
+      (japanese-jisx0213-1       . #x293B)     ; 
+      ))
+    (->lowercase
+     ((name              . "LATIN SMALL LETTER A WITH DIAERESIS")
+      (ucs               . #x00E4)     ; ä
+      ))
+    (latin-iso8859-1   . #xC4) ; 
+    (latin-iso8859-2   . #xC4) ; 
+    (latin-iso8859-3   . #xC4) ; 
+    (latin-iso8859-4   . #xC4) ; 
+    (latin-iso8859-9   . #xC4) ; 
+    (ucs               . #x00C4)       ; Ä
+    ))
+(define-char
+  '((name              . "fullwidth latin capital letter a with diaeresis")
+    (=>ucs             . #x00C4)       ; Ä
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00C4)
     (mirrored          . nil)
     (->lowercase
-     ((name            . "FULLWIDTH LATIN SMALL LETTER A WITH DIAERESIS")))
-    (japanese-jisx0212 #x2A #x23)      ; \e$(D*#\e(B
+     ((name . "fullwidth latin small letter a with diaeresis")))
+    (<-fullwidth
+     ((name              . "LATIN CAPITAL LETTER A WITH DIAERESIS")
+      (ucs               . #x00C4)     ; Ä
+      ))
+    (japanese-jisx0212         . #x2A23)       ; 
+    (japanese-jisx0213-1       . #x293B)       ; 
     ))
 (define-char
   '((name              . "LATIN CAPITAL LETTER A WITH RING ABOVE")
-    (ucs               . #x00C5)
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x0041 #x030A)
     (mirrored          . nil)
-    (->lowercase       #x00E5)
-    (latin-iso8859-1   #x45)   ; \e.A\eNE
-    (latin-iso8859-4   #x45)   ; \e.A\eNE
-    (latin-iso8859-9   #x45)   ; \e.A\eNE
+    (->decomposition   #x0041 #x030A)
+    (->fullwidth
+     ((name . "fullwidth latin capital letter a with ring above")
+      (japanese-jisx0212         . #x2A29)     ; 
+      (japanese-jisx0213-1       . #x293C)     ; 
+      ))
+    (->lowercase
+     ((name              . "LATIN SMALL LETTER A WITH RING ABOVE")
+      (ucs               . #x00E5)     ; å
+      ))
+    (latin-iso8859-1   . #xC5) ; 
+    (latin-iso8859-4   . #xC5) ; 
+    (latin-iso8859-9   . #xC5) ; 
+    (ucs               . #x00C5)       ; Å
     ))
 (define-char
-  '((name              . "FULLWIDTH LATIN CAPITAL LETTER A WITH RING ABOVE")
-    (->ucs             . #x00C5)
+  '((name . "fullwidth latin capital letter a with ring above")
+    (=>ucs             . #x00C5)       ; Å
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00C5)
     (mirrored          . nil)
     (->lowercase
-     ((name            . "FULLWIDTH LATIN SMALL LETTER A WITH RING ABOVE")))
-    (japanese-jisx0212 #x2A #x29)      ; \e$(D*)\e(B
+     ((name . "fullwidth latin small letter a with ring above")))
+    (<-fullwidth
+     ((name              . "LATIN CAPITAL LETTER A WITH RING ABOVE")
+      (ucs               . #x00C5)     ; Å
+      ))
+    (japanese-jisx0212         . #x2A29)       ; 
+    (japanese-jisx0213-1       . #x293C)       ; 
     ))
 (define-char
   '((name              . "LATIN CAPITAL LETTER AE")
-    (ucs               . #x00C6)
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
     (mirrored          . nil)
     (iso-10646-comment . "ash *")
-    (->lowercase       #x00E6)
-    (latin-iso8859-1   #x46)   ; \e.A\eNF
-    (latin-iso8859-4   #x46)   ; \e.A\eNF
-    (latin-iso8859-9   #x46)   ; \e.A\eNF
+    (->lowercase
+     ((name              . "LATIN SMALL LETTER AE")
+      (ucs               . #x00E6)     ; æ
+      ))
+    (latin-iso8859-1   . #xC6) ; 
+    (latin-iso8859-4   . #xC6) ; 
+    (latin-iso8859-9   . #xC6) ; 
+    (ucs               . #x00C6)       ; Æ
     ))
 (define-char
-  '((name              . "FULLWIDTH LATIN CAPITAL LETTER AE")
-    (->ucs             . #x00C6)
+  '((name              . "fullwidth latin capital letter ae")
+    (=>ucs             . #x00C6)       ; Æ
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
     (mirrored          . nil)
     (->lowercase
-     ((name            . "FULLWIDTH LATIN SMALL LETTER AE")))
-    (korean-ksc5601    #x28 #x21)      ; \e$(D)!\e(B
-    (japanese-jisx0212 #x29 #x21)      ; \e$(D)!\e(B
+     ((name . "fullwidth latin small letter ae")))
+    (korean-ksc5601            . #x2821)       ; 
+    (japanese-jisx0212         . #x2921)       ; 
+    (japanese-jisx0213-1       . #x293D)       ; 
     ))
 (define-char
   '((name              . "LATIN CAPITAL LETTER C WITH CEDILLA")
-    (ucs               . #x00C7)
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x0043 #x0327)
     (mirrored          . nil)
-    (->lowercase       #x00E7)
-    (latin-iso8859-1   #x47)   ; \e.A\eNG
-    (latin-iso8859-2   #x47)   ; \e.A\eNG
-    (latin-iso8859-3   #x47)   ; \e.A\eNG
-    (latin-iso8859-9   #x47)   ; \e.A\eNG
-    ))
-(define-char
-  '((name              . "FULLWIDTH LATIN CAPITAL LETTER C WITH CEDILLA")
-    (->ucs             . #x00C7)
+    (->decomposition   #x0043 #x0327)
+    (->fullwidth
+     ((name              . "fullwidth latin capital letter c with cedilla")
+      (japanese-jisx0212         . #x2A2E)     ; 
+      (japanese-jisx0213-1       . #x293E)     ; 
+      ))
+    (->lowercase
+     ((name              . "LATIN SMALL LETTER C WITH CEDILLA")
+      (ucs               . #x00E7)     ; ç
+      ))
+    (latin-iso8859-1   . #xC7) ; 
+    (latin-iso8859-2   . #xC7) ; 
+    (latin-iso8859-3   . #xC7) ; 
+    (latin-iso8859-9   . #xC7) ; 
+    (ucs               . #x00C7)       ; Ç
+    ))
+(define-char
+  '((name              . "fullwidth latin capital letter c with cedilla")
+    (=>ucs             . #x00C7)       ; Ç
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00C7)
     (mirrored          . nil)
     (->lowercase
-     ((name            . "FULLWIDTH LATIN SMALL LETTER C WITH CEDILLA")))
-    (japanese-jisx0212 #x2A #x2E)      ; \e$(D*.\e(B
+     ((name . "fullwidth latin small letter c with cedilla")))
+    (<-fullwidth
+     ((name              . "LATIN CAPITAL LETTER C WITH CEDILLA")
+      (ucs               . #x00C7)     ; Ç
+      ))
+    (japanese-jisx0212         . #x2A2E)       ; 
+    (japanese-jisx0213-1       . #x293E)       ; 
     ))
 (define-char
   '((name              . "LATIN CAPITAL LETTER E WITH GRAVE")
-    (ucs               . #x00C8)
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x0045 #x0300)
     (mirrored          . nil)
-    (->lowercase       #x00E8)
-    (latin-iso8859-1   #x48)   ; \e.A\eNH
-    (latin-iso8859-3   #x48)   ; \e.A\eNH
-    (latin-iso8859-9   #x48)   ; \e.A\eNH
-    (latin-viscii-upper        #x68)   ; \e.A\eNH
-    ))
-(define-char
-  '((name              . "FULLWIDTH LATIN CAPITAL LETTER E WITH GRAVE")
-    (->ucs             . #x00C8)
+    (->decomposition   #x0045 #x0300)
+    (->fullwidth
+     ((name              . "fullwidth latin capital letter e with grave")
+      (japanese-jisx0212         . #x2A32)     ; 
+      (japanese-jisx0213-1       . #x293F)     ; 
+      ))
+    (->lowercase
+     ((name              . "LATIN SMALL LETTER E WITH GRAVE")
+      (ucs               . #x00E8)     ; è
+      ))
+    (latin-iso8859-1           . #xC8) ; 
+    (latin-iso8859-3           . #xC8) ; 
+    (latin-iso8859-9           . #xC8) ; 
+    (latin-viscii-upper                . #xE8) ; 
+    (latin-viscii              . #xC8) ; 
+    (ucs                       . #x00C8)       ; È
+    ))
+(define-char
+  '((name              . "fullwidth latin capital letter e with grave")
+    (=>ucs             . #x00C8)       ; È
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00C8)
     (mirrored          . nil)
     (->lowercase
-     ((name            . "FULLWIDTH LATIN SMALL LETTER E WITH GRAVE")))
-    (japanese-jisx0212 #x2A #x32)      ; \e$(D*2\e(B
+     ((name . "fullwidth latin small letter e with grave")))
+    (<-fullwidth
+     ((name              . "LATIN CAPITAL LETTER E WITH GRAVE")
+      (ucs               . #x00C8)     ; È
+      ))
+    (japanese-jisx0212         . #x2A32)       ; 
+    (japanese-jisx0213-1       . #x293F)       ; 
     ))
 (define-char
   '((name              . "LATIN CAPITAL LETTER E WITH ACUTE")
-    (ucs               . #x00C9)
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x0045 #x0301)
     (mirrored          . nil)
-    (->lowercase       #x00E9)
-    (latin-iso8859-1   #x49)   ; \e.A\eNI
-    (latin-iso8859-2   #x49)   ; \e.A\eNI
-    (latin-iso8859-3   #x49)   ; \e.A\eNI
-    (latin-iso8859-4   #x49)   ; \e.A\eNI
-    (latin-iso8859-9   #x49)   ; \e.A\eNI
-    (latin-viscii-upper        #x69)   ; \e.A\eNI
-    ))
-(define-char
-  '((name              . "FULLWIDTH LATIN CAPITAL LETTER E WITH ACUTE")
-    (->ucs             . #x00C9)
+    (->decomposition   #x0045 #x0301)
+    (->fullwidth
+     ((name              . "fullwidth latin capital letter e with acute")
+      (japanese-jisx0212         . #x2A31)     ; 
+      (japanese-jisx0213-1       . #x2940)     ; 
+      ))
+    (->lowercase
+     ((name              . "LATIN SMALL LETTER E WITH ACUTE")
+      (ucs               . #x00E9)     ; é
+      ))
+    (latin-iso8859-1           . #xC9) ; 
+    (latin-iso8859-2           . #xC9) ; 
+    (latin-iso8859-3           . #xC9) ; 
+    (latin-iso8859-4           . #xC9) ; 
+    (latin-iso8859-9           . #xC9) ; 
+    (latin-viscii-upper                . #xE9) ; 
+    (latin-viscii              . #xC9) ; 
+    (ucs                       . #x00C9)       ; É
+    ))
+(define-char
+  '((name              . "fullwidth latin capital letter e with acute")
+    (=>ucs             . #x00C9)       ; É
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00C9)
     (mirrored          . nil)
     (->lowercase
-     ((name            . "FULLWIDTH LATIN SMALL LETTER E WITH ACUTE")))
-    (japanese-jisx0212 #x2A #x31)      ; \e$(D*1\e(B
+     ((name . "fullwidth latin small letter e with acute")))
+    (<-fullwidth
+     ((name              . "LATIN CAPITAL LETTER E WITH ACUTE")
+      (ucs               . #x00C9)     ; É
+      ))
+    (japanese-jisx0212         . #x2A31)       ; 
+    (japanese-jisx0213-1       . #x2940)       ; 
     ))
 (define-char
   '((name              . "LATIN CAPITAL LETTER E WITH CIRCUMFLEX")
-    (ucs               . #x00CA)
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x0045 #x0302)
     (mirrored          . nil)
-    (->lowercase       #x00EA)
-    (latin-iso8859-1   #x4A)   ; \e.A\eNJ
-    (latin-iso8859-3   #x4A)   ; \e.A\eNJ
-    (latin-iso8859-9   #x4A)   ; \e.A\eNJ
-    (latin-viscii-upper        #x6A)   ; \e.A\eNJ
-    ))
-(define-char
-  '((name              . "FULLWIDTH LATIN CAPITAL LETTER E WITH CIRCUMFLEX")
-    (->ucs             . #x00CA)
+    (->decomposition   #x0045 #x0302)
+    (->fullwidth
+     ((name . "fullwidth latin capital letter e with circumflex")
+      (japanese-jisx0212         . #x2A34)     ; 
+      (japanese-jisx0213-1       . #x2941)     ; 
+      ))
+    (->lowercase
+     ((name              . "LATIN SMALL LETTER E WITH CIRCUMFLEX")
+      (ucs               . #x00EA)     ; ê
+      ))
+    (latin-iso8859-1           . #xCA) ; 
+    (latin-iso8859-3           . #xCA) ; 
+    (latin-iso8859-9           . #xCA) ; 
+    (latin-tcvn5712            . #xA3) ; 
+    (latin-viscii-upper                . #xEA) ; 
+    (latin-viscii              . #xCA) ; 
+    (ucs                       . #x00CA)       ; Ê
+    ))
+(define-char
+  '((name . "fullwidth latin capital letter e with circumflex")
+    (=>ucs             . #x00CA)       ; Ê
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00CA)
     (mirrored          . nil)
     (->lowercase
-     ((name            . "FULLWIDTH LATIN SMALL LETTER E WITH CIRCUMFLEX")))
-    (japanese-jisx0212 #x2A #x34)      ; \e$(D*4\e(B
+     ((name . "fullwidth latin small letter e with circumflex")))
+    (<-fullwidth
+     ((name              . "LATIN CAPITAL LETTER E WITH CIRCUMFLEX")
+      (ucs               . #x00CA)     ; Ê
+      ))
+    (japanese-jisx0212         . #x2A34)       ; 
+    (japanese-jisx0213-1       . #x2941)       ; 
     ))
 (define-char
   '((name              . "LATIN CAPITAL LETTER E WITH DIAERESIS")
-    (ucs               . #x00CB)
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x0045 #x0308)
     (mirrored          . nil)
-    (->lowercase       #x00EB)
-    (latin-iso8859-1   #x4B)   ; \e.A\eNK
-    (latin-iso8859-2   #x4B)   ; \e.A\eNK
-    (latin-iso8859-3   #x4B)   ; \e.A\eNK
-    (latin-iso8859-4   #x4B)   ; \e.A\eNK
-    (latin-iso8859-9   #x4B)   ; \e.A\eNK
-    ))
-(define-char
-  '((name              . "FULLWIDTH LATIN CAPITAL LETTER E WITH DIAERESIS")
-    (->ucs             . #x00CB)
+    (->decomposition   #x0045 #x0308)
+    (->fullwidth
+     ((name              . "fullwidth latin capital letter e with diaeresis")
+      (japanese-jisx0212         . #x2A33)     ; 
+      (japanese-jisx0213-1       . #x2942)     ; 
+      ))
+    (->lowercase
+     ((name              . "LATIN SMALL LETTER E WITH DIAERESIS")
+      (ucs               . #x00EB)     ; ë
+      ))
+    (latin-iso8859-1   . #xCB) ; 
+    (latin-iso8859-2   . #xCB) ; 
+    (latin-iso8859-3   . #xCB) ; 
+    (latin-iso8859-4   . #xCB) ; 
+    (latin-iso8859-9   . #xCB) ; 
+    (ucs               . #x00CB)       ; Ë
+    ))
+(define-char
+  '((name              . "fullwidth latin capital letter e with diaeresis")
+    (=>ucs             . #x00CB)       ; Ë
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00CB)
     (mirrored          . nil)
     (->lowercase
-     ((name            . "FULLWIDTH LATIN SMALL LETTER E WITH DIAERESIS")))
-    (japanese-jisx0212 #x2A #x33)      ; \e$(D*3\e(B
+     ((name . "fullwidth latin small letter e with diaeresis")))
+    (<-fullwidth
+     ((name              . "LATIN CAPITAL LETTER E WITH DIAERESIS")
+      (ucs               . #x00CB)     ; Ë
+      ))
+    (japanese-jisx0212         . #x2A33)       ; 
+    (japanese-jisx0213-1       . #x2942)       ; 
     ))
 (define-char
   '((name              . "LATIN CAPITAL LETTER I WITH GRAVE")
-    (ucs               . #x00CC)
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x0049 #x0300)
     (mirrored          . nil)
-    (->lowercase       #x00EC)
-    (latin-iso8859-1   #x4C)   ; \e.A\eNL
-    (latin-iso8859-3   #x4C)   ; \e.A\eNL
-    (latin-iso8859-9   #x4C)   ; \e.A\eNL
-    (latin-viscii-upper        #x6C)   ; \e.A\eNL
-    ))
-(define-char
-  '((name              . "FULLWIDTH LATIN CAPITAL LETTER I WITH GRAVE")
-    (->ucs             . #x00CC)
+    (->decomposition   #x0049 #x0300)
+    (->fullwidth
+     ((name              . "fullwidth latin capital letter i with grave")
+      (japanese-jisx0212         . #x2A40)     ; 
+      (japanese-jisx0213-1       . #x2943)     ; 
+      ))
+    (->lowercase
+     ((name              . "LATIN SMALL LETTER I WITH GRAVE")
+      (ucs               . #x00EC)     ; ì
+      ))
+    (latin-iso8859-1           . #xCC) ; 
+    (latin-iso8859-3           . #xCC) ; 
+    (latin-iso8859-9           . #xCC) ; 
+    (latin-viscii-upper                . #xEC) ; 
+    (latin-viscii              . #xCC) ; 
+    (ucs                       . #x00CC)       ; Ì
+    ))
+(define-char
+  '((name              . "fullwidth latin capital letter i with grave")
+    (=>ucs             . #x00CC)       ; Ì
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00CC)
     (mirrored          . nil)
     (->lowercase
-     ((name            . "FULLWIDTH LATIN SMALL LETTER I WITH GRAVE")))
-    (japanese-jisx0212 #x2A #x40)      ; \e$(D*@\e(B
+     ((name . "fullwidth latin small letter i with grave")))
+    (<-fullwidth
+     ((name              . "LATIN CAPITAL LETTER I WITH GRAVE")
+      (ucs               . #x00CC)     ; Ì
+      ))
+    (japanese-jisx0212         . #x2A40)       ; 
+    (japanese-jisx0213-1       . #x2943)       ; 
     ))
 (define-char
   '((name              . "LATIN CAPITAL LETTER I WITH ACUTE")
-    (ucs               . #x00CD)
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x0049 #x0301)
     (mirrored          . nil)
-    (->lowercase       #x00ED)
-    (latin-iso8859-1   #x4D)   ; \e.A\eNM
-    (latin-iso8859-2   #x4D)   ; \e.A\eNM
-    (latin-iso8859-3   #x4D)   ; \e.A\eNM
-    (latin-iso8859-4   #x4D)   ; \e.A\eNM
-    (latin-iso8859-9   #x4D)   ; \e.A\eNM
-    (latin-viscii-upper        #x6D)   ; \e.A\eNM
-    ))
-(define-char
-  '((name              . "FULLWIDTH LATIN CAPITAL LETTER I WITH ACUTE")
-    (->ucs             . #x00CD)
+    (->decomposition   #x0049 #x0301)
+    (->fullwidth
+     ((name              . "fullwidth latin capital letter i with acute")
+      (japanese-jisx0212         . #x2A3F)     ; 
+      (japanese-jisx0213-1       . #x2944)     ; 
+      ))
+    (->lowercase
+     ((name              . "LATIN SMALL LETTER I WITH ACUTE")
+      (ucs               . #x00ED)     ; í
+      ))
+    (latin-iso8859-1           . #xCD) ; 
+    (latin-iso8859-2           . #xCD) ; 
+    (latin-iso8859-3           . #xCD) ; 
+    (latin-iso8859-4           . #xCD) ; 
+    (latin-iso8859-9           . #xCD) ; 
+    (latin-viscii-upper                . #xED) ; 
+    (latin-viscii              . #xCD) ; 
+    (ucs                       . #x00CD)       ; Í
+    ))
+(define-char
+  '((name              . "fullwidth latin capital letter i with acute")
+    (=>ucs             . #x00CD)       ; Í
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00CD)
     (mirrored          . nil)
     (->lowercase
-     ((name            . "FULLWIDTH LATIN SMALL LETTER I WITH ACUTE")))
-    (japanese-jisx0212 #x2A #x3F)      ; \e$(D*?\e(B
+     ((name . "fullwidth latin small letter i with acute")))
+    (<-fullwidth
+     ((name              . "LATIN CAPITAL LETTER I WITH ACUTE")
+      (ucs               . #x00CD)     ; Í
+      ))
+    (japanese-jisx0212         . #x2A3F)       ; 
+    (japanese-jisx0213-1       . #x2944)       ; 
     ))
 (define-char
   '((name              . "LATIN CAPITAL LETTER I WITH CIRCUMFLEX")
-    (ucs               . #x00CE)
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x0049 #x0302)
     (mirrored          . nil)
-    (->lowercase       #x00EE)
-    (latin-iso8859-1   #x4E)   ; \e.A\eNN
-    (latin-iso8859-2   #x4E)   ; \e.A\eNN
-    (latin-iso8859-3   #x4E)   ; \e.A\eNN
-    (latin-iso8859-4   #x4E)   ; \e.A\eNN
-    (latin-iso8859-9   #x4E)   ; \e.A\eNN
-    ))
-(define-char
-  '((name              . "FULLWIDTH LATIN CAPITAL LETTER I WITH CIRCUMFLEX")
-    (->ucs             . #x00CE)
+    (->decomposition   #x0049 #x0302)
+    (->fullwidth
+     ((name . "fullwidth latin capital letter i with circumflex")
+      (japanese-jisx0212         . #x2A42)     ; 
+      (japanese-jisx0213-1       . #x2945)     ; 
+      ))
+    (->lowercase
+     ((name              . "LATIN SMALL LETTER I WITH CIRCUMFLEX")
+      (ucs               . #x00EE)     ; î
+      ))
+    (latin-iso8859-1   . #xCE) ; 
+    (latin-iso8859-2   . #xCE) ; 
+    (latin-iso8859-3   . #xCE) ; 
+    (latin-iso8859-4   . #xCE) ; 
+    (latin-iso8859-9   . #xCE) ; 
+    (ucs               . #x00CE)       ; Î
+    ))
+(define-char
+  '((name . "fullwidth latin capital letter i with circumflex")
+    (=>ucs             . #x00CE)       ; Î
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00CE)
     (mirrored          . nil)
     (->lowercase
-     ((name            . "FULLWIDTH LATIN SMALL LETTER I WITH CIRCUMFLEX")))
-    (japanese-jisx0212 #x2A #x42)      ; \e$(D*B\e(B
+     ((name . "fullwidth latin small letter i with circumflex")))
+    (<-fullwidth
+     ((name              . "LATIN CAPITAL LETTER I WITH CIRCUMFLEX")
+      (ucs               . #x00CE)     ; Î
+      ))
+    (japanese-jisx0212         . #x2A42)       ; 
+    (japanese-jisx0213-1       . #x2945)       ; 
     ))
 (define-char
   '((name              . "LATIN CAPITAL LETTER I WITH DIAERESIS")
-    (ucs               . #x00CF)
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x0049 #x0308)
     (mirrored          . nil)
-    (->lowercase       #x00EF)
-    (latin-iso8859-1   #x4F)   ; \e.A\eNO
-    (latin-iso8859-3   #x4F)   ; \e.A\eNO
-    (latin-iso8859-9   #x4F)   ; \e.A\eNO
+    (->decomposition   #x0049 #x0308)
+    (->fullwidth
+     ((name              . "fullwidth latin capital letter i with diaeresis")
+      (japanese-jisx0212         . #x2A41)     ; 
+      (japanese-jisx0213-1       . #x2946)     ; 
+      ))
+    (->lowercase
+     ((name              . "LATIN SMALL LETTER I WITH DIAERESIS")
+      (ucs               . #x00EF)     ; ï
+      ))
+    (latin-iso8859-1   . #xCF) ; 
+    (latin-iso8859-3   . #xCF) ; 
+    (latin-iso8859-9   . #xCF) ; 
+    (ucs               . #x00CF)       ; Ï
     ))
 (define-char
-  '((name              . "FULLWIDTH LATIN CAPITAL LETTER I WITH DIAERESIS")
-    (->ucs             . #x00CF)
+  '((name              . "fullwidth latin capital letter i with diaeresis")
+    (=>ucs             . #x00CF)       ; Ï
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00CF)
     (mirrored          . nil)
     (->lowercase
-     ((name            . "FULLWIDTH LATIN SMALL LETTER I WITH DIAERESIS")))
-    (japanese-jisx0212 #x2A #x41)      ; \e$(D*A\e(B
+     ((name . "fullwidth latin small letter i with diaeresis")))
+    (<-fullwidth
+     ((name              . "LATIN CAPITAL LETTER I WITH DIAERESIS")
+      (ucs               . #x00CF)     ; Ï
+      ))
+    (japanese-jisx0212         . #x2A41)       ; 
+    (japanese-jisx0213-1       . #x2946)       ; 
     ))
 (define-char
   '((name              . "LATIN CAPITAL LETTER ETH")
-    (ucs               . #x00D0)
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
     (mirrored          . nil)
     (iso-10646-comment . "Icelandic")
-    (->lowercase       #x00F0)
-    (latin-iso8859-1   #x50)   ; \e.A\eNP
+    (->fullwidth
+     ((name              . "fullwidth latin capital letter eth")
+      (korean-ksc5601            . #x2822)     ; 
+      (japanese-jisx0213-1       . #x2947)     ; 
+      ))
+    (->lowercase
+     ((name              . "LATIN SMALL LETTER ETH")
+      (ucs               . #x00F0)     ; ð
+      ))
+    (latin-iso8859-1   . #xD0) ; 
+    (ucs               . #x00D0)       ; Ð
     ))
 (define-char
-  '((name              . "FULLWIDTH LATIN CAPITAL LETTER ETH")
-    (->ucs             . #x00D0)
+  '((name              . "fullwidth latin capital letter eth")
+    (=>ucs             . #x00D0)       ; Ð
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
     (mirrored          . nil)
     (iso-10646-comment . "Icelandic")
-    (->decomposition   wide #x00D0)
     (->lowercase
-     ((name            . "FULLWIDTH LATIN SMALL LETTER ETH")))
-    (korean-ksc5601    #x28 #x22)      ; \e$(C("\e(B
+     ((name . "fullwidth latin small letter eth")))
+    (<-fullwidth
+     ((name              . "LATIN CAPITAL LETTER ETH")
+      (ucs               . #x00D0)     ; Ð
+      ))
+    (korean-ksc5601            . #x2822)       ; 
+    (japanese-jisx0213-1       . #x2947)       ; 
     ))
 (define-char
   '((name              . "LATIN CAPITAL LETTER N WITH TILDE")
-    (ucs               . #x00D1)
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x004E #x0303)
     (mirrored          . nil)
-    (->lowercase       #x00F1)
-    (latin-iso8859-1   #x51)   ; \e.A\eNQ
-    (latin-iso8859-3   #x51)   ; \e.A\eNQ
-    (latin-iso8859-9   #x51)   ; \e.A\eNQ
+    (->decomposition   #x004E #x0303)
+    (->fullwidth
+     ((name              . "fullwidth latin capital letter n with tilde")
+      (japanese-jisx0212         . #x2A50)     ; 
+      (japanese-jisx0213-1       . #x2948)     ; 
+      ))
+    (->lowercase
+     ((name              . "LATIN SMALL LETTER N WITH TILDE")
+      (ucs               . #x00F1)     ; ñ
+      ))
+    (latin-iso8859-1   . #xD1) ; 
+    (latin-iso8859-3   . #xD1) ; 
+    (latin-iso8859-9   . #xD1) ; 
+    (ucs               . #x00D1)       ; Ñ
     ))
 (define-char
-  '((name              . "FULLWIDTH LATIN CAPITAL LETTER N WITH TILDE")
-    (->ucs             . #x00D1)
+  '((name              . "fullwidth latin capital letter n with tilde")
+    (=>ucs             . #x00D1)       ; Ñ
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00D1)
     (mirrored          . nil)
     (->lowercase
-     ((name            . "FULLWIDTH LATIN SMALL LETTER N WITH TILDE")))
-    (japanese-jisx0212 #x2A #x50)      ; \e$(D*P\e(B
+     ((name . "fullwidth latin small letter n with tilde")))
+    (<-fullwidth
+     ((name              . "LATIN CAPITAL LETTER N WITH TILDE")
+      (ucs               . #x00D1)     ; Ñ
+      ))
+    (japanese-jisx0212         . #x2A50)       ; 
+    (japanese-jisx0213-1       . #x2948)       ; 
     ))
 (define-char
   '((name              . "LATIN CAPITAL LETTER O WITH GRAVE")
-    (ucs               . #x00D2)
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x004F #x0300)
     (mirrored          . nil)
-    (->lowercase       #x00F2)
-    (latin-iso8859-1   #x52)   ; \e.A\eNR
-    (latin-iso8859-3   #x52)   ; \e.A\eNR
-    (latin-iso8859-9   #x52)   ; \e.A\eNR
-    (latin-viscii-upper        #x72)   ; \e.A\eNR
-    ))
-(define-char
-  '((name              . "FULLWIDTH LATIN CAPITAL LETTER O WITH GRAVE")
-    (->ucs             . #x00D2)
+    (->decomposition   #x004F #x0300)
+    (->fullwidth
+     ((name              . "fullwidth latin capital letter o with grave")
+      (japanese-jisx0212         . #x2A52)     ; 
+      (japanese-jisx0213-1       . #x2949)     ; 
+      ))
+    (->lowercase
+     ((name              . "LATIN SMALL LETTER O WITH GRAVE")
+      (ucs               . #x00F2)     ; ò
+      ))
+    (latin-iso8859-1           . #xD2) ; 
+    (latin-iso8859-3           . #xD2) ; 
+    (latin-iso8859-9           . #xD2) ; 
+    (latin-viscii-upper                . #xF2) ; 
+    (latin-viscii              . #xD2) ; 
+    (ucs                       . #x00D2)       ; Ò
+    ))
+(define-char
+  '((name              . "fullwidth latin capital letter o with grave")
+    (=>ucs             . #x00D2)       ; Ò
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00D2)
     (mirrored          . nil)
     (->lowercase
-     ((name            . "FULLWIDTH LATIN SMALL LETTER O WITH GRAVE")))
-    (japanese-jisx0212 #x2A #x52)      ; \e$(D*R\e(B
+     ((name . "fullwidth latin small letter o with grave")))
+    (<-fullwidth
+     ((name              . "LATIN CAPITAL LETTER O WITH GRAVE")
+      (ucs               . #x00D2)     ; Ò
+      ))
+    (japanese-jisx0212         . #x2A52)       ; 
+    (japanese-jisx0213-1       . #x2949)       ; 
     ))
 (define-char
   '((name              . "LATIN CAPITAL LETTER O WITH ACUTE")
-    (ucs               . #x00D3)
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x004F #x0301)
     (mirrored          . nil)
-    (->lowercase       #x00F3)
-    (latin-iso8859-1   #x53)   ; \e.A\eNS
-    (latin-iso8859-2   #x53)   ; \e.A\eNS
-    (latin-iso8859-3   #x53)   ; \e.A\eNS
-    (latin-iso8859-9   #x53)   ; \e.A\eNS
-    (latin-viscii-upper        #x73)   ; \e.A\eNS
-    ))
-(define-char
-  '((name              . "FULLWIDTH LATIN CAPITAL LETTER O WITH ACUTE")
-    (->ucs             . #x00D3)
+    (->decomposition   #x004F #x0301)
+    (->fullwidth
+     ((name              . "fullwidth latin capital letter o with acute")
+      (japanese-jisx0212         . #x2A51)     ; 
+      (japanese-jisx0213-1       . #x294A)     ; 
+      ))
+    (->lowercase
+     ((name              . "LATIN SMALL LETTER O WITH ACUTE")
+      (ucs               . #x00F3)     ; ó
+      ))
+    (latin-iso8859-1           . #xD3) ; 
+    (latin-iso8859-2           . #xD3) ; 
+    (latin-iso8859-3           . #xD3) ; 
+    (latin-iso8859-9           . #xD3) ; 
+    (latin-viscii-upper                . #xF3) ; 
+    (latin-viscii              . #xD3) ; 
+    (ucs                       . #x00D3)       ; Ó
+    ))
+(define-char
+  '((name              . "fullwidth latin capital letter o with acute")
+    (=>ucs             . #x00D3)       ; Ó
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00D3)
     (mirrored          . nil)
     (->lowercase
-     ((name            . "FULLWIDTH LATIN SMALL LETTER O WITH ACUTE")))
-    (japanese-jisx0212 #x2A #x51)      ; \e$(D*Q\e(B
+     ((name . "fullwidth latin small letter o with acute")))
+    (<-fullwidth
+     ((name              . "LATIN CAPITAL LETTER O WITH ACUTE")
+      (ucs               . #x00D3)     ; Ó
+      ))
+    (japanese-jisx0212         . #x2A51)       ; 
+    (japanese-jisx0213-1       . #x294A)       ; 
     ))
 (define-char
   '((name              . "LATIN CAPITAL LETTER O WITH CIRCUMFLEX")
-    (ucs               . #x00D4)
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x004F #x0302)
     (mirrored          . nil)
-    (->lowercase       #x00F4)
-    (latin-iso8859-1   #x54)   ; \e.A\eNT
-    (latin-iso8859-2   #x54)   ; \e.A\eNT
-    (latin-iso8859-3   #x54)   ; \e.A\eNT
-    (latin-iso8859-4   #x54)   ; \e.A\eNT
-    (latin-iso8859-9   #x54)   ; \e.A\eNT
-    (latin-viscii-upper        #x74)   ; \e.A\eNT
-    ))
-(define-char
-  '((name              . "FULLWIDTH LATIN CAPITAL LETTER O WITH CIRCUMFLEX")
-    (->ucs             . #x00D4)
+    (->decomposition   #x004F #x0302)
+    (->fullwidth
+     ((name . "fullwidth latin capital letter o with circumflex")
+      (japanese-jisx0212         . #x2A54)     ; 
+      (japanese-jisx0213-1       . #x294B)     ; 
+      ))
+    (->lowercase
+     ((name              . "LATIN SMALL LETTER O WITH CIRCUMFLEX")
+      (ucs               . #x00F4)     ; ô
+      ))
+    (latin-iso8859-1           . #xD4) ; 
+    (latin-iso8859-2           . #xD4) ; 
+    (latin-iso8859-3           . #xD4) ; 
+    (latin-iso8859-4           . #xD4) ; 
+    (latin-iso8859-9           . #xD4) ; 
+    (latin-tcvn5712            . #xA4) ; 
+    (latin-viscii-upper                . #xF4) ; 
+    (latin-viscii              . #xD4) ; 
+    (ucs                       . #x00D4)       ; Ô
+    ))
+(define-char
+  '((name . "fullwidth latin capital letter o with circumflex")
+    (=>ucs             . #x00D4)       ; Ô
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00D4)
     (mirrored          . nil)
     (->lowercase
-     ((name            . "FULLWIDTH LATIN SMALL LETTER O WITH CIRCUMFLEX")))
-    (japanese-jisx0212 #x2A #x54)      ; \e$(D*T\e(B
+     ((name . "fullwidth latin small letter o with circumflex")))
+    (<-fullwidth
+     ((name              . "LATIN CAPITAL LETTER O WITH CIRCUMFLEX")
+      (ucs               . #x00D4)     ; Ô
+      ))
+    (japanese-jisx0212         . #x2A54)       ; 
+    (japanese-jisx0213-1       . #x294B)       ; 
     ))
 (define-char
   '((name              . "LATIN CAPITAL LETTER O WITH TILDE")
-    (ucs               . #x00D5)
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x004F #x0303)
     (mirrored          . nil)
-    (->lowercase       #x00F5)
-    (latin-iso8859-1   #x55)   ; \e.A\eNU
-    (latin-iso8859-4   #x55)   ; \e.A\eNU
-    (latin-iso8859-9   #x55)   ; \e.A\eNU
-    (latin-viscii-upper        #x75)   ; \e.A\eNU
-    ))
-(define-char
-  '((name              . "FULLWIDTH LATIN CAPITAL LETTER O WITH TILDE")
-    (->ucs             . #x00D5)
+    (->decomposition   #x004F #x0303)
+    (->fullwidth
+     ((name              . "fullwidth latin capital letter o with tilde")
+      (japanese-jisx0212         . #x2A58)     ; 
+      (japanese-jisx0213-1       . #x294C)     ; 
+      ))
+    (->lowercase
+     ((name              . "LATIN SMALL LETTER O WITH TILDE")
+      (ucs               . #x00F5)     ; õ
+      ))
+    (latin-iso8859-1           . #xD5) ; 
+    (latin-iso8859-4           . #xD5) ; 
+    (latin-iso8859-9           . #xD5) ; 
+    (latin-viscii-upper                . #xF5) ; 
+    (latin-viscii              . #xA0) ; 
+    (ucs                       . #x00D5)       ; Õ
+    ))
+(define-char
+  '((name              . "fullwidth latin capital letter o with tilde")
+    (=>ucs             . #x00D5)       ; Õ
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00D5)
     (mirrored          . nil)
     (->lowercase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER O WITH TILDE")))
-    (japanese-jisx0212 #x2A #x58)      ; \e$(D*X\e(B
+     ((name . "fullwidth latin capital letter o with tilde")))
+    (<-fullwidth
+     ((name              . "LATIN CAPITAL LETTER O WITH TILDE")
+      (ucs               . #x00D5)     ; Õ
+      ))
+    (japanese-jisx0212         . #x2A58)       ; 
+    (japanese-jisx0213-1       . #x294C)       ; 
     ))
 (define-char
   '((name              . "LATIN CAPITAL LETTER O WITH DIAERESIS")
-    (ucs               . #x00D6)
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x004F #x0308)
     (mirrored          . nil)
-    (->lowercase       #x00F6)
-    (latin-iso8859-1   #x56)   ; \e.A\eNV
-    (latin-iso8859-2   #x56)   ; \e.A\eNV
-    (latin-iso8859-3   #x56)   ; \e.A\eNV
-    (latin-iso8859-4   #x56)   ; \e.A\eNV
-    (latin-iso8859-9   #x56)   ; \e.A\eNV
-    ))
-(define-char
-  '((name              . "FULLWIDTH LATIN CAPITAL LETTER O WITH DIAERESIS")
-    (->ucs             . #x00D6)
+    (->decomposition   #x004F #x0308)
+    (->fullwidth
+     ((name              . "fullwidth latin capital letter o with diaeresis")
+      (japanese-jisx0212         . #x2A53)     ; 
+      (japanese-jisx0213-1       . #x294D)     ; 
+      ))
+    (->lowercase
+     ((name              . "LATIN SMALL LETTER O WITH DIAERESIS")
+      (ucs               . #x00F6)     ; ö
+      ))
+    (latin-iso8859-1   . #xD6) ; 
+    (latin-iso8859-2   . #xD6) ; 
+    (latin-iso8859-3   . #xD6) ; 
+    (latin-iso8859-4   . #xD6) ; 
+    (latin-iso8859-9   . #xD6) ; 
+    (ucs               . #x00D6)       ; Ö
+    ))
+(define-char
+  '((name              . "fullwidth latin capital letter o with diaeresis")
+    (=>ucs             . #x00D6)       ; Ö
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00D6)
     (mirrored          . nil)
     (->lowercase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER O WITH DIAERESIS")))
-    (japanese-jisx0212 #x2A #x53)      ; \e$(D*S\e(B
+     ((name . "fullwidth latin capital letter o with diaeresis")))
+    (<-fullwidth
+     ((name              . "LATIN CAPITAL LETTER O WITH DIAERESIS")
+      (ucs               . #x00D6)     ; Ö
+      ))
+    (japanese-jisx0212         . #x2A53)       ; 
+    (japanese-jisx0213-1       . #x294D)       ; 
     ))
 (define-char
   '((name              . "MULTIPLICATION SIGN")
-    (ucs               . #x00D7)
     (general-category  symbol math) ; Informative Category
     (bidi-category     . "ON")
     (mirrored          . nil)
-    (latin-iso8859-1   #x57)   ; \e.A\eNW
-    (latin-iso8859-2   #x57)   ; \e.A\eNW
-    (latin-iso8859-3   #x57)   ; \e.A\eNW
-    (latin-iso8859-4   #x57)   ; \e.A\eNW
-    (latin-iso8859-9   #x57)   ; \e.A\eNW
-    (hebrew-iso8859-8  #x2A)   ; \e.A\eNW
-    ))
-(define-char
-  '((name              . "FULLWIDTH MULTIPLICATION SIGN")
-    (->ucs             . #x00D7)
+    (->fullwidth
+     ((name              . "fullwidth multiplication sign")
+      (japanese-jisx0208-1978    . #x215F)     ; 
+      (chinese-gb2312            . #x2141)     ; 
+      (japanese-jisx0208         . #x215F)     ; 
+      (korean-ksc5601            . #x213F)     ; 
+      (chinese-cns11643-1        . #x2232)     ; 
+      ))
+    (latin-iso8859-1   . #xD7) ; 
+    (latin-iso8859-2   . #xD7) ; 
+    (latin-iso8859-3   . #xD7) ; 
+    (latin-iso8859-4   . #xD7) ; 
+    (hebrew-iso8859-8  . #xAA) ; 
+    (latin-iso8859-9   . #xD7) ; 
+    (ucs               . #x00D7)       ; ×
+    ))
+(define-char
+  '((name              . "fullwidth multiplication sign")
+    (=>ucs             . #x00D7)       ; ×
     (general-category  symbol math) ; Informative Category
     (bidi-category     . "ON")
-    (->decomposition   wide #x00D7)
     (mirrored          . nil)
-    (japanese-jisx0208-1978    #x21 #x5F)      ; \e$B!_\e(B
-    (chinese-gb2312            #x21 #x41)      ; \e$B!_\e(B
-    (japanese-jisx0208         #x21 #x5F)      ; \e$B!_\e(B
-    (korean-ksc5601            #x21 #x3F)      ; \e$B!_\e(B
-    (chinese-cns11643-1                #x22 #x32)      ; \e$B!_\e(B
+    (<-fullwidth
+     ((name              . "MULTIPLICATION SIGN")
+      (ucs               . #x00D7)     ; ×
+      ))
+    (japanese-jisx0208-1978    . #x215F)       ; 
+    (chinese-gb2312            . #x2141)       ; 
+    (japanese-jisx0208         . #x215F)       ; 
+    (korean-ksc5601            . #x213F)       ; 
+    (chinese-cns11643-1                . #x2232)       ; 
+    (japanese-jisx0208-1990    . #x215F)       ; 
+    (chinese-big5              . #xA1D1)       ; 
     ))
 (define-char
   '((name              . "LATIN CAPITAL LETTER O WITH STROKE")
-    (ucs               . #x00D8)
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
     (mirrored          . nil)
-    (->lowercase       #x00F8)
-    (latin-iso8859-1   #x58)   ; \e.A\eNX
-    (latin-iso8859-4   #x58)   ; \e.A\eNX
-    (latin-iso8859-9   #x58)   ; \e.A\eNX
+    (->lowercase
+     ((name              . "LATIN SMALL LETTER O WITH STROKE")
+      (ucs               . #x00F8)     ; ø
+      ))
+    (latin-iso8859-1   . #xD8) ; 
+    (latin-iso8859-4   . #xD8) ; 
+    (latin-iso8859-9   . #xD8) ; 
+    (ucs               . #x00D8)       ; Ø
     ))
 (define-char
-  '((name              . "FULLWIDTH LATIN CAPITAL LETTER O WITH STROKE")
-    (->ucs             . #x00D8)
+  '((name              . "fullwidth latin capital letter o with stroke")
+    (=>ucs             . #x00D8)       ; Ø
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
     (mirrored          . nil)
     (->lowercase
-     ((name            . "FULLWIDTH LATIN SMALL LETTER O WITH STROKE")))
-    (korean-ksc5601    #x28 #x2A)      ; \e$(D),\e(B
-    (japanese-jisx0212 #x29 #x2C)      ; \e$(D),\e(B
+     ((name . "fullwidth latin small letter o with stroke")))
+    (korean-ksc5601            . #x282A)       ; 
+    (japanese-jisx0212         . #x292C)       ; 
+    (japanese-jisx0213-1       . #x294E)       ; 
     ))
 (define-char
   '((name              . "LATIN CAPITAL LETTER U WITH GRAVE")
-    (ucs               . #x00D9)
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x0055 #x0300)
     (mirrored          . nil)
-    (->lowercase       #x00F9)
-    (latin-iso8859-1   #x59)   ; \e.A\eNY
-    (latin-iso8859-3   #x59)   ; \e.A\eNY
-    (latin-iso8859-9   #x59)   ; \e.A\eNY
-    (latin-viscii-upper        #x79)   ; \e.A\eNY
-    ))
-(define-char
-  '((name              . "FULLWIDTH LATIN CAPITAL LETTER U WITH GRAVE")
-    (->ucs             . #x00D9)
+    (->decomposition   #x0055 #x0300)
+    (->lowercase
+     ((name              . "LATIN SMALL LETTER U WITH GRAVE")
+      (ucs               . #x00F9)     ; ù
+      ))
+    (latin-iso8859-1           . #xD9) ; 
+    (latin-iso8859-3           . #xD9) ; 
+    (latin-iso8859-9           . #xD9) ; 
+    (latin-viscii-upper                . #xF9) ; 
+    (latin-viscii              . #xD9) ; 
+    (ucs                       . #x00D9)       ; Ù
+    ))
+(define-char
+  '((name              . "fullwidth latin capital letter u with grave")
+    (=>ucs             . #x00D9)       ; Ù
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x0055 #x0300)
     (mirrored          . nil)
+    (->decomposition   #x0055 #x0300)
     (->lowercase
-     ((name            . "FULLWIDTH LATIN SMALL LETTER U WITH GRAVE")))
-    (japanese-jisx0212 #x2A #x63)      ; \e$(D*c\e(B
+     ((name . "fullwidth latin small letter u with grave")))
+    (japanese-jisx0212         . #x2A63)       ; 
+    (japanese-jisx0213-1       . #x294F)       ; 
     ))
 (define-char
   '((name              . "LATIN CAPITAL LETTER U WITH ACUTE")
-    (ucs               . #x00DA)
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x0055 #x0301)
     (mirrored          . nil)
-    (->lowercase       #x00FA)
-    (latin-iso8859-1   #x5A)   ; \e.A\eNZ
-    (latin-iso8859-2   #x5A)   ; \e.A\eNZ
-    (latin-iso8859-3   #x5A)   ; \e.A\eNZ
-    (latin-iso8859-4   #x5A)   ; \e.A\eNZ
-    (latin-iso8859-9   #x5A)   ; \e.A\eNZ
-    (latin-viscii-upper        #x7A)   ; \e.A\eNZ
-    ))
-(define-char
-  '((name              . "FULLWIDTH LATIN CAPITAL LETTER U WITH ACUTE")
-    (->ucs             . #x00DA)
+    (->decomposition   #x0055 #x0301)
+    (->fullwidth
+     ((name              . "fullwidth latin capital letter u with acute")
+      (japanese-jisx0212         . #x2A62)     ; 
+      (japanese-jisx0213-1       . #x2950)     ; 
+      ))
+    (->lowercase
+     ((name              . "LATIN SMALL LETTER U WITH ACUTE")
+      (ucs               . #x00FA)     ; ú
+      ))
+    (latin-iso8859-1           . #xDA) ; 
+    (latin-iso8859-2           . #xDA) ; 
+    (latin-iso8859-3           . #xDA) ; 
+    (latin-iso8859-4           . #xDA) ; 
+    (latin-iso8859-9           . #xDA) ; 
+    (latin-viscii-upper                . #xFA) ; 
+    (latin-viscii              . #xDA) ; 
+    (ucs                       . #x00DA)       ; Ú
+    ))
+(define-char
+  '((name              . "fullwidth latin capital letter u with acute")
+    (=>ucs             . #x00DA)       ; Ú
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00DA)
     (mirrored          . nil)
     (->lowercase
-     ((name            . "FULLWIDTH LATIN SMALL LETTER U WITH ACUTE")))
-    (japanese-jisx0212 #x2A #x62)      ; \e$(D*b\e(B
+     ((name . "fullwidth latin small letter u with acute")))
+    (<-fullwidth
+     ((name              . "LATIN CAPITAL LETTER U WITH ACUTE")
+      (ucs               . #x00DA)     ; Ú
+      ))
+    (japanese-jisx0212         . #x2A62)       ; 
+    (japanese-jisx0213-1       . #x2950)       ; 
     ))
 (define-char
   '((name              . "LATIN CAPITAL LETTER U WITH CIRCUMFLEX")
-    (ucs               . #x00DB)
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x0055 #x0302)
     (mirrored          . nil)
-    (->lowercase       #x00FB)
-    (latin-iso8859-1   #x5B)   ; \e.A\eN[
-    (latin-iso8859-3   #x5B)   ; \e.A\eN[
-    (latin-iso8859-4   #x5B)   ; \e.A\eN[
-    (latin-iso8859-9   #x5B)   ; \e.A\eN[
-    ))
-(define-char
-  '((name              . "FULLWIDTH LATIN CAPITAL LETTER U WITH CIRCUMFLEX")
-    (->ucs             . #x00DB)
+    (->decomposition   #x0055 #x0302)
+    (->fullwidth
+     ((name . "fullwidth latin capital letter u with circumflex")
+      (japanese-jisx0212         . #x2A65)     ; 
+      (japanese-jisx0213-1       . #x2951)     ; 
+      ))
+    (->lowercase
+     ((name              . "LATIN SMALL LETTER U WITH CIRCUMFLEX")
+      (ucs               . #x00FB)     ; û
+      ))
+    (latin-iso8859-1   . #xDB) ; 
+    (latin-iso8859-3   . #xDB) ; 
+    (latin-iso8859-4   . #xDB) ; 
+    (latin-iso8859-9   . #xDB) ; 
+    (ucs               . #x00DB)       ; Û
+    ))
+(define-char
+  '((name . "fullwidth latin capital letter u with circumflex")
+    (=>ucs             . #x00DB)       ; Û
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00DB)
     (mirrored          . nil)
     (->lowercase
-     ((name            . "FULLWIDTH LATIN SMALL LETTER U WITH CIRCUMFLEX")))
-    (japanese-jisx0212 #x2A #x65)      ; \e$(D*e\e(B
+     ((name . "fullwidth latin small letter u with circumflex")))
+    (<-fullwidth
+     ((name              . "LATIN CAPITAL LETTER U WITH CIRCUMFLEX")
+      (ucs               . #x00DB)     ; Û
+      ))
+    (japanese-jisx0212         . #x2A65)       ; 
+    (japanese-jisx0213-1       . #x2951)       ; 
     ))
 (define-char
   '((name              . "LATIN CAPITAL LETTER U WITH DIAERESIS")
-    (ucs               . #x00DC)
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x0055 #x0308)
     (mirrored          . nil)
-    (->lowercase       #x00FC)
-    (latin-iso8859-1   #x5C)   ; \e.A\eN\
-    (latin-iso8859-2   #x5C)   ; \e.A\eN\
-    (latin-iso8859-3   #x5C)   ; \e.A\eN\
-    (latin-iso8859-4   #x5C)   ; \e.A\eN\
-    (latin-iso8859-9   #x5C)   ; \e.A\eN\
-    ))
-(define-char
-  '((name              . "FULLWIDTH LATIN CAPITAL LETTER U WITH DIAERESIS")
-    (->ucs             . #x00DC)
+    (->decomposition   #x0055 #x0308)
+    (->fullwidth
+     ((name              . "fullwidth latin capital letter u with diaeresis")
+      (japanese-jisx0212         . #x2A64)     ; 
+      (japanese-jisx0213-1       . #x2952)     ; 
+      ))
+    (->lowercase
+     ((name              . "LATIN SMALL LETTER U WITH DIAERESIS")
+      (ucs               . #x00FC)     ; ü
+      ))
+    (latin-iso8859-1   . #xDC) ; 
+    (latin-iso8859-2   . #xDC) ; 
+    (latin-iso8859-3   . #xDC) ; 
+    (latin-iso8859-4   . #xDC) ; 
+    (latin-iso8859-9   . #xDC) ; 
+    (ucs               . #x00DC)       ; Ü
+    ))
+(define-char
+  '((name              . "fullwidth latin capital letter u with diaeresis")
+    (=>ucs             . #x00DC)       ; Ü
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00DC)
     (mirrored          . nil)
     (->lowercase
-     ((name            . "FULLWIDTH LATIN SMALL LETTER U WITH DIAERESIS")))
-    (japanese-jisx0212 #x2A #x64)      ; \e$(D*d\e(B
+     ((name . "fullwidth latin small letter u with diaeresis")))
+    (<-fullwidth
+     ((name              . "LATIN CAPITAL LETTER U WITH DIAERESIS")
+      (ucs               . #x00DC)     ; Ü
+      ))
+    (japanese-jisx0212         . #x2A64)       ; 
+    (japanese-jisx0213-1       . #x2952)       ; 
     ))
 (define-char
   '((name              . "LATIN CAPITAL LETTER Y WITH ACUTE")
-    (ucs               . #x00DD)
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x0059 #x0301)
     (mirrored          . nil)
-    (->lowercase       #x00FD)
-    (latin-iso8859-1   #x5D)   ; \e.A\eN]
-    (latin-iso8859-2   #x5D)   ; \e.A\eN]
-    (latin-viscii-upper        #x7D)   ; \e.A\eN]
-    ))
-(define-char
-  '((name              . "FULLWIDTH LATIN CAPITAL LETTER Y WITH ACUTE")
-    (->ucs             . #x00DD)
+    (->decomposition   #x0059 #x0301)
+    (->fullwidth
+     ((name              . "fullwidth latin capital letter y with acute")
+      (japanese-jisx0212         . #x2A72)     ; 
+      (japanese-jisx0213-1       . #x2953)     ; 
+      ))
+    (->lowercase
+     ((name              . "LATIN SMALL LETTER Y WITH ACUTE")
+      (ucs               . #x00FD)     ; ý
+      ))
+    (latin-iso8859-1           . #xDD) ; 
+    (latin-iso8859-2           . #xDD) ; 
+    (latin-viscii-upper                . #xFD) ; 
+    (latin-viscii              . #xDD) ; 
+    (ucs                       . #x00DD)       ; Ý
+    ))
+(define-char
+  '((name              . "fullwidth latin capital letter y with acute")
+    (=>ucs             . #x00DD)       ; Ý
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00DD)
     (mirrored          . nil)
     (->lowercase
-     ((name            . "FULLWIDTH LATIN SMALL LETTER Y WITH ACUTE")))
-    (japanese-jisx0212 #x2A #x72)      ; \e$(D*r\e(B
+     ((name . "fullwidth latin small letter y with acute")))
+    (<-fullwidth
+     ((name              . "LATIN CAPITAL LETTER Y WITH ACUTE")
+      (ucs               . #x00DD)     ; Ý
+      ))
+    (japanese-jisx0212         . #x2A72)       ; 
+    (japanese-jisx0213-1       . #x2953)       ; 
     ))
 (define-char
   '((name              . "LATIN CAPITAL LETTER THORN")
-    (ucs               . #x00DE)
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
     (mirrored          . nil)
     (iso-10646-comment . "Icelandic")
-    (->lowercase       #x00FE)
-    (latin-iso8859-1   #x5E)   ; \e.A\eN^
+    (->fullwidth
+     ((name              . "fullwidth latin capital letter thorn")
+      (korean-ksc5601            . #x282D)     ; 
+      (japanese-jisx0212         . #x2930)     ; 
+      (japanese-jisx0213-1       . #x2954)     ; 
+      ))
+    (->lowercase
+     ((name              . "LATIN SMALL LETTER THORN")
+      (ucs               . #x00FE)     ; þ
+      ))
+    (latin-iso8859-1   . #xDE) ; 
+    (ucs               . #x00DE)       ; Þ
     ))
 (define-char
-  '((name              . "FULLWIDTH LATIN CAPITAL LETTER THORN")
-    (->ucs             . #x00DE)
+  '((name              . "fullwidth latin capital letter thorn")
+    (=>ucs             . #x00DE)       ; Þ
     (general-category  letter uppercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00DE)
     (mirrored          . nil)
     (iso-10646-comment . "Icelandic")
     (->lowercase
-     ((name            . "FULLWIDTH LATIN SMALL LETTER THORN")))
-    (korean-ksc5601    #x28 #x2D)      ; \e$(D)0\e(B
-    (japanese-jisx0212 #x29 #x30)      ; \e$(D)0\e(B
+     ((name . "fullwidth latin small letter thorn")))
+    (<-fullwidth
+     ((name              . "LATIN CAPITAL LETTER THORN")
+      (ucs               . #x00DE)     ; Þ
+      ))
+    (korean-ksc5601            . #x282D)       ; 
+    (japanese-jisx0212         . #x2930)       ; 
+    (japanese-jisx0213-1       . #x2954)       ; 
     ))
 (define-char
   '((name              . "LATIN SMALL LETTER SHARP S")
-    (ucs               . #x00DF)
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
     (mirrored          . nil)
     (iso-10646-comment . "German")
-    (latin-iso8859-1   #x5F)   ; \e.A\eN_
-    (latin-iso8859-2   #x5F)   ; \e.A\eN_
-    (latin-iso8859-3   #x5F)   ; \e.A\eN_
-    (latin-iso8859-4   #x5F)   ; \e.A\eN_
-    (latin-iso8859-9   #x5F)   ; \e.A\eN_
+    (->fullwidth
+     ((name              . "fullwidth latin small letter sharp s")
+      (korean-ksc5601            . #x292C)     ; 
+      (japanese-jisx0212         . #x294E)     ; 
+      (japanese-jisx0213-1       . #x2955)     ; 
+      ))
+    (latin-iso8859-1   . #xDF) ; 
+    (latin-iso8859-2   . #xDF) ; 
+    (latin-iso8859-3   . #xDF) ; 
+    (latin-iso8859-4   . #xDF) ; 
+    (latin-iso8859-9   . #xDF) ; 
+    (ucs               . #x00DF)       ; ß
     ))
 (define-char
-  '((name              . "FULLWIDTH LATIN SMALL LETTER SHARP S")
-    (->ucs             . #x00DF)
+  '((name              . "fullwidth latin small letter sharp s")
+    (=>ucs             . #x00DF)       ; ß
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00DF)
     (mirrored          . nil)
     (iso-10646-comment . "German")
-    (korean-ksc5601    #x29 #x2C)      ; \e$(D)N\e(B
-    (japanese-jisx0212 #x29 #x4E)      ; \e$(D)N\e(B
+    (<-fullwidth
+     ((name              . "LATIN SMALL LETTER SHARP S")
+      (ucs               . #x00DF)     ; ß
+      ))
+    (korean-ksc5601            . #x292C)       ; 
+    (japanese-jisx0212         . #x294E)       ; 
+    (japanese-jisx0213-1       . #x2955)       ; 
     ))
 (define-char
   '((name              . "LATIN SMALL LETTER A WITH GRAVE")
-    (ucs               . #x00E0)
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x0061 #x0300)
     (mirrored          . nil)
-    (->uppercase       #x00C0)
-    (->titlecase       #x00C0)
-    (latin-iso8859-1   #x60)   ; \e.A\eN`
-    (latin-iso8859-3   #x60)   ; \e.A\eN`
-    (latin-iso8859-9   #x60)   ; \e.A\eN`
-    (latin-viscii-lower        #x60)   ; \e.A\eN`
+    (->decomposition   #x0061 #x0300)
+    (->fullwidth
+     ((name              . "fullwidth latin small letter a with grave")
+      (chinese-gb2312            . #x2824)     ; 
+      (japanese-jisx0212         . #x2B22)     ; 
+      (japanese-jisx0213-1       . #x2956)     ; 
+      ))
+    (->uppercase
+     ((name              . "LATIN CAPITAL LETTER A WITH GRAVE")
+      (ucs               . #x00C0)     ; À
+      ))
+    (latin-iso8859-1           . #xE0) ; 
+    (latin-iso8859-3           . #xE0) ; 
+    (latin-iso8859-9           . #xE0) ; 
+    (latin-tcvn5712            . #xB5) ; 
+    (latin-viscii-lower                . #xE0) ; 
+    (latin-viscii              . #xE0) ; 
+    (ucs                       . #x00E0)       ; à
     ))
 (define-char
-  '((name              . "FULLWIDTH LATIN SMALL LETTER A WITH GRAVE")
-    (->ucs             . #x00E0)
+  '((name              . "fullwidth latin small letter a with grave")
+    (=>ucs             . #x00E0)       ; à
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00E0)
     (mirrored          . nil)
     (->uppercase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER A WITH GRAVE")))
-    (->titlecase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER A WITH GRAVE")))
-    (chinese-gb2312    #x28 #x24)      ; \e$(D+"\e(B
-    (japanese-jisx0212 #x2B #x22)      ; \e$(D+"\e(B
+     ((name . "fullwidth latin capital letter a with grave")))
+    (<-fullwidth
+     ((name              . "LATIN SMALL LETTER A WITH GRAVE")
+      (ucs               . #x00E0)     ; à
+      ))
+    (chinese-gb2312            . #x2824)       ; 
+    (japanese-jisx0212         . #x2B22)       ; 
+    (japanese-jisx0213-1       . #x2956)       ; 
     ))
 (define-char
   '((name              . "LATIN SMALL LETTER A WITH ACUTE")
-    (ucs               . #x00E1)
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x0061 #x0301)
     (mirrored          . nil)
-    (->uppercase       #x00C1)
-    (->titlecase       #x00C1)
-    (latin-iso8859-1   #x61)   ; \e.A\eNa
-    (latin-iso8859-2   #x61)   ; \e.A\eNa
-    (latin-iso8859-3   #x61)   ; \e.A\eNa
-    (latin-iso8859-4   #x61)   ; \e.A\eNa
-    (latin-iso8859-9   #x61)   ; \e.A\eNa
-    (latin-viscii-lower        #x61)   ; \e.A\eNa
+    (->decomposition   #x0061 #x0301)
+    (->fullwidth
+     ((name              . "fullwidth latin small letter a with acute")
+      (chinese-gb2312            . #x2822)     ; 
+      (japanese-jisx0212         . #x2B21)     ; 
+      (japanese-jisx0213-1       . #x2957)     ; 
+      ))
+    (->uppercase
+     ((name              . "LATIN CAPITAL LETTER A WITH ACUTE")
+      (ucs               . #x00C1)     ; Á
+      ))
+    (latin-iso8859-1           . #xE1) ; 
+    (latin-iso8859-2           . #xE1) ; 
+    (latin-iso8859-3           . #xE1) ; 
+    (latin-iso8859-4           . #xE1) ; 
+    (latin-iso8859-9           . #xE1) ; 
+    (latin-tcvn5712            . #xB8) ; 
+    (latin-viscii-lower                . #xE1) ; 
+    (latin-viscii              . #xE1) ; 
+    (ucs                       . #x00E1)       ; á
     ))
 (define-char
-  '((name              . "FULLWIDTH LATIN SMALL LETTER A WITH ACUTE")
-    (->ucs             . #x00E1)
+  '((name              . "fullwidth latin small letter a with acute")
+    (=>ucs             . #x00E1)       ; á
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00E1)
     (mirrored          . nil)
     (->uppercase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER A WITH ACUTE")))
-    (->titlecase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER A WITH ACUTE")))
-    (chinese-gb2312    #x28 #x22)      ; \e$(D+!\e(B
-    (japanese-jisx0212 #x2B #x21)      ; \e$(D+!\e(B
+     ((name . "fullwidth latin capital letter a with acute")))
+    (<-fullwidth
+     ((name              . "LATIN SMALL LETTER A WITH ACUTE")
+      (ucs               . #x00E1)     ; á
+      ))
+    (chinese-gb2312            . #x2822)       ; 
+    (japanese-jisx0212         . #x2B21)       ; 
+    (japanese-jisx0213-1       . #x2957)       ; 
     ))
 (define-char
   '((name              . "LATIN SMALL LETTER A WITH CIRCUMFLEX")
-    (ucs               . #x00E2)
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x0061 #x0302)
     (mirrored          . nil)
-    (->uppercase       #x00C2)
-    (->titlecase       #x00C2)
-    (latin-iso8859-1   #x62)   ; \e.A\eNb
-    (latin-iso8859-2   #x62)   ; \e.A\eNb
-    (latin-iso8859-3   #x62)   ; \e.A\eNb
-    (latin-iso8859-4   #x62)   ; \e.A\eNb
-    (latin-iso8859-9   #x62)   ; \e.A\eNb
-    (latin-viscii-lower        #x62)   ; \e.A\eNb
+    (->decomposition   #x0061 #x0302)
+    (->fullwidth
+     ((name              . "fullwidth latin small letter a with circumflex")
+      (japanese-jisx0212         . #x2B24)     ; 
+      (japanese-jisx0213-1       . #x2958)     ; 
+      ))
+    (->uppercase
+     ((name              . "LATIN CAPITAL LETTER A WITH CIRCUMFLEX")
+      (ucs               . #x00C2)     ; Â
+      ))
+    (latin-iso8859-1           . #xE2) ; 
+    (latin-iso8859-2           . #xE2) ; 
+    (latin-iso8859-3           . #xE2) ; 
+    (latin-iso8859-4           . #xE2) ; 
+    (latin-iso8859-9           . #xE2) ; 
+    (latin-tcvn5712            . #xA9) ; 
+    (latin-viscii-lower                . #xE2) ; 
+    (latin-viscii              . #xE2) ; 
+    (ucs                       . #x00E2)       ; â
     ))
 (define-char
-  '((name              . "FULLWIDTH LATIN SMALL LETTER A WITH CIRCUMFLEX")
-    (->ucs             . #x00E2)
+  '((name              . "fullwidth latin small letter a with circumflex")
+    (=>ucs             . #x00E2)       ; â
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00E2)
     (mirrored          . nil)
     (->uppercase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER A WITH CIRCUMFLEX")))
-    (->titlecase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER A WITH CIRCUMFLEX")))
-    (japanese-jisx0212 #x2B #x24)      ; \e$(D+$\e(B
+     ((name . "fullwidth latin capital letter a with circumflex")))
+    (<-fullwidth
+     ((name              . "LATIN SMALL LETTER A WITH CIRCUMFLEX")
+      (ucs               . #x00E2)     ; â
+      ))
+    (japanese-jisx0212         . #x2B24)       ; 
+    (japanese-jisx0213-1       . #x2958)       ; 
     ))
 (define-char
   '((name              . "LATIN SMALL LETTER A WITH TILDE")
-    (ucs               . #x00E3)
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x0061 #x0303)
     (mirrored          . nil)
-    (->uppercase       #x00C3)
-    (->titlecase       #x00C3)
-    (latin-iso8859-1   #x63)   ; \e.A\eNc
-    (latin-iso8859-4   #x63)   ; \e.A\eNc
-    (latin-iso8859-9   #x63)   ; \e.A\eNc
-    (latin-viscii-lower        #x63)   ; \e.A\eNc
+    (->decomposition   #x0061 #x0303)
+    (->fullwidth
+     ((name              . "fullwidth latin small letter a with tilde")
+      (japanese-jisx0212         . #x2B2A)     ; 
+      (japanese-jisx0213-1       . #x2959)     ; 
+      ))
+    (->uppercase
+     ((name              . "LATIN CAPITAL LETTER A WITH TILDE")
+      (ucs               . #x00C3)     ; Ã
+      ))
+    (latin-iso8859-1           . #xE3) ; 
+    (latin-iso8859-4           . #xE3) ; 
+    (latin-iso8859-9           . #xE3) ; 
+    (latin-tcvn5712            . #xB7) ; 
+    (latin-viscii-lower                . #xE3) ; 
+    (latin-viscii              . #xE3) ; 
+    (ucs                       . #x00E3)       ; ã
     ))
 (define-char
-  '((name              . "FULLWIDTH LATIN SMALL LETTER A WITH TILDE")
-    (->ucs             . #x00E3)
+  '((name              . "fullwidth latin small letter a with tilde")
+    (=>ucs             . #x00E3)       ; ã
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00E3)
     (mirrored          . nil)
     (->uppercase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER A WITH TILDE")))
-    (->titlecase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER A WITH TILDE")))
-    (japanese-jisx0212 #x2B #x2A)      ; \e$(D+*\e(B
+     ((name . "fullwidth latin capital letter a with tilde")))
+    (<-fullwidth
+     ((name              . "LATIN SMALL LETTER A WITH TILDE")
+      (ucs               . #x00E3)     ; ã
+      ))
+    (japanese-jisx0212         . #x2B2A)       ; 
+    (japanese-jisx0213-1       . #x2959)       ; 
     ))
 (define-char
   '((name              . "LATIN SMALL LETTER A WITH DIAERESIS")
-    (ucs               . #x00E4)
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x0061 #x0308)
     (mirrored          . nil)
-    (->uppercase       #x00C4)
-    (->titlecase       #x00C4)
-    (latin-iso8859-1   #x64)   ; \e.A\eNd
-    (latin-iso8859-2   #x64)   ; \e.A\eNd
-    (latin-iso8859-3   #x64)   ; \e.A\eNd
-    (latin-iso8859-4   #x64)   ; \e.A\eNd
-    (latin-iso8859-9   #x64)   ; \e.A\eNd
+    (->decomposition   #x0061 #x0308)
+    (->fullwidth
+     ((name              . "fullwidth latin small letter a with diaeresis")
+      (japanese-jisx0212         . #x2B23)     ; 
+      (japanese-jisx0213-1       . #x295A)     ; 
+      ))
+    (->uppercase
+     ((name              . "LATIN CAPITAL LETTER A WITH DIAERESIS")
+      (ucs               . #x00C4)     ; Ä
+      ))
+    (latin-iso8859-1   . #xE4) ; 
+    (latin-iso8859-2   . #xE4) ; 
+    (latin-iso8859-3   . #xE4) ; 
+    (latin-iso8859-4   . #xE4) ; 
+    (latin-iso8859-9   . #xE4) ; 
+    (ucs               . #x00E4)       ; ä
     ))
 (define-char
-  '((name              . "FULLWIDTH LATIN SMALL LETTER A WITH DIAERESIS")
-    (->ucs             . #x00E4)
+  '((name              . "fullwidth latin small letter a with diaeresis")
+    (=>ucs             . #x00E4)       ; ä
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00E4)
     (mirrored          . nil)
     (->uppercase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER A WITH DIAERESIS")))
-    (->titlecase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER A WITH DIAERESIS")))
-    (japanese-jisx0212 #x2B #x23)      ; \e$(D+#\e(B
+     ((name . "fullwidth latin capital letter a with diaeresis")))
+    (<-fullwidth
+     ((name              . "LATIN SMALL LETTER A WITH DIAERESIS")
+      (ucs               . #x00E4)     ; ä
+      ))
+    (japanese-jisx0212         . #x2B23)       ; 
+    (japanese-jisx0213-1       . #x295A)       ; 
     ))
 (define-char
   '((name              . "LATIN SMALL LETTER A WITH RING ABOVE")
-    (ucs               . #x00E5)
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x0061 #x030A)
     (mirrored          . nil)
-    (->uppercase       #x00C5)
-    (->titlecase       #x00C5)
-    (latin-iso8859-1   #x65)   ; \e.A\eNe
-    (latin-iso8859-4   #x65)   ; \e.A\eNe
-    (latin-iso8859-9   #x65)   ; \e.A\eNe
+    (->decomposition   #x0061 #x030A)
+    (->fullwidth
+     ((name              . "fullwidth latin small letter a with ring above")
+      (japanese-jisx0212         . #x2B29)     ; 
+      (japanese-jisx0213-1       . #x295B)     ; 
+      ))
+    (->uppercase
+     ((name              . "LATIN CAPITAL LETTER A WITH RING ABOVE")
+      (ucs               . #x00C5)     ; Å
+      ))
+    (latin-iso8859-1   . #xE5) ; 
+    (latin-iso8859-4   . #xE5) ; 
+    (latin-iso8859-9   . #xE5) ; 
+    (ucs               . #x00E5)       ; å
     ))
 (define-char
-  '((name              . "FULLWIDTH LATIN SMALL LETTER A WITH RING ABOVE")
-    (->ucs             . #x00E5)
+  '((name              . "fullwidth latin small letter a with ring above")
+    (=>ucs             . #x00E5)       ; å
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00E5)
     (mirrored          . nil)
     (->uppercase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER A WITH RING ABOVE")))
-    (->titlecase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER A WITH RING ABOVE")))
-    (japanese-jisx0212 #x2B #x29)      ; \e$(D+)\e(B
+     ((name . "fullwidth latin capital letter a with ring above")))
+    (<-fullwidth
+     ((name              . "LATIN SMALL LETTER A WITH RING ABOVE")
+      (ucs               . #x00E5)     ; å
+      ))
+    (japanese-jisx0212         . #x2B29)       ; 
+    (japanese-jisx0213-1       . #x295B)       ; 
     ))
 (define-char
   '((name              . "LATIN SMALL LETTER AE")
-    (ucs               . #x00E6)
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
     (mirrored          . nil)
     (iso-10646-comment . "ash *")
-    (->uppercase       #x00C6)
-    (->titlecase       #x00C6)
-    (latin-iso8859-1   #x66)   ; \e.A\eNf
-    (latin-iso8859-4   #x66)   ; \e.A\eNf
-    (latin-iso8859-9   #x66)   ; \e.A\eNf
-    (ipa               #x24)   ; \e.A\eNf
+    (->fullwidth
+     ((name              . "fullwidth latin small letter ae")
+      (korean-ksc5601            . #x2921)     ; 
+      (japanese-jisx0212         . #x2941)     ; 
+      (japanese-jisx0213-1       . #x295C)     ; 
+      ))
+    (->uppercase
+     ((name              . "LATIN CAPITAL LETTER AE")
+      (ucs               . #x00C6)     ; Æ
+      ))
+    (latin-iso8859-1   . #xE6) ; 
+    (latin-iso8859-4   . #xE6) ; 
+    (latin-iso8859-9   . #xE6) ; 
+    (ipa               . #xA4) ; 
+    (ucs               . #x00E6)       ; æ
     ))
 (define-char
-  '((name              . "FULLWIDTH LATIN SMALL LETTER AE")
-    (->ucs             . #x00E6)
+  '((name              . "fullwidth latin small letter ae")
+    (=>ucs             . #x00E6)       ; æ
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00E6)
     (mirrored          . nil)
     (iso-10646-comment . "ash *")
     (->uppercase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER AE")))
-    (->titlecase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER AE")))
-    (korean-ksc5601    #x29 #x21)      ; \e$(D)A\e(B
-    (japanese-jisx0212 #x29 #x41)      ; \e$(D)A\e(B
+     ((name . "fullwidth latin capital letter ae")))
+    (<-fullwidth
+     ((name              . "LATIN SMALL LETTER AE")
+      (ucs               . #x00E6)     ; æ
+      ))
+    (korean-ksc5601            . #x2921)       ; 
+    (japanese-jisx0212         . #x2941)       ; 
+    (japanese-jisx0213-1       . #x295C)       ; 
     ))
 (define-char
   '((name              . "LATIN SMALL LETTER C WITH CEDILLA")
-    (ucs               . #x00E7)
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x0063 #x0327)
     (mirrored          . nil)
-    (->uppercase       #x00C7)
-    (->titlecase       #x00C7)
-    (latin-iso8859-1   #x67)   ; \e.A\eNg
-    (latin-iso8859-2   #x67)   ; \e.A\eNg
-    (latin-iso8859-3   #x67)   ; \e.A\eNg
-    (latin-iso8859-9   #x67)   ; \e.A\eNg
-    (ipa               #x4E)   ; \e.A\eNg
+    (->decomposition   #x0063 #x0327)
+    (->fullwidth
+     ((name              . "fullwidth latin small letter c with cedilla")
+      (japanese-jisx0212         . #x2B2E)     ; 
+      (japanese-jisx0213-1       . #x295D)     ; 
+      ))
+    (->uppercase
+     ((name              . "LATIN CAPITAL LETTER C WITH CEDILLA")
+      (ucs               . #x00C7)     ; Ç
+      ))
+    (latin-iso8859-1   . #xE7) ; 
+    (latin-iso8859-2   . #xE7) ; 
+    (latin-iso8859-3   . #xE7) ; 
+    (latin-iso8859-9   . #xE7) ; 
+    (ipa               . #xCE) ; 
+    (ucs               . #x00E7)       ; ç
     ))
 (define-char
-  '((name              . "FULLWIDTH LATIN SMALL LETTER C WITH CEDILLA")
-    (->ucs             . #x00E7)
+  '((name              . "fullwidth latin small letter c with cedilla")
+    (=>ucs             . #x00E7)       ; ç
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00E7)
     (mirrored          . nil)
     (->uppercase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER C WITH CEDILLA")))
-    (->titlecase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER C WITH CEDILLA")))
-    (japanese-jisx0212 #x2B #x2E)      ; \e$(D+.\e(B
+     ((name . "fullwidth latin capital letter c with cedilla")))
+    (<-fullwidth
+     ((name              . "LATIN SMALL LETTER C WITH CEDILLA")
+      (ucs               . #x00E7)     ; ç
+      ))
+    (japanese-jisx0212         . #x2B2E)       ; 
+    (japanese-jisx0213-1       . #x295D)       ; 
     ))
 (define-char
   '((name              . "LATIN SMALL LETTER E WITH GRAVE")
-    (ucs               . #x00E8)
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x0065 #x0300)
     (mirrored          . nil)
-    (->uppercase       #x00C8)
-    (->titlecase       #x00C8)
-    (latin-iso8859-1   #x68)   ; \e.A\eNh
-    (latin-iso8859-3   #x68)   ; \e.A\eNh
-    (latin-iso8859-9   #x68)   ; \e.A\eNh
-    (latin-viscii-lower        #x68)   ; \e.A\eNh
+    (->decomposition   #x0065 #x0300)
+    (->fullwidth
+     ((name              . "fullwidth latin small letter e with grave")
+      (chinese-gb2312            . #x2828)     ; 
+      (japanese-jisx0212         . #x2B32)     ; 
+      (japanese-jisx0213-1       . #x295E)     ; 
+      ))
+    (->uppercase
+     ((name              . "LATIN CAPITAL LETTER E WITH GRAVE")
+      (ucs               . #x00C8)     ; È
+      ))
+    (latin-iso8859-1           . #xE8) ; 
+    (latin-iso8859-3           . #xE8) ; 
+    (latin-iso8859-9           . #xE8) ; 
+    (latin-tcvn5712            . #xCC) ; 
+    (latin-viscii-lower                . #xE8) ; 
+    (latin-viscii              . #xE8) ; 
+    (ucs                       . #x00E8)       ; è
     ))
 (define-char
-  '((name              . "FULLWIDTH LATIN SMALL LETTER E WITH GRAVE")
-    (->ucs             . #x00E8)
+  '((name              . "fullwidth latin small letter e with grave")
+    (=>ucs             . #x00E8)       ; è
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00E8)
     (mirrored          . nil)
     (->uppercase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER E WITH GRAVE")))
-    (->titlecase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER E WITH GRAVE")))
-    (chinese-gb2312    #x28 #x28)      ; \e$(D+2\e(B
-    (japanese-jisx0212 #x2B #x32)      ; \e$(D+2\e(B
+     ((name . "fullwidth latin capital letter e with grave")))
+    (<-fullwidth
+     ((name              . "LATIN SMALL LETTER E WITH GRAVE")
+      (ucs               . #x00E8)     ; è
+      ))
+    (chinese-gb2312            . #x2828)       ; 
+    (japanese-jisx0212         . #x2B32)       ; 
+    (japanese-jisx0213-1       . #x295E)       ; 
     ))
 (define-char
   '((name              . "LATIN SMALL LETTER E WITH ACUTE")
-    (ucs               . #x00E9)
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x0065 #x0301)
     (mirrored          . nil)
-    (->uppercase       #x00C9)
-    (->titlecase       #x00C9)
-    (latin-iso8859-1   #x69)   ; \e.A\eNi
-    (latin-iso8859-2   #x69)   ; \e.A\eNi
-    (latin-iso8859-3   #x69)   ; \e.A\eNi
-    (latin-iso8859-4   #x69)   ; \e.A\eNi
-    (latin-iso8859-9   #x69)   ; \e.A\eNi
-    (latin-viscii-lower        #x69)   ; \e.A\eNi
+    (->decomposition   #x0065 #x0301)
+    (->fullwidth
+     ((name              . "fullwidth latin small letter e with acute")
+      (chinese-gb2312            . #x2826)     ; 
+      (japanese-jisx0212         . #x2B31)     ; 
+      (japanese-jisx0213-1       . #x295F)     ; 
+      ))
+    (->uppercase
+     ((name              . "LATIN CAPITAL LETTER E WITH ACUTE")
+      (ucs               . #x00C9)     ; É
+      ))
+    (latin-iso8859-1           . #xE9) ; 
+    (latin-iso8859-2           . #xE9) ; 
+    (latin-iso8859-3           . #xE9) ; 
+    (latin-iso8859-4           . #xE9) ; 
+    (latin-iso8859-9           . #xE9) ; 
+    (latin-tcvn5712            . #xD0) ; 
+    (latin-viscii-lower                . #xE9) ; 
+    (latin-viscii              . #xE9) ; 
+    (ucs                       . #x00E9)       ; é
     ))
 (define-char
-  '((name              . "FULLWIDTH LATIN SMALL LETTER E WITH ACUTE")
-    (->ucs             . #x00E9)
+  '((name              . "fullwidth latin small letter e with acute")
+    (=>ucs             . #x00E9)       ; é
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00E9)
     (mirrored          . nil)
     (->uppercase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER E WITH ACUTE")))
-    (->titlecase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER E WITH ACUTE")))
-    (chinese-gb2312    #x28 #x26)      ; \e$(D+1\e(B
-    (japanese-jisx0212 #x2B #x31)      ; \e$(D+1\e(B
+     ((name . "fullwidth latin capital letter e with acute")))
+    (<-fullwidth
+     ((name              . "LATIN SMALL LETTER E WITH ACUTE")
+      (ucs               . #x00E9)     ; é
+      ))
+    (chinese-gb2312            . #x2826)       ; 
+    (japanese-jisx0212         . #x2B31)       ; 
+    (japanese-jisx0213-1       . #x295F)       ; 
     ))
 (define-char
   '((name              . "LATIN SMALL LETTER E WITH CIRCUMFLEX")
-    (ucs               . #x00EA)
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x0065 #x0302)
     (mirrored          . nil)
-    (->uppercase       #x00CA)
-    (->titlecase       #x00CA)
-    (latin-iso8859-1   #x6A)   ; \e.A\eNj
-    (latin-iso8859-3   #x6A)   ; \e.A\eNj
-    (latin-iso8859-9   #x6A)   ; \e.A\eNj
-    (latin-viscii-lower        #x6A)   ; \e.A\eNj
+    (->decomposition   #x0065 #x0302)
+    (->fullwidth
+     ((name              . "fullwidth latin small letter e with circumflex")
+      (chinese-gb2312            . #x283A)     ; 
+      (japanese-jisx0212         . #x2B34)     ; 
+      (japanese-jisx0213-1       . #x2960)     ; 
+      ))
+    (->uppercase
+     ((name              . "LATIN CAPITAL LETTER E WITH CIRCUMFLEX")
+      (ucs               . #x00CA)     ; Ê
+      ))
+    (latin-iso8859-1           . #xEA) ; 
+    (latin-iso8859-3           . #xEA) ; 
+    (latin-iso8859-9           . #xEA) ; 
+    (latin-tcvn5712            . #xAA) ; 
+    (latin-viscii-lower                . #xEA) ; 
+    (latin-viscii              . #xEA) ; 
+    (ucs                       . #x00EA)       ; ê
     ))
 (define-char
-  '((name              . "FULLWIDTH LATIN SMALL LETTER E WITH CIRCUMFLEX")
-    (->ucs             . #x00EA)
+  '((name              . "fullwidth latin small letter e with circumflex")
+    (=>ucs             . #x00EA)       ; ê
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00EA)
     (mirrored          . nil)
     (->uppercase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER E WITH CIRCUMFLEX")))
-    (->titlecase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER E WITH CIRCUMFLEX")))
-    (chinese-gb2312    #x28 #x3A)      ; \e$(D+4\e(B
-    (japanese-jisx0212 #x2B #x34)      ; \e$(D+4\e(B
+     ((name . "fullwidth latin capital letter e with circumflex")))
+    (<-fullwidth
+     ((name              . "LATIN SMALL LETTER E WITH CIRCUMFLEX")
+      (ucs               . #x00EA)     ; ê
+      ))
+    (chinese-gb2312            . #x283A)       ; 
+    (japanese-jisx0212         . #x2B34)       ; 
+    (japanese-jisx0213-1       . #x2960)       ; 
     ))
 (define-char
   '((name              . "LATIN SMALL LETTER E WITH DIAERESIS")
-    (ucs               . #x00EB)
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x0065 #x0308)
     (mirrored          . nil)
-    (->uppercase       #x00CB)
-    (->titlecase       #x00CB)
-    (latin-iso8859-1   #x6B)   ; \e.A\eNk
-    (latin-iso8859-2   #x6B)   ; \e.A\eNk
-    (latin-iso8859-3   #x6B)   ; \e.A\eNk
-    (latin-iso8859-4   #x6B)   ; \e.A\eNk
-    (latin-iso8859-9   #x6B)   ; \e.A\eNk
+    (->decomposition   #x0065 #x0308)
+    (->fullwidth
+     ((name              . "fullwidth latin small letter e with diaeresis")
+      (japanese-jisx0212         . #x2B33)     ; 
+      (japanese-jisx0213-1       . #x2961)     ; 
+      ))
+    (->uppercase
+     ((name              . "LATIN CAPITAL LETTER E WITH DIAERESIS")
+      (ucs               . #x00CB)     ; Ë
+      ))
+    (latin-iso8859-1   . #xEB) ; 
+    (latin-iso8859-2   . #xEB) ; 
+    (latin-iso8859-3   . #xEB) ; 
+    (latin-iso8859-4   . #xEB) ; 
+    (latin-iso8859-9   . #xEB) ; 
+    (ucs               . #x00EB)       ; ë
     ))
 (define-char
-  '((name              . "FULLWIDTH LATIN SMALL LETTER E WITH DIAERESIS")
-    (->ucs             . #x00EB)
+  '((name              . "fullwidth latin small letter e with diaeresis")
+    (=>ucs             . #x00EB)       ; ë
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00EB)
     (mirrored          . nil)
     (->uppercase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER E WITH DIAERESIS")))
-    (->titlecase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER E WITH DIAERESIS")))
-    (japanese-jisx0212 #x2B #x33)      ; \e$(D+3\e(B
+     ((name . "fullwidth latin capital letter e with diaeresis")))
+    (<-fullwidth
+     ((name              . "LATIN SMALL LETTER E WITH DIAERESIS")
+      (ucs               . #x00EB)     ; ë
+      ))
+    (japanese-jisx0212         . #x2B33)       ; 
+    (japanese-jisx0213-1       . #x2961)       ; 
     ))
 (define-char
   '((name              . "LATIN SMALL LETTER I WITH GRAVE")
-    (ucs               . #x00EC)
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x0069 #x0300)
     (mirrored          . nil)
-    (->uppercase       #x00CC)
-    (->titlecase       #x00CC)
-    (latin-iso8859-1   #x6C)   ; \e.A\eNl
-    (latin-iso8859-3   #x6C)   ; \e.A\eNl
-    (latin-iso8859-9   #x6C)   ; \e.A\eNl
-    (latin-viscii-lower        #x6C)   ; \e.A\eNl
+    (->decomposition   #x0069 #x0300)
+    (->fullwidth
+     ((name              . "fullwidth latin small letter i with grave")
+      (chinese-gb2312            . #x282C)     ; 
+      (japanese-jisx0212         . #x2B40)     ; 
+      (japanese-jisx0213-1       . #x2962)     ; 
+      ))
+    (->uppercase
+     ((name              . "LATIN CAPITAL LETTER I WITH GRAVE")
+      (ucs               . #x00CC)     ; Ì
+      ))
+    (latin-iso8859-1           . #xEC) ; 
+    (latin-iso8859-3           . #xEC) ; 
+    (latin-iso8859-9           . #xEC) ; 
+    (latin-tcvn5712            . #xD7) ; 
+    (latin-viscii-lower                . #xEC) ; 
+    (latin-viscii              . #xEC) ; 
+    (ucs                       . #x00EC)       ; ì
     ))
 (define-char
-  '((name              . "FULLWIDTH LATIN SMALL LETTER I WITH GRAVE")
-    (->ucs             . #x00EC)
+  '((name              . "fullwidth latin small letter i with grave")
+    (=>ucs             . #x00EC)       ; ì
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00EC)
     (mirrored          . nil)
     (->uppercase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER I WITH GRAVE")))
-    (->titlecase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER I WITH GRAVE")))
-    (chinese-gb2312    #x28 #x2C)      ; \e$(D+@\e(B
-    (japanese-jisx0212 #x2B #x40)      ; \e$(D+@\e(B
+     ((name . "fullwidth latin capital letter i with grave")))
+    (<-fullwidth
+     ((name              . "LATIN SMALL LETTER I WITH GRAVE")
+      (ucs               . #x00EC)     ; ì
+      ))
+    (chinese-gb2312            . #x282C)       ; 
+    (japanese-jisx0212         . #x2B40)       ; 
+    (japanese-jisx0213-1       . #x2962)       ; 
     ))
 (define-char
   '((name              . "LATIN SMALL LETTER I WITH ACUTE")
-    (ucs               . #x00ED)
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x0069 #x0301)
     (mirrored          . nil)
-    (->uppercase       #x00CD)
-    (->titlecase       #x00CD)
-    (latin-iso8859-1   #x6D)   ; \e.A\eNm
-    (latin-iso8859-2   #x6D)   ; \e.A\eNm
-    (latin-iso8859-3   #x6D)   ; \e.A\eNm
-    (latin-iso8859-4   #x6D)   ; \e.A\eNm
-    (latin-iso8859-9   #x6D)   ; \e.A\eNm
-    (latin-viscii-lower        #x6D)   ; \e.A\eNm
+    (->decomposition   #x0069 #x0301)
+    (->fullwidth
+     ((name              . "fullwidth latin small letter i with acute")
+      (chinese-gb2312            . #x282A)     ; 
+      (japanese-jisx0212         . #x2B3F)     ; 
+      (japanese-jisx0213-1       . #x2963)     ; 
+      ))
+    (->uppercase
+     ((name              . "LATIN CAPITAL LETTER I WITH ACUTE")
+      (ucs               . #x00CD)     ; Í
+      ))
+    (latin-iso8859-1           . #xED) ; 
+    (latin-iso8859-2           . #xED) ; 
+    (latin-iso8859-3           . #xED) ; 
+    (latin-iso8859-4           . #xED) ; 
+    (latin-iso8859-9           . #xED) ; 
+    (latin-tcvn5712            . #xDD) ; 
+    (latin-viscii-lower                . #xED) ; 
+    (latin-viscii              . #xED) ; 
+    (ucs                       . #x00ED)       ; í
     ))
 (define-char
-  '((name              . "FULLWIDTH LATIN SMALL LETTER I WITH ACUTE")
-    (->ucs             . #x00ED)
+  '((name              . "fullwidth latin small letter i with acute")
+    (=>ucs             . #x00ED)       ; í
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00ED)
     (mirrored          . nil)
     (->uppercase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER I WITH ACUTE")))
-    (->titlecase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER I WITH ACUTE")))
-    (chinese-gb2312    #x28 #x2A)      ; \e$(D+?\e(B
-    (japanese-jisx0212 #x2B #x3F)      ; \e$(D+?\e(B
+     ((name . "fullwidth latin capital letter i with acute")))
+    (<-fullwidth
+     ((name              . "LATIN SMALL LETTER I WITH ACUTE")
+      (ucs               . #x00ED)     ; í
+      ))
+    (chinese-gb2312            . #x282A)       ; 
+    (japanese-jisx0212         . #x2B3F)       ; 
+    (japanese-jisx0213-1       . #x2963)       ; 
     ))
 (define-char
   '((name              . "LATIN SMALL LETTER I WITH CIRCUMFLEX")
-    (ucs               . #x00EE)
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x0069 #x0302)
     (mirrored          . nil)
-    (->uppercase       #x00CE)
-    (->titlecase       #x00CE)
-    (latin-iso8859-1   #x6E)   ; \e.A\eNn
-    (latin-iso8859-2   #x6E)   ; \e.A\eNn
-    (latin-iso8859-3   #x6E)   ; \e.A\eNn
-    (latin-iso8859-4   #x6E)   ; \e.A\eNn
-    (latin-iso8859-9   #x6E)   ; \e.A\eNn
+    (->decomposition   #x0069 #x0302)
+    (->fullwidth
+     ((name              . "fullwidth latin small letter i with circumflex")
+      (japanese-jisx0212         . #x2B42)     ; 
+      (japanese-jisx0213-1       . #x2964)     ; 
+      ))
+    (->uppercase
+     ((name              . "LATIN CAPITAL LETTER I WITH CIRCUMFLEX")
+      (ucs               . #x00CE)     ; Î
+      ))
+    (latin-iso8859-1   . #xEE) ; 
+    (latin-iso8859-2   . #xEE) ; 
+    (latin-iso8859-3   . #xEE) ; 
+    (latin-iso8859-4   . #xEE) ; 
+    (latin-iso8859-9   . #xEE) ; 
+    (ucs               . #x00EE)       ; î
     ))
 (define-char
-  '((name              . "FULLWIDTH LATIN SMALL LETTER I WITH CIRCUMFLEX")
-    (->ucs             . #x00EE)
+  '((name              . "fullwidth latin small letter i with circumflex")
+    (=>ucs             . #x00EE)       ; î
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00EE)
     (mirrored          . nil)
     (->uppercase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER I WITH CIRCUMFLEX")))
-    (->titlecase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER I WITH CIRCUMFLEX")))
-    (japanese-jisx0212 #x2B #x42)      ; \e$(D+B\e(B
+     ((name . "fullwidth latin capital letter i with circumflex")))
+    (<-fullwidth
+     ((name              . "LATIN SMALL LETTER I WITH CIRCUMFLEX")
+      (ucs               . #x00EE)     ; î
+      ))
+    (japanese-jisx0212         . #x2B42)       ; 
+    (japanese-jisx0213-1       . #x2964)       ; 
     ))
 (define-char
   '((name              . "LATIN SMALL LETTER I WITH DIAERESIS")
-    (ucs               . #x00EF)
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x0069 #x0308)
     (mirrored          . nil)
-    (->uppercase       #x00CF)
-    (->titlecase       #x00CF)
-    (latin-iso8859-1   #x6F)   ; \e.A\eNo
-    (latin-iso8859-3   #x6F)   ; \e.A\eNo
-    (latin-iso8859-9   #x6F)   ; \e.A\eNo
+    (->decomposition   #x0069 #x0308)
+    (->uppercase
+     ((name              . "LATIN CAPITAL LETTER I WITH DIAERESIS")
+      (ucs               . #x00CF)     ; Ï
+      ))
+    (latin-iso8859-1   . #xEF) ; 
+    (latin-iso8859-3   . #xEF) ; 
+    (latin-iso8859-9   . #xEF) ; 
+    (ucs               . #x00EF)       ; ï
     ))
 (define-char
-  '((name              . "FULLWIDTH LATIN SMALL LETTER I WITH DIAERESIS")
-    (->ucs             . #x00EF)
+  '((name              . "fullwidth latin small letter i with diaeresis")
+    (=>ucs             . #x00EF)       ; ï
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x0069 #x0308)
     (mirrored          . nil)
+    (->decomposition   #x0069 #x0308)
     (->uppercase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER I WITH DIAERESIS")))
-    (->titlecase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER I WITH DIAERESIS")))
-    (japanese-jisx0212 #x2B #x41)      ; \e$(D+A\e(B
+     ((name . "fullwidth latin capital letter i with diaeresis")))
+    (japanese-jisx0212         . #x2B41)       ; 
+    (japanese-jisx0213-1       . #x2965)       ; 
     ))
 (define-char
   '((name              . "LATIN SMALL LETTER ETH")
-    (ucs               . #x00F0)
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
     (mirrored          . nil)
     (iso-10646-comment . "Icelandic")
-    (->uppercase       #x00D0)
-    (->titlecase       #x00D0)
-    (latin-iso8859-1   #x70)   ; \e.A\eNp
-    (ipa               #x49)
+    (->uppercase
+     ((name              . "LATIN CAPITAL LETTER ETH")
+      (ucs               . #x00D0)     ; Ð
+      ))
+    (latin-iso8859-1   . #xF0) ; 
+    (ipa               . #xC9) ; 
+    (ucs               . #x00F0)       ; ð
     ))
 (define-char
-  '((name              . "FULLWIDTH LATIN SMALL LETTER ETH")
-    (->ucs             . #x00F0)
+  '((name              . "fullwidth latin small letter eth")
+    (=>ucs             . #x00F0)       ; ð
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
     (mirrored          . nil)
     (iso-10646-comment . "Icelandic")
     (->uppercase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER ETH")))
-    (->titlecase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER ETH")))
-    (korean-ksc5601    #x29 #x23)      ; \e$(D)C\e(B
-    (japanese-jisx0212 #x29 #x43)      ; \e$(D)C\e(B
+     ((name . "fullwidth latin capital letter eth")))
+    (korean-ksc5601            . #x2923)       ; 
+    (japanese-jisx0212         . #x2943)       ; 
+    (japanese-jisx0213-1       . #x2966)       ; 
     ))
 (define-char
   '((name              . "LATIN SMALL LETTER N WITH TILDE")
-    (ucs               . #x00F1)
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x006E #x0303)
     (mirrored          . nil)
-    (->uppercase       #x00D1)
-    (->titlecase       #x00D1)
-    (latin-iso8859-1   #x71)   ; \e.A\eNq
-    (latin-iso8859-3   #x71)   ; \e.A\eNq
-    (latin-iso8859-9   #x71)   ; \e.A\eNq
+    (->decomposition   #x006E #x0303)
+    (->fullwidth
+     ((name              . "fullwidth latin small letter n with tilde")
+      (japanese-jisx0212         . #x2B50)     ; 
+      (japanese-jisx0213-1       . #x2967)     ; 
+      ))
+    (->uppercase
+     ((name              . "LATIN CAPITAL LETTER N WITH TILDE")
+      (ucs               . #x00D1)     ; Ñ
+      ))
+    (latin-iso8859-1   . #xF1) ; 
+    (latin-iso8859-3   . #xF1) ; 
+    (latin-iso8859-9   . #xF1) ; 
+    (ucs               . #x00F1)       ; ñ
     ))
 (define-char
-  '((name              . "FULLWIDTH LATIN SMALL LETTER N WITH TILDE")
-    (->ucs             . #x00F1)
+  '((name              . "fullwidth latin small letter n with tilde")
+    (=>ucs             . #x00F1)       ; ñ
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00F1)
     (mirrored          . nil)
     (->uppercase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER N WITH TILDE")))
-    (->titlecase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER N WITH TILDE")))
-    (japanese-jisx0212 #x2B #x50)      ; \e$(D+P\e(B
+     ((name . "fullwidth latin capital letter n with tilde")))
+    (<-fullwidth
+     ((name              . "LATIN SMALL LETTER N WITH TILDE")
+      (ucs               . #x00F1)     ; ñ
+      ))
+    (japanese-jisx0212         . #x2B50)       ; 
+    (japanese-jisx0213-1       . #x2967)       ; 
     ))
 (define-char
   '((name              . "LATIN SMALL LETTER O WITH GRAVE")
-    (ucs               . #x00F2)
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x006F #x0300)
     (mirrored          . nil)
-    (->uppercase       #x00D2)
-    (->titlecase       #x00D2)
-    (latin-iso8859-1   #x72)   ; \e.A\eNr
-    (latin-iso8859-3   #x72)   ; \e.A\eNr
-    (latin-iso8859-9   #x72)   ; \e.A\eNr
-    (latin-viscii-lower        #x72)   ; \e.A\eNr
+    (->decomposition   #x006F #x0300)
+    (->fullwidth
+     ((name              . "fullwidth latin small letter o with grave")
+      (chinese-gb2312            . #x2830)     ; 
+      (japanese-jisx0212         . #x2B52)     ; 
+      (japanese-jisx0213-1       . #x2968)     ; 
+      ))
+    (->uppercase
+     ((name              . "LATIN CAPITAL LETTER O WITH GRAVE")
+      (ucs               . #x00D2)     ; Ò
+      ))
+    (latin-iso8859-1           . #xF2) ; 
+    (latin-iso8859-3           . #xF2) ; 
+    (latin-iso8859-9           . #xF2) ; 
+    (latin-tcvn5712            . #xDF) ; 
+    (latin-viscii-lower                . #xF2) ; 
+    (latin-viscii              . #xF2) ; 
+    (ucs                       . #x00F2)       ; ò
     ))
 (define-char
-  '((name              . "FULLWIDTH LATIN SMALL LETTER O WITH GRAVE")
-    (->ucs             . #x00F2)
+  '((name              . "fullwidth latin small letter o with grave")
+    (=>ucs             . #x00F2)       ; ò
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00F2)
     (mirrored          . nil)
     (->uppercase
-     ((name            . "FULLWIDTH LATIN SMALL LETTER O WITH GRAVE")))
-    (->titlecase
-     ((name            . "FULLWIDTH LATIN SMALL LETTER O WITH GRAVE")))
-    (chinese-gb2312    #x28 #x30)      ; \e$(D+R\e(B
-    (japanese-jisx0212 #x2B #x52)      ; \e$(D+R\e(B
+     ((name . "fullwidth latin small letter o with grave")))
+    (<-fullwidth
+     ((name              . "LATIN SMALL LETTER O WITH GRAVE")
+      (ucs               . #x00F2)     ; ò
+      ))
+    (chinese-gb2312            . #x2830)       ; 
+    (japanese-jisx0212         . #x2B52)       ; 
+    (japanese-jisx0213-1       . #x2968)       ; 
     ))
 (define-char
   '((name              . "LATIN SMALL LETTER O WITH ACUTE")
-    (ucs               . #x00F3)
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x006F #x0301)
     (mirrored          . nil)
-    (->uppercase       #x00D3)
-    (->titlecase       #x00D3)
-    (latin-iso8859-1   #x73)   ; \e.A\eNs
-    (latin-iso8859-2   #x73)   ; \e.A\eNs
-    (latin-iso8859-3   #x73)   ; \e.A\eNs
-    (latin-iso8859-9   #x73)   ; \e.A\eNs
-    (latin-viscii-lower        #x73)   ; \e.A\eNs
+    (->decomposition   #x006F #x0301)
+    (->fullwidth
+     ((name              . "fullwidth latin small letter o with acute")
+      (chinese-gb2312            . #x282E)     ; 
+      (japanese-jisx0212         . #x2B51)     ; 
+      (japanese-jisx0213-1       . #x2969)     ; 
+      ))
+    (->uppercase
+     ((name              . "LATIN CAPITAL LETTER O WITH ACUTE")
+      (ucs               . #x00D3)     ; Ó
+      ))
+    (latin-iso8859-1           . #xF3) ; 
+    (latin-iso8859-2           . #xF3) ; 
+    (latin-iso8859-3           . #xF3) ; 
+    (latin-iso8859-9           . #xF3) ; 
+    (latin-tcvn5712            . #xE3) ; 
+    (latin-viscii-lower                . #xF3) ; 
+    (latin-viscii              . #xF3) ; 
+    (ucs                       . #x00F3)       ; ó
     ))
 (define-char
-  '((name              . "FULLWIDTH LATIN SMALL LETTER O WITH ACUTE")
-    (->ucs             . #x00F3)
+  '((name              . "fullwidth latin small letter o with acute")
+    (=>ucs             . #x00F3)       ; ó
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00F3)
     (mirrored          . nil)
     (->uppercase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER O WITH ACUTE")))
-    (->titlecase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER O WITH ACUTE")))
-    (chinese-gb2312    #x28 #x2E)      ; \e$(D+Q\e(B
-    (japanese-jisx0212 #x2B #x51)      ; \e$(D+Q\e(B
+     ((name . "fullwidth latin capital letter o with acute")))
+    (<-fullwidth
+     ((name              . "LATIN SMALL LETTER O WITH ACUTE")
+      (ucs               . #x00F3)     ; ó
+      ))
+    (chinese-gb2312            . #x282E)       ; 
+    (japanese-jisx0212         . #x2B51)       ; 
+    (japanese-jisx0213-1       . #x2969)       ; 
     ))
 (define-char
   '((name              . "LATIN SMALL LETTER O WITH CIRCUMFLEX")
-    (ucs               . #x00F4)
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x006F #x0302)
     (mirrored          . nil)
-    (->uppercase       #x00D4)
-    (->titlecase       #x00D4)
-    (latin-iso8859-1   #x74)   ; \e.A\eNt
-    (latin-iso8859-2   #x74)   ; \e.A\eNt
-    (latin-iso8859-3   #x74)   ; \e.A\eNt
-    (latin-iso8859-4   #x74)   ; \e.A\eNt
-    (latin-iso8859-9   #x74)   ; \e.A\eNt
-    (latin-viscii-lower        #x74)   ; \e.A\eNt
+    (->decomposition   #x006F #x0302)
+    (->fullwidth
+     ((name              . "fullwidth latin small letter o with circumflex")
+      (japanese-jisx0212         . #x2B54)     ; 
+      (japanese-jisx0213-1       . #x296A)     ; 
+      ))
+    (->uppercase
+     ((name              . "LATIN CAPITAL LETTER O WITH CIRCUMFLEX")
+      (ucs               . #x00D4)     ; Ô
+      ))
+    (latin-iso8859-1           . #xF4) ; 
+    (latin-iso8859-2           . #xF4) ; 
+    (latin-iso8859-3           . #xF4) ; 
+    (latin-iso8859-4           . #xF4) ; 
+    (latin-iso8859-9           . #xF4) ; 
+    (latin-tcvn5712            . #xAB) ; 
+    (latin-viscii-lower                . #xF4) ; 
+    (latin-viscii              . #xF4) ; 
+    (ucs                       . #x00F4)       ; ô
     ))
 (define-char
-  '((name              . "FULLWIDTH LATIN SMALL LETTER O WITH CIRCUMFLEX")
-    (->ucs             . #x00F4)
+  '((name              . "fullwidth latin small letter o with circumflex")
+    (=>ucs             . #x00F4)       ; ô
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00F4)
     (mirrored          . nil)
     (->uppercase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER O WITH CIRCUMFLEX")))
-    (->titlecase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER O WITH CIRCUMFLEX")))
-    (japanese-jisx0212 #x2B #x54)      ; \e$(D+T\e(B
+     ((name . "fullwidth latin capital letter o with circumflex")))
+    (<-fullwidth
+     ((name              . "LATIN SMALL LETTER O WITH CIRCUMFLEX")
+      (ucs               . #x00F4)     ; ô
+      ))
+    (japanese-jisx0212         . #x2B54)       ; 
+    (japanese-jisx0213-1       . #x296A)       ; 
     ))
 (define-char
   '((name              . "LATIN SMALL LETTER O WITH TILDE")
-    (ucs               . #x00F5)
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x006F #x0303)
     (mirrored          . nil)
-    (->uppercase       #x00D5)
-    (->titlecase       #x00D5)
-    (latin-iso8859-1   #x75)   ; \e.A\eNu
-    (latin-iso8859-4   #x75)   ; \e.A\eNu
-    (latin-iso8859-9   #x75)   ; \e.A\eNu
-    (latin-viscii-lower        #x75)   ; \e.A\eNu
+    (->decomposition   #x006F #x0303)
+    (->fullwidth
+     ((name              . "fullwidth latin small letter o with tilde")
+      (japanese-jisx0212         . #x2B58)     ; 
+      (japanese-jisx0213-1       . #x296B)     ; 
+      ))
+    (->uppercase
+     ((name              . "LATIN CAPITAL LETTER O WITH TILDE")
+      (ucs               . #x00D5)     ; Õ
+      ))
+    (latin-iso8859-1           . #xF5) ; 
+    (latin-iso8859-4           . #xF5) ; 
+    (latin-iso8859-9           . #xF5) ; 
+    (latin-tcvn5712            . #xE2) ; 
+    (latin-viscii-lower                . #xF5) ; 
+    (latin-viscii              . #xF5) ; 
+    (ucs                       . #x00F5)       ; õ
     ))
 (define-char
-  '((name              . "FULLWIDTH LATIN SMALL LETTER O WITH TILDE")
-    (->ucs             . #x00F5)
+  '((name              . "fullwidth latin small letter o with tilde")
+    (=>ucs             . #x00F5)       ; õ
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00F5)
     (mirrored          . nil)
     (->uppercase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER O WITH TILDE")))
-    (->titlecase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER O WITH TILDE")))
-    (japanese-jisx0212 #x2B #x58)      ; \e$(D+X\e(B
+     ((name . "fullwidth latin capital letter o with tilde")))
+    (<-fullwidth
+     ((name              . "LATIN SMALL LETTER O WITH TILDE")
+      (ucs               . #x00F5)     ; õ
+      ))
+    (japanese-jisx0212         . #x2B58)       ; 
+    (japanese-jisx0213-1       . #x296B)       ; 
     ))
 (define-char
   '((name              . "LATIN SMALL LETTER O WITH DIAERESIS")
-    (ucs               . #x00F6)
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x006F #x0308)
     (mirrored          . nil)
-    (->uppercase       #x00D6)
-    (->titlecase       #x00D6)
-    (latin-iso8859-1   #x76)   ; \e.A\eNv
-    (latin-iso8859-2   #x76)   ; \e.A\eNv
-    (latin-iso8859-3   #x76)   ; \e.A\eNv
-    (latin-iso8859-4   #x76)   ; \e.A\eNv
-    (latin-iso8859-9   #x76)   ; \e.A\eNv
+    (->decomposition   #x006F #x0308)
+    (->fullwidth
+     ((name              . "fullwidth latin small letter o with diaeresis")
+      (japanese-jisx0212         . #x2B53)     ; 
+      (japanese-jisx0213-1       . #x296C)     ; 
+      ))
+    (->uppercase
+     ((name              . "LATIN CAPITAL LETTER O WITH DIAERESIS")
+      (ucs               . #x00D6)     ; Ö
+      ))
+    (latin-iso8859-1   . #xF6) ; 
+    (latin-iso8859-2   . #xF6) ; 
+    (latin-iso8859-3   . #xF6) ; 
+    (latin-iso8859-4   . #xF6) ; 
+    (latin-iso8859-9   . #xF6) ; 
+    (ucs               . #x00F6)       ; ö
     ))
 (define-char
-  '((name              . "FULLWIDTH LATIN SMALL LETTER O WITH DIAERESIS")
-    (->ucs             . #x00F6)
+  '((name              . "fullwidth latin small letter o with diaeresis")
+    (=>ucs             . #x00F6)       ; ö
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00F6)
     (mirrored          . nil)
     (->uppercase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER O WITH DIAERESIS")))
-    (->titlecase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER O WITH DIAERESIS")))
-    (japanese-jisx0212 #x2B #x53)      ; \e$(D+S\e(B
+     ((name . "fullwidth latin capital letter o with diaeresis")))
+    (<-fullwidth
+     ((name              . "LATIN SMALL LETTER O WITH DIAERESIS")
+      (ucs               . #x00F6)     ; ö
+      ))
+    (japanese-jisx0212         . #x2B53)       ; 
+    (japanese-jisx0213-1       . #x296C)       ; 
     ))
 (define-char
   '((name              . "DIVISION SIGN")
-    (ucs               . #x00F7)
     (general-category  symbol math) ; Informative Category
     (bidi-category     . "ON")
     (mirrored          . nil)
-    (latin-iso8859-1   #x77)   ; \e.A\eNw
-    (latin-iso8859-2   #x77)   ; \e.A\eNw
-    (latin-iso8859-3   #x77)   ; \e.A\eNw
-    (latin-iso8859-4   #x77)   ; \e.A\eNw
-    (latin-iso8859-9   #x77)   ; \e.A\eNw
-    (hebrew-iso8859-8  #x3A)   ; \e.A\eNw
-    ))
-(define-char
-  '((name              . "FULLWIDTH DIVISION SIGN")
-    (->ucs             . #x00F7)
+    (->fullwidth
+     ((name              . "fullwidth division sign")
+      (japanese-jisx0208-1978    . #x2160)     ; 
+      (chinese-gb2312            . #x2142)     ; 
+      (japanese-jisx0208         . #x2160)     ; 
+      (korean-ksc5601            . #x2140)     ; 
+      (chinese-cns11643-1        . #x2233)     ; 
+      ))
+    (latin-iso8859-1   . #xF7) ; 
+    (latin-iso8859-2   . #xF7) ; 
+    (latin-iso8859-3   . #xF7) ; 
+    (latin-iso8859-4   . #xF7) ; 
+    (hebrew-iso8859-8  . #xBA) ; 
+    (latin-iso8859-9   . #xF7) ; 
+    (ucs               . #x00F7)       ; ÷
+    ))
+(define-char
+  '((name              . "fullwidth division sign")
+    (=>ucs             . #x00F7)       ; ÷
     (general-category  symbol math) ; Informative Category
     (bidi-category     . "ON")
-    (->decomposition   wide #x00F7)
     (mirrored          . nil)
-    (japanese-jisx0208-1978    #x21 #x60)      ; \e$B!`\e(B
-    (chinese-gb2312            #x21 #x42)      ; \e$B!`\e(B
-    (japanese-jisx0208         #x21 #x60)      ; \e$B!`\e(B
-    (korean-ksc5601            #x21 #x40)      ; \e$B!`\e(B
-    (chinese-cns11643-1                #x22 #x33)      ; \e$B!`\e(B
+    (<-fullwidth
+     ((name              . "DIVISION SIGN")
+      (ucs               . #x00F7)     ; ÷
+      ))
+    (japanese-jisx0208-1978    . #x2160)       ; 
+    (chinese-gb2312            . #x2142)       ; 
+    (japanese-jisx0208         . #x2160)       ; 
+    (korean-ksc5601            . #x2140)       ; 
+    (chinese-cns11643-1                . #x2233)       ; 
+    (japanese-jisx0208-1990    . #x2160)       ; 
+    (chinese-big5              . #xA1D2)       ; 
     ))
 (define-char
   '((name              . "LATIN SMALL LETTER O WITH STROKE")
-    (ucs               . #x00F8)
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
     (mirrored          . nil)
-    (->uppercase       #x00D8)
-    (->titlecase       #x00D8)
-    (latin-iso8859-1   #x78)   ; \e.A\eNx
-    (latin-iso8859-4   #x78)   ; \e.A\eNx
-    (latin-iso8859-9   #x78)   ; \e.A\eNx
-    (ipa               #x2F)   ; \e.A\eNx
+    (->fullwidth
+     ((name              . "fullwidth latin small letter o with stroke")
+      (korean-ksc5601            . #x292A)     ; 
+      (japanese-jisx0212         . #x294C)     ; 
+      (japanese-jisx0213-1       . #x296D)     ; 
+      ))
+    (->uppercase
+     ((name              . "LATIN CAPITAL LETTER O WITH STROKE")
+      (ucs               . #x00D8)     ; Ø
+      ))
+    (latin-iso8859-1   . #xF8) ; 
+    (latin-iso8859-4   . #xF8) ; 
+    (latin-iso8859-9   . #xF8) ; 
+    (ipa               . #xAF) ; 
+    (ucs               . #x00F8)       ; ø
     ))
 (define-char
-  '((name              . "FULLWIDTH LATIN SMALL LETTER O WITH STROKE")
-    (->ucs             . #x00F8)
+  '((name              . "fullwidth latin small letter o with stroke")
+    (=>ucs             . #x00F8)       ; ø
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00F8)
     (mirrored          . nil)
     (->uppercase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER O WITH STROKE")))
-    (->titlecase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER O WITH STROKE")))
-    (korean-ksc5601    #x29 #x2A)      ; \e$(D)L\e(B
-    (japanese-jisx0212 #x29 #x4C)      ; \e$(D)L\e(B
+     ((name . "fullwidth latin capital letter o with stroke")))
+    (<-fullwidth
+     ((name              . "LATIN SMALL LETTER O WITH STROKE")
+      (ucs               . #x00F8)     ; ø
+      ))
+    (korean-ksc5601            . #x292A)       ; 
+    (japanese-jisx0212         . #x294C)       ; 
+    (japanese-jisx0213-1       . #x296D)       ; 
     ))
 (define-char
   '((name              . "LATIN SMALL LETTER U WITH GRAVE")
-    (ucs               . #x00F9)
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x0075 #x0300)
     (mirrored          . nil)
-    (->uppercase       #x00D9)
-    (->titlecase       #x00D9)
-    (latin-iso8859-1   #x79)   ; \e.A\eNy
-    (latin-iso8859-3   #x79)   ; \e.A\eNy
-    (latin-iso8859-9   #x79)   ; \e.A\eNy
-    (latin-viscii-lower        #x79)   ; \e.A\eNy
+    (->decomposition   #x0075 #x0300)
+    (->fullwidth
+     ((name              . "fullwidth latin small letter u with grave")
+      (chinese-gb2312            . #x2834)     ; 
+      (japanese-jisx0212         . #x2B63)     ; 
+      (japanese-jisx0213-1       . #x296E)     ; 
+      ))
+    (->uppercase
+     ((name              . "LATIN CAPITAL LETTER U WITH GRAVE")
+      (ucs               . #x00D9)     ; Ù
+      ))
+    (latin-iso8859-1           . #xF9) ; 
+    (latin-iso8859-3           . #xF9) ; 
+    (latin-iso8859-9           . #xF9) ; 
+    (latin-tcvn5712            . #xEF) ; 
+    (latin-viscii-lower                . #xF9) ; 
+    (latin-viscii              . #xF9) ; 
+    (ucs                       . #x00F9)       ; ù
     ))
 (define-char
-  '((name              . "FULLWIDTH LATIN SMALL LETTER U WITH GRAVE")
-    (->ucs             . #x00F9)
+  '((name              . "fullwidth latin small letter u with grave")
+    (=>ucs             . #x00F9)       ; ù
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00F9)
     (mirrored          . nil)
     (->uppercase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER U WITH GRAVE")))
-    (->titlecase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER U WITH GRAVE")))
-    (chinese-gb2312    #x28 #x34)      ; \e$(D+c\e(B
-    (japanese-jisx0212 #x2B #x63)      ; \e$(D+c\e(B
+     ((name . "fullwidth latin capital letter u with grave")))
+    (<-fullwidth
+     ((name              . "LATIN SMALL LETTER U WITH GRAVE")
+      (ucs               . #x00F9)     ; ù
+      ))
+    (chinese-gb2312            . #x2834)       ; 
+    (japanese-jisx0212         . #x2B63)       ; 
+    (japanese-jisx0213-1       . #x296E)       ; 
     ))
 (define-char
   '((name              . "LATIN SMALL LETTER U WITH ACUTE")
-    (ucs               . #x00FA)
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x0075 #x0301)
     (mirrored          . nil)
-    (->uppercase       #x00DA)
-    (->titlecase       #x00DA)
-    (latin-iso8859-1   #x7A)   ; \e.A\eNz
-    (latin-iso8859-2   #x7A)   ; \e.A\eNz
-    (latin-iso8859-3   #x7A)   ; \e.A\eNz
-    (latin-iso8859-4   #x7A)   ; \e.A\eNz
-    (latin-iso8859-9   #x7A)   ; \e.A\eNz
-    (latin-viscii-lower        #x7A)   ; \e.A\eNz
+    (->decomposition   #x0075 #x0301)
+    (->fullwidth
+     ((name              . "fullwidth latin small letter u with acute")
+      (chinese-gb2312            . #x2832)     ; 
+      (japanese-jisx0212         . #x2B62)     ; 
+      (japanese-jisx0213-1       . #x296F)     ; 
+      ))
+    (->uppercase
+     ((name              . "LATIN CAPITAL LETTER U WITH ACUTE")
+      (ucs               . #x00DA)     ; Ú
+      ))
+    (latin-iso8859-1           . #xFA) ; 
+    (latin-iso8859-2           . #xFA) ; 
+    (latin-iso8859-3           . #xFA) ; 
+    (latin-iso8859-4           . #xFA) ; 
+    (latin-iso8859-9           . #xFA) ; 
+    (latin-tcvn5712            . #xF3) ; 
+    (latin-viscii-lower                . #xFA) ; 
+    (latin-viscii              . #xFA) ; 
+    (ucs                       . #x00FA)       ; ú
     ))
 (define-char
-  '((name              . "FULLWIDTH LATIN SMALL LETTER U WITH ACUTE")
-    (->ucs             . #x00FA)
+  '((name              . "fullwidth latin small letter u with acute")
+    (=>ucs             . #x00FA)       ; ú
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00FA)
     (mirrored          . nil)
     (->uppercase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER U WITH ACUTE")))
-    (->titlecase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER U WITH ACUTE")))
-    (chinese-gb2312    #x28 #x32)      ; \e$(D+b\e(B
-    (japanese-jisx0212 #x2B #x62)      ; \e$(D+b\e(B
+     ((name . "fullwidth latin capital letter u with acute")))
+    (<-fullwidth
+     ((name              . "LATIN SMALL LETTER U WITH ACUTE")
+      (ucs               . #x00FA)     ; ú
+      ))
+    (chinese-gb2312            . #x2832)       ; 
+    (japanese-jisx0212         . #x2B62)       ; 
+    (japanese-jisx0213-1       . #x296F)       ; 
     ))
 (define-char
   '((name              . "LATIN SMALL LETTER U WITH CIRCUMFLEX")
-    (ucs               . #x00FB)
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x0075 #x0302)
     (mirrored          . nil)
-    (->uppercase       #x00DB)
-    (->titlecase       #x00DB)
-    (latin-iso8859-1   #x7B)   ; \e.A\eN{
-    (latin-iso8859-3   #x7B)   ; \e.A\eN{
-    (latin-iso8859-4   #x7B)   ; \e.A\eN{
-    (latin-iso8859-9   #x7B)   ; \e.A\eN{
+    (->decomposition   #x0075 #x0302)
+    (->fullwidth
+     ((name              . "fullwidth latin small letter u with circumflex")
+      (japanese-jisx0212         . #x2B65)     ; 
+      (japanese-jisx0213-1       . #x2970)     ; 
+      ))
+    (->uppercase
+     ((name              . "LATIN CAPITAL LETTER U WITH CIRCUMFLEX")
+      (ucs               . #x00DB)     ; Û
+      ))
+    (latin-iso8859-1   . #xFB) ; 
+    (latin-iso8859-3   . #xFB) ; 
+    (latin-iso8859-4   . #xFB) ; 
+    (latin-iso8859-9   . #xFB) ; 
+    (ucs               . #x00FB)       ; û
     ))
 (define-char
-  '((name              . "FULLWIDTH LATIN SMALL LETTER U WITH CIRCUMFLEX")
-    (->ucs             . #x00FB)
+  '((name              . "fullwidth latin small letter u with circumflex")
+    (=>ucs             . #x00FB)       ; û
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00FB)
     (mirrored          . nil)
     (->uppercase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER U WITH CIRCUMFLEX")))
-    (->titlecase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER U WITH CIRCUMFLEX")))
-    (japanese-jisx0212 #x2B #x65)      ; \e$(D+e\e(B
+     ((name . "fullwidth latin capital letter u with circumflex")))
+    (<-fullwidth
+     ((name              . "LATIN SMALL LETTER U WITH CIRCUMFLEX")
+      (ucs               . #x00FB)     ; û
+      ))
+    (japanese-jisx0212         . #x2B65)       ; 
+    (japanese-jisx0213-1       . #x2970)       ; 
     ))
 (define-char
   '((name              . "LATIN SMALL LETTER U WITH DIAERESIS")
-    (ucs               . #x00FC)
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x0075 #x0308)
     (mirrored          . nil)
-    (->uppercase       #x00DC)
-    (->titlecase       #x00DC)
-    (latin-iso8859-1   #x7C)   ; \e.A\eN|
-    (latin-iso8859-2   #x7C)   ; \e.A\eN|
-    (latin-iso8859-3   #x7C)   ; \e.A\eN|
-    (latin-iso8859-4   #x7C)   ; \e.A\eN|
-    (latin-iso8859-9   #x7C)   ; \e.A\eN|
+    (->decomposition   #x0075 #x0308)
+    (->fullwidth
+     ((name              . "fullwidth latin small letter u with diaeresis")
+      (chinese-gb2312            . #x2839)     ; 
+      (japanese-jisx0212         . #x2B64)     ; 
+      (japanese-jisx0213-1       . #x2971)     ; 
+      ))
+    (->uppercase
+     ((name              . "LATIN CAPITAL LETTER U WITH DIAERESIS")
+      (ucs               . #x00DC)     ; Ü
+      ))
+    (latin-iso8859-1   . #xFC) ; 
+    (latin-iso8859-2   . #xFC) ; 
+    (latin-iso8859-3   . #xFC) ; 
+    (latin-iso8859-4   . #xFC) ; 
+    (latin-iso8859-9   . #xFC) ; 
+    (ucs               . #x00FC)       ; ü
     ))
 (define-char
-  '((name              . "FULLWIDTH LATIN SMALL LETTER U WITH DIAERESIS")
-    (->ucs             . #x00FC)
+  '((name              . "fullwidth latin small letter u with diaeresis")
+    (=>ucs             . #x00FC)       ; ü
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00FC)
     (mirrored          . nil)
     (->uppercase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER U WITH DIAERESIS")))
-    (->titlecase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER U WITH DIAERESIS")))
-    (chinese-gb2312    #x28 #x39)      ; \e$(D+d\e(B
-    (japanese-jisx0212 #x2B #x64)      ; \e$(D+d\e(B
+     ((name . "fullwidth latin capital letter u with diaeresis")))
+    (<-fullwidth
+     ((name              . "LATIN SMALL LETTER U WITH DIAERESIS")
+      (ucs               . #x00FC)     ; ü
+      ))
+    (chinese-gb2312            . #x2839)       ; 
+    (japanese-jisx0212         . #x2B64)       ; 
+    (japanese-jisx0213-1       . #x2971)       ; 
     ))
 (define-char
   '((name              . "LATIN SMALL LETTER Y WITH ACUTE")
-    (ucs               . #x00FD)
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x0079 #x0301)
     (mirrored          . nil)
-    (->uppercase       #x00DD)
-    (->titlecase       #x00DD)
-    (latin-iso8859-1   #x7D)   ; \e.A\eN}
-    (latin-iso8859-2   #x7D)   ; \e.A\eN}
-    (latin-viscii-lower        #x7D)   ; \e.A\eN}
+    (->decomposition   #x0079 #x0301)
+    (->fullwidth
+     ((name              . "fullwidth latin small letter y with acute")
+      (japanese-jisx0212         . #x2B72)     ; 
+      (japanese-jisx0213-1       . #x2972)     ; 
+      ))
+    (->uppercase
+     ((name              . "LATIN CAPITAL LETTER Y WITH ACUTE")
+      (ucs               . #x00DD)     ; Ý
+      ))
+    (latin-iso8859-1           . #xFD) ; 
+    (latin-iso8859-2           . #xFD) ; 
+    (latin-tcvn5712            . #xFD) ; 
+    (latin-viscii-lower                . #xFD) ; 
+    (latin-viscii              . #xFD) ; 
+    (ucs                       . #x00FD)       ; ý
     ))
 (define-char
-  '((name              . "FULLWIDTH LATIN SMALL LETTER Y WITH ACUTE")
-    (->ucs             . #x00FD)
+  '((name              . "fullwidth latin small letter y with acute")
+    (=>ucs             . #x00FD)       ; ý
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00FD)
     (mirrored          . nil)
     (->uppercase
-     ((name            . "FULLWIDTH LATIN SMALL LETTER Y WITH ACUTE")))
-    (->titlecase
-     ((name            . "FULLWIDTH LATIN SMALL LETTER Y WITH ACUTE")))
-    (japanese-jisx0212 #x2B #x72)      ; \e$(D+r\e(B
+     ((name . "fullwidth latin small letter y with acute")))
+    (<-fullwidth
+     ((name              . "LATIN SMALL LETTER Y WITH ACUTE")
+      (ucs               . #x00FD)     ; ý
+      ))
+    (japanese-jisx0212         . #x2B72)       ; 
+    (japanese-jisx0213-1       . #x2972)       ; 
     ))
 (define-char
   '((name              . "LATIN SMALL LETTER THORN")
-    (ucs               . #x00FE)
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
     (mirrored          . nil)
     (iso-10646-comment . "Icelandic")
-    (->uppercase       #x00DE)
-    (->titlecase       #x00DE)
-    (latin-iso8859-1   #x7E)   ; \e.A\eN~
+    (->fullwidth
+     ((name              . "fullwidth latin small letter thorn")
+      (korean-ksc5601            . #x292D)     ; 
+      (japanese-jisx0212         . #x2950)     ; 
+      (japanese-jisx0213-1       . #x2973)     ; 
+      ))
+    (->uppercase
+     ((name              . "LATIN CAPITAL LETTER THORN")
+      (ucs               . #x00DE)     ; Þ
+      ))
+    (latin-iso8859-1   . #xFE) ; 
+    (ucs               . #x00FE)       ; þ
     ))
 (define-char
-  '((name              . "FULLWIDTH LATIN SMALL LETTER THORN")
-    (->ucs             . #x00FE)
+  '((name              . "fullwidth latin small letter thorn")
+    (=>ucs             . #x00FE)       ; þ
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00FE)
     (mirrored          . nil)
     (iso-10646-comment . "Icelandic")
     (->uppercase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER THORN")))
-    (->titlecase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER THORN")))
-    (korean-ksc5601    #x29 #x2D)      ; \e$(D)P\e(B
-    (japanese-jisx0212 #x29 #x50)      ; \e$(D)P\e(B
+     ((name . "fullwidth latin capital letter thorn")))
+    (<-fullwidth
+     ((name              . "LATIN SMALL LETTER THORN")
+      (ucs               . #x00FE)     ; þ
+      ))
+    (korean-ksc5601            . #x292D)       ; 
+    (japanese-jisx0212         . #x2950)       ; 
+    (japanese-jisx0213-1       . #x2973)       ; 
     ))
 (define-char
   '((name              . "LATIN SMALL LETTER Y WITH DIAERESIS")
-    (ucs               . #x00FF)
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   #x0079 #x0308)
     (mirrored          . nil)
-    (->uppercase       #x0178)
-    (->titlecase       #x0178)
-    (latin-iso8859-1   #x7F)   ; \e.A\eN\7f
-    (latin-iso8859-9   #x7F)   ; \e.A\eN\7f
+    (->decomposition   #x0079 #x0308)
+    (->fullwidth
+     ((name              . "fullwidth latin small letter y with diaeresis")
+      (japanese-jisx0212         . #x2B73)     ; 
+      (japanese-jisx0213-1       . #x2974)     ; 
+      ))
+    (->uppercase
+     ((name              . "LATIN CAPITAL LETTER Y WITH DIAERESIS")
+      (ucs               . #x0178)     ; Ÿ
+      ))
+    (latin-iso8859-1   . #xFF) ; 
+    (latin-iso8859-9   . #xFF) ; 
+    (ucs               . #x00FF)       ; ÿ
     ))
 (define-char
-  '((name              . "FULLWIDTH LATIN SMALL LETTER Y WITH DIAERESIS")
-    (->ucs             . #x00FF)
+  '((name              . "fullwidth latin small letter y with diaeresis")
+    (=>ucs             . #x00FF)       ; ÿ
     (general-category  letter lowercase) ; Normative Category
     (bidi-category     . "L")
-    (->decomposition   wide #x00FF)
     (mirrored          . nil)
     (->uppercase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER Y WITH DIAERESIS")))
-    (->titlecase
-     ((name            . "FULLWIDTH LATIN CAPITAL LETTER Y WITH DIAERESIS")))
-    (japanese-jisx0212 #x2B #x73)      ; \e$(D+s\e(B
+     ((name . "fullwidth latin capital letter y with diaeresis")))
+    (<-fullwidth
+     ((name              . "LATIN SMALL LETTER Y WITH DIAERESIS")
+      (ucs               . #x00FF)     ; ÿ
+      ))
+    (japanese-jisx0212         . #x2B73)       ; 
+    (japanese-jisx0213-1       . #x2974)       ; 
     ))