Add SDF HintingMode

This commit is contained in:
Labrium
2023-09-01 15:33:28 -06:00
parent 2deb6273c2
commit 0abff326f9
3 changed files with 6 additions and 0 deletions
+1
View File
@@ -46,6 +46,7 @@ StringMap<TrueTypeRasterizer::Hinting, TrueTypeRasterizer::HINTING_MAX_ENUM>::En
{"light", HINTING_LIGHT},
{"mono", HINTING_MONO},
{"none", HINTING_NONE},
{"sdf", HINTING_SDF},
};
StringMap<TrueTypeRasterizer::Hinting, TrueTypeRasterizer::HINTING_MAX_ENUM> TrueTypeRasterizer::hintings(TrueTypeRasterizer::hintingEntries, sizeof(TrueTypeRasterizer::hintingEntries));
+1
View File
@@ -41,6 +41,7 @@ public:
HINTING_LIGHT,
HINTING_MONO,
HINTING_NONE,
HINTING_SDF,
HINTING_MAX_ENUM
};
@@ -97,6 +97,8 @@ GlyphData *TrueTypeRasterizer::getGlyphData(uint32 glyph) const
FT_Render_Mode rendermode = FT_RENDER_MODE_NORMAL;
if (hinting == HINTING_MONO)
rendermode = FT_RENDER_MODE_MONO;
else if (hinting == HINTING_SDF)
rendermode = FT_RENDER_MODE_SDF;
err = FT_Glyph_To_Bitmap(&ftglyph, rendermode, 0, 1);
@@ -206,6 +208,8 @@ FT_UInt TrueTypeRasterizer::hintingToLoadOption(Hinting hint)
return FT_LOAD_TARGET_LIGHT;
case HINTING_MONO:
return FT_LOAD_TARGET_MONO;
case HINTING_SDF:
return FT_LOAD_RENDER;
case HINTING_NONE:
return FT_LOAD_NO_HINTING;
}