The BIG graph update
[rrdtool.git] / libraries / freetype-2.0.5 / include / cffload.h
1 /***************************************************************************/
2 /*                                                                         */
3 /*  cffload.h                                                              */
4 /*                                                                         */
5 /*    OpenType & CFF data/program tables loader (specification).           */
6 /*                                                                         */
7 /*  Copyright 1996-2001 by                                                 */
8 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
9 /*                                                                         */
10 /*  This file is part of the FreeType project, and may only be used,       */
11 /*  modified, and distributed under the terms of the FreeType project      */
12 /*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
13 /*  this file you indicate that you have read the license and              */
14 /*  understand and accept it fully.                                        */
15 /*                                                                         */
16 /***************************************************************************/
17
18
19 #ifndef __CFFLOAD_H__
20 #define __CFFLOAD_H__
21
22
23 #include <ft2build.h>
24 #include FT_INTERNAL_CFF_TYPES_H
25 #include FT_INTERNAL_POSTSCRIPT_NAMES_H
26
27
28 FT_BEGIN_HEADER
29
30   const FT_UShort  cff_isoadobe_charset[229] =
31   {
32     0,
33     1,
34     2,
35     3,
36     4,
37     5,
38     6,
39     7,
40     8,
41     9,
42     10,
43     11,
44     12,
45     13,
46     14,
47     15,
48     16,
49     17,
50     18,
51     19,
52     20,
53     21,
54     22,
55     23,
56     24,
57     25,
58     26,
59     27,
60     28,
61     29,
62     30,
63     31,
64     32,
65     33,
66     34,
67     35,
68     36,
69     37,
70     38,
71     39,
72     40,
73     41,
74     42,
75     43,
76     44,
77     45,
78     46,
79     47,
80     48,
81     49,
82     50,
83     51,
84     52,
85     53,
86     54,
87     55,
88     56,
89     57,
90     58,
91     59,
92     60,
93     61,
94     62,
95     63,
96     64,
97     65,
98     66,
99     67,
100     68,
101     69,
102     70,
103     71,
104     72,
105     73,
106     74,
107     75,
108     76,
109     77,
110     78,
111     79,
112     80,
113     81,
114     82,
115     83,
116     84,
117     85,
118     86,
119     87,
120     88,
121     89,
122     90,
123     91,
124     92,
125     93,
126     94,
127     95,
128     96,
129     97,
130     98,
131     99,
132     100,
133     101,
134     102,
135     103,
136     104,
137     105,
138     106,
139     107,
140     108,
141     109,
142     110,
143     111,
144     112,
145     113,
146     114,
147     115,
148     116,
149     117,
150     118,
151     119,
152     120,
153     121,
154     122,
155     123,
156     124,
157     125,
158     126,
159     127,
160     128,
161     129,
162     130,
163     131,
164     132,
165     133,
166     134,
167     135,
168     136,
169     137,
170     138,
171     139,
172     140,
173     141,
174     142,
175     143,
176     144,
177     145,
178     146,
179     147,
180     148,
181     149,
182     150,
183     151,
184     152,
185     153,
186     154,
187     155,
188     156,
189     157,
190     158,
191     159,
192     160,
193     161,
194     162,
195     163,
196     164,
197     165,
198     166,
199     167,
200     168,
201     169,
202     170,
203     171,
204     172,
205     173,
206     174,
207     175,
208     176,
209     177,
210     178,
211     179,
212     180,
213     181,
214     182,
215     183,
216     184,
217     185,
218     186,
219     187,
220     188,
221     189,
222     190,
223     191,
224     192,
225     193,
226     194,
227     195,
228     196,
229     197,
230     198,
231     199,
232     200,
233     201,
234     202,
235     203,
236     204,
237     205,
238     206,
239     207,
240     208,
241     209,
242     210,
243     211,
244     212,
245     213,
246     214,
247     215,
248     216,
249     217,
250     218,
251     219,
252     220,
253     221,
254     222,
255     223,
256     224,
257     225,
258     226,
259     227,
260     228
261   };
262
263   const FT_UShort  cff_expert_charset[166] =
264   {
265     0,
266     1,
267     229,
268     230,
269     231,
270     232,
271     233,
272     234,
273     235,
274     236,
275     237,
276     238,
277     13,
278     14,
279     15,
280     99,
281     239,
282     240,
283     241,
284     242,
285     243,
286     244,
287     245,
288     246,
289     247,
290     248,
291     27,
292     28,
293     249,
294     250,
295     251,
296     252,
297     253,
298     254,
299     255,
300     256,
301     257,
302     258,
303     259,
304     260,
305     261,
306     262,
307     263,
308     264,
309     265,
310     266,
311     109,
312     110,
313     267,
314     268,
315     269,
316     270,
317     271,
318     272,
319     273,
320     274,
321     275,
322     276,
323     277,
324     278,
325     279,
326     280,
327     281,
328     282,
329     283,
330     284,
331     285,
332     286,
333     287,
334     288,
335     289,
336     290,
337     291,
338     292,
339     293,
340     294,
341     295,
342     296,
343     297,
344     298,
345     299,
346     300,
347     301,
348     302,
349     303,
350     304,
351     305,
352     306,
353     307,
354     308,
355     309,
356     310,
357     311,
358     312,
359     313,
360     314,
361     315,
362     316,
363     317,
364     318,
365     158,
366     155,
367     163,
368     319,
369     320,
370     321,
371     322,
372     323,
373     324,
374     325,
375     326,
376     150,
377     164,
378     169,
379     327,
380     328,
381     329,
382     330,
383     331,
384     332,
385     333,
386     334,
387     335,
388     336,
389     337,
390     338,
391     339,
392     340,
393     341,
394     342,
395     343,
396     344,
397     345,
398     346,
399     347,
400     348,
401     349,
402     350,
403     351,
404     352,
405     353,
406     354,
407     355,
408     356,
409     357,
410     358,
411     359,
412     360,
413     361,
414     362,
415     363,
416     364,
417     365,
418     366,
419     367,
420     368,
421     369,
422     370,
423     371,
424     372,
425     373,
426     374,
427     375,
428     376,
429     377,
430     378
431   };
432
433   const FT_UShort  cff_expertsubset_charset[87] =
434   {
435     0,
436     1,
437     231,
438     232,
439     235,
440     236,
441     237,
442     238,
443     13,
444     14,
445     15,
446     99,
447     239,
448     240,
449     241,
450     242,
451     243,
452     244,
453     245,
454     246,
455     247,
456     248,
457     27,
458     28,
459     249,
460     250,
461     251,
462     253,
463     254,
464     255,
465     256,
466     257,
467     258,
468     259,
469     260,
470     261,
471     262,
472     263,
473     264,
474     265,
475     266,
476     109,
477     110,
478     267,
479     268,
480     269,
481     270,
482     272,
483     300,
484     301,
485     302,
486     305,
487     314,
488     315,
489     158,
490     155,
491     163,
492     320,
493     321,
494     322,
495     323,
496     324,
497     325,
498     326,
499     150,
500     164,
501     169,
502     327,
503     328,
504     329,
505     330,
506     331,
507     332,
508     333,
509     334,
510     335,
511     336,
512     337,
513     338,
514     339,
515     340,
516     341,
517     342,
518     343,
519     344,
520     345,
521     346
522   };
523
524   const FT_UShort  cff_standard_encoding[256] =
525   {
526     0,
527     0,
528     0,
529     0,
530     0,
531     0,
532     0,
533     0,
534     0,
535     0,
536     0,
537     0,
538     0,
539     0,
540     0,
541     0,
542     0,
543     0,
544     0,
545     0,
546     0,
547     0,
548     0,
549     0,
550     0,
551     0,
552     0,
553     0,
554     0,
555     0,
556     0,
557     0,
558     1,
559     2,
560     3,
561     4,
562     5,
563     6,
564     7,
565     8,
566     9,
567     10,
568     11,
569     12,
570     13,
571     14,
572     15,
573     16,
574     17,
575     18,
576     19,
577     20,
578     21,
579     22,
580     23,
581     24,
582     25,
583     26,
584     27,
585     28,
586     29,
587     30,
588     31,
589     32,
590     33,
591     34,
592     35,
593     36,
594     37,
595     38,
596     39,
597     40,
598     41,
599     42,
600     43,
601     44,
602     45,
603     46,
604     47,
605     48,
606     49,
607     50,
608     51,
609     52,
610     53,
611     54,
612     55,
613     56,
614     57,
615     58,
616     59,
617     60,
618     61,
619     62,
620     63,
621     64,
622     65,
623     66,
624     67,
625     68,
626     69,
627     70,
628     71,
629     72,
630     73,
631     74,
632     75,
633     76,
634     77,
635     78,
636     79,
637     80,
638     81,
639     82,
640     83,
641     84,
642     85,
643     86,
644     87,
645     88,
646     89,
647     90,
648     91,
649     92,
650     93,
651     94,
652     95,
653     0,
654     0,
655     0,
656     0,
657     0,
658     0,
659     0,
660     0,
661     0,
662     0,
663     0,
664     0,
665     0,
666     0,
667     0,
668     0,
669     0,
670     0,
671     0,
672     0,
673     0,
674     0,
675     0,
676     0,
677     0,
678     0,
679     0,
680     0,
681     0,
682     0,
683     0,
684     0,
685     0,
686     0,
687     96,
688     97,
689     98,
690     99,
691     100,
692     101,
693     102,
694     103,
695     104,
696     105,
697     106,
698     107,
699     108,
700     109,
701     110,
702     0,
703     111,
704     112,
705     113,
706     114,
707     0,
708     115,
709     116,
710     117,
711     118,
712     119,
713     120,
714     121,
715     122,
716     0,
717     123,
718     0,
719     124,
720     125,
721     126,
722     127,
723     128,
724     129,
725     130,
726     131,
727     0,
728     132,
729     133,
730     0,
731     134,
732     135,
733     136,
734     137,
735     0,
736     0,
737     0,
738     0,
739     0,
740     0,
741     0,
742     0,
743     0,
744     0,
745     0,
746     0,
747     0,
748     0,
749     0,
750     0,
751     138,
752     0,
753     139,
754     0,
755     0,
756     0,
757     0,
758     140,
759     141,
760     142,
761     143,
762     0,
763     0,
764     0,
765     0,
766     0,
767     144,
768     0,
769     0,
770     0,
771     145,
772     0,
773     0,
774     146,
775     147,
776     148,
777     149,
778     0,
779     0,
780     0,
781     0
782   };
783
784   const FT_UShort  cff_expert_encoding[256] =
785   {
786     0,
787     0,
788     0,
789     0,
790     0,
791     0,
792     0,
793     0,
794     0,
795     0,
796     0,
797     0,
798     0,
799     0,
800     0,
801     0,
802     0,
803     0,
804     0,
805     0,
806     0,
807     0,
808     0,
809     0,
810     0,
811     0,
812     0,
813     0,
814     0,
815     0,
816     0,
817     0,
818     1,
819     229,
820     230,
821     0,
822     231,
823     232,
824     233,
825     234,
826     235,
827     236,
828     237,
829     238,
830     13,
831     14,
832     15,
833     99,
834     239,
835     240,
836     241,
837     242,
838     243,
839     244,
840     245,
841     246,
842     247,
843     248,
844     27,
845     28,
846     249,
847     250,
848     251,
849     252,
850     0,
851     253,
852     254,
853     255,
854     256,
855     257,
856     0,
857     0,
858     0,
859     258,
860     0,
861     0,
862     259,
863     260,
864     261,
865     262,
866     0,
867     0,
868     263,
869     264,
870     265,
871     0,
872     266,
873     109,
874     110,
875     267,
876     268,
877     269,
878     0,
879     270,
880     271,
881     272,
882     273,
883     274,
884     275,
885     276,
886     277,
887     278,
888     279,
889     280,
890     281,
891     282,
892     283,
893     284,
894     285,
895     286,
896     287,
897     288,
898     289,
899     290,
900     291,
901     292,
902     293,
903     294,
904     295,
905     296,
906     297,
907     298,
908     299,
909     300,
910     301,
911     302,
912     303,
913     0,
914     0,
915     0,
916     0,
917     0,
918     0,
919     0,
920     0,
921     0,
922     0,
923     0,
924     0,
925     0,
926     0,
927     0,
928     0,
929     0,
930     0,
931     0,
932     0,
933     0,
934     0,
935     0,
936     0,
937     0,
938     0,
939     0,
940     0,
941     0,
942     0,
943     0,
944     0,
945     0,
946     0,
947     304,
948     305,
949     306,
950     0,
951     0,
952     307,
953     308,
954     309,
955     310,
956     311,
957     0,
958     312,
959     0,
960     0,
961     312,
962     0,
963     0,
964     314,
965     315,
966     0,
967     0,
968     316,
969     317,
970     318,
971     0,
972     0,
973     0,
974     158,
975     155,
976     163,
977     319,
978     320,
979     321,
980     322,
981     323,
982     324,
983     325,
984     0,
985     0,
986     326,
987     150,
988     164,
989     169,
990     327,
991     328,
992     329,
993     330,
994     331,
995     332,
996     333,
997     334,
998     335,
999     336,
1000     337,
1001     338,
1002     339,
1003     340,
1004     341,
1005     342,
1006     343,
1007     344,
1008     345,
1009     346,
1010     347,
1011     348,
1012     349,
1013     350,
1014     351,
1015     352,
1016     353,
1017     354,
1018     355,
1019     356,
1020     357,
1021     358,
1022     359,
1023     360,
1024     361,
1025     362,
1026     363,
1027     364,
1028     365,
1029     366,
1030     367,
1031     368,
1032     369,
1033     370,
1034     371,
1035     372,
1036     373,
1037     374,
1038     375,
1039     376,
1040     377,
1041     378
1042   };
1043
1044
1045   FT_LOCAL FT_String*
1046   CFF_Get_Name( CFF_Index*  index,
1047                 FT_UInt     element );
1048
1049   FT_LOCAL FT_String*
1050   CFF_Get_String( CFF_Index*          index,
1051                   FT_UInt             sid,
1052                   PSNames_Interface*  interface );
1053
1054
1055   FT_LOCAL FT_Error
1056   CFF_Access_Element( CFF_Index*  index,
1057                       FT_UInt     element,
1058                       FT_Byte**   pbytes,
1059                       FT_ULong*   pbyte_len );
1060
1061   FT_LOCAL void
1062   CFF_Forget_Element( CFF_Index*  index,
1063                       FT_Byte**   pbytes );
1064
1065
1066   FT_LOCAL FT_Error
1067   CFF_Load_Font( FT_Stream  stream,
1068                  FT_Int     face_index,
1069                  CFF_Font*  font );
1070
1071   FT_LOCAL void
1072   CFF_Done_Font( CFF_Font*  font );
1073
1074
1075   FT_LOCAL FT_Byte
1076   CFF_Get_FD( CFF_FD_Select*  select,
1077               FT_UInt         glyph_index );
1078
1079
1080 FT_END_HEADER
1081
1082 #endif /* __CFFLOAD_H__ */
1083
1084
1085 /* END */