34 #ifndef __HPGS_FONT_H__
35 #define __HPGS_FONT_H__
40 HPGS_INTERNAL_API
void hpgs_font_init();
41 HPGS_INTERNAL_API
void hpgs_font_cleanup();
44 #define HPGS_FONT_MAX_TTF_TABLES 32
72 uint32_t fontRevision;
73 uint32_t checkSumAdjustment;
82 int32_t modified_high;
88 int16_t lowestRecPPEM;
89 int16_t fontDirectionHint;
90 int16_t indexToLocFormat;
91 int16_t glyphDataFormat;
99 uint16_t advanceWidthMax;
100 int16_t minLeftSideBearing;
101 int16_t minRightSideBearing;
103 int16_t caretSlopeRise;
104 int16_t caretSlopeRun;
110 int16_t metricDataFormat;
111 uint16_t numOfLongHorMetrics;
118 uint16_t maxContours;
119 uint16_t maxComponentPoints;
120 uint16_t maxComponentContours;
122 uint16_t maxTwilightPoints;
124 uint16_t maxFunctionDefs;
125 uint16_t maxInstructionDefs;
126 uint16_t maxStackElements;
127 uint16_t maxSizeOfInstructions;
128 uint16_t maxComponentElements;
129 uint16_t maxComponentDepth;
134 uint16_t advanceWidth;
135 int16_t leftSideBearing;
143 uint16_t idRangeOffset;
151 size_t glyphIndexArray_sz;
152 uint16_t *glyphIndexArray;
159 int16_t underlinePosition;
160 int16_t underlineThickness;
161 uint32_t isFixedPitch;
162 uint32_t minMemType42;
163 uint32_t maxMemType42;
164 uint32_t minMemType1;
165 uint32_t maxMemType1;
166 uint16_t numberOfGlyphs;
169 const char *name_data;
172 #define HPGS_FONT_GLYPH_POINT_START 1
173 #define HPGS_FONT_GLYPH_POINT_ONCURVE 2
174 #define HPGS_FONT_GLYPH_POINT_CONTROL 3
196 size_t refs_alloc_sz;