[truetype] Upstream the hdmx binary search.

* src/truetype/ttobjs.h (TT_SizeRec): Add `widthp` for the hdmx
widths.
* src/truetype/ttobjs.c (tt_size_reset): Initialize `widthp` even
though it might never be used by the interpreter.
* src/truetype/ttgload.c (tt_loader_init): Avoid repeated searches
in the hdmx table.
This commit is contained in:
Alexei Podtelezhnikov 2021-12-13 11:44:24 -05:00
parent fd03dcc122
commit 0da2a1155e
3 changed files with 5 additions and 3 deletions

View File

@ -2736,9 +2736,7 @@
#endif
!face->postscript.isFixedPitch )
{
loader->widthp = tt_face_get_device_metrics( face,
size->metrics->x_ppem,
0 );
loader->widthp = size->widthp;
}
else
loader->widthp = NULL;

View File

@ -1435,6 +1435,8 @@
size->ttmetrics.y_ratio = 0x10000L;
}
size->widthp = tt_face_get_device_metrics( face, size_metrics->x_ppem, 0 );
size->metrics = size_metrics;
#ifdef TT_USE_BYTECODE_INTERPRETER

View File

@ -282,6 +282,8 @@ FT_BEGIN_HEADER
TT_Size_Metrics ttmetrics;
FT_Byte* widthp; /* glyph widths from the hdmx table */
FT_ULong strike_index; /* 0xFFFFFFFF to indicate invalid */
#ifdef TT_USE_BYTECODE_INTERPRETER