src/fcfreetype.c | 260 ------------------------------------------------------- 1 file changed, 260 deletions(-) New commits: commit cbb6ee1662f1219518677a9d489159778a812782 Author: Akira TAGOH <akira at tagoh.org> Date: Tue Jul 19 20:12:09 2011 +0900 Bug 35517 - Remove Apple Roman cmap support Get rid of the apple roman encoding related code diff --git a/src/fcfreetype.c b/src/fcfreetype.c index d37af2d..f2d0642 100644 --- a/src/fcfreetype.c +++ b/src/fcfreetype.c @@ -696,34 +696,6 @@ FcSfntNameTranscode (FT_SfntName *sname) *u8 = ''\0''; goto done; } - if (!strcmp (fromcode, FC_ENCODING_MAC_ROMAN)) - { - FcChar8 *u8; - const FcCharMap *map = FcFreeTypeGetPrivateMap (ft_encoding_apple_roman); - FcChar8 *src = (FcChar8 *) sname->string; - int src_len = sname->string_len; - - /* - * Convert AppleRoman to Utf8 - */ - if (!map) - return 0; - - utf8 = malloc (sname->string_len * 3 + 1); - if (!utf8) - return 0; - - u8 = utf8; - while (src_len > 0) - { - FcChar32 ucs4 = FcFreeTypePrivateToUcs4 (*src++, map); - int olen = FcUcs4ToUtf8 (ucs4, u8); - src_len--; - u8 += olen; - } - *u8 = ''\0''; - goto done; - } #if USE_ICONV cd = iconv_open ("UTF-8", fromcode); if (cd && cd != (iconv_t) (-1)) @@ -1794,237 +1766,6 @@ typedef struct _FcFontDecode { FcChar32 max; } FcFontDecode; -static const FcCharEnt AppleRomanEnt[] = { - { 0x0020, 0x20 }, /* SPACE */ - { 0x0021, 0x21 }, /* EXCLAMATION MARK */ - { 0x0022, 0x22 }, /* QUOTATION MARK */ - { 0x0023, 0x23 }, /* NUMBER SIGN */ - { 0x0024, 0x24 }, /* DOLLAR SIGN */ - { 0x0025, 0x25 }, /* PERCENT SIGN */ - { 0x0026, 0x26 }, /* AMPERSAND */ - { 0x0027, 0x27 }, /* APOSTROPHE */ - { 0x0028, 0x28 }, /* LEFT PARENTHESIS */ - { 0x0029, 0x29 }, /* RIGHT PARENTHESIS */ - { 0x002A, 0x2A }, /* ASTERISK */ - { 0x002B, 0x2B }, /* PLUS SIGN */ - { 0x002C, 0x2C }, /* COMMA */ - { 0x002D, 0x2D }, /* HYPHEN-MINUS */ - { 0x002E, 0x2E }, /* FULL STOP */ - { 0x002F, 0x2F }, /* SOLIDUS */ - { 0x0030, 0x30 }, /* DIGIT ZERO */ - { 0x0031, 0x31 }, /* DIGIT ONE */ - { 0x0032, 0x32 }, /* DIGIT TWO */ - { 0x0033, 0x33 }, /* DIGIT THREE */ - { 0x0034, 0x34 }, /* DIGIT FOUR */ - { 0x0035, 0x35 }, /* DIGIT FIVE */ - { 0x0036, 0x36 }, /* DIGIT SIX */ - { 0x0037, 0x37 }, /* DIGIT SEVEN */ - { 0x0038, 0x38 }, /* DIGIT EIGHT */ - { 0x0039, 0x39 }, /* DIGIT NINE */ - { 0x003A, 0x3A }, /* COLON */ - { 0x003B, 0x3B }, /* SEMICOLON */ - { 0x003C, 0x3C }, /* LESS-THAN SIGN */ - { 0x003D, 0x3D }, /* EQUALS SIGN */ - { 0x003E, 0x3E }, /* GREATER-THAN SIGN */ - { 0x003F, 0x3F }, /* QUESTION MARK */ - { 0x0040, 0x40 }, /* COMMERCIAL AT */ - { 0x0041, 0x41 }, /* LATIN CAPITAL LETTER A */ - { 0x0042, 0x42 }, /* LATIN CAPITAL LETTER B */ - { 0x0043, 0x43 }, /* LATIN CAPITAL LETTER C */ - { 0x0044, 0x44 }, /* LATIN CAPITAL LETTER D */ - { 0x0045, 0x45 }, /* LATIN CAPITAL LETTER E */ - { 0x0046, 0x46 }, /* LATIN CAPITAL LETTER F */ - { 0x0047, 0x47 }, /* LATIN CAPITAL LETTER G */ - { 0x0048, 0x48 }, /* LATIN CAPITAL LETTER H */ - { 0x0049, 0x49 }, /* LATIN CAPITAL LETTER I */ - { 0x004A, 0x4A }, /* LATIN CAPITAL LETTER J */ - { 0x004B, 0x4B }, /* LATIN CAPITAL LETTER K */ - { 0x004C, 0x4C }, /* LATIN CAPITAL LETTER L */ - { 0x004D, 0x4D }, /* LATIN CAPITAL LETTER M */ - { 0x004E, 0x4E }, /* LATIN CAPITAL LETTER N */ - { 0x004F, 0x4F }, /* LATIN CAPITAL LETTER O */ - { 0x0050, 0x50 }, /* LATIN CAPITAL LETTER P */ - { 0x0051, 0x51 }, /* LATIN CAPITAL LETTER Q */ - { 0x0052, 0x52 }, /* LATIN CAPITAL LETTER R */ - { 0x0053, 0x53 }, /* LATIN CAPITAL LETTER S */ - { 0x0054, 0x54 }, /* LATIN CAPITAL LETTER T */ - { 0x0055, 0x55 }, /* LATIN CAPITAL LETTER U */ - { 0x0056, 0x56 }, /* LATIN CAPITAL LETTER V */ - { 0x0057, 0x57 }, /* LATIN CAPITAL LETTER W */ - { 0x0058, 0x58 }, /* LATIN CAPITAL LETTER X */ - { 0x0059, 0x59 }, /* LATIN CAPITAL LETTER Y */ - { 0x005A, 0x5A }, /* LATIN CAPITAL LETTER Z */ - { 0x005B, 0x5B }, /* LEFT SQUARE BRACKET */ - { 0x005C, 0x5C }, /* REVERSE SOLIDUS */ - { 0x005D, 0x5D }, /* RIGHT SQUARE BRACKET */ - { 0x005E, 0x5E }, /* CIRCUMFLEX ACCENT */ - { 0x005F, 0x5F }, /* LOW LINE */ - { 0x0060, 0x60 }, /* GRAVE ACCENT */ - { 0x0061, 0x61 }, /* LATIN SMALL LETTER A */ - { 0x0062, 0x62 }, /* LATIN SMALL LETTER B */ - { 0x0063, 0x63 }, /* LATIN SMALL LETTER C */ - { 0x0064, 0x64 }, /* LATIN SMALL LETTER D */ - { 0x0065, 0x65 }, /* LATIN SMALL LETTER E */ - { 0x0066, 0x66 }, /* LATIN SMALL LETTER F */ - { 0x0067, 0x67 }, /* LATIN SMALL LETTER G */ - { 0x0068, 0x68 }, /* LATIN SMALL LETTER H */ - { 0x0069, 0x69 }, /* LATIN SMALL LETTER I */ - { 0x006A, 0x6A }, /* LATIN SMALL LETTER J */ - { 0x006B, 0x6B }, /* LATIN SMALL LETTER K */ - { 0x006C, 0x6C }, /* LATIN SMALL LETTER L */ - { 0x006D, 0x6D }, /* LATIN SMALL LETTER M */ - { 0x006E, 0x6E }, /* LATIN SMALL LETTER N */ - { 0x006F, 0x6F }, /* LATIN SMALL LETTER O */ - { 0x0070, 0x70 }, /* LATIN SMALL LETTER P */ - { 0x0071, 0x71 }, /* LATIN SMALL LETTER Q */ - { 0x0072, 0x72 }, /* LATIN SMALL LETTER R */ - { 0x0073, 0x73 }, /* LATIN SMALL LETTER S */ - { 0x0074, 0x74 }, /* LATIN SMALL LETTER T */ - { 0x0075, 0x75 }, /* LATIN SMALL LETTER U */ - { 0x0076, 0x76 }, /* LATIN SMALL LETTER V */ - { 0x0077, 0x77 }, /* LATIN SMALL LETTER W */ - { 0x0078, 0x78 }, /* LATIN SMALL LETTER X */ - { 0x0079, 0x79 }, /* LATIN SMALL LETTER Y */ - { 0x007A, 0x7A }, /* LATIN SMALL LETTER Z */ - { 0x007B, 0x7B }, /* LEFT CURLY BRACKET */ - { 0x007C, 0x7C }, /* VERTICAL LINE */ - { 0x007D, 0x7D }, /* RIGHT CURLY BRACKET */ - { 0x007E, 0x7E }, /* TILDE */ - { 0x00A0, 0xCA }, /* NO-BREAK SPACE */ - { 0x00A1, 0xC1 }, /* INVERTED EXCLAMATION MARK */ - { 0x00A2, 0xA2 }, /* CENT SIGN */ - { 0x00A3, 0xA3 }, /* POUND SIGN */ - { 0x00A5, 0xB4 }, /* YEN SIGN */ - { 0x00A7, 0xA4 }, /* SECTION SIGN */ - { 0x00A8, 0xAC }, /* DIAERESIS */ - { 0x00A9, 0xA9 }, /* COPYRIGHT SIGN */ - { 0x00AA, 0xBB }, /* FEMININE ORDINAL INDICATOR */ - { 0x00AB, 0xC7 }, /* LEFT-POINTING DOUBLE ANGLE QUOTATION MARK */ - { 0x00AC, 0xC2 }, /* NOT SIGN */ - { 0x00AE, 0xA8 }, /* REGISTERED SIGN */ - { 0x00AF, 0xF8 }, /* MACRON */ - { 0x00B0, 0xA1 }, /* DEGREE SIGN */ - { 0x00B1, 0xB1 }, /* PLUS-MINUS SIGN */ - { 0x00B4, 0xAB }, /* ACUTE ACCENT */ - { 0x00B5, 0xB5 }, /* MICRO SIGN */ - { 0x00B6, 0xA6 }, /* PILCROW SIGN */ - { 0x00B7, 0xE1 }, /* MIDDLE DOT */ - { 0x00B8, 0xFC }, /* CEDILLA */ - { 0x00BA, 0xBC }, /* MASCULINE ORDINAL INDICATOR */ - { 0x00BB, 0xC8 }, /* RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK */ - { 0x00BF, 0xC0 }, /* INVERTED QUESTION MARK */ - { 0x00C0, 0xCB }, /* LATIN CAPITAL LETTER A WITH GRAVE */ - { 0x00C1, 0xE7 }, /* LATIN CAPITAL LETTER A WITH ACUTE */ - { 0x00C2, 0xE5 }, /* LATIN CAPITAL LETTER A WITH CIRCUMFLEX */ - { 0x00C3, 0xCC }, /* LATIN CAPITAL LETTER A WITH TILDE */ - { 0x00C4, 0x80 }, /* LATIN CAPITAL LETTER A WITH DIAERESIS */ - { 0x00C5, 0x81 }, /* LATIN CAPITAL LETTER A WITH RING ABOVE */ - { 0x00C6, 0xAE }, /* LATIN CAPITAL LETTER AE */ - { 0x00C7, 0x82 }, /* LATIN CAPITAL LETTER C WITH CEDILLA */ - { 0x00C8, 0xE9 }, /* LATIN CAPITAL LETTER E WITH GRAVE */ - { 0x00C9, 0x83 }, /* LATIN CAPITAL LETTER E WITH ACUTE */ - { 0x00CA, 0xE6 }, /* LATIN CAPITAL LETTER E WITH CIRCUMFLEX */ - { 0x00CB, 0xE8 }, /* LATIN CAPITAL LETTER E WITH DIAERESIS */ - { 0x00CC, 0xED }, /* LATIN CAPITAL LETTER I WITH GRAVE */ - { 0x00CD, 0xEA }, /* LATIN CAPITAL LETTER I WITH ACUTE */ - { 0x00CE, 0xEB }, /* LATIN CAPITAL LETTER I WITH CIRCUMFLEX */ - { 0x00CF, 0xEC }, /* LATIN CAPITAL LETTER I WITH DIAERESIS */ - { 0x00D1, 0x84 }, /* LATIN CAPITAL LETTER N WITH TILDE */ - { 0x00D2, 0xF1 }, /* LATIN CAPITAL LETTER O WITH GRAVE */ - { 0x00D3, 0xEE }, /* LATIN CAPITAL LETTER O WITH ACUTE */ - { 0x00D4, 0xEF }, /* LATIN CAPITAL LETTER O WITH CIRCUMFLEX */ - { 0x00D5, 0xCD }, /* LATIN CAPITAL LETTER O WITH TILDE */ - { 0x00D6, 0x85 }, /* LATIN CAPITAL LETTER O WITH DIAERESIS */ - { 0x00D8, 0xAF }, /* LATIN CAPITAL LETTER O WITH STROKE */ - { 0x00D9, 0xF4 }, /* LATIN CAPITAL LETTER U WITH GRAVE */ - { 0x00DA, 0xF2 }, /* LATIN CAPITAL LETTER U WITH ACUTE */ - { 0x00DB, 0xF3 }, /* LATIN CAPITAL LETTER U WITH CIRCUMFLEX */ - { 0x00DC, 0x86 }, /* LATIN CAPITAL LETTER U WITH DIAERESIS */ - { 0x00DF, 0xA7 }, /* LATIN SMALL LETTER SHARP S */ - { 0x00E0, 0x88 }, /* LATIN SMALL LETTER A WITH GRAVE */ - { 0x00E1, 0x87 }, /* LATIN SMALL LETTER A WITH ACUTE */ - { 0x00E2, 0x89 }, /* LATIN SMALL LETTER A WITH CIRCUMFLEX */ - { 0x00E3, 0x8B }, /* LATIN SMALL LETTER A WITH TILDE */ - { 0x00E4, 0x8A }, /* LATIN SMALL LETTER A WITH DIAERESIS */ - { 0x00E5, 0x8C }, /* LATIN SMALL LETTER A WITH RING ABOVE */ - { 0x00E6, 0xBE }, /* LATIN SMALL LETTER AE */ - { 0x00E7, 0x8D }, /* LATIN SMALL LETTER C WITH CEDILLA */ - { 0x00E8, 0x8F }, /* LATIN SMALL LETTER E WITH GRAVE */ - { 0x00E9, 0x8E }, /* LATIN SMALL LETTER E WITH ACUTE */ - { 0x00EA, 0x90 }, /* LATIN SMALL LETTER E WITH CIRCUMFLEX */ - { 0x00EB, 0x91 }, /* LATIN SMALL LETTER E WITH DIAERESIS */ - { 0x00EC, 0x93 }, /* LATIN SMALL LETTER I WITH GRAVE */ - { 0x00ED, 0x92 }, /* LATIN SMALL LETTER I WITH ACUTE */ - { 0x00EE, 0x94 }, /* LATIN SMALL LETTER I WITH CIRCUMFLEX */ - { 0x00EF, 0x95 }, /* LATIN SMALL LETTER I WITH DIAERESIS */ - { 0x00F1, 0x96 }, /* LATIN SMALL LETTER N WITH TILDE */ - { 0x00F2, 0x98 }, /* LATIN SMALL LETTER O WITH GRAVE */ - { 0x00F3, 0x97 }, /* LATIN SMALL LETTER O WITH ACUTE */ - { 0x00F4, 0x99 }, /* LATIN SMALL LETTER O WITH CIRCUMFLEX */ - { 0x00F5, 0x9B }, /* LATIN SMALL LETTER O WITH TILDE */ - { 0x00F6, 0x9A }, /* LATIN SMALL LETTER O WITH DIAERESIS */ - { 0x00F7, 0xD6 }, /* DIVISION SIGN */ - { 0x00F8, 0xBF }, /* LATIN SMALL LETTER O WITH STROKE */ - { 0x00F9, 0x9D }, /* LATIN SMALL LETTER U WITH GRAVE */ - { 0x00FA, 0x9C }, /* LATIN SMALL LETTER U WITH ACUTE */ - { 0x00FB, 0x9E }, /* LATIN SMALL LETTER U WITH CIRCUMFLEX */ - { 0x00FC, 0x9F }, /* LATIN SMALL LETTER U WITH DIAERESIS */ - { 0x00FF, 0xD8 }, /* LATIN SMALL LETTER Y WITH DIAERESIS */ - { 0x0131, 0xF5 }, /* LATIN SMALL LETTER DOTLESS I */ - { 0x0152, 0xCE }, /* LATIN CAPITAL LIGATURE OE */ - { 0x0153, 0xCF }, /* LATIN SMALL LIGATURE OE */ - { 0x0178, 0xD9 }, /* LATIN CAPITAL LETTER Y WITH DIAERESIS */ - { 0x0192, 0xC4 }, /* LATIN SMALL LETTER F WITH HOOK */ - { 0x02C6, 0xF6 }, /* MODIFIER LETTER CIRCUMFLEX ACCENT */ - { 0x02C7, 0xFF }, /* CARON */ - { 0x02D8, 0xF9 }, /* BREVE */ - { 0x02D9, 0xFA }, /* DOT ABOVE */ - { 0x02DA, 0xFB }, /* RING ABOVE */ - { 0x02DB, 0xFE }, /* OGONEK */ - { 0x02DC, 0xF7 }, /* SMALL TILDE */ - { 0x02DD, 0xFD }, /* DOUBLE ACUTE ACCENT */ - { 0x03A9, 0xBD }, /* GREEK CAPITAL LETTER OMEGA */ - { 0x03C0, 0xB9 }, /* GREEK SMALL LETTER PI */ - { 0x2013, 0xD0 }, /* EN DASH */ - { 0x2014, 0xD1 }, /* EM DASH */ - { 0x2018, 0xD4 }, /* LEFT SINGLE QUOTATION MARK */ - { 0x2019, 0xD5 }, /* RIGHT SINGLE QUOTATION MARK */ - { 0x201A, 0xE2 }, /* SINGLE LOW-9 QUOTATION MARK */ - { 0x201C, 0xD2 }, /* LEFT DOUBLE QUOTATION MARK */ - { 0x201D, 0xD3 }, /* RIGHT DOUBLE QUOTATION MARK */ - { 0x201E, 0xE3 }, /* DOUBLE LOW-9 QUOTATION MARK */ - { 0x2020, 0xA0 }, /* DAGGER */ - { 0x2021, 0xE0 }, /* DOUBLE DAGGER */ - { 0x2022, 0xA5 }, /* BULLET */ - { 0x2026, 0xC9 }, /* HORIZONTAL ELLIPSIS */ - { 0x2030, 0xE4 }, /* PER MILLE SIGN */ - { 0x2039, 0xDC }, /* SINGLE LEFT-POINTING ANGLE QUOTATION MARK */ - { 0x203A, 0xDD }, /* SINGLE RIGHT-POINTING ANGLE QUOTATION MARK */ - { 0x2044, 0xDA }, /* FRACTION SLASH */ - { 0x20AC, 0xDB }, /* EURO SIGN */ - { 0x2122, 0xAA }, /* TRADE MARK SIGN */ - { 0x2202, 0xB6 }, /* PARTIAL DIFFERENTIAL */ - { 0x2206, 0xC6 }, /* INCREMENT */ - { 0x220F, 0xB8 }, /* N-ARY PRODUCT */ - { 0x2211, 0xB7 }, /* N-ARY SUMMATION */ - { 0x221A, 0xC3 }, /* SQUARE ROOT */ - { 0x221E, 0xB0 }, /* INFINITY */ - { 0x222B, 0xBA }, /* INTEGRAL */ - { 0x2248, 0xC5 }, /* ALMOST EQUAL TO */ - { 0x2260, 0xAD }, /* NOT EQUAL TO */ - { 0x2264, 0xB2 }, /* LESS-THAN OR EQUAL TO */ - { 0x2265, 0xB3 }, /* GREATER-THAN OR EQUAL TO */ - { 0x25CA, 0xD7 }, /* LOZENGE */ - { 0xF8FF, 0xF0 }, /* Apple logo */ - { 0xFB01, 0xDE }, /* LATIN SMALL LIGATURE FI */ - { 0xFB02, 0xDF }, /* LATIN SMALL LIGATURE FL */ -}; - -static const FcCharMap AppleRoman = { - AppleRomanEnt, - sizeof (AppleRomanEnt) / sizeof (AppleRomanEnt[0]) -}; - static const FcCharEnt AdobeSymbolEnt[] = { { 0x0020, 0x20 }, /* SPACE # space */ { 0x0021, 0x21 }, /* EXCLAMATION MARK # exclam */ @@ -2230,7 +1971,6 @@ static const FcCharMap AdobeSymbol = { static const FcFontDecode fcFontDecoders[] = { { ft_encoding_unicode, 0, (1 << 21) - 1 }, { ft_encoding_symbol, &AdobeSymbol, (1 << 16) - 1 }, - { ft_encoding_apple_roman, &AppleRoman, (1 << 16) - 1 }, }; #define NUM_DECODE (int) (sizeof (fcFontDecoders) / sizeof (fcFontDecoders[0]))