forked from minhngoc25a/freetype2
added new `FT_RENDER_MODE_SDF'
This commit is contained in:
parent
e408bda4f9
commit
08ba8d1422
|
@ -1,3 +1,13 @@
|
|||
2020-06-19 Anuj Verma <anujv@iitbhilai.ac.in>
|
||||
|
||||
* include/freetype/freetype.h (FT_Render_Mode_): Added new
|
||||
rendermode `FT_RENDER_MODE_SDF' which will be used by the
|
||||
`sdf' module to generate signed distance fields from glyph's
|
||||
outline.
|
||||
|
||||
* src/sdf/ftsdfrend.h, src/sdf/module.mk, src/sdf/rules.mk:
|
||||
Add a new line at the end of files.
|
||||
|
||||
2020-06-18 Anuj Verma <anujv@iitbhilai.ac.in>
|
||||
|
||||
[sdf] Added the structure of a new module to render
|
||||
|
|
|
@ -3208,10 +3208,14 @@ FT_BEGIN_HEADER
|
|||
* in the @FT_GlyphSlotRec structure gives the format of the returned
|
||||
* bitmap.
|
||||
*
|
||||
* All modes except @FT_RENDER_MODE_MONO use 256 levels of opacity,
|
||||
* indicating pixel coverage. Use linear alpha blending and gamma
|
||||
* correction to correctly render non-monochrome glyph bitmaps onto a
|
||||
* surface; see @FT_Render_Glyph.
|
||||
* All modes except @FT_RENDER_MODE_MONO and @FT_RENDER_MODE_SDF use
|
||||
* 256 levels of opacity, indicating pixel coverage. Use linear alpha
|
||||
* blending and gamma correction to correctly render non-monochrome glyph
|
||||
* bitmaps onto a surface; see @FT_Render_Glyph.
|
||||
*
|
||||
* The @FT_RENDER_MODE_SDF is s special render mode which uses as much
|
||||
* 65536 distance values, indicating the signed distance from the grid
|
||||
* position to the nearest outline.
|
||||
*
|
||||
* @values:
|
||||
* FT_RENDER_MODE_NORMAL ::
|
||||
|
@ -3238,6 +3242,13 @@ FT_BEGIN_HEADER
|
|||
* bitmaps that are 3~times the height of the original glyph outline in
|
||||
* pixels and use the @FT_PIXEL_MODE_LCD_V mode.
|
||||
*
|
||||
* FT_RENDER_MODE_SDF ::
|
||||
* This mode corresponds to 16-bit signed distance fields bitmap. Each
|
||||
* pixel in a SDF bitmap contains information about the nearest edge of
|
||||
* the glyph outline. The distances are calculated from the center of
|
||||
* the pixel and are positive if they are filled by the outline (i.e.
|
||||
* inside the outline) and negative otherwise.
|
||||
*
|
||||
* @note:
|
||||
* The selected render mode only affects vector glyphs of a font.
|
||||
* Embedded bitmaps often have a different pixel mode like
|
||||
|
@ -3251,6 +3262,7 @@ FT_BEGIN_HEADER
|
|||
FT_RENDER_MODE_MONO,
|
||||
FT_RENDER_MODE_LCD,
|
||||
FT_RENDER_MODE_LCD_V,
|
||||
FT_RENDER_MODE_SDF,
|
||||
|
||||
FT_RENDER_MODE_MAX
|
||||
|
||||
|
|
|
@ -17,4 +17,4 @@ FT_END_HEADER
|
|||
#endif /* FTSDFREND_H_ */
|
||||
|
||||
|
||||
/* END */
|
||||
/* END */
|
||||
|
|
|
@ -7,4 +7,4 @@ $(OPEN_DRIVER) FT_Renderer_Class, ft_sdf_renderer_class $(CLOSE_DRIVER)
|
|||
$(ECHO_DRIVER)sdf $(ECHO_DRIVER_DESC) signed distance field renderer $(ECHO_DRIVER_DONE)
|
||||
endef
|
||||
|
||||
#EOF
|
||||
#EOF
|
||||
|
|
|
@ -55,4 +55,4 @@ $(OBJ_DIR)/%.$O: $(SDF_DIR)/%.c $(FREETYPE_H) $(SDF_DRV_H)
|
|||
# update main driver list
|
||||
#
|
||||
DRV_OBJ_S += $(SDF_DRV_OBJ_S)
|
||||
DRV_OBJ_M += $(SDF_DRV_OBJ_M)
|
||||
DRV_OBJ_M += $(SDF_DRV_OBJ_M)
|
||||
|
|
Loading…
Reference in New Issue