Fixes the issue that font size is inconsistent.
This commit fixes the issue that font size is inconsistent between different font files. `stb_truetype.h` is also updated to the latest version to support additional font types such as OpenType fonts.master
parent
1f9c8864fc
commit
69e1a47511
|
@ -194,7 +194,7 @@ void fons__tt_getFontVMetrics(FONSttFontImpl *font, int *ascent, int *descent, i
|
|||
|
||||
float fons__tt_getPixelHeightScale(FONSttFontImpl *font, float size)
|
||||
{
|
||||
return size / (font->font->ascender - font->font->descender);
|
||||
return size / font->font->units_per_EM;
|
||||
}
|
||||
|
||||
int fons__tt_getGlyphIndex(FONSttFontImpl *font, int codepoint)
|
||||
|
@ -210,7 +210,7 @@ int fons__tt_buildGlyphBitmap(FONSttFontImpl *font, int glyph, float size, float
|
|||
FT_Fixed advFixed;
|
||||
FONS_NOTUSED(scale);
|
||||
|
||||
ftError = FT_Set_Pixel_Sizes(font->font, 0, (FT_UInt)(size * (float)font->font->units_per_EM / (float)(font->font->ascender - font->font->descender)));
|
||||
ftError = FT_Set_Pixel_Sizes(font->font, 0, size);
|
||||
if (ftError) return 0;
|
||||
ftError = FT_Load_Glyph(font->font, glyph, FT_LOAD_RENDER | FT_LOAD_FORCE_AUTOHINT);
|
||||
if (ftError) return 0;
|
||||
|
@ -295,7 +295,7 @@ void fons__tt_getFontVMetrics(FONSttFontImpl *font, int *ascent, int *descent, i
|
|||
|
||||
float fons__tt_getPixelHeightScale(FONSttFontImpl *font, float size)
|
||||
{
|
||||
return stbtt_ScaleForPixelHeight(&font->font, size);
|
||||
return stbtt_ScaleForMappingEmToPixels(&font->font, size);
|
||||
}
|
||||
|
||||
int fons__tt_getGlyphIndex(FONSttFontImpl *font, int codepoint)
|
||||
|
|
2094
src/stb_truetype.h
2094
src/stb_truetype.h
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue