[truetype] Ingnore FT_LOAD_NO_BITMAP in bitmap-only fonts.

For consistency with other bitmap-only fonts, we should ignore this
flag of the font is not scalable.

* src/truetype/ttgload.c (TT_Load_Glyph): Check if face is scalable
when checking for FT_LOAD_NO_BITMAP.

* docs/CHANGES: Start new chapter wtith this change.
This commit is contained in:
Alexei Podtelezhnikov 2024-12-31 16:25:50 -05:00
parent 38272bf853
commit 4ef8eed11b
2 changed files with 18 additions and 4 deletions

View File

@ -1,3 +1,16 @@
CHANGES BETWEEN 2.13.3 and 2.13.4 (2025-Mmm-DD)
I. IMPORTANT CHANGES
- Bitmap-only TrueType fonts now ignore FT_LOAD_NO_BITMAP flag and
proceed loading bitmaps instead of giving an error. This behavior
is documented and implemented for other bitmap-only fonts. The
flag has always meant to suppress the bitmap strikes in favor of
outlines, not to ban them completely.
======================================================================
CHANGES BETWEEN 2.13.2 and 2.13.3 (2024-Aug-11)
I. IMPORTANT CHANGES
@ -579,7 +592,7 @@ CHANGES BETWEEN 2.9.1 and 2.10.0 (2019-Mar-15)
Set text foreground color for palette index 0xFFFF.
FT_Get_Color_Glyph_Layer
Get color layers for a given glyph (using an interator
Get color layers for a given glyph (using an iterator
object).
FT_Bitmap_Blend

View File

@ -2427,9 +2427,10 @@
#ifdef TT_CONFIG_OPTION_EMBEDDED_BITMAPS
/* try to load embedded bitmap (if any) */
if ( size->strike_index != 0xFFFFFFFFUL &&
( load_flags & FT_LOAD_NO_BITMAP ) == 0 &&
IS_DEFAULT_INSTANCE( glyph->face ) )
if ( size->strike_index != 0xFFFFFFFFUL &&
!( load_flags & FT_LOAD_NO_BITMAP &&
FT_IS_SCALABLE( glyph->face ) ) &&
IS_DEFAULT_INSTANCE( glyph->face ) )
{
FT_Fixed x_scale = size->root.metrics.x_scale;
FT_Fixed y_scale = size->root.metrics.y_scale;