summaryrefslogtreecommitdiff
path: root/include/freetype/config/ftoption.h
diff options
context:
space:
mode:
authorAlexei Podtelezhnikov <apodtele@gmail.com>2017-03-09 00:08:38 -0500
committerAlexei Podtelezhnikov <apodtele@gmail.com>2017-08-08 22:29:51 -0400
commit410f3799b6a193e20b34c574e6f0f2be2428b1eb (patch)
tree4ffe187bc74d51aab76ce343aa5d221a90a32f11 /include/freetype/config/ftoption.h
parent5710ef989da2be3db21d875ac48eb980564c052b (diff)
downloadfreetype2-410f3799b6a193e20b34c574e6f0f2be2428b1eb.tar.gz
[smooth] Harmony LCD rendering.
This is a new technology for LCD-optimized rendering. It capitalizes on the fact that each color channel grid is shifted by a third of a pixel. Therefore it is logical to render 3 separate monochrome bitmaps shifting the outline by 1/3 pixel, and then combine them. Importantly, the resulting output does not require additional LCD filtering. * src/smooth/ftsmooth.c (ft_smooth_render_generic) [!FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Implement new LCD-optimized rendering. * include/freetype/ftlcdfil.h, include/freetype/freetype.h, include/freetype/config/ftoption.h, devel/ftoption.h: Updated documentation.
Diffstat (limited to 'include/freetype/config/ftoption.h')
-rw-r--r--include/freetype/config/ftoption.h19
1 files changed, 8 insertions, 11 deletions
diff --git a/include/freetype/config/ftoption.h b/include/freetype/config/ftoption.h
index 935e20d8d..2fbe80b9b 100644
--- a/include/freetype/config/ftoption.h
+++ b/include/freetype/config/ftoption.h
@@ -107,20 +107,17 @@ FT_BEGIN_HEADER
/*************************************************************************/
/* */
- /* Uncomment the line below if you want to activate sub-pixel rendering */
- /* (a.k.a. LCD rendering, or ClearType) in this build of the library. */
+ /* Uncomment the line below if you want to activate LCD rendering */
+ /* technology similar to ClearType in this build of the library. This */
+ /* technology triples the resolution in the direction color subpixels. */
+ /* To mitigate color fringes inherent to this technology, you also need */
+ /* to explicitly set up LCD filtering. */
/* */
/* Note that this feature is covered by several Microsoft patents */
/* and should not be activated in any default build of the library. */
- /* */
- /* This macro has no impact on the FreeType API, only on its */
- /* _implementation_. For example, using FT_RENDER_MODE_LCD when calling */
- /* FT_Render_Glyph still generates a bitmap that is 3 times wider than */
- /* the original size in case this macro isn't defined; however, each */
- /* triplet of subpixels has R=G=B. */
- /* */
- /* This is done to allow FreeType clients to run unmodified, forcing */
- /* them to display normal gray-level anti-aliased glyphs. */
+ /* When this macro is not defined, FreeType offers alternative LCD */
+ /* rendering technology that produces excellent output without LCD */
+ /* filtering. */
/* */
/* #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING */