From 100d6d47d8c6e8c05b1468b22faa85ff4f5014c8 Mon Sep 17 00:00:00 2001 From: Werner Lemberg Date: Sat, 17 Jun 2000 20:15:06 +0000 Subject: [PATCH] Fixing glyph name typos in glnames.py; more formatting. --- docs/glnames.py | 972 +++++++++++++++++----------- include/freetype/internal/t2types.h | 2 +- src/psnames/psdriver.c | 176 +++-- src/psnames/psdriver.h | 6 +- src/psnames/psnames.c | 21 + 5 files changed, 729 insertions(+), 448 deletions(-) diff --git a/docs/glnames.py b/docs/glnames.py index 55e8ec98f..0fbc8a5e9 100644 --- a/docs/glnames.py +++ b/docs/glnames.py @@ -1,299 +1,405 @@ #!/usr/bin/env python # -# This very simple python script is used to generate the glyph names -# tables defined in the "psnames" module. + # +# FreeType 2 glyph name builder # -import sys, string - -# this table is used to name the glyph according to the Macintosh -# specification. It is used by the TrueType Postscript names table -mac_standard_names = [ - ".notdef", ".null", "CR", "space", "exclam", - "quotedbl", "numbersign", "dollar", "percent", "ampersand", - "quotesingle", "parenleft", "parenright", "asterisk", "plus", - "comma", "hyphen", "period", "slash", "zero", - - "one", "two", "three", "four", "five", - "six", "seven", "eight", "nine", "colon", - - "semicolon", "less", "equal", "greater", "question", - "at", "A", "B", "C", "D", +# Copyright 1996-2000 by +# David Turner, Robert Wilhelm, and Werner Lemberg. +# +# This file is part of the FreeType project, and may only be used, modified, +# and distributed under the terms of the FreeType project license, +# LICENSE.TXT. By continuing to use, modify, or distribute this file you +# indicate that you have read the license and understand and accept it +# fully. - "E", "F", "G", "H", "I", - "J", "K", "L", "M", "N", - "O", "P", "Q", "R", "S", - "T", "U", "V", "W", "X", +"""\ - "Y", "Z", "bracketleft", "backslash", "bracketright", - "asciicircum", "underscore", "grave", "a", "b", +usage: %s - "c", "d", "e", "f", "g", - "h", "i", "j", "k", "l", + This very simple python script is used to generate the glyph names + tables defined in the PSNames module. - "m", "n", "o", "p", "q", - "r", "s", "t", "u", "v", + Its single argument is the name of the header file to be created. +""" - "w", "x", "y", "z", "braceleft", - "bar", "braceright", "asciitilde", "Adieresis", "Aring", - "Ccedilla", "Eacute", "Ntilde", "Odieresis", "Udieresis", - "aacute", "agrave", "acircumflex", "adieresis", "atilde", +import sys, string - "aring", "ccedilla", "eacute", "egrave", "ecircumflex", - "edieresis", "iacute", "igrave", "icircumflex", "idieresis", - "ntilde", "oacute", "ograve", "ocircumflex", "odieresis", - "otilde", "uacute", "ugrave", "ucircumflex", "udieresis", +# This table is used to name the glyph according to the Macintosh +# specification. It is used by the TrueType Postscript names table +# +mac_standard_names = \ +[ + # 0 + ".notdef", ".null", "CR", "space", "exclam", + "quotedbl", "numbersign", "dollar", "percent", "ampersand", + + # 10 + "quotesingle", "parenleft", "parenright", "asterisk", "plus", + "comma", "hyphen", "period", "slash", "zero", + + # 20 + "one", "two", "three", "four", "five", + "six", "seven", "eight", "nine", "colon", + + # 30 + "semicolon", "less", "equal", "greater", "question", + "at", "A", "B", "C", "D", + + # 40 + "E", "F", "G", "H", "I", + "J", "K", "L", "M", "N", + + # 50 + "O", "P", "Q", "R", "S", + "T", "U", "V", "W", "X", + + # 60 + "Y", "Z", "bracketleft", "backslash", "bracketright", + "asciicircum", "underscore", "grave", "a", "b", + + # 70 + "c", "d", "e", "f", "g", + "h", "i", "j", "k", "l", + + # 80 + "m", "n", "o", "p", "q", + "r", "s", "t", "u", "v", + + # 90 + "w", "x", "y", "z", "braceleft", + "bar", "braceright", "asciitilde", "Adieresis", "Aring", + + # 100 + "Ccedilla", "Eacute", "Ntilde", "Odieresis", "Udieresis", + "aacute", "agrave", "acircumflex", "adieresis", "atilde", + + # 110 + "aring", "ccedilla", "eacute", "egrave", "ecircumflex", + "edieresis", "iacute", "igrave", "icircumflex", "idieresis", + + # 120 + "ntilde", "oacute", "ograve", "ocircumflex", "odieresis", + "otilde", "uacute", "ugrave", "ucircumflex", "udieresis", - "dagger", "degree", "cent", "sterling", "section", - "bullet", "paragraph", "germandbls", "registered", "copyright", + # 130 + "dagger", "degree", "cent", "sterling", "section", + "bullet", "paragraph", "germandbls", "registered", "copyright", - "trademark", "acute", "dieresis", "notequal", "AE", - "Oslash", "infinity", "plusminus", "lessequal", "greaterequal", - - "yen", "mu", "partialdiff", "summation", "product", - "pi", "integral", "ordfeminine", "ordmasculine", "Omega", - - "ae", "oslash", "questiondown", "exclamdown", "logicalnot", - "radical", "florin", "approxequal", "Delta", "guillemotleft", - - "guillemotright", "ellipsis", "nbspace", "Agrave", "Atilde", - "Otilde", "OE", "oe", "endash", "emdash", - - "quotedblleft", "quotedblright", "quoteleft", "quoteright", "divide", - "lozenge", "ydieresis", "Ydieresis", "fraction", "currency", - - "guilsinglleft", "guilsinglright", "fi", "fl", "daggerdbl", - "periodcentered", "quotesinglbase", "quotedblbase", "perthousand", "Acircumflex", - - "Ecircumflex", "Aacute", "Edieresis", "Egrave", "Iacute", - "Icircumflex", "Idieresis", "Igrave", "Oacute", "Ocircumflex", - - "apple", "Ograve", "Uacute", "Ucircumflex", "Ugrave", - "dotlessi", "circumflex", "tilde", "macron", "breve", - - "dotaccent", "ring", "cedilla", "hungarumlaut", "ogonek", - "caron", "Lslash", "lslash", "Scaron", "scaron", - - "Zcaron", "zcaron", "brokenbar", "Eth", "eth", - "Yacute", "yacute", "Thorn", "thorn", "minus", - - "multiply", "onesuperior", "twosuperior", "threesuperior", "onehalf", - "onequarter", "threequarters", "franc", "Gbreve", "gbreve", - - "Idot", "Scedilla", "scedilla", "Cacute", "cacute", - "Ccaron", "ccaron", "dmacron" ] - - - -t1_standard_strings = [ - ".notdef", "space", "exclam", "quotedbl", "numbersign", - "dollar", "percent", "ampersand", "quoteright", "parenleft", - - "parenright", "asterisk", "plus", "comma", "hyphen", - "period", "slash", "zero", "one", "two", - - "three", "four", "five", "six", "seven", - "eight", "nine", "colon", "semicolon", "less", - - "equal", "greater", "question", "at", "A", - "B", "C", "D", "E", "F", - - "G", "H", "I", "J", "K", - "L", "M", "N", "O", "P", - - "Q", "R", "S", "T", "U", - "V", "W", "X", "Y", "Z", - - "bracketleft", "backslash", "bracketright", "asciicircum", "underscore", - "quoteleft", "a", "b", "c", "d", - - "e", "f", "g", "h", "i", - "j", "k", "l", "m", "n", - - "o", "p", "q", "r", "s", - "t", "u", "v", "w", "x", - - "y", "z", "braceleft", "bar", "braceright", - "asciitilde", "exclamdown", "cent", "sterling", "fraction", - - "yen", "florin", "section", "currency", "quotesingle", - "quotedblleft", "quillemotleft", "guilsinglleft", "guilsinglright", "fi", - - "fl", "endash", "dagger", "daggerdbl", "periodcenter", - "paragraph", "bullet", "quotesinglbase", "quotedblbase", "quotedblright", - - "quillemotright", "ellipsis", "perthousand", "questiondown", "grave", - "acute", "circumflex", "tilde", "macron", "breve", - - "dotaccent", "dieresis", "ring", "cedilla", "hungarumlaut", - "ogonek", "caron", "emdash", "AE", "ordfeminine", - - "Lslash", "Oslash", "OE", "ordmasculine", "ae", - "dotlessi", "Islash", "oslash", "oe", "germandbls", - - "onesuperior", "logicalnot", "mu", "trademark", "Eth", - "onehalf", "plusminus", "Thorn", "onequarter", "divide", - - "brokenbar", "degree", "thorn", "threequarters", "twosuperior", - "regitered", "minus", "eth", "multiply", "threesuperior", - - "copyright", "Aacute", "Acircumflex", "Adieresis", "Agrave", - "Aring", "Atilde", "Ccedilla", "Eacute", "Ecircumflex", - - "Edieresis", "Egrave", "Iacute", "Icircumflex", "Idieresis", - "Igrave", "Ntilde", "Oacute", "Ocircumflex", "Odieresis", - - "Ograve", "Otilde", "Scaron", "Uacute", "Ucircumflex", - "Udieresis", "Ugrave", "Yacute", "Ydieresis", "Zcaron", - - "aacute", "acircumflex", "adieresis", "agrave", "aring", - "atilde", "ccedilla", "eacute", "ecircumflex", "edieresis", - - "egrave", "iacute", "icircumflex", "idieresis", "igrave", - "ntilde", "oacute", "ocircumflex", "odieresis", "ograve", - - "otilde", "scaron", "uacute", "ucircumflex", "udieresis", - "ugrave", "yacute", "ydieresis", "zcaron", "exclamsmall", + # 140 + "trademark", "acute", "dieresis", "notequal", "AE", + "Oslash", "infinity", "plusminus", "lessequal", "greaterequal", + + # 150 + "yen", "mu", "partialdiff", "summation", "product", + "pi", "integral", "ordfeminine", "ordmasculine", "Omega", + + # 160 + "ae", "oslash", "questiondown", "exclamdown", "logicalnot", + "radical", "florin", "approxequal", "Delta", "guillemotleft", + + # 170 + "guillemotright", "ellipsis", "nbspace", "Agrave", "Atilde", + "Otilde", "OE", "oe", "endash", "emdash", + + # 180 + "quotedblleft", "quotedblright", "quoteleft", "quoteright", "divide", + "lozenge", "ydieresis", "Ydieresis", "fraction", "currency", + + # 190 + "guilsinglleft", "guilsinglright", "fi", "fl", "daggerdbl", + "periodcentered", "quotesinglbase", "quotedblbase", "perthousand", + "Acircumflex", - "Hungarumlautsmall", "dollaroldstyle", "dollarsuperior", "ampersandsmall", - "Acutesmall", - "parenleftsuperior", "parenrightsuperior", "twodotenleader", - "onedotenleader", "zerooldstyle", + # 200 + "Ecircumflex", "Aacute", "Edieresis", "Egrave", "Iacute", + "Icircumflex", "Idieresis", "Igrave", "Oacute", "Ocircumflex", - "oneoldstyle", "twooldstyle", "threeoldstyle", "fouroldstyle", - "fiveoldstyle", - "sixoldstyle", "sevenoldstyle", "eightoldstyle", "nineoldstyle", - "commasuperior", + # 210 + "apple", "Ograve", "Uacute", "Ucircumflex", "Ugrave", + "dotlessi", "circumflex", "tilde", "macron", "breve", - "threequartersemdash", "periodsuperior", "questionsmall", "asuperior", - "bsuperior", - "centsuperior", "dsuperior", "esuperior", "isuperior", "lsuperior", + # 220 + "dotaccent", "ring", "cedilla", "hungarumlaut", "ogonek", + "caron", "Lslash", "lslash", "Scaron", "scaron", - "msuperior", "nsuperior", "osuperior", "rsuperior", "ssuperior", - "tsuperior", "ff", "ffi", "ffl", "parenleftinferior", + # 230 + "Zcaron", "zcaron", "brokenbar", "Eth", "eth", + "Yacute", "yacute", "Thorn", "thorn", "minus", - "parenrightinferior", "Circumflexsmall", "hyphensuperior", "Gravesmall", - "Asmall", - "Bsmall", "Csmall", "Dsmall", "Esmall", "Fsmall", + # 240 + "multiply", "onesuperior", "twosuperior", "threesuperior", "onehalf", + "onequarter", "threequarters", "franc", "Gbreve", "gbreve", + + # 250 + "Idot", "Scedilla", "scedilla", "Cacute", "cacute", + "Ccaron", "ccaron", "dmacron" +] - "Gsmall", "Hsmall", "Ismall", "Jsmall", "Ksmall", - "Lsmall", "Msmall", "Nsmall", "Osmall", "Psmall", - - "Qsmall", "Rsmall", "Ssmall", "Tsmall", "Usmall", - "Vsmall", "Wsmall", "Xsmall", "Ysmall", "Zsmall", - - "colonmonetary", "onefitted", "rupiah", "Tildesmall", "exclamdownsmall", - "centoldstyle", "Lslashsmall", "Scaronsmall", "Zcaronsmall", - "Dieresissmall", - - "Brevesmall", "Caronsmall", "Dotaccentsmall", "Macronsmall", "figuredash", - "hypheninferior", "Ogoneksmall", "Ringsmall", "Cedillasmall", - "questiondownsmall", - - "oneeighth", "threeeighths", "fiveeighths", "seveneighths", "onethird", - "twothirds", "zerosuperior", "foursuperior", "fivesuperior", - "sixsuperior", - - "sevensuperior", "eightsuperior", "ninesuperior", "zeroinferior", - "oneinferior", - "twoinferior", "threeinferior", "fourinferior", "fiveinferior", - "sixinferior", - - "seveninferior", "eightinferior", "nineinferior", "centinferior", - "dollarinferior", - "periodinferior", "commainferior", "Agravesmall", "Aacutesmall", - "Acircumflexsmall", - - "Atildesmall", "Adieresissmall", "Aringsmall", "AEsmall", "Ccedillasmall", - "Egravesmall", "Eacutesmall", "Ecircumflexsmall", "Edieresissmall", - "Igravesmall", - - "Iacutesmall", "Icircumflexsmall", "Idieresissmall", "Ethsmall", - "Ntildesmall", - "Ogravesmall", "Oacutesmall", "Ocircumflexsmall", "Otildesmall", - "Odieresissmall", - - "OEsmall", "Oslashsmall", "Ugravesmall", "Uacautesmall", - "Ucircumflexsmall", - "Udieresissmall", "Yacutesmall", "Thornsmall", "Ydieresissmall", - "001.000", - - "001.001", "001.002", "001.003", "Black", "Bold", - "Book", "Light", "Medium", "Regular", "Roman", - - "Semibold" ] - -t1_standard_encoding = [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - - 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, - - 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 91, 92, 93, 94, 95, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 96, 97, 98, 99, 100, 101, 102, 103, 104, - 105, 106, 107, 108, 109, 110, 0, 111, 112, 113, - 114, 0, 115, 116, 117, 118, 119, 120, 121, 122, - 0, 123, 0, 124, 125, 126, 127, 128, 129, 130, - - 131, 0, 132, 133, 0, 134, 135, 136, 137, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 138, 0, 139, 0, 0, - 0, 0, 140, 141, 142, 143, 0, 0, 0, 0, - 0, 144, 0, 0, 0, 145, 0, 0, 146, 147, - - 148, 149, 0, 0, 0, 0 ] - -t1_expert_encoding = [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 229, 230, 0, 231, 232, 233, 234, - 235, 236, 237, 238, 13, 14, 15, 99, 239, 240, - - 241, 242, 243, 244, 245, 246, 247, 248, 27, 28, - 249, 250, 251, 252, 0, 253, 254, 255, 256, 257, - 0, 0, 0, 258, 0, 0, 259, 260, 261, 262, - 0, 0, 263, 264, 265, 0, 266, 109, 110, 267, - 268, 269, 0, 270, 271, 272, 273, 274, 275, 276, - - 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, - 297, 298, 299, 300, 301, 302, 303, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 304, 305, 306, 0, 0, 307, 308, 309, 310, - 311, 0, 312, 0, 0, 312, 0, 0, 314, 315, - 0, 0, 316, 317, 318, 0, 0, 0, 158, 155, - 163, 319, 320, 321, 322, 323, 324, 325, 0, 0, - - 326, 150, 164, 169, 327, 328, 329, 330, 331, 332, - 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, - 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, - 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, - 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, - - 373, 374, 375, 376, 377, 378 ] +t1_standard_strings = \ +[ + # 0 + ".notdef", "space", "exclam", "quotedbl", "numbersign", + "dollar", "percent", "ampersand", "quoteright", "parenleft", + + # 10 + "parenright", "asterisk", "plus", "comma", "hyphen", + "period", "slash", "zero", "one", "two", + + # 20 + "three", "four", "five", "six", "seven", + "eight", "nine", "colon", "semicolon", "less", + + # 30 + "equal", "greater", "question", "at", "A", + "B", "C", "D", "E", "F", + + # 40 + "G", "H", "I", "J", "K", + "L", "M", "N", "O", "P", + + # 50 + "Q", "R", "S", "T", "U", + "V", "W", "X", "Y", "Z", + + # 60 + "bracketleft", "backslash", "bracketright", "asciicircum", "underscore", + "quoteleft", "a", "b", "c", "d", + + # 70 + "e", "f", "g", "h", "i", + "j", "k", "l", "m", "n", + + # 80 + "o", "p", "q", "r", "s", + "t", "u", "v", "w", "x", + + # 90 + "y", "z", "braceleft", "bar", "braceright", + "asciitilde", "exclamdown", "cent", "sterling", "fraction", + + # 100 + "yen", "florin", "section", "currency", "quotesingle", + "quotedblleft", "guillemotleft", "guilsinglleft", "guilsinglright", "fi", + + # 110 + "fl", "endash", "dagger", "daggerdbl", "periodcenter", + "paragraph", "bullet", "quotesinglbase", "quotedblbase", "quotedblright", + + # 120 + "guillemotright", "ellipsis", "perthousand", "questiondown", "grave", + "acute", "circumflex", "tilde", "macron", "breve", + + # 130 + "dotaccent", "dieresis", "ring", "cedilla", "hungarumlaut", + "ogonek", "caron", "emdash", "AE", "ordfeminine", + + # 140 + "Lslash", "Oslash", "OE", "ordmasculine", "ae", + "dotlessi", "Islash", "oslash", "oe", "germandbls", + + # 150 + "onesuperior", "logicalnot", "mu", "trademark", "Eth", + "onehalf", "plusminus", "Thorn", "onequarter", "divide", + + # 160 + "brokenbar", "degree", "thorn", "threequarters", "twosuperior", + "registered", "minus", "eth", "multiply", "threesuperior", + + # 170 + "copyright", "Aacute", "Acircumflex", "Adieresis", "Agrave", + "Aring", "Atilde", "Ccedilla", "Eacute", "Ecircumflex", + + # 180 + "Edieresis", "Egrave", "Iacute", "Icircumflex", "Idieresis", + "Igrave", "Ntilde", "Oacute", "Ocircumflex", "Odieresis", + + # 190 + "Ograve", "Otilde", "Scaron", "Uacute", "Ucircumflex", + "Udieresis", "Ugrave", "Yacute", "Ydieresis", "Zcaron", + + # 200 + "aacute", "acircumflex", "adieresis", "agrave", "aring", + "atilde", "ccedilla", "eacute", "ecircumflex", "edieresis", + + # 210 + "egrave", "iacute", "icircumflex", "idieresis", "igrave", + "ntilde", "oacute", "ocircumflex", "odieresis", "ograve", + + # 220 + "otilde", "scaron", "uacute", "ucircumflex", "udieresis", + "ugrave", "yacute", "ydieresis", "zcaron", "exclamsmall", + + # 230 + "Hungarumlautsmall", "dollaroldstyle", "dollarsuperior", "ampersandsmall", + "Acutesmall", + "parenleftsuperior", "parenrightsuperior", "twodotenleader", + "onedotenleader", "zerooldstyle", + + # 240 + "oneoldstyle", "twooldstyle", "threeoldstyle", "fouroldstyle", + "fiveoldstyle", + "sixoldstyle", "sevenoldstyle", "eightoldstyle", "nineoldstyle", + "commasuperior", + + # 250 + "threequartersemdash", "periodsuperior", "questionsmall", "asuperior", + "bsuperior", + "centsuperior", "dsuperior", "esuperior", "isuperior", "lsuperior", + + # 260 + "msuperior", "nsuperior", "osuperior", "rsuperior", "ssuperior", + "tsuperior", "ff", "ffi", "ffl", "parenleftinferior", + + # 270 + "parenrightinferior", "Circumflexsmall", "hyphensuperior", "Gravesmall", + "Asmall", + "Bsmall", "Csmall", "Dsmall", "Esmall", "Fsmall", + + # 280 + "Gsmall", "Hsmall", "Ismall", "Jsmall", "Ksmall", + "Lsmall", "Msmall", "Nsmall", "Osmall", "Psmall", + + # 290 + "Qsmall", "Rsmall", "Ssmall", "Tsmall", "Usmall", + "Vsmall", "Wsmall", "Xsmall", "Ysmall", "Zsmall", + + # 300 + "colonmonetary", "onefitted", "rupiah", "Tildesmall", "exclamdownsmall", + "centoldstyle", "Lslashsmall", "Scaronsmall", "Zcaronsmall", + "Dieresissmall", + + # 310 + "Brevesmall", "Caronsmall", "Dotaccentsmall", "Macronsmall", "figuredash", + "hypheninferior", "Ogoneksmall", "Ringsmall", "Cedillasmall", + "questiondownsmall", + + # 320 + "oneeighth", "threeeighths", "fiveeighths", "seveneighths", "onethird", + "twothirds", "zerosuperior", "foursuperior", "fivesuperior", + "sixsuperior", + + # 330 + "sevensuperior", "eightsuperior", "ninesuperior", "zeroinferior", + "oneinferior", + "twoinferior", "threeinferior", "fourinferior", "fiveinferior", + "sixinferior", + + # 340 + "seveninferior", "eightinferior", "nineinferior", "centinferior", + "dollarinferior", + "periodinferior", "commainferior", "Agravesmall", "Aacutesmall", + "Acircumflexsmall", + + # 350 + "Atildesmall", "Adieresissmall", "Aringsmall", "AEsmall", "Ccedillasmall", + "Egravesmall", "Eacutesmall", "Ecircumflexsmall", "Edieresissmall", + "Igravesmall", + + # 360 + "Iacutesmall", "Icircumflexsmall", "Idieresissmall", "Ethsmall", + "Ntildesmall", + "Ogravesmall", "Oacutesmall", "Ocircumflexsmall", "Otildesmall", + "Odieresissmall", + + # 370 + "OEsmall", "Oslashsmall", "Ugravesmall", "Uacautesmall", + "Ucircumflexsmall", + "Udieresissmall", "Yacutesmall", "Thornsmall", "Ydieresissmall", + "001.000", + + # 380 + "001.001", "001.002", "001.003", "Black", "Bold", + "Book", "Light", "Medium", "Regular", "Roman", + + # 390 + "Semibold" +] + + +t1_standard_encoding = \ +[ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 96, 97, 98, 99, 100, 101, 102, 103, 104, + 105, 106, 107, 108, 109, 110, 0, 111, 112, 113, + 114, 0, 115, 116, 117, 118, 119, 120, 121, 122, + 0, 123, 0, 124, 125, 126, 127, 128, 129, 130, + + 131, 0, 132, 133, 0, 134, 135, 136, 137, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 138, 0, 139, 0, 0, + 0, 0, 140, 141, 142, 143, 0, 0, 0, 0, + 0, 144, 0, 0, 0, 145, 0, 0, 146, 147, + + 148, 149, 0, 0, 0, 0 +] + + +t1_expert_encoding = \ +[ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 229, 230, 0, 231, 232, 233, 234, + 235, 236, 237, 238, 13, 14, 15, 99, 239, 240, + + 241, 242, 243, 244, 245, 246, 247, 248, 27, 28, + 249, 250, 251, 252, 0, 253, 254, 255, 256, 257, + 0, 0, 0, 258, 0, 0, 259, 260, 261, 262, + 0, 0, 263, 264, 265, 0, 266, 109, 110, 267, + 268, 269, 0, 270, 271, 272, 273, 274, 275, 276, + + 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 304, 305, 306, 0, 0, 307, 308, 309, 310, + 311, 0, 312, 0, 0, 312, 0, 0, 314, 315, + 0, 0, 316, 317, 318, 0, 0, 0, 158, 155, + 163, 319, 320, 321, 322, 323, 324, 325, 0, 0, + + 326, 150, 164, 169, 327, 328, 329, 330, 331, 332, + 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, + 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, + 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + + 373, 374, 375, 376, 377, 378 +] + + +# This data has been taken literally from the file `glyphlist.txt', +# version 1.2, 22 Oct 1998. It is available from +# +# http://partners.adobe.com/asn/developer/typeforum/unicodegn.html +# adobe_glyph_list = """\ 0041;A;LATIN CAPITAL LETTER A 00C6;AE;LATIN CAPITAL LETTER AE @@ -1345,153 +1451,239 @@ F732;twooldstyle;OLDSTYLE DIGIT TWO 2080;zeroinferior;SUBSCRIPT ZERO F730;zerooldstyle;OLDSTYLE DIGIT ZERO 2070;zerosuperior;SUPERSCRIPT ZERO -03B6;zeta;GREEK SMALL LETTER ZETA""" +03B6;zeta;GREEK SMALL LETTER ZETA +""" + t1_bias = 0 glyph_list = [] def the_adobe_glyph_list(): - """return the list of glyph names in the adobe list""" - lines = string.split(adobe_glyph_list,'\n') - glyphs = [] - for line in lines: - fields = string.split(line,';') -# print fields[0] + ' - ' + fields[1] - glyphs.append( fields[1] ) - return glyphs + """return the list of glyph names in the adobe list""" + + lines = string.split( adobe_glyph_list, '\n' ) + glyphs = [] + + for line in lines: + if line: + fields = string.split( line, ';' ) +# print fields[0] + ' - ' + fields[1] + glyphs.append( fields[1] ) + + return glyphs + def the_adobe_glyphs(): - """ return the list of glyph names + unicode values""" - lines = string.split(adobe_glyph_list,'\n') - glyphs = [] - values = [] - for line in lines: - fields = string.split(line,';') -# print fields[0] + ' - ' + fields[1] - glyphs.append( fields[1] ) - values.append( fields[0] ) - return glyphs, values + """return the list of glyph names + unicode values""" + + lines = string.split( adobe_glyph_list, '\n' ) + glyphs = [] + values = [] + + for line in lines: + if line: + fields = string.split( line, ';' ) +# print fields[0] + ' - ' + fields[1] + glyphs.append( fields[1] ) + values.append( fields[0] ) + + return glyphs, values def count_extra_glyphs( alist, filter ): - """count the number of extra glyphs""" - count = 0 - extras = [] - for name in alist: - try: - filtered_index = filter.index(name) - except: - extras.append(name) + """count the number of extra glyphs""" + + count = 0 + extras = [] + + for name in alist: + try: + filtered_index = filter.index( name ) + except: + extras.append( name ) - return extras - - -def dump_mac_indices(): - print "static const unsigned short mac_standard_names[" + \ - repr(len(mac_standard_names)+1) + "] = {" - count = 0 - for name in mac_standard_names: - try: - t1_index = t1_standard_strings.index(name) - print " " + repr(t1_bias+t1_index)+"," - except: - print " " + repr(count)+"," - count = count+1 + return extras + + +def dump_mac_indices( file ): + write = file.write + + write( " static const unsigned short mac_standard_names[" + \ + repr( len( mac_standard_names ) + 1 ) + "] =\n" ) + write( " {\n" ) + + count = 0 + for name in mac_standard_names: + try: + t1_index = t1_standard_strings.index( name ) + write( " " + repr( t1_bias + t1_index ) + ",\n" ) + except: + write( " " + repr( count ) + ",\n" ) + count = count + 1 - print " 0 };" - print "" + write( " 0\n" ) + write( " };\n" ) + write( "\n" ) + write( "\n" ) + + +def dump_glyph_list( file, glyph_list, adobe_extra ): + write = file.write + + write( " static const char* standard_glyph_names[] =\n" ) + write( " {\n" ) + for name in glyph_list: + write( ' "' + name + '",\n' ) -def dump_glyph_list(glyph_list, adobe_extra): - print "static const char* standard_glyph_names[] = {" - for name in glyph_list: - print ' "'+name+'",' + write( "\n" ) + write( "#ifdef FT_CONFIG_OPTION_ADOBE_GLYPH_LIST\n" ) + write( "\n" ) - print "#ifdef FT_CONFIG_OPTION_ADOBE_GLYPH_LIST" - for name in adobe_extra: - print ' "'+name+'",' - - print "#endif /* FT_CONFIG_OPTION_ADOBE_GLYPH_LIST */" - print " 0 };" - print "" + for name in adobe_extra: + write( ' "' + name + '",\n' ) + write( "\n" ) + write( "#endif /* FT_CONFIG_OPTION_ADOBE_GLYPH_LIST */\n" ) + write( "\n" ) + write( " 0\n" ) + write( " };\n" ) + write( "\n" ) + write( "\n" ) -def dump_unicode_values(glyph_list): - """build the glyph names to unicode values table""" - adobe_list, uni_values = the_adobe_glyphs() - index_list = [] - print "#ifdef FT_CONFIG_OPTION_ADOBE_GLYPH_LIST" - print "static const unsigned short names_to_unicode[" + \ - repr(len(glyph_list)+1) + "] = {" +def dump_unicode_values( file, glyph_list ): + """build the glyph names to unicode values table""" + + write = file.write + + adobe_list, uni_values = the_adobe_glyphs() + index_list = [] + + write( "#ifdef FT_CONFIG_OPTION_ADOBE_GLYPH_LIST\n" ) + write( "\n" ) + write( " static const unsigned short names_to_unicode[" + \ + repr( len( glyph_list ) + 1 ) + "] =\n" ) + write( " {\n" ) - for name in glyph_list: - try: - index = adobe_list.index(name) - index_list.append( uni_values[index] ) - print " 0x" + uni_values[index] + "," - except: - index_list.append(0) - print " 0," + for name in glyph_list: + try: + index = adobe_list.index( name ) + index_list.append( uni_values[index] ) + write( " 0x" + uni_values[index] + ",\n" ) + except: + index_list.append( 0 ) + write( " 0,\n" ) - print " 0 };" - print "#endif /* FT_CONFIG_OPTION_ADOBE_GLYPH_LIST */" - print "" + write( " 0\n" ) + write( " };\n" ) + write( "\n" ) + write( "#endif /* FT_CONFIG_OPTION_ADOBE_GLYPH_LIST */\n" ) + write( "\n" ) + write( "\n" ) -def dump_encoding( encoding_name, encoding_list ): - """dumps a given encoding""" - print "static const unsigned short "+encoding_name+"["+ \ - repr(len(encoding_list)+1) + "] = {" - for value in encoding_list: - print " "+repr(value)+"," - print " 0 };" - print "" +def dump_encoding( file, encoding_name, encoding_list ): + """dumps a given encoding""" -def main(argv): - """main program body""" + write = file.write - count_sid = len(t1_standard_strings) - - # build mac index table & supplemental glyph names - mac_list = count_extra_glyphs( mac_standard_names, t1_standard_strings ) - count_mac = len(mac_list) - t1_bias = count_mac - glyph_list = mac_list + t1_standard_strings + write( " static const unsigned short " + encoding_name + "[" + \ + repr( len( encoding_list ) + 1 ) + "] =\n" ) + write( " {\n" ) + + for value in encoding_list: + write( " " + repr( value ) + ",\n" ) + write( " 0\n" ) + write( " };\n" ) + write( "\n" ) + write( "\n" ) + + +def main(): + """main program body""" + + if len( sys.argv ) != 2: + print __doc__ % sys.argv[0] + sys.exit( 1 ) + + file = open( sys.argv[1], "w\n" ) + write = file.write + + count_sid = len( t1_standard_strings ) - # build adobe unicode index table & supplemental glyph names - adobe_list = the_adobe_glyph_list() - adobe_list = count_extra_glyphs( adobe_list, glyph_list ) - count_adobe = len(adobe_list) + # build mac index table & supplemental glyph names + mac_list = count_extra_glyphs( mac_standard_names, t1_standard_strings ) + count_mac = len( mac_list ) + t1_bias = count_mac + glyph_list = mac_list + t1_standard_strings - print "/* the following tables are generated automatically - do not edit */" - print "" - - # dump glyph list - dump_glyph_list( glyph_list, adobe_list ) + # build adobe unicode index table & supplemental glyph names + adobe_list = the_adobe_glyph_list() + adobe_list = count_extra_glyphs( adobe_list, glyph_list ) + count_adobe = len( adobe_list ) + + write( "/***************************************************************************/\n" ) + write( "/* */\n" ) + + write( "/* %-71s*/\n" % sys.argv[1] ) + + write( "/* */\n" ) + write( "/* PostScript glyph names (specification only). */\n" ) + write( "/* */\n" ) + write( "/* Copyright 2000 by */\n" ) + write( "/* David Turner, Robert Wilhelm, and Werner Lemberg. */\n" ) + write( "/* */\n" ) + write( "/* This file is part of the FreeType project, and may only be used, */\n" ) + write( "/* modified, and distributed under the terms of the FreeType project */\n" ) + write( "/* license, LICENSE.TXT. By continuing to use, modify, or distribute */\n" ) + write( "/* this file you indicate that you have read the license and */\n" ) + write( "/* understand and accept it fully. */\n" ) + write( "/* */\n" ) + write( "/***************************************************************************/\n" ) + write( "\n" ) + write( "\n" ) + write( " /* this file has been generated automatically -- do not edit! */\n" ) + write( "\n" ) + write( "\n" ) + + # dump glyph list + dump_glyph_list( file, glyph_list, adobe_list ) - # dump t1_standard_list - print "static const char** t1_standard_glyphs = standard_glyph_names + " + repr(t1_bias) + ";" - print "" - print "#define NUM_STD_GLYPHS "+repr(len(t1_standard_strings)) - print "" - print "#ifdef FT_CONFIG_OPTION_ADOBE_GLYPH_LIST" - print "#define NUM_ADOBE_GLYPHS "+repr(len(glyph_list)+len(adobe_list)-t1_bias) - print "#else" - print "#define NUM_ADOBE_GLYPHS "+repr(len(glyph_list)-t1_bias) - print "#endif" - print "" - - # dump mac indices table - dump_mac_indices() + # dump t1_standard_list + write( " static const char** t1_standard_glyphs = " \ + + "standard_glyph_names + " + repr( t1_bias ) + ";\n" ) + write( "\n" ) + write( "\n" ) + + write( "#define NUM_STD_GLYPHS " + repr( len( t1_standard_strings ) ) + "\n" ) + write( "\n" ) + write( "#ifdef FT_CONFIG_OPTION_ADOBE_GLYPH_LIST\n" ) + write( "#define NUM_ADOBE_GLYPHS " + \ + repr( len( glyph_list ) + len( adobe_list ) - t1_bias ) + "\n" ) + write( "#else\n" ) + write( "#define NUM_ADOBE_GLYPHS " + \ + repr( len( glyph_list ) - t1_bias ) + "\n" ) + write( "#endif\n" ) + write( "\n" ) + write( "\n" ) + + # dump mac indices table + dump_mac_indices( file ) - # dump unicode values table - dump_unicode_values( glyph_list[t1_bias:] ) + # dump unicode values table + dump_unicode_values( file, glyph_list[t1_bias:] ) - dump_encoding( "t1_standard_encoding", t1_standard_encoding ) - dump_encoding( "t1_expert_encoding", t1_expert_encoding ) + dump_encoding( file, "t1_standard_encoding", t1_standard_encoding ) + dump_encoding( file, "t1_expert_encoding", t1_expert_encoding ) - print "/* end of automatically-generated tables */" + write( "/* END */\n" ) + + +# Now run the main routine +# +main() + -main(sys.argv) +# END diff --git a/include/freetype/internal/t2types.h b/include/freetype/internal/t2types.h index fa6119d50..792235565 100644 --- a/include/freetype/internal/t2types.h +++ b/include/freetype/internal/t2types.h @@ -24,7 +24,7 @@ #define T2TYPES_H -#include +#include #ifdef __cplusplus diff --git a/src/psnames/psdriver.c b/src/psnames/psdriver.c index 0e532f41d..d12cce9a6 100644 --- a/src/psnames/psdriver.c +++ b/src/psnames/psdriver.c @@ -1,44 +1,77 @@ +/***************************************************************************/ +/* */ +/* psdriver.c */ +/* */ +/* PSNames driver implementation (body). */ +/* */ +/* Copyright 1996-2000 by */ +/* David Turner, Robert Wilhelm, and Werner Lemberg. */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + + #include #include #include -#include + +#include /* for qsort() */ +#include /* for strncpy() */ + #ifndef FT_CONFIG_OPTION_NO_POSTSCRIPT_NAMES -/* see the python script "freetype2/docs/glnames.py" which is used */ -/* to generate the following tables... */ + + /* see the Python script `freetype2/docs/glnames.py' which is used */ + /* to generate the following file. */ #include + #ifdef FT_CONFIG_OPTION_ADOBE_GLYPH_LIST - /* return the Unicode value corresponding to a given glyph. Note that */ - /* we do deal with glyph variants by detecting a non-initial dot */ - /* in the name, as in "A.swash" or "e.final", etc.. */ - /* */ + + + /* return the Unicode value corresponding to a given glyph. Note that */ + /* we do deal with glyph variants by detecting a non-initial dot in */ + /* in the name, as in `A.swash' or `e.final', etc. */ + /* */ static - FT_ULong PS_Unicode_Value( const char* glyph_name ) + FT_ULong PS_Unicode_Value( const char* glyph_name ) { FT_Int n; char first = glyph_name[0]; char temp[64]; - /* if the name begins with "uni", then the glyph name may be a */ - /* hard-coded unicode character code.. */ + + /* if the name begins with `uni', then the glyph name may be a */ + /* hard-coded unicode character code. */ if ( glyph_name[0] == 'u' && glyph_name[1] == 'n' && glyph_name[2] == 'i' ) { - /* determine wether the following characters are hexadecimal */ - FT_Int count; - FT_ULong value = 0; - const char* p = glyph_name + 4; + /* determine whether the next four characters following are */ + /* hexadecimal. */ + + /* XXX: Add code to deal with ligatures, i.e. glyph names like */ + /* uniXXXXYYYYZZZZ.... */ + + FT_Int count; + FT_ULong value = 0; + const char* p = glyph_name + 4; - for ( count = 4;count > 0; count--, p++ ) + + for ( count = 4; count > 0; count--, p++ ) { char c = *p; unsigned char d; - d = (unsigned char)c-'0'; - if (d >= 10) + + d = (unsigned char)c - '0'; + if ( d >= 10 ) { d = (unsigned char)c - 'A'; if ( d >= 6 ) @@ -46,25 +79,31 @@ else d += 10; } - /* exit if one non-uppercase-hexadecimal character was found */ - if (d >= 16) + + /* exit if a non-uppercase hexadecimal character was found */ + if ( d >= 16 ) break; - value = (value << 4) + d; - if (count == 0) + value = ( value << 4 ) + d; + + if ( count == 0 ) return value; } } /* look for a non-initial dot in the glyph name in order to */ - /* sort-out variants like "A.swash", "e.final", etc.. */ + /* sort-out variants like `A.swash', `e.final', etc. */ { const char* p; int len; + p = glyph_name; - while ( *p && *p != '.' ) p++; - len = p-glyph_name; + + while ( *p && *p != '.' ) + p++; + + len = p - glyph_name; if ( *p && len < 64 ) { @@ -74,40 +113,45 @@ } } - /* now, lookup the glyph in the Adobe Glyph List */ + /* now, look up the glyph in the Adobe Glyph List */ for ( n = 0; n < NUM_ADOBE_GLYPHS; n++ ) { const char* name = t1_standard_glyphs[n]; + if ( first == name[0] && strcmp( glyph_name, name ) == 0 ) return names_to_unicode[n]; } + /* not found, there is probably no Unicode value for this glyph name */ return 0; } - /* qsort callback to sort the unicode map */ + /* qsort callback to sort the unicode map */ static - int compare_uni_maps( const void* a, const void* b ) + int compare_uni_maps( const void* a, + const void* b ) { PS_UniMap* map1 = (PS_UniMap*)a; PS_UniMap* map2 = (PS_UniMap*)b; + return ( map1->unicode < map2->unicode ? -1 : map1->unicode > map2->unicode ? 1 : 0 ); } - /* Builds a table that maps Unicode values to glyph indices */ + /* Builds a table that maps Unicode values to glyph indices */ static FT_Error PS_Build_Unicode_Table( FT_Memory memory, FT_UInt num_glyphs, const char** glyph_names, - PS_Unicodes *table ) + PS_Unicodes* table ) { FT_Error error; + /* we first allocate the table */ table->num_maps = 0; table->maps = 0; @@ -119,14 +163,19 @@ PS_UniMap* map; FT_ULong uni_char; + map = table->maps; + for ( n = 0; n < num_glyphs; n++ ) { const char* gname = glyph_names[n]; - if (gname) + + + if ( gname ) { - uni_char = PS_Unicode_Value(gname); - if (uni_char && uni_char != 0xFFFF) + uni_char = PS_Unicode_Value( gname ); + + if ( uni_char && uni_char != 0xFFFF ) { map->unicode = uni_char; map->glyph_index = n; @@ -137,85 +186,100 @@ /* now, compress the table a bit */ count = map - table->maps; + if ( count > 0 && REALLOC( table->maps, - num_glyphs*sizeof(PS_UniMap), - count*sizeof(PS_UniMap) ) ) + num_glyphs * sizeof ( PS_UniMap ), + count * sizeof ( PS_UniMap ) ) ) { count = 0; } - if (count == 0) + if ( count == 0 ) { FREE( table->maps ); - if (!error) - error = FT_Err_Invalid_Argument; /* no unicode chars here !! */ + if ( !error ) + error = FT_Err_Invalid_Argument; /* no unicode chars here! */ } else /* sort the table in increasing order of unicode values */ - qsort( table->maps, count, sizeof(PS_UniMap), compare_uni_maps ); + qsort( table->maps, count, sizeof ( PS_UniMap ), compare_uni_maps ); table->num_maps = count; } + return error; } + static FT_UInt PS_Lookup_Unicode( PS_Unicodes* table, FT_ULong unicode ) { PS_UniMap *min, *max, *mid; + + /* perform a binary search on the table */ + min = table->maps; max = min + table->num_maps - 1; - while (min <= max) + while ( min <= max ) { - mid = min + (max-min)/2; + mid = min + ( max - min ) / 2; if ( mid->unicode == unicode ) return mid->glyph_index; - if (min == max) + if ( min == max ) break; - if ( mid->unicode < unicode ) min = mid+1; - else max = mid-1; + if ( mid->unicode < unicode ) + min = mid + 1; + else + max = mid - 1; } return 0xFFFF; } -#endif + +#endif /* FT_CONFIG_OPTION_ADOBE_GLYPH_LIST */ + static const char* PS_Macintosh_Name( FT_UInt name_index ) { - if (name_index >= 258) + if ( name_index >= 258 ) name_index = 0; - return standard_glyph_names[ mac_standard_names[name_index] ]; + return standard_glyph_names[mac_standard_names[name_index]]; } static const char* PS_Standard_Strings( FT_UInt sid ) { - return (sid < NUM_STD_GLYPHS ? t1_standard_glyphs[sid] : 0); + return ( sid < NUM_STD_GLYPHS ? t1_standard_glyphs[sid] : 0 ); } + static const PSNames_Interface psnames_interface = { #ifdef FT_CONFIG_OPTION_ADOBE_GLYPH_LIST - (PS_Unicode_Value_Func) PS_Unicode_Value, - (PS_Build_Unicodes_Func) PS_Build_Unicode_Table, - (PS_Lookup_Unicode_Func) PS_Lookup_Unicode, + + (PS_Unicode_Value_Func) PS_Unicode_Value, + (PS_Build_Unicodes_Func) PS_Build_Unicode_Table, + (PS_Lookup_Unicode_Func) PS_Lookup_Unicode, + #else + 0, 0, 0, -#endif - (PS_Macintosh_Name_Func) PS_Macintosh_Name, - (PS_Adobe_Std_Strings_Func) PS_Standard_Strings, +#endif /* FT_CONFIG_OPTION_ADOBE_GLYPH_LIST */ + + (PS_Macintosh_Name_Func) PS_Macintosh_Name, + (PS_Adobe_Std_Strings_Func)PS_Standard_Strings, t1_standard_encoding, t1_expert_encoding @@ -224,7 +288,7 @@ const FT_DriverInterface psnames_driver_interface = { - sizeof(FT_DriverRec), + sizeof( FT_DriverRec ), 0, 0, 0, @@ -240,7 +304,7 @@ 0, 0, }; -#else +#else /* FT_CONFIG_OPTION_NO_POSTSCRIPT_NAMES */ const FT_DriverInterface psnames_driver_interface = { @@ -258,3 +322,5 @@ #endif /* !FT_CONFIG_OPTION_NO_POSTSCRIPT_NAMES */ + +/* END */ diff --git a/src/psnames/psdriver.h b/src/psnames/psdriver.h index 3127fe2db..19d415b80 100644 --- a/src/psnames/psdriver.h +++ b/src/psnames/psdriver.h @@ -4,7 +4,7 @@ /* */ /* High-level PSNames driver interface (specification). */ /* */ -/* Copyright 1996-1999 by */ +/* Copyright 1996-2000 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -19,9 +19,11 @@ #ifndef PSDRIVER_H #define PSDRIVER_H + #include - FT_EXPORT_VAR(const FT_DriverInterface) psnames_driver_interface; + FT_EXPORT_VAR( const FT_DriverInterface ) psnames_driver_interface; + #endif /* PSDRIVER_H */ diff --git a/src/psnames/psnames.c b/src/psnames/psnames.c index aa332c8f9..c0238f48b 100644 --- a/src/psnames/psnames.c +++ b/src/psnames/psnames.c @@ -1,2 +1,23 @@ +/***************************************************************************/ +/* */ +/* psnames.c */ +/* */ +/* FreeType PSNames driver component (body only). */ +/* */ +/* Copyright 1996-2000 by */ +/* David Turner, Robert Wilhelm, and Werner Lemberg. */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + + #define FT_MAKE_OPTION_SINGLE_OBJECT #include + + +/* END */