source: branches/2.2/filemanager/tp/dompdf/lib/ttf2ufm/ttf2ufm-src/ttf.h @ 3019

Revision 3019, 3.5 KB checked in by amuller, 14 years ago (diff)

Ticket #1135 - Corrigindo CSS e adicionando filemanager

Line 
1/*
2 * see COPYRIGHT
3 */
4
5/*      these definitions are mostly taken from Microsoft's True Type
6        documentation.
7*/
8
9#define BYTE unsigned char
10#define CHAR signed char
11#define USHORT unsigned short
12#define SHORT signed short
13#define ULONG unsigned int
14#define LONG signed int
15#define FWORD SHORT
16#define UFWORD USHORT
17
18#define ONOROFF 0x01
19#define XSHORT  0x02
20#define YSHORT  0x04
21#define REPEAT  0x08
22#define XSAME   0x10
23#define YSAME   0x20
24
25#define ARG_1_AND_2_ARE_WORDS           0x0001
26#define ARGS_ARE_XY_VALUES                      0x0002
27#define XY_BOUND_TO_GRID                        0x0004
28#define WE_HAVE_A_SCALE                         0x0008
29#define MORE_COMPONENTS                         0x0020
30#define WE_HAVE_AN_X_AND_Y_SCALE        0x0040
31#define WE_HAVE_A_TWO_BY_TWO            0x0080
32#define WE_HAVE_INSTRUCTIONS            0x0100
33#define USE_MY_METRICS                          0x0200
34
35typedef struct short_2 {
36        SHORT   upper;
37        USHORT  lower;
38} FIXED ;
39
40typedef struct longhormetric {
41        UFWORD  advanceWidth;
42        FWORD   lsb;
43} LONGHORMETRIC;
44
45typedef struct ttf_hhea {
46        BYTE    version[4];
47        SHORT   ascender, descender, lineGap;
48        USHORT  advnaceWidthMax;
49        SHORT   minLSB, minRSB, xMaxExtent;
50        SHORT   caretSlopeRise, caretSlopeRun;
51        SHORT   reserved[5];
52        SHORT   metricDataFormat;
53        USHORT  numberOfHMetrics;
54} TTF_HHEA;
55
56typedef struct ttf_dir_entry {
57        char    tag[4];
58        ULONG   checksum;
59        ULONG   offset;
60        ULONG   length;
61} TTF_DIR_ENTRY ;
62
63typedef struct ttf_directory {
64        ULONG                   sfntVersion;
65        USHORT                  numTables;
66        USHORT                  searchRange;
67        USHORT                  entrySelector;
68        USHORT                  rangeShift;
69        TTF_DIR_ENTRY   list;
70} TTF_DIRECTORY ;
71
72typedef struct ttf_name_rec {
73        USHORT  platformID;
74        USHORT  encodingID;
75        USHORT  languageID;
76        USHORT  nameID;
77        USHORT  stringLength;
78        USHORT  stringOffset;
79} TTF_NAME_REC;
80
81typedef struct ttf_name {
82        USHORT                  format;
83        USHORT                  numberOfNameRecords;
84        USHORT                  offset;
85        TTF_NAME_REC    nameRecords;
86} TTF_NAME ;
87
88typedef struct ttf_head {
89        ULONG   version;
90        ULONG   fontRevision;
91        ULONG   checksumAdjust;
92        ULONG   magicNo;
93        USHORT  flags;
94        USHORT  unitsPerEm;
95        BYTE    created[8];
96        BYTE    modified[8];
97        FWORD   xMin, yMin, xMax, yMax;
98        USHORT  macStyle, lowestRecPPEM;
99        SHORT   fontDirection, indexToLocFormat, glyphDataFormat;
100} TTF_HEAD ;
101
102typedef struct ttf_kern {
103        USHORT  version, nTables;
104} TTF_KERN ;
105
106typedef struct ttf_kern_sub {
107        USHORT version, length, coverage;
108        USHORT nPairs, searchRange, entrySelector, rangeShift;
109} TTF_KERN_SUB;
110
111typedef struct ttf_kern_entry {
112        USHORT  left, right;
113        FWORD   value;
114} TTF_KERN_ENTRY;
115
116typedef struct ttf_cmap_fmt0 {
117        USHORT  format;
118        USHORT  length;
119        USHORT  version;
120        BYTE    glyphIdArray[256];
121} TTF_CMAP_FMT0;
122
123typedef struct ttf_cmap_fmt4 {
124        USHORT  format;
125        USHORT  length;
126        USHORT  version;
127        USHORT  segCountX2;
128        USHORT  searchRange;
129        USHORT  entrySelector;
130        USHORT  rangeShift;
131} TTF_CMAP_FMT4;
132
133typedef struct ttf_cmap_entry {
134        USHORT  platformID;
135        USHORT  encodingID;
136        ULONG   offset;
137} TTF_CMAP_ENTRY;
138
139typedef struct ttf_cmap {
140        USHORT                  version;
141        USHORT                  numberOfEncodingTables;
142        TTF_CMAP_ENTRY  encodingTable[1];
143} TTF_CMAP ;
144
145typedef struct ttf_glyf {
146        SHORT   numberOfContours;
147        FWORD   xMin, yMin, xMax, yMax;
148} TTF_GLYF ;
149
150typedef struct ttf_maxp {
151        ULONG   version;
152        USHORT  numGlyphs, maxPoints, maxContours;
153        USHORT  maxCompositePoints, maxCompositeContours;
154        USHORT  maxZones, maxTwilightPoints, maxStorage;
155        USHORT  maxFunctionDefs, maxInstructionsDefs;
156        USHORT  maxSizeOfInstructions, maxComponentElements;
157        USHORT  maxComponentDepth;
158} TTF_MAXP ;
159
160typedef struct ttf_post_head {
161        ULONG   formatType;
162        FIXED   italicAngle;
163        FWORD   underlinePosition;
164        FWORD   underlineThickness;
165        ULONG   isFixedPitch;
166        ULONG   minMemType42;
167        ULONG   maxMemType42;
168        ULONG   minMemType1;
169        ULONG   maxMemType1;
170        USHORT  numGlyphs;
171        USHORT  glyphNameIndex;
172} TTF_POST_HEAD ;
Note: See TracBrowser for help on using the repository browser.