Home | History | Annotate | Download | only in fontTools
      1 # The table below is taken from
      2 # http://www.adobe.com/devnet/opentype/archives/aglfn.txt
      3 
      4 from __future__ import print_function, division, absolute_import
      5 from fontTools.misc.py23 import *
      6 
      7 _aglText = """\
      8 # -----------------------------------------------------------
      9 # Copyright 2003, 2005-2008, 2010 Adobe Systems Incorporated.
     10 # All rights reserved.
     11 #
     12 # Redistribution and use in source and binary forms, with or
     13 # without modification, are permitted provided that the
     14 # following conditions are met:
     15 #
     16 # Redistributions of source code must retain the above
     17 # copyright notice, this list of conditions and the following
     18 # disclaimer.
     19 #
     20 # Redistributions in binary form must reproduce the above
     21 # copyright notice, this list of conditions and the following
     22 # disclaimer in the documentation and/or other materials
     23 # provided with the distribution.
     24 #
     25 # Neither the name of Adobe Systems Incorporated nor the names
     26 # of its contributors may be used to endorse or promote
     27 # products derived from this software without specific prior
     28 # written permission.
     29 #
     30 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
     31 # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
     32 # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
     33 # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
     34 # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
     35 # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
     36 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
     37 # NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
     38 # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     39 # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     40 # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
     41 # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
     42 # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     43 # -----------------------------------------------------------
     44 # Name:          Adobe Glyph List For New Fonts
     45 # Table version: 1.7
     46 # Date:          November 6, 2008
     47 # URL:           http://sourceforge.net/adobe/aglfn/
     48 #
     49 # Description:
     50 #
     51 # AGLFN (Adobe Glyph List For New Fonts) provides a list of base glyph
     52 # names that are recommended for new fonts, which are compatible with
     53 # the AGL (Adobe Glyph List) Specification, and which should be used
     54 # as described in Section 6 of that document. AGLFN comprises the set
     55 # of glyph names from AGL that map via the AGL Specification rules to
     56 # the semantically correct UV (Unicode Value). For example, "Asmall"
     57 # is omitted because AGL maps this glyph name to the PUA (Private Use
     58 # Area) value U+F761, rather than to the UV that maps from the glyph
     59 # name "A." Also omitted is "ffi," because AGL maps this to the
     60 # Alphabetic Presentation Forms value U+FB03, rather than decomposing
     61 # it into the following sequence of three UVs: U+0066, U+0066, and
     62 # U+0069. The name "arrowvertex" has been omitted because this glyph
     63 # now has a real UV, and AGL is now incorrect in mapping it to the PUA
     64 # value U+F8E6. If you do not find an appropriate name for your glyph
     65 # in this list, then please refer to Section 6 of the AGL
     66 # Specification.
     67 #
     68 # Format: three semicolon-delimited fields:
     69 #   (1) Standard UV or CUS UV--four uppercase hexadecimal digits
     70 #   (2) Glyph name--upper/lowercase letters and digits
     71 #   (3) Character names: Unicode character names for standard UVs, and
     72 #       descriptive names for CUS UVs--uppercase letters, hyphen, and
     73 #       space
     74 #
     75 # The records are sorted by glyph name in increasing ASCII order,
     76 # entries with the same glyph name are sorted in decreasing priority
     77 # order, the UVs and Unicode character names are provided for
     78 # convenience, lines starting with "#" are comments, and blank lines
     79 # should be ignored.
     80 #
     81 # Revision History:
     82 #
     83 # 1.7 [6 November 2008]
     84 # - Reverted to the original 1.4 and earlier mappings for Delta,
     85 #   Omega, and mu.
     86 # - Removed mappings for "afii" names. These should now be assigned
     87 #   "uni" names.
     88 # - Removed mappings for "commaaccent" names. These should now be
     89 #   assigned "uni" names.
     90 #
     91 # 1.6 [30 January 2006]
     92 # - Completed work intended in 1.5.
     93 #
     94 # 1.5 [23 November 2005]
     95 # - Removed duplicated block at end of file.
     96 # - Changed mappings:
     97 #   2206;Delta;INCREMENT changed to 0394;Delta;GREEK CAPITAL LETTER DELTA
     98 #   2126;Omega;OHM SIGN changed to 03A9;Omega;GREEK CAPITAL LETTER OMEGA
     99 #   03BC;mu;MICRO SIGN changed to 03BC;mu;GREEK SMALL LETTER MU
    100 # - Corrected statement above about why "ffi" is omitted.
    101 #
    102 # 1.4 [24 September 2003]
    103 # - Changed version to 1.4, to avoid confusion with the AGL 1.3.
    104 # - Fixed spelling errors in the header.
    105 # - Fully removed "arrowvertex," as it is mapped only to a PUA Unicode
    106 #   value in some fonts.
    107 #
    108 # 1.1 [17 April 2003]
    109 # - Renamed [Tt]cedilla back to [Tt]commaaccent.
    110 #
    111 # 1.0 [31 January 2003]
    112 # - Original version.
    113 # - Derived from the AGLv1.2 by:
    114 #   removing the PUA area codes;
    115 #   removing duplicate Unicode mappings; and
    116 #   renaming "tcommaaccent" to "tcedilla" and "Tcommaaccent" to "Tcedilla"
    117 #
    118 0041;A;LATIN CAPITAL LETTER A
    119 00C6;AE;LATIN CAPITAL LETTER AE
    120 01FC;AEacute;LATIN CAPITAL LETTER AE WITH ACUTE
    121 00C1;Aacute;LATIN CAPITAL LETTER A WITH ACUTE
    122 0102;Abreve;LATIN CAPITAL LETTER A WITH BREVE
    123 00C2;Acircumflex;LATIN CAPITAL LETTER A WITH CIRCUMFLEX
    124 00C4;Adieresis;LATIN CAPITAL LETTER A WITH DIAERESIS
    125 00C0;Agrave;LATIN CAPITAL LETTER A WITH GRAVE
    126 0391;Alpha;GREEK CAPITAL LETTER ALPHA
    127 0386;Alphatonos;GREEK CAPITAL LETTER ALPHA WITH TONOS
    128 0100;Amacron;LATIN CAPITAL LETTER A WITH MACRON
    129 0104;Aogonek;LATIN CAPITAL LETTER A WITH OGONEK
    130 00C5;Aring;LATIN CAPITAL LETTER A WITH RING ABOVE
    131 01FA;Aringacute;LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
    132 00C3;Atilde;LATIN CAPITAL LETTER A WITH TILDE
    133 0042;B;LATIN CAPITAL LETTER B
    134 0392;Beta;GREEK CAPITAL LETTER BETA
    135 0043;C;LATIN CAPITAL LETTER C
    136 0106;Cacute;LATIN CAPITAL LETTER C WITH ACUTE
    137 010C;Ccaron;LATIN CAPITAL LETTER C WITH CARON
    138 00C7;Ccedilla;LATIN CAPITAL LETTER C WITH CEDILLA
    139 0108;Ccircumflex;LATIN CAPITAL LETTER C WITH CIRCUMFLEX
    140 010A;Cdotaccent;LATIN CAPITAL LETTER C WITH DOT ABOVE
    141 03A7;Chi;GREEK CAPITAL LETTER CHI
    142 0044;D;LATIN CAPITAL LETTER D
    143 010E;Dcaron;LATIN CAPITAL LETTER D WITH CARON
    144 0110;Dcroat;LATIN CAPITAL LETTER D WITH STROKE
    145 2206;Delta;INCREMENT
    146 0045;E;LATIN CAPITAL LETTER E
    147 00C9;Eacute;LATIN CAPITAL LETTER E WITH ACUTE
    148 0114;Ebreve;LATIN CAPITAL LETTER E WITH BREVE
    149 011A;Ecaron;LATIN CAPITAL LETTER E WITH CARON
    150 00CA;Ecircumflex;LATIN CAPITAL LETTER E WITH CIRCUMFLEX
    151 00CB;Edieresis;LATIN CAPITAL LETTER E WITH DIAERESIS
    152 0116;Edotaccent;LATIN CAPITAL LETTER E WITH DOT ABOVE
    153 00C8;Egrave;LATIN CAPITAL LETTER E WITH GRAVE
    154 0112;Emacron;LATIN CAPITAL LETTER E WITH MACRON
    155 014A;Eng;LATIN CAPITAL LETTER ENG
    156 0118;Eogonek;LATIN CAPITAL LETTER E WITH OGONEK
    157 0395;Epsilon;GREEK CAPITAL LETTER EPSILON
    158 0388;Epsilontonos;GREEK CAPITAL LETTER EPSILON WITH TONOS
    159 0397;Eta;GREEK CAPITAL LETTER ETA
    160 0389;Etatonos;GREEK CAPITAL LETTER ETA WITH TONOS
    161 00D0;Eth;LATIN CAPITAL LETTER ETH
    162 20AC;Euro;EURO SIGN
    163 0046;F;LATIN CAPITAL LETTER F
    164 0047;G;LATIN CAPITAL LETTER G
    165 0393;Gamma;GREEK CAPITAL LETTER GAMMA
    166 011E;Gbreve;LATIN CAPITAL LETTER G WITH BREVE
    167 01E6;Gcaron;LATIN CAPITAL LETTER G WITH CARON
    168 011C;Gcircumflex;LATIN CAPITAL LETTER G WITH CIRCUMFLEX
    169 0120;Gdotaccent;LATIN CAPITAL LETTER G WITH DOT ABOVE
    170 0048;H;LATIN CAPITAL LETTER H
    171 25CF;H18533;BLACK CIRCLE
    172 25AA;H18543;BLACK SMALL SQUARE
    173 25AB;H18551;WHITE SMALL SQUARE
    174 25A1;H22073;WHITE SQUARE
    175 0126;Hbar;LATIN CAPITAL LETTER H WITH STROKE
    176 0124;Hcircumflex;LATIN CAPITAL LETTER H WITH CIRCUMFLEX
    177 0049;I;LATIN CAPITAL LETTER I
    178 0132;IJ;LATIN CAPITAL LIGATURE IJ
    179 00CD;Iacute;LATIN CAPITAL LETTER I WITH ACUTE
    180 012C;Ibreve;LATIN CAPITAL LETTER I WITH BREVE
    181 00CE;Icircumflex;LATIN CAPITAL LETTER I WITH CIRCUMFLEX
    182 00CF;Idieresis;LATIN CAPITAL LETTER I WITH DIAERESIS
    183 0130;Idotaccent;LATIN CAPITAL LETTER I WITH DOT ABOVE
    184 2111;Ifraktur;BLACK-LETTER CAPITAL I
    185 00CC;Igrave;LATIN CAPITAL LETTER I WITH GRAVE
    186 012A;Imacron;LATIN CAPITAL LETTER I WITH MACRON
    187 012E;Iogonek;LATIN CAPITAL LETTER I WITH OGONEK
    188 0399;Iota;GREEK CAPITAL LETTER IOTA
    189 03AA;Iotadieresis;GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
    190 038A;Iotatonos;GREEK CAPITAL LETTER IOTA WITH TONOS
    191 0128;Itilde;LATIN CAPITAL LETTER I WITH TILDE
    192 004A;J;LATIN CAPITAL LETTER J
    193 0134;Jcircumflex;LATIN CAPITAL LETTER J WITH CIRCUMFLEX
    194 004B;K;LATIN CAPITAL LETTER K
    195 039A;Kappa;GREEK CAPITAL LETTER KAPPA
    196 004C;L;LATIN CAPITAL LETTER L
    197 0139;Lacute;LATIN CAPITAL LETTER L WITH ACUTE
    198 039B;Lambda;GREEK CAPITAL LETTER LAMDA
    199 013D;Lcaron;LATIN CAPITAL LETTER L WITH CARON
    200 013F;Ldot;LATIN CAPITAL LETTER L WITH MIDDLE DOT
    201 0141;Lslash;LATIN CAPITAL LETTER L WITH STROKE
    202 004D;M;LATIN CAPITAL LETTER M
    203 039C;Mu;GREEK CAPITAL LETTER MU
    204 004E;N;LATIN CAPITAL LETTER N
    205 0143;Nacute;LATIN CAPITAL LETTER N WITH ACUTE
    206 0147;Ncaron;LATIN CAPITAL LETTER N WITH CARON
    207 00D1;Ntilde;LATIN CAPITAL LETTER N WITH TILDE
    208 039D;Nu;GREEK CAPITAL LETTER NU
    209 004F;O;LATIN CAPITAL LETTER O
    210 0152;OE;LATIN CAPITAL LIGATURE OE
    211 00D3;Oacute;LATIN CAPITAL LETTER O WITH ACUTE
    212 014E;Obreve;LATIN CAPITAL LETTER O WITH BREVE
    213 00D4;Ocircumflex;LATIN CAPITAL LETTER O WITH CIRCUMFLEX
    214 00D6;Odieresis;LATIN CAPITAL LETTER O WITH DIAERESIS
    215 00D2;Ograve;LATIN CAPITAL LETTER O WITH GRAVE
    216 01A0;Ohorn;LATIN CAPITAL LETTER O WITH HORN
    217 0150;Ohungarumlaut;LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
    218 014C;Omacron;LATIN CAPITAL LETTER O WITH MACRON
    219 2126;Omega;OHM SIGN
    220 038F;Omegatonos;GREEK CAPITAL LETTER OMEGA WITH TONOS
    221 039F;Omicron;GREEK CAPITAL LETTER OMICRON
    222 038C;Omicrontonos;GREEK CAPITAL LETTER OMICRON WITH TONOS
    223 00D8;Oslash;LATIN CAPITAL LETTER O WITH STROKE
    224 01FE;Oslashacute;LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
    225 00D5;Otilde;LATIN CAPITAL LETTER O WITH TILDE
    226 0050;P;LATIN CAPITAL LETTER P
    227 03A6;Phi;GREEK CAPITAL LETTER PHI
    228 03A0;Pi;GREEK CAPITAL LETTER PI
    229 03A8;Psi;GREEK CAPITAL LETTER PSI
    230 0051;Q;LATIN CAPITAL LETTER Q
    231 0052;R;LATIN CAPITAL LETTER R
    232 0154;Racute;LATIN CAPITAL LETTER R WITH ACUTE
    233 0158;Rcaron;LATIN CAPITAL LETTER R WITH CARON
    234 211C;Rfraktur;BLACK-LETTER CAPITAL R
    235 03A1;Rho;GREEK CAPITAL LETTER RHO
    236 0053;S;LATIN CAPITAL LETTER S
    237 250C;SF010000;BOX DRAWINGS LIGHT DOWN AND RIGHT
    238 2514;SF020000;BOX DRAWINGS LIGHT UP AND RIGHT
    239 2510;SF030000;BOX DRAWINGS LIGHT DOWN AND LEFT
    240 2518;SF040000;BOX DRAWINGS LIGHT UP AND LEFT
    241 253C;SF050000;BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
    242 252C;SF060000;BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
    243 2534;SF070000;BOX DRAWINGS LIGHT UP AND HORIZONTAL
    244 251C;SF080000;BOX DRAWINGS LIGHT VERTICAL AND RIGHT
    245 2524;SF090000;BOX DRAWINGS LIGHT VERTICAL AND LEFT
    246 2500;SF100000;BOX DRAWINGS LIGHT HORIZONTAL
    247 2502;SF110000;BOX DRAWINGS LIGHT VERTICAL
    248 2561;SF190000;BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
    249 2562;SF200000;BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
    250 2556;SF210000;BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
    251 2555;SF220000;BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
    252 2563;SF230000;BOX DRAWINGS DOUBLE VERTICAL AND LEFT
    253 2551;SF240000;BOX DRAWINGS DOUBLE VERTICAL
    254 2557;SF250000;BOX DRAWINGS DOUBLE DOWN AND LEFT
    255 255D;SF260000;BOX DRAWINGS DOUBLE UP AND LEFT
    256 255C;SF270000;BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
    257 255B;SF280000;BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
    258 255E;SF360000;BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
    259 255F;SF370000;BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
    260 255A;SF380000;BOX DRAWINGS DOUBLE UP AND RIGHT
    261 2554;SF390000;BOX DRAWINGS DOUBLE DOWN AND RIGHT
    262 2569;SF400000;BOX DRAWINGS DOUBLE UP AND HORIZONTAL
    263 2566;SF410000;BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
    264 2560;SF420000;BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
    265 2550;SF430000;BOX DRAWINGS DOUBLE HORIZONTAL
    266 256C;SF440000;BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
    267 2567;SF450000;BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
    268 2568;SF460000;BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
    269 2564;SF470000;BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
    270 2565;SF480000;BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
    271 2559;SF490000;BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
    272 2558;SF500000;BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
    273 2552;SF510000;BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
    274 2553;SF520000;BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
    275 256B;SF530000;BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
    276 256A;SF540000;BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
    277 015A;Sacute;LATIN CAPITAL LETTER S WITH ACUTE
    278 0160;Scaron;LATIN CAPITAL LETTER S WITH CARON
    279 015E;Scedilla;LATIN CAPITAL LETTER S WITH CEDILLA
    280 015C;Scircumflex;LATIN CAPITAL LETTER S WITH CIRCUMFLEX
    281 03A3;Sigma;GREEK CAPITAL LETTER SIGMA
    282 0054;T;LATIN CAPITAL LETTER T
    283 03A4;Tau;GREEK CAPITAL LETTER TAU
    284 0166;Tbar;LATIN CAPITAL LETTER T WITH STROKE
    285 0164;Tcaron;LATIN CAPITAL LETTER T WITH CARON
    286 0398;Theta;GREEK CAPITAL LETTER THETA
    287 00DE;Thorn;LATIN CAPITAL LETTER THORN
    288 0055;U;LATIN CAPITAL LETTER U
    289 00DA;Uacute;LATIN CAPITAL LETTER U WITH ACUTE
    290 016C;Ubreve;LATIN CAPITAL LETTER U WITH BREVE
    291 00DB;Ucircumflex;LATIN CAPITAL LETTER U WITH CIRCUMFLEX
    292 00DC;Udieresis;LATIN CAPITAL LETTER U WITH DIAERESIS
    293 00D9;Ugrave;LATIN CAPITAL LETTER U WITH GRAVE
    294 01AF;Uhorn;LATIN CAPITAL LETTER U WITH HORN
    295 0170;Uhungarumlaut;LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
    296 016A;Umacron;LATIN CAPITAL LETTER U WITH MACRON
    297 0172;Uogonek;LATIN CAPITAL LETTER U WITH OGONEK
    298 03A5;Upsilon;GREEK CAPITAL LETTER UPSILON
    299 03D2;Upsilon1;GREEK UPSILON WITH HOOK SYMBOL
    300 03AB;Upsilondieresis;GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
    301 038E;Upsilontonos;GREEK CAPITAL LETTER UPSILON WITH TONOS
    302 016E;Uring;LATIN CAPITAL LETTER U WITH RING ABOVE
    303 0168;Utilde;LATIN CAPITAL LETTER U WITH TILDE
    304 0056;V;LATIN CAPITAL LETTER V
    305 0057;W;LATIN CAPITAL LETTER W
    306 1E82;Wacute;LATIN CAPITAL LETTER W WITH ACUTE
    307 0174;Wcircumflex;LATIN CAPITAL LETTER W WITH CIRCUMFLEX
    308 1E84;Wdieresis;LATIN CAPITAL LETTER W WITH DIAERESIS
    309 1E80;Wgrave;LATIN CAPITAL LETTER W WITH GRAVE
    310 0058;X;LATIN CAPITAL LETTER X
    311 039E;Xi;GREEK CAPITAL LETTER XI
    312 0059;Y;LATIN CAPITAL LETTER Y
    313 00DD;Yacute;LATIN CAPITAL LETTER Y WITH ACUTE
    314 0176;Ycircumflex;LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
    315 0178;Ydieresis;LATIN CAPITAL LETTER Y WITH DIAERESIS
    316 1EF2;Ygrave;LATIN CAPITAL LETTER Y WITH GRAVE
    317 005A;Z;LATIN CAPITAL LETTER Z
    318 0179;Zacute;LATIN CAPITAL LETTER Z WITH ACUTE
    319 017D;Zcaron;LATIN CAPITAL LETTER Z WITH CARON
    320 017B;Zdotaccent;LATIN CAPITAL LETTER Z WITH DOT ABOVE
    321 0396;Zeta;GREEK CAPITAL LETTER ZETA
    322 0061;a;LATIN SMALL LETTER A
    323 00E1;aacute;LATIN SMALL LETTER A WITH ACUTE
    324 0103;abreve;LATIN SMALL LETTER A WITH BREVE
    325 00E2;acircumflex;LATIN SMALL LETTER A WITH CIRCUMFLEX
    326 00B4;acute;ACUTE ACCENT
    327 0301;acutecomb;COMBINING ACUTE ACCENT
    328 00E4;adieresis;LATIN SMALL LETTER A WITH DIAERESIS
    329 00E6;ae;LATIN SMALL LETTER AE
    330 01FD;aeacute;LATIN SMALL LETTER AE WITH ACUTE
    331 00E0;agrave;LATIN SMALL LETTER A WITH GRAVE
    332 2135;aleph;ALEF SYMBOL
    333 03B1;alpha;GREEK SMALL LETTER ALPHA
    334 03AC;alphatonos;GREEK SMALL LETTER ALPHA WITH TONOS
    335 0101;amacron;LATIN SMALL LETTER A WITH MACRON
    336 0026;ampersand;AMPERSAND
    337 2220;angle;ANGLE
    338 2329;angleleft;LEFT-POINTING ANGLE BRACKET
    339 232A;angleright;RIGHT-POINTING ANGLE BRACKET
    340 0387;anoteleia;GREEK ANO TELEIA
    341 0105;aogonek;LATIN SMALL LETTER A WITH OGONEK
    342 2248;approxequal;ALMOST EQUAL TO
    343 00E5;aring;LATIN SMALL LETTER A WITH RING ABOVE
    344 01FB;aringacute;LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
    345 2194;arrowboth;LEFT RIGHT ARROW
    346 21D4;arrowdblboth;LEFT RIGHT DOUBLE ARROW
    347 21D3;arrowdbldown;DOWNWARDS DOUBLE ARROW
    348 21D0;arrowdblleft;LEFTWARDS DOUBLE ARROW
    349 21D2;arrowdblright;RIGHTWARDS DOUBLE ARROW
    350 21D1;arrowdblup;UPWARDS DOUBLE ARROW
    351 2193;arrowdown;DOWNWARDS ARROW
    352 2190;arrowleft;LEFTWARDS ARROW
    353 2192;arrowright;RIGHTWARDS ARROW
    354 2191;arrowup;UPWARDS ARROW
    355 2195;arrowupdn;UP DOWN ARROW
    356 21A8;arrowupdnbse;UP DOWN ARROW WITH BASE
    357 005E;asciicircum;CIRCUMFLEX ACCENT
    358 007E;asciitilde;TILDE
    359 002A;asterisk;ASTERISK
    360 2217;asteriskmath;ASTERISK OPERATOR
    361 0040;at;COMMERCIAL AT
    362 00E3;atilde;LATIN SMALL LETTER A WITH TILDE
    363 0062;b;LATIN SMALL LETTER B
    364 005C;backslash;REVERSE SOLIDUS
    365 007C;bar;VERTICAL LINE
    366 03B2;beta;GREEK SMALL LETTER BETA
    367 2588;block;FULL BLOCK
    368 007B;braceleft;LEFT CURLY BRACKET
    369 007D;braceright;RIGHT CURLY BRACKET
    370 005B;bracketleft;LEFT SQUARE BRACKET
    371 005D;bracketright;RIGHT SQUARE BRACKET
    372 02D8;breve;BREVE
    373 00A6;brokenbar;BROKEN BAR
    374 2022;bullet;BULLET
    375 0063;c;LATIN SMALL LETTER C
    376 0107;cacute;LATIN SMALL LETTER C WITH ACUTE
    377 02C7;caron;CARON
    378 21B5;carriagereturn;DOWNWARDS ARROW WITH CORNER LEFTWARDS
    379 010D;ccaron;LATIN SMALL LETTER C WITH CARON
    380 00E7;ccedilla;LATIN SMALL LETTER C WITH CEDILLA
    381 0109;ccircumflex;LATIN SMALL LETTER C WITH CIRCUMFLEX
    382 010B;cdotaccent;LATIN SMALL LETTER C WITH DOT ABOVE
    383 00B8;cedilla;CEDILLA
    384 00A2;cent;CENT SIGN
    385 03C7;chi;GREEK SMALL LETTER CHI
    386 25CB;circle;WHITE CIRCLE
    387 2297;circlemultiply;CIRCLED TIMES
    388 2295;circleplus;CIRCLED PLUS
    389 02C6;circumflex;MODIFIER LETTER CIRCUMFLEX ACCENT
    390 2663;club;BLACK CLUB SUIT
    391 003A;colon;COLON
    392 20A1;colonmonetary;COLON SIGN
    393 002C;comma;COMMA
    394 2245;congruent;APPROXIMATELY EQUAL TO
    395 00A9;copyright;COPYRIGHT SIGN
    396 00A4;currency;CURRENCY SIGN
    397 0064;d;LATIN SMALL LETTER D
    398 2020;dagger;DAGGER
    399 2021;daggerdbl;DOUBLE DAGGER
    400 010F;dcaron;LATIN SMALL LETTER D WITH CARON
    401 0111;dcroat;LATIN SMALL LETTER D WITH STROKE
    402 00B0;degree;DEGREE SIGN
    403 03B4;delta;GREEK SMALL LETTER DELTA
    404 2666;diamond;BLACK DIAMOND SUIT
    405 00A8;dieresis;DIAERESIS
    406 0385;dieresistonos;GREEK DIALYTIKA TONOS
    407 00F7;divide;DIVISION SIGN
    408 2593;dkshade;DARK SHADE
    409 2584;dnblock;LOWER HALF BLOCK
    410 0024;dollar;DOLLAR SIGN
    411 20AB;dong;DONG SIGN
    412 02D9;dotaccent;DOT ABOVE
    413 0323;dotbelowcomb;COMBINING DOT BELOW
    414 0131;dotlessi;LATIN SMALL LETTER DOTLESS I
    415 22C5;dotmath;DOT OPERATOR
    416 0065;e;LATIN SMALL LETTER E
    417 00E9;eacute;LATIN SMALL LETTER E WITH ACUTE
    418 0115;ebreve;LATIN SMALL LETTER E WITH BREVE
    419 011B;ecaron;LATIN SMALL LETTER E WITH CARON
    420 00EA;ecircumflex;LATIN SMALL LETTER E WITH CIRCUMFLEX
    421 00EB;edieresis;LATIN SMALL LETTER E WITH DIAERESIS
    422 0117;edotaccent;LATIN SMALL LETTER E WITH DOT ABOVE
    423 00E8;egrave;LATIN SMALL LETTER E WITH GRAVE
    424 0038;eight;DIGIT EIGHT
    425 2208;element;ELEMENT OF
    426 2026;ellipsis;HORIZONTAL ELLIPSIS
    427 0113;emacron;LATIN SMALL LETTER E WITH MACRON
    428 2014;emdash;EM DASH
    429 2205;emptyset;EMPTY SET
    430 2013;endash;EN DASH
    431 014B;eng;LATIN SMALL LETTER ENG
    432 0119;eogonek;LATIN SMALL LETTER E WITH OGONEK
    433 03B5;epsilon;GREEK SMALL LETTER EPSILON
    434 03AD;epsilontonos;GREEK SMALL LETTER EPSILON WITH TONOS
    435 003D;equal;EQUALS SIGN
    436 2261;equivalence;IDENTICAL TO
    437 212E;estimated;ESTIMATED SYMBOL
    438 03B7;eta;GREEK SMALL LETTER ETA
    439 03AE;etatonos;GREEK SMALL LETTER ETA WITH TONOS
    440 00F0;eth;LATIN SMALL LETTER ETH
    441 0021;exclam;EXCLAMATION MARK
    442 203C;exclamdbl;DOUBLE EXCLAMATION MARK
    443 00A1;exclamdown;INVERTED EXCLAMATION MARK
    444 2203;existential;THERE EXISTS
    445 0066;f;LATIN SMALL LETTER F
    446 2640;female;FEMALE SIGN
    447 2012;figuredash;FIGURE DASH
    448 25A0;filledbox;BLACK SQUARE
    449 25AC;filledrect;BLACK RECTANGLE
    450 0035;five;DIGIT FIVE
    451 215D;fiveeighths;VULGAR FRACTION FIVE EIGHTHS
    452 0192;florin;LATIN SMALL LETTER F WITH HOOK
    453 0034;four;DIGIT FOUR
    454 2044;fraction;FRACTION SLASH
    455 20A3;franc;FRENCH FRANC SIGN
    456 0067;g;LATIN SMALL LETTER G
    457 03B3;gamma;GREEK SMALL LETTER GAMMA
    458 011F;gbreve;LATIN SMALL LETTER G WITH BREVE
    459 01E7;gcaron;LATIN SMALL LETTER G WITH CARON
    460 011D;gcircumflex;LATIN SMALL LETTER G WITH CIRCUMFLEX
    461 0121;gdotaccent;LATIN SMALL LETTER G WITH DOT ABOVE
    462 00DF;germandbls;LATIN SMALL LETTER SHARP S
    463 2207;gradient;NABLA
    464 0060;grave;GRAVE ACCENT
    465 0300;gravecomb;COMBINING GRAVE ACCENT
    466 003E;greater;GREATER-THAN SIGN
    467 2265;greaterequal;GREATER-THAN OR EQUAL TO
    468 00AB;guillemotleft;LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
    469 00BB;guillemotright;RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
    470 2039;guilsinglleft;SINGLE LEFT-POINTING ANGLE QUOTATION MARK
    471 203A;guilsinglright;SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
    472 0068;h;LATIN SMALL LETTER H
    473 0127;hbar;LATIN SMALL LETTER H WITH STROKE
    474 0125;hcircumflex;LATIN SMALL LETTER H WITH CIRCUMFLEX
    475 2665;heart;BLACK HEART SUIT
    476 0309;hookabovecomb;COMBINING HOOK ABOVE
    477 2302;house;HOUSE
    478 02DD;hungarumlaut;DOUBLE ACUTE ACCENT
    479 002D;hyphen;HYPHEN-MINUS
    480 0069;i;LATIN SMALL LETTER I
    481 00ED;iacute;LATIN SMALL LETTER I WITH ACUTE
    482 012D;ibreve;LATIN SMALL LETTER I WITH BREVE
    483 00EE;icircumflex;LATIN SMALL LETTER I WITH CIRCUMFLEX
    484 00EF;idieresis;LATIN SMALL LETTER I WITH DIAERESIS
    485 00EC;igrave;LATIN SMALL LETTER I WITH GRAVE
    486 0133;ij;LATIN SMALL LIGATURE IJ
    487 012B;imacron;LATIN SMALL LETTER I WITH MACRON
    488 221E;infinity;INFINITY
    489 222B;integral;INTEGRAL
    490 2321;integralbt;BOTTOM HALF INTEGRAL
    491 2320;integraltp;TOP HALF INTEGRAL
    492 2229;intersection;INTERSECTION
    493 25D8;invbullet;INVERSE BULLET
    494 25D9;invcircle;INVERSE WHITE CIRCLE
    495 263B;invsmileface;BLACK SMILING FACE
    496 012F;iogonek;LATIN SMALL LETTER I WITH OGONEK
    497 03B9;iota;GREEK SMALL LETTER IOTA
    498 03CA;iotadieresis;GREEK SMALL LETTER IOTA WITH DIALYTIKA
    499 0390;iotadieresistonos;GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
    500 03AF;iotatonos;GREEK SMALL LETTER IOTA WITH TONOS
    501 0129;itilde;LATIN SMALL LETTER I WITH TILDE
    502 006A;j;LATIN SMALL LETTER J
    503 0135;jcircumflex;LATIN SMALL LETTER J WITH CIRCUMFLEX
    504 006B;k;LATIN SMALL LETTER K
    505 03BA;kappa;GREEK SMALL LETTER KAPPA
    506 0138;kgreenlandic;LATIN SMALL LETTER KRA
    507 006C;l;LATIN SMALL LETTER L
    508 013A;lacute;LATIN SMALL LETTER L WITH ACUTE
    509 03BB;lambda;GREEK SMALL LETTER LAMDA
    510 013E;lcaron;LATIN SMALL LETTER L WITH CARON
    511 0140;ldot;LATIN SMALL LETTER L WITH MIDDLE DOT
    512 003C;less;LESS-THAN SIGN
    513 2264;lessequal;LESS-THAN OR EQUAL TO
    514 258C;lfblock;LEFT HALF BLOCK
    515 20A4;lira;LIRA SIGN
    516 2227;logicaland;LOGICAL AND
    517 00AC;logicalnot;NOT SIGN
    518 2228;logicalor;LOGICAL OR
    519 017F;longs;LATIN SMALL LETTER LONG S
    520 25CA;lozenge;LOZENGE
    521 0142;lslash;LATIN SMALL LETTER L WITH STROKE
    522 2591;ltshade;LIGHT SHADE
    523 006D;m;LATIN SMALL LETTER M
    524 00AF;macron;MACRON
    525 2642;male;MALE SIGN
    526 2212;minus;MINUS SIGN
    527 2032;minute;PRIME
    528 00B5;mu;MICRO SIGN
    529 00D7;multiply;MULTIPLICATION SIGN
    530 266A;musicalnote;EIGHTH NOTE
    531 266B;musicalnotedbl;BEAMED EIGHTH NOTES
    532 006E;n;LATIN SMALL LETTER N
    533 0144;nacute;LATIN SMALL LETTER N WITH ACUTE
    534 0149;napostrophe;LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
    535 0148;ncaron;LATIN SMALL LETTER N WITH CARON
    536 0039;nine;DIGIT NINE
    537 2209;notelement;NOT AN ELEMENT OF
    538 2260;notequal;NOT EQUAL TO
    539 2284;notsubset;NOT A SUBSET OF
    540 00F1;ntilde;LATIN SMALL LETTER N WITH TILDE
    541 03BD;nu;GREEK SMALL LETTER NU
    542 0023;numbersign;NUMBER SIGN
    543 006F;o;LATIN SMALL LETTER O
    544 00F3;oacute;LATIN SMALL LETTER O WITH ACUTE
    545 014F;obreve;LATIN SMALL LETTER O WITH BREVE
    546 00F4;ocircumflex;LATIN SMALL LETTER O WITH CIRCUMFLEX
    547 00F6;odieresis;LATIN SMALL LETTER O WITH DIAERESIS
    548 0153;oe;LATIN SMALL LIGATURE OE
    549 02DB;ogonek;OGONEK
    550 00F2;ograve;LATIN SMALL LETTER O WITH GRAVE
    551 01A1;ohorn;LATIN SMALL LETTER O WITH HORN
    552 0151;ohungarumlaut;LATIN SMALL LETTER O WITH DOUBLE ACUTE
    553 014D;omacron;LATIN SMALL LETTER O WITH MACRON
    554 03C9;omega;GREEK SMALL LETTER OMEGA
    555 03D6;omega1;GREEK PI SYMBOL
    556 03CE;omegatonos;GREEK SMALL LETTER OMEGA WITH TONOS
    557 03BF;omicron;GREEK SMALL LETTER OMICRON
    558 03CC;omicrontonos;GREEK SMALL LETTER OMICRON WITH TONOS
    559 0031;one;DIGIT ONE
    560 2024;onedotenleader;ONE DOT LEADER
    561 215B;oneeighth;VULGAR FRACTION ONE EIGHTH
    562 00BD;onehalf;VULGAR FRACTION ONE HALF
    563 00BC;onequarter;VULGAR FRACTION ONE QUARTER
    564 2153;onethird;VULGAR FRACTION ONE THIRD
    565 25E6;openbullet;WHITE BULLET
    566 00AA;ordfeminine;FEMININE ORDINAL INDICATOR
    567 00BA;ordmasculine;MASCULINE ORDINAL INDICATOR
    568 221F;orthogonal;RIGHT ANGLE
    569 00F8;oslash;LATIN SMALL LETTER O WITH STROKE
    570 01FF;oslashacute;LATIN SMALL LETTER O WITH STROKE AND ACUTE
    571 00F5;otilde;LATIN SMALL LETTER O WITH TILDE
    572 0070;p;LATIN SMALL LETTER P
    573 00B6;paragraph;PILCROW SIGN
    574 0028;parenleft;LEFT PARENTHESIS
    575 0029;parenright;RIGHT PARENTHESIS
    576 2202;partialdiff;PARTIAL DIFFERENTIAL
    577 0025;percent;PERCENT SIGN
    578 002E;period;FULL STOP
    579 00B7;periodcentered;MIDDLE DOT
    580 22A5;perpendicular;UP TACK
    581 2030;perthousand;PER MILLE SIGN
    582 20A7;peseta;PESETA SIGN
    583 03C6;phi;GREEK SMALL LETTER PHI
    584 03D5;phi1;GREEK PHI SYMBOL
    585 03C0;pi;GREEK SMALL LETTER PI
    586 002B;plus;PLUS SIGN
    587 00B1;plusminus;PLUS-MINUS SIGN
    588 211E;prescription;PRESCRIPTION TAKE
    589 220F;product;N-ARY PRODUCT
    590 2282;propersubset;SUBSET OF
    591 2283;propersuperset;SUPERSET OF
    592 221D;proportional;PROPORTIONAL TO
    593 03C8;psi;GREEK SMALL LETTER PSI
    594 0071;q;LATIN SMALL LETTER Q
    595 003F;question;QUESTION MARK
    596 00BF;questiondown;INVERTED QUESTION MARK
    597 0022;quotedbl;QUOTATION MARK
    598 201E;quotedblbase;DOUBLE LOW-9 QUOTATION MARK
    599 201C;quotedblleft;LEFT DOUBLE QUOTATION MARK
    600 201D;quotedblright;RIGHT DOUBLE QUOTATION MARK
    601 2018;quoteleft;LEFT SINGLE QUOTATION MARK
    602 201B;quotereversed;SINGLE HIGH-REVERSED-9 QUOTATION MARK
    603 2019;quoteright;RIGHT SINGLE QUOTATION MARK
    604 201A;quotesinglbase;SINGLE LOW-9 QUOTATION MARK
    605 0027;quotesingle;APOSTROPHE
    606 0072;r;LATIN SMALL LETTER R
    607 0155;racute;LATIN SMALL LETTER R WITH ACUTE
    608 221A;radical;SQUARE ROOT
    609 0159;rcaron;LATIN SMALL LETTER R WITH CARON
    610 2286;reflexsubset;SUBSET OF OR EQUAL TO
    611 2287;reflexsuperset;SUPERSET OF OR EQUAL TO
    612 00AE;registered;REGISTERED SIGN
    613 2310;revlogicalnot;REVERSED NOT SIGN
    614 03C1;rho;GREEK SMALL LETTER RHO
    615 02DA;ring;RING ABOVE
    616 2590;rtblock;RIGHT HALF BLOCK
    617 0073;s;LATIN SMALL LETTER S
    618 015B;sacute;LATIN SMALL LETTER S WITH ACUTE
    619 0161;scaron;LATIN SMALL LETTER S WITH CARON
    620 015F;scedilla;LATIN SMALL LETTER S WITH CEDILLA
    621 015D;scircumflex;LATIN SMALL LETTER S WITH CIRCUMFLEX
    622 2033;second;DOUBLE PRIME
    623 00A7;section;SECTION SIGN
    624 003B;semicolon;SEMICOLON
    625 0037;seven;DIGIT SEVEN
    626 215E;seveneighths;VULGAR FRACTION SEVEN EIGHTHS
    627 2592;shade;MEDIUM SHADE
    628 03C3;sigma;GREEK SMALL LETTER SIGMA
    629 03C2;sigma1;GREEK SMALL LETTER FINAL SIGMA
    630 223C;similar;TILDE OPERATOR
    631 0036;six;DIGIT SIX
    632 002F;slash;SOLIDUS
    633 263A;smileface;WHITE SMILING FACE
    634 0020;space;SPACE
    635 2660;spade;BLACK SPADE SUIT
    636 00A3;sterling;POUND SIGN
    637 220B;suchthat;CONTAINS AS MEMBER
    638 2211;summation;N-ARY SUMMATION
    639 263C;sun;WHITE SUN WITH RAYS
    640 0074;t;LATIN SMALL LETTER T
    641 03C4;tau;GREEK SMALL LETTER TAU
    642 0167;tbar;LATIN SMALL LETTER T WITH STROKE
    643 0165;tcaron;LATIN SMALL LETTER T WITH CARON
    644 2234;therefore;THEREFORE
    645 03B8;theta;GREEK SMALL LETTER THETA
    646 03D1;theta1;GREEK THETA SYMBOL
    647 00FE;thorn;LATIN SMALL LETTER THORN
    648 0033;three;DIGIT THREE
    649 215C;threeeighths;VULGAR FRACTION THREE EIGHTHS
    650 00BE;threequarters;VULGAR FRACTION THREE QUARTERS
    651 02DC;tilde;SMALL TILDE
    652 0303;tildecomb;COMBINING TILDE
    653 0384;tonos;GREEK TONOS
    654 2122;trademark;TRADE MARK SIGN
    655 25BC;triagdn;BLACK DOWN-POINTING TRIANGLE
    656 25C4;triaglf;BLACK LEFT-POINTING POINTER
    657 25BA;triagrt;BLACK RIGHT-POINTING POINTER
    658 25B2;triagup;BLACK UP-POINTING TRIANGLE
    659 0032;two;DIGIT TWO
    660 2025;twodotenleader;TWO DOT LEADER
    661 2154;twothirds;VULGAR FRACTION TWO THIRDS
    662 0075;u;LATIN SMALL LETTER U
    663 00FA;uacute;LATIN SMALL LETTER U WITH ACUTE
    664 016D;ubreve;LATIN SMALL LETTER U WITH BREVE
    665 00FB;ucircumflex;LATIN SMALL LETTER U WITH CIRCUMFLEX
    666 00FC;udieresis;LATIN SMALL LETTER U WITH DIAERESIS
    667 00F9;ugrave;LATIN SMALL LETTER U WITH GRAVE
    668 01B0;uhorn;LATIN SMALL LETTER U WITH HORN
    669 0171;uhungarumlaut;LATIN SMALL LETTER U WITH DOUBLE ACUTE
    670 016B;umacron;LATIN SMALL LETTER U WITH MACRON
    671 005F;underscore;LOW LINE
    672 2017;underscoredbl;DOUBLE LOW LINE
    673 222A;union;UNION
    674 2200;universal;FOR ALL
    675 0173;uogonek;LATIN SMALL LETTER U WITH OGONEK
    676 2580;upblock;UPPER HALF BLOCK
    677 03C5;upsilon;GREEK SMALL LETTER UPSILON
    678 03CB;upsilondieresis;GREEK SMALL LETTER UPSILON WITH DIALYTIKA
    679 03B0;upsilondieresistonos;GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
    680 03CD;upsilontonos;GREEK SMALL LETTER UPSILON WITH TONOS
    681 016F;uring;LATIN SMALL LETTER U WITH RING ABOVE
    682 0169;utilde;LATIN SMALL LETTER U WITH TILDE
    683 0076;v;LATIN SMALL LETTER V
    684 0077;w;LATIN SMALL LETTER W
    685 1E83;wacute;LATIN SMALL LETTER W WITH ACUTE
    686 0175;wcircumflex;LATIN SMALL LETTER W WITH CIRCUMFLEX
    687 1E85;wdieresis;LATIN SMALL LETTER W WITH DIAERESIS
    688 2118;weierstrass;SCRIPT CAPITAL P
    689 1E81;wgrave;LATIN SMALL LETTER W WITH GRAVE
    690 0078;x;LATIN SMALL LETTER X
    691 03BE;xi;GREEK SMALL LETTER XI
    692 0079;y;LATIN SMALL LETTER Y
    693 00FD;yacute;LATIN SMALL LETTER Y WITH ACUTE
    694 0177;ycircumflex;LATIN SMALL LETTER Y WITH CIRCUMFLEX
    695 00FF;ydieresis;LATIN SMALL LETTER Y WITH DIAERESIS
    696 00A5;yen;YEN SIGN
    697 1EF3;ygrave;LATIN SMALL LETTER Y WITH GRAVE
    698 007A;z;LATIN SMALL LETTER Z
    699 017A;zacute;LATIN SMALL LETTER Z WITH ACUTE
    700 017E;zcaron;LATIN SMALL LETTER Z WITH CARON
    701 017C;zdotaccent;LATIN SMALL LETTER Z WITH DOT ABOVE
    702 0030;zero;DIGIT ZERO
    703 03B6;zeta;GREEK SMALL LETTER ZETA
    704 #END
    705 """
    706 
    707 
    708 AGLError = "AGLError"
    709 
    710 AGL2UV = {}
    711 UV2AGL = {}
    712 
    713 def _builddicts():
    714 	import re
    715 	
    716 	lines = _aglText.splitlines()
    717 	
    718 	parseAGL_RE = re.compile("([0-9A-F]{4});([A-Za-z_0-9.]+);.*?$")
    719 	
    720 	for line in lines:
    721 		if not line or line[:1] == '#':
    722 			continue
    723 		m = parseAGL_RE.match(line)
    724 		if not m:
    725 			raise AGLError("syntax error in glyphlist.txt: %s" % repr(line[:20]))
    726 		unicode = m.group(1)
    727 		assert len(unicode) == 4
    728 		unicode = int(unicode, 16)
    729 		glyphName = m.group(2)
    730 		if glyphName in AGL2UV:
    731 			# the above table contains identical duplicates
    732 			assert AGL2UV[glyphName] == unicode
    733 		else:
    734 			AGL2UV[glyphName] = unicode
    735 		UV2AGL[unicode] = glyphName
    736 	
    737 _builddicts()
    738