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;
A bounding box.
Definition: hpgs.h:297
Definition: hpgsfont.h:139
Definition: hpgsfont.h:147
A truetype font directory entry.
Definition: hpgsfont.h:288
hpgs_font * font
Definition: hpgsfont.h:293
char * font_name
Definition: hpgsfont.h:290
char * filename
Definition: hpgsfont.h:291
Definition: hpgsfont.h:189
size_t begin_kern_pair
Definition: hpgsfont.h:199
size_t end_kern_pair
Definition: hpgsfont.h:200
Definition: hpgsfont.h:177
Definition: hpgsfont.h:183
Definition: hpgsfont.h:70
Definition: hpgsfont.h:94
A ttf kerning pair.
Definition: hpgsfont.h:207
double value
Definition: hpgsfont.h:211
uint16_t right_gid
Definition: hpgsfont.h:209
uint16_t left_gid
Definition: hpgsfont.h:208
Definition: hpgsfont.h:133
Definition: hpgsfont.h:114
Definition: hpgsfont.h:156
A truetype font.
Definition: hpgsfont.h:250
int * glyph_cache_positions
Definition: hpgsfont.h:272
size_t n_cached_glyphs
Definition: hpgsfont.h:277
size_t nref
Definition: hpgsfont.h:281
hpgs_istream * is
Definition: hpgsfont.h:251
hpgs_font_maxp_data maxp_data
Definition: hpgsfont.h:258
hpgs_font_longHorMetrics * hmtx_data
Definition: hpgsfont.h:260
hpgs_font_glyph_data * glyph_cache
Definition: hpgsfont.h:278
size_t loca_data_sz
Definition: hpgsfont.h:264
hpgs_font_cmap_data cmap_data
Definition: hpgsfont.h:266
hpgs_mutex_t mutex
Definition: hpgsfont.h:280
uint32_t * loca_data
Definition: hpgsfont.h:263
hpgs_font_hhea_data hhea_data
Definition: hpgsfont.h:257
hpgs_font_head_data head_data
Definition: hpgsfont.h:256
hpgs_font_post_data post_data
Definition: hpgsfont.h:267
size_t kern_data_sz
Definition: hpgsfont.h:270
Definition: hpgsfont.h:63
A virtual input stream for the HPGL reader.
Definition: hpgs.h:427
A transformation matrix for 2D points.
Definition: hpgs.h:341
A 2D point.
Definition: hpgs.h:227