Commits (5)
-
Alexei Podtelezhnikov authored
Eventually, we will use these flags to assess the `hdmx` usability prior to the glyph parsing. * src/truetype/ttinterp.c (TT_RunIns): Move the flag setting to... * src/truetype/ttgload.c (tt_loader_init): ...here where it belongs and which is executed before each glyph is loaded.
34fc55de -
Alexei Podtelezhnikov authored
* src/truetype/ttinterp.c (Ins_INSTCTRL): Limit its global effects to the CVT program and local effects to the glyph program.
2e3455b1 -
Alexei Podtelezhnikov authored
* include/freetype/internal/tttypes.h (TT_LoaderRec): Add field. * src/truetype/ttgload.c (compute_glyph_metrics): Relocate the `hdmx` code from here... (tt_loader_init): ... to here, before the glyph is loaded.
fa353701 -
Alexei Podtelezhnikov authored
This simply shortcuts the glyph loading if FT_LOAD_ADVANCE_ONLY is specified and the `hdmx` data are located. * src/truetype/ttgload.c (TT_Load_Glyph): Insert the shortcut.
eaa10b99 -
Alexei Podtelezhnikov authored
The `hdmx` table is supposed to be sorted by ppem size, which enables binary search. We also drop the check for the sufficient length of the record because it is now enforced when the table is loaded. * include/freetype/internal/tttypes.h (TT_FaceRec): Store the `hdmx` record pointers sorted by ppem instead of ppem's themselves. * src/truetype/ttpload.c (tt_face_load_hdmx): Prudently sort records. (tt_face_get_device_metrics): Implement binary search to retrieve advances.
0dc811b5