source: trunk/poppler/mypoppler/fofi/FoFiEncodings.cc @ 2

Last change on this file since 2 was 2, checked in by Eugene Romanenko, 15 years ago

First import

File size: 14.5 KB
Line 
1//========================================================================
2//
3// FoFiEncodings.cc
4//
5// Copyright 1999-2003 Glyph & Cog, LLC
6//
7//========================================================================
8
9#include <config.h>
10
11#ifdef USE_GCC_PRAGMAS
12#pragma implementation
13#endif
14
15#include <stdlib.h>
16#include "FoFiEncodings.h"
17
18//------------------------------------------------------------------------
19// Type 1 and 1C font data
20//------------------------------------------------------------------------
21
22char *fofiType1StandardEncoding[256] = {
23  NULL,
24  NULL,
25  NULL,
26  NULL,
27  NULL,
28  NULL,
29  NULL,
30  NULL,
31  NULL,
32  NULL,
33  NULL,
34  NULL,
35  NULL,
36  NULL,
37  NULL,
38  NULL,
39  NULL,
40  NULL,
41  NULL,
42  NULL,
43  NULL,
44  NULL,
45  NULL,
46  NULL,
47  NULL,
48  NULL,
49  NULL,
50  NULL,
51  NULL,
52  NULL,
53  NULL,
54  NULL,
55  "space",
56  "exclam",
57  "quotedbl",
58  "numbersign",
59  "dollar",
60  "percent",
61  "ampersand",
62  "quoteright",
63  "parenleft",
64  "parenright",
65  "asterisk",
66  "plus",
67  "comma",
68  "hyphen",
69  "period",
70  "slash",
71  "zero",
72  "one",
73  "two",
74  "three",
75  "four",
76  "five",
77  "six",
78  "seven",
79  "eight",
80  "nine",
81  "colon",
82  "semicolon",
83  "less",
84  "equal",
85  "greater",
86  "question",
87  "at",
88  "A",
89  "B",
90  "C",
91  "D",
92  "E",
93  "F",
94  "G",
95  "H",
96  "I",
97  "J",
98  "K",
99  "L",
100  "M",
101  "N",
102  "O",
103  "P",
104  "Q",
105  "R",
106  "S",
107  "T",
108  "U",
109  "V",
110  "W",
111  "X",
112  "Y",
113  "Z",
114  "bracketleft",
115  "backslash",
116  "bracketright",
117  "asciicircum",
118  "underscore",
119  "quoteleft",
120  "a",
121  "b",
122  "c",
123  "d",
124  "e",
125  "f",
126  "g",
127  "h",
128  "i",
129  "j",
130  "k",
131  "l",
132  "m",
133  "n",
134  "o",
135  "p",
136  "q",
137  "r",
138  "s",
139  "t",
140  "u",
141  "v",
142  "w",
143  "x",
144  "y",
145  "z",
146  "braceleft",
147  "bar",
148  "braceright",
149  "asciitilde",
150  NULL,
151  NULL,
152  NULL,
153  NULL,
154  NULL,
155  NULL,
156  NULL,
157  NULL,
158  NULL,
159  NULL,
160  NULL,
161  NULL,
162  NULL,
163  NULL,
164  NULL,
165  NULL,
166  NULL,
167  NULL,
168  NULL,
169  NULL,
170  NULL,
171  NULL,
172  NULL,
173  NULL,
174  NULL,
175  NULL,
176  NULL,
177  NULL,
178  NULL,
179  NULL,
180  NULL,
181  NULL,
182  NULL,
183  NULL,
184  "exclamdown",
185  "cent",
186  "sterling",
187  "fraction",
188  "yen",
189  "florin",
190  "section",
191  "currency",
192  "quotesingle",
193  "quotedblleft",
194  "guillemotleft",
195  "guilsinglleft",
196  "guilsinglright",
197  "fi",
198  "fl",
199  NULL,
200  "endash",
201  "dagger",
202  "daggerdbl",
203  "periodcentered",
204  NULL,
205  "paragraph",
206  "bullet",
207  "quotesinglbase",
208  "quotedblbase",
209  "quotedblright",
210  "guillemotright",
211  "ellipsis",
212  "perthousand",
213  NULL,
214  "questiondown",
215  NULL,
216  "grave",
217  "acute",
218  "circumflex",
219  "tilde",
220  "macron",
221  "breve",
222  "dotaccent",
223  "dieresis",
224  NULL,
225  "ring",
226  "cedilla",
227  NULL,
228  "hungarumlaut",
229  "ogonek",
230  "caron",
231  "emdash",
232  NULL,
233  NULL,
234  NULL,
235  NULL,
236  NULL,
237  NULL,
238  NULL,
239  NULL,
240  NULL,
241  NULL,
242  NULL,
243  NULL,
244  NULL,
245  NULL,
246  NULL,
247  NULL,
248  "AE",
249  NULL,
250  "ordfeminine",
251  NULL,
252  NULL,
253  NULL,
254  NULL,
255  "Lslash",
256  "Oslash",
257  "OE",
258  "ordmasculine",
259  NULL,
260  NULL,
261  NULL,
262  NULL,
263  NULL,
264  "ae",
265  NULL,
266  NULL,
267  NULL,
268  "dotlessi",
269  NULL,
270  NULL,
271  "lslash",
272  "oslash",
273  "oe",
274  "germandbls",
275  NULL,
276  NULL,
277  NULL,
278  NULL
279};
280
281char *fofiType1ExpertEncoding[256] = {
282  NULL,
283  NULL,
284  NULL,
285  NULL,
286  NULL,
287  NULL,
288  NULL,
289  NULL,
290  NULL,
291  NULL,
292  NULL,
293  NULL,
294  NULL,
295  NULL,
296  NULL,
297  NULL,
298  NULL,
299  NULL,
300  NULL,
301  NULL,
302  NULL,
303  NULL,
304  NULL,
305  NULL,
306  NULL,
307  NULL,
308  NULL,
309  NULL,
310  NULL,
311  NULL,
312  NULL,
313  NULL,
314  "space",
315  "exclamsmall",
316  "Hungarumlautsmall",
317  NULL,
318  "dollaroldstyle",
319  "dollarsuperior",
320  "ampersandsmall",
321  "Acutesmall",
322  "parenleftsuperior",
323  "parenrightsuperior",
324  "twodotenleader",
325  "onedotenleader",
326  "comma",
327  "hyphen",
328  "period",
329  "fraction",
330  "zerooldstyle",
331  "oneoldstyle",
332  "twooldstyle",
333  "threeoldstyle",
334  "fouroldstyle",
335  "fiveoldstyle",
336  "sixoldstyle",
337  "sevenoldstyle",
338  "eightoldstyle",
339  "nineoldstyle",
340  "colon",
341  "semicolon",
342  "commasuperior",
343  "threequartersemdash",
344  "periodsuperior",
345  "questionsmall",
346  NULL,
347  "asuperior",
348  "bsuperior",
349  "centsuperior",
350  "dsuperior",
351  "esuperior",
352  NULL,
353  NULL,
354  NULL,
355  "isuperior",
356  NULL,
357  NULL,
358  "lsuperior",
359  "msuperior",
360  "nsuperior",
361  "osuperior",
362  NULL,
363  NULL,
364  "rsuperior",
365  "ssuperior",
366  "tsuperior",
367  NULL,
368  "ff",
369  "fi",
370  "fl",
371  "ffi",
372  "ffl",
373  "parenleftinferior",
374  NULL,
375  "parenrightinferior",
376  "Circumflexsmall",
377  "hyphensuperior",
378  "Gravesmall",
379  "Asmall",
380  "Bsmall",
381  "Csmall",
382  "Dsmall",
383  "Esmall",
384  "Fsmall",
385  "Gsmall",
386  "Hsmall",
387  "Ismall",
388  "Jsmall",
389  "Ksmall",
390  "Lsmall",
391  "Msmall",
392  "Nsmall",
393  "Osmall",
394  "Psmall",
395  "Qsmall",
396  "Rsmall",
397  "Ssmall",
398  "Tsmall",
399  "Usmall",
400  "Vsmall",
401  "Wsmall",
402  "Xsmall",
403  "Ysmall",
404  "Zsmall",
405  "colonmonetary",
406  "onefitted",
407  "rupiah",
408  "Tildesmall",
409  NULL,
410  NULL,
411  NULL,
412  NULL,
413  NULL,
414  NULL,
415  NULL,
416  NULL,
417  NULL,
418  NULL,
419  NULL,
420  NULL,
421  NULL,
422  NULL,
423  NULL,
424  NULL,
425  NULL,
426  NULL,
427  NULL,
428  NULL,
429  NULL,
430  NULL,
431  NULL,
432  NULL,
433  NULL,
434  NULL,
435  NULL,
436  NULL,
437  NULL,
438  NULL,
439  NULL,
440  NULL,
441  NULL,
442  NULL,
443  "exclamdownsmall",
444  "centoldstyle",
445  "Lslashsmall",
446  NULL,
447  NULL,
448  "Scaronsmall",
449  "Zcaronsmall",
450  "Dieresissmall",
451  "Brevesmall",
452  "Caronsmall",
453  NULL,
454  "Dotaccentsmall",
455  NULL,
456  NULL,
457  "Macronsmall",
458  NULL,
459  NULL,
460  "figuredash",
461  "hypheninferior",
462  NULL,
463  NULL,
464  "Ogoneksmall",
465  "Ringsmall",
466  "Cedillasmall",
467  NULL,
468  NULL,
469  NULL,
470  "onequarter",
471  "onehalf",
472  "threequarters",
473  "questiondownsmall",
474  "oneeighth",
475  "threeeighths",
476  "fiveeighths",
477  "seveneighths",
478  "onethird",
479  "twothirds",
480  NULL,
481  NULL,
482  "zerosuperior",
483  "onesuperior",
484  "twosuperior",
485  "threesuperior",
486  "foursuperior",
487  "fivesuperior",
488  "sixsuperior",
489  "sevensuperior",
490  "eightsuperior",
491  "ninesuperior",
492  "zeroinferior",
493  "oneinferior",
494  "twoinferior",
495  "threeinferior",
496  "fourinferior",
497  "fiveinferior",
498  "sixinferior",
499  "seveninferior",
500  "eightinferior",
501  "nineinferior",
502  "centinferior",
503  "dollarinferior",
504  "periodinferior",
505  "commainferior",
506  "Agravesmall",
507  "Aacutesmall",
508  "Acircumflexsmall",
509  "Atildesmall",
510  "Adieresissmall",
511  "Aringsmall",
512  "AEsmall",
513  "Ccedillasmall",
514  "Egravesmall",
515  "Eacutesmall",
516  "Ecircumflexsmall",
517  "Edieresissmall",
518  "Igravesmall",
519  "Iacutesmall",
520  "Icircumflexsmall",
521  "Idieresissmall",
522  "Ethsmall",
523  "Ntildesmall",
524  "Ogravesmall",
525  "Oacutesmall",
526  "Ocircumflexsmall",
527  "Otildesmall",
528  "Odieresissmall",
529  "OEsmall",
530  "Oslashsmall",
531  "Ugravesmall",
532  "Uacutesmall",
533  "Ucircumflexsmall",
534  "Udieresissmall",
535  "Yacutesmall",
536  "Thornsmall",
537  "Ydieresissmall"
538};
539
540//------------------------------------------------------------------------
541// Type 1C font data
542//------------------------------------------------------------------------
543
544char *fofiType1CStdStrings[391] = {
545  ".notdef",
546  "space",
547  "exclam",
548  "quotedbl",
549  "numbersign",
550  "dollar",
551  "percent",
552  "ampersand",
553  "quoteright",
554  "parenleft",
555  "parenright",
556  "asterisk",
557  "plus",
558  "comma",
559  "hyphen",
560  "period",
561  "slash",
562  "zero",
563  "one",
564  "two",
565  "three",
566  "four",
567  "five",
568  "six",
569  "seven",
570  "eight",
571  "nine",
572  "colon",
573  "semicolon",
574  "less",
575  "equal",
576  "greater",
577  "question",
578  "at",
579  "A",
580  "B",
581  "C",
582  "D",
583  "E",
584  "F",
585  "G",
586  "H",
587  "I",
588  "J",
589  "K",
590  "L",
591  "M",
592  "N",
593  "O",
594  "P",
595  "Q",
596  "R",
597  "S",
598  "T",
599  "U",
600  "V",
601  "W",
602  "X",
603  "Y",
604  "Z",
605  "bracketleft",
606  "backslash",
607  "bracketright",
608  "asciicircum",
609  "underscore",
610  "quoteleft",
611  "a",
612  "b",
613  "c",
614  "d",
615  "e",
616  "f",
617  "g",
618  "h",
619  "i",
620  "j",
621  "k",
622  "l",
623  "m",
624  "n",
625  "o",
626  "p",
627  "q",
628  "r",
629  "s",
630  "t",
631  "u",
632  "v",
633  "w",
634  "x",
635  "y",
636  "z",
637  "braceleft",
638  "bar",
639  "braceright",
640  "asciitilde",
641  "exclamdown",
642  "cent",
643  "sterling",
644  "fraction",
645  "yen",
646  "florin",
647  "section",
648  "currency",
649  "quotesingle",
650  "quotedblleft",
651  "guillemotleft",
652  "guilsinglleft",
653  "guilsinglright",
654  "fi",
655  "fl",
656  "endash",
657  "dagger",
658  "daggerdbl",
659  "periodcentered",
660  "paragraph",
661  "bullet",
662  "quotesinglbase",
663  "quotedblbase",
664  "quotedblright",
665  "guillemotright",
666  "ellipsis",
667  "perthousand",
668  "questiondown",
669  "grave",
670  "acute",
671  "circumflex",
672  "tilde",
673  "macron",
674  "breve",
675  "dotaccent",
676  "dieresis",
677  "ring",
678  "cedilla",
679  "hungarumlaut",
680  "ogonek",
681  "caron",
682  "emdash",
683  "AE",
684  "ordfeminine",
685  "Lslash",
686  "Oslash",
687  "OE",
688  "ordmasculine",
689  "ae",
690  "dotlessi",
691  "lslash",
692  "oslash",
693  "oe",
694  "germandbls",
695  "onesuperior",
696  "logicalnot",
697  "mu",
698  "trademark",
699  "Eth",
700  "onehalf",
701  "plusminus",
702  "Thorn",
703  "onequarter",
704  "divide",
705  "brokenbar",
706  "degree",
707  "thorn",
708  "threequarters",
709  "twosuperior",
710  "registered",
711  "minus",
712  "eth",
713  "multiply",
714  "threesuperior",
715  "copyright",
716  "Aacute",
717  "Acircumflex",
718  "Adieresis",
719  "Agrave",
720  "Aring",
721  "Atilde",
722  "Ccedilla",
723  "Eacute",
724  "Ecircumflex",
725  "Edieresis",
726  "Egrave",
727  "Iacute",
728  "Icircumflex",
729  "Idieresis",
730  "Igrave",
731  "Ntilde",
732  "Oacute",
733  "Ocircumflex",
734  "Odieresis",
735  "Ograve",
736  "Otilde",
737  "Scaron",
738  "Uacute",
739  "Ucircumflex",
740  "Udieresis",
741  "Ugrave",
742  "Yacute",
743  "Ydieresis",
744  "Zcaron",
745  "aacute",
746  "acircumflex",
747  "adieresis",
748  "agrave",
749  "aring",
750  "atilde",
751  "ccedilla",
752  "eacute",
753  "ecircumflex",
754  "edieresis",
755  "egrave",
756  "iacute",
757  "icircumflex",
758  "idieresis",
759  "igrave",
760  "ntilde",
761  "oacute",
762  "ocircumflex",
763  "odieresis",
764  "ograve",
765  "otilde",
766  "scaron",
767  "uacute",
768  "ucircumflex",
769  "udieresis",
770  "ugrave",
771  "yacute",
772  "ydieresis",
773  "zcaron",
774  "exclamsmall",
775  "Hungarumlautsmall",
776  "dollaroldstyle",
777  "dollarsuperior",
778  "ampersandsmall",
779  "Acutesmall",
780  "parenleftsuperior",
781  "parenrightsuperior",
782  "twodotenleader",
783  "onedotenleader",
784  "zerooldstyle",
785  "oneoldstyle",
786  "twooldstyle",
787  "threeoldstyle",
788  "fouroldstyle",
789  "fiveoldstyle",
790  "sixoldstyle",
791  "sevenoldstyle",
792  "eightoldstyle",
793  "nineoldstyle",
794  "commasuperior",
795  "threequartersemdash",
796  "periodsuperior",
797  "questionsmall",
798  "asuperior",
799  "bsuperior",
800  "centsuperior",
801  "dsuperior",
802  "esuperior",
803  "isuperior",
804  "lsuperior",
805  "msuperior",
806  "nsuperior",
807  "osuperior",
808  "rsuperior",
809  "ssuperior",
810  "tsuperior",
811  "ff",
812  "ffi",
813  "ffl",
814  "parenleftinferior",
815  "parenrightinferior",
816  "Circumflexsmall",
817  "hyphensuperior",
818  "Gravesmall",
819  "Asmall",
820  "Bsmall",
821  "Csmall",
822  "Dsmall",
823  "Esmall",
824  "Fsmall",
825  "Gsmall",
826  "Hsmall",
827  "Ismall",
828  "Jsmall",
829  "Ksmall",
830  "Lsmall",
831  "Msmall",
832  "Nsmall",
833  "Osmall",
834  "Psmall",
835  "Qsmall",
836  "Rsmall",
837  "Ssmall",
838  "Tsmall",
839  "Usmall",
840  "Vsmall",
841  "Wsmall",
842  "Xsmall",
843  "Ysmall",
844  "Zsmall",
845  "colonmonetary",
846  "onefitted",
847  "rupiah",
848  "Tildesmall",
849  "exclamdownsmall",
850  "centoldstyle",
851  "Lslashsmall",
852  "Scaronsmall",
853  "Zcaronsmall",
854  "Dieresissmall",
855  "Brevesmall",
856  "Caronsmall",
857  "Dotaccentsmall",
858  "Macronsmall",
859  "figuredash",
860  "hypheninferior",
861  "Ogoneksmall",
862  "Ringsmall",
863  "Cedillasmall",
864  "questiondownsmall",
865  "oneeighth",
866  "threeeighths",
867  "fiveeighths",
868  "seveneighths",
869  "onethird",
870  "twothirds",
871  "zerosuperior",
872  "foursuperior",
873  "fivesuperior",
874  "sixsuperior",
875  "sevensuperior",
876  "eightsuperior",
877  "ninesuperior",
878  "zeroinferior",
879  "oneinferior",
880  "twoinferior",
881  "threeinferior",
882  "fourinferior",
883  "fiveinferior",
884  "sixinferior",
885  "seveninferior",
886  "eightinferior",
887  "nineinferior",
888  "centinferior",
889  "dollarinferior",
890  "periodinferior",
891  "commainferior",
892  "Agravesmall",
893  "Aacutesmall",
894  "Acircumflexsmall",
895  "Atildesmall",
896  "Adieresissmall",
897  "Aringsmall",
898  "AEsmall",
899  "Ccedillasmall",
900  "Egravesmall",
901  "Eacutesmall",
902  "Ecircumflexsmall",
903  "Edieresissmall",
904  "Igravesmall",
905  "Iacutesmall",
906  "Icircumflexsmall",
907  "Idieresissmall",
908  "Ethsmall",
909  "Ntildesmall",
910  "Ogravesmall",
911  "Oacutesmall",
912  "Ocircumflexsmall",
913  "Otildesmall",
914  "Odieresissmall",
915  "OEsmall",
916  "Oslashsmall",
917  "Ugravesmall",
918  "Uacutesmall",
919  "Ucircumflexsmall",
920  "Udieresissmall",
921  "Yacutesmall",
922  "Thornsmall",
923  "Ydieresissmall",
924  "001.000",
925  "001.001",
926  "001.002",
927  "001.003",
928  "Black",
929  "Bold",
930  "Book",
931  "Light",
932  "Medium",
933  "Regular",
934  "Roman",
935  "Semibold"
936};
937
938Gushort fofiType1CISOAdobeCharset[229] = {
939    0,   1,   2,   3,   4,   5,   6,   7,   8,   9,
940   10,  11,  12,  13,  14,  15,  16,  17,  18,  19,
941   20,  21,  22,  23,  24,  25,  26,  27,  28,  29,
942   30,  31,  32,  33,  34,  35,  36,  37,  38,  39,
943   40,  41,  42,  43,  44,  45,  46,  47,  48,  49,
944   50,  51,  52,  53,  54,  55,  56,  57,  58,  59,
945   60,  61,  62,  63,  64,  65,  66,  67,  68,  69,
946   70,  71,  72,  73,  74,  75,  76,  77,  78,  79,
947   80,  81,  82,  83,  84,  85,  86,  87,  88,  89,
948   90,  91,  92,  93,  94,  95,  96,  97,  98,  99,
949  100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
950  110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
951  120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
952  130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
953  140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
954  150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
955  160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
956  170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
957  180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
958  190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
959  200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
960  210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
961  220, 221, 222, 223, 224, 225, 226, 227, 228
962};
963
964Gushort fofiType1CExpertCharset[166] = {
965    0,   1, 229, 230, 231, 232, 233, 234, 235, 236,
966  237, 238,  13,  14,  15,  99, 239, 240, 241, 242,
967  243, 244, 245, 246, 247, 248,  27,  28, 249, 250,
968  251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
969  261, 262, 263, 264, 265, 266, 109, 110, 267, 268,
970  269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
971  279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
972  289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
973  299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
974  309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
975  158, 155, 163, 319, 320, 321, 322, 323, 324, 325,
976  326, 150, 164, 169, 327, 328, 329, 330, 331, 332,
977  333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
978  343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
979  353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
980  363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
981  373, 374, 375, 376, 377, 378
982};
983
984Gushort fofiType1CExpertSubsetCharset[87] = {
985    0,   1, 231, 232, 235, 236, 237, 238,  13,  14,
986   15,  99, 239, 240, 241, 242, 243, 244, 245, 246,
987  247, 248,  27,  28, 249, 250, 251, 253, 254, 255,
988  256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
989  266, 109, 110, 267, 268, 269, 270, 272, 300, 301,
990  302, 305, 314, 315, 158, 155, 163, 320, 321, 322,
991  323, 324, 325, 326, 150, 164, 169, 327, 328, 329,
992  330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
993  340, 341, 342, 343, 344, 345, 346
994};
Note: See TracBrowser for help on using the repository browser.