[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:
parent
fd03dcc122
commit
0da2a1155e
|
@ -2736,9 +2736,7 @@
|
||||||
#endif
|
#endif
|
||||||
!face->postscript.isFixedPitch )
|
!face->postscript.isFixedPitch )
|
||||||
{
|
{
|
||||||
loader->widthp = tt_face_get_device_metrics( face,
|
loader->widthp = size->widthp;
|
||||||
size->metrics->x_ppem,
|
|
||||||
0 );
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
loader->widthp = NULL;
|
loader->widthp = NULL;
|
||||||
|
|
|
@ -1435,6 +1435,8 @@
|
||||||
size->ttmetrics.y_ratio = 0x10000L;
|
size->ttmetrics.y_ratio = 0x10000L;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
size->widthp = tt_face_get_device_metrics( face, size_metrics->x_ppem, 0 );
|
||||||
|
|
||||||
size->metrics = size_metrics;
|
size->metrics = size_metrics;
|
||||||
|
|
||||||
#ifdef TT_USE_BYTECODE_INTERPRETER
|
#ifdef TT_USE_BYTECODE_INTERPRETER
|
||||||
|
|
|
@ -282,6 +282,8 @@ FT_BEGIN_HEADER
|
||||||
|
|
||||||
TT_Size_Metrics ttmetrics;
|
TT_Size_Metrics ttmetrics;
|
||||||
|
|
||||||
|
FT_Byte* widthp; /* glyph widths from the hdmx table */
|
||||||
|
|
||||||
FT_ULong strike_index; /* 0xFFFFFFFF to indicate invalid */
|
FT_ULong strike_index; /* 0xFFFFFFFF to indicate invalid */
|
||||||
|
|
||||||
#ifdef TT_USE_BYTECODE_INTERPRETER
|
#ifdef TT_USE_BYTECODE_INTERPRETER
|
||||||
|
|
Loading…
Reference in New Issue