Skip to content

Commit

Permalink
Add SDF HintingMode
Browse files Browse the repository at this point in the history
  • Loading branch information
Labrium committed Sep 1, 2023
1 parent 2deb627 commit 0abff32
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 0 deletions.
1 change: 1 addition & 0 deletions src/modules/font/TrueTypeRasterizer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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));
Expand Down
1 change: 1 addition & 0 deletions src/modules/font/TrueTypeRasterizer.h
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ class TrueTypeRasterizer : public Rasterizer
HINTING_LIGHT,
HINTING_MONO,
HINTING_NONE,
HINTING_SDF,
HINTING_MAX_ENUM
};

Expand Down
4 changes: 4 additions & 0 deletions src/modules/font/freetype/TrueTypeRasterizer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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);

Expand Down Expand Up @@ -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;
}
Expand Down

0 comments on commit 0abff32

Please sign in to comment.