shithub: freetype+ttf2subf

Download patch

ref: 04338a5e52d19529e4fe77cd370d1235592ba7e1
parent: eaa5a42a12ce1f1fe005109da6841e411babe826
author: Alexei Podtelezhnikov <[email protected]>
date: Tue Jun 12 17:59:15 EDT 2018

Doc fixes and improvements.

git/fs: mount .git/fs: mount/attach disallowed
--- a/include/freetype/freetype.h
+++ b/include/freetype/freetype.h
@@ -64,9 +64,9 @@
    *
    *   A compiler and its preprocessor only needs an include path to find
    *   the file `ft2build.h'; the exact locations and names of the other
-   *   FreeType header files are hidden by preprocessor macro names,
-   *   loaded by `ft2build.h'.  The API documentation always gives the
-   *   header macro name needed for a particular function.
+   *   FreeType header files are hidden by @header_file_macros, loaded by
+   *   `ft2build.h'.  The API documentation always gives the header macro
+   *   name needed for a particular function.
    *
    */
 
--- a/include/freetype/ftchapters.h
+++ b/include/freetype/ftchapters.h
@@ -81,6 +81,7 @@
  *   pcf_driver
  *   properties
  *   parameter_tags
+ *   lcd_rendering
  *
  */
 
@@ -120,7 +121,6 @@
  *   gzip
  *   lzw
  *   bzip2
- *   lcd_rendering
  *
  */
 
--- a/include/freetype/ftlcdfil.h
+++ b/include/freetype/ftlcdfil.h
@@ -73,10 +73,8 @@
    *   3) It should be normalized, meaning 2a~+ 2b~+ c~=~1.0 to maintain
    *      overall brightness.
    *
-   *   The distribution of density values by the color-balanced filter assumes
-   *   alpha blending is done in linear space; only then color artifacts
-   *   cancel out. Boxy 3-tap filter {0, 1/3, 1/3, 1/3, 0} is sharper but is
-   *   less forgiving of non-ideal gamma curves of a screen (viewing angles!),
+   *   Boxy 3-tap filter {0, 1/3, 1/3, 1/3, 0} is sharper but is less
+   *   forgiving of non-ideal gamma curves of a screen (and viewing angles),
    *   beveled filters are fuzzier but more tolerant.
    *
    *   Use the @FT_Library_SetLcdFilter or @FT_Library_SetLcdFilterWeights
@@ -93,10 +91,7 @@
    *
    *   The subpixel geometry must be specified by xy-coordinates for each
    *   subpixel. By convention they may come in the RGB order:
-   *
-   *   {{-1/3, 0}, {0, 0}, {1/3, 0}} for hRGB striped panel (default),
-   *   {{1/3, 0}, {0, 0}, {-1/3, 0}} for hBGR striped panel,
-   *   {{0, 1/3}, {0, 0}, {0, -1/3}} for vRGB striped panel,
+   *   {{-1/3, 0}, {0, 0}, {1/3, 0}} for standard RGB striped panel or
    *   {{-1/6, 1/4}, {-1/6, -1/4}, {1/3, 0}} for a certain PenTile panel.
    *
    *   Use the @FT_Library_SetLcdGeometry API to specify subpixel positions.
@@ -115,9 +110,13 @@
    *   glyph positioning code when enabling the filter.
    *
    *   The ClearType and Harmony rendering is applicable to glyph bitmaps
-   *   rendered through @FT_Render_Glyph, @FT_Load_Glyph, and @FT_Load_Char.
-   *   @FT_RENDER_MODE_LCD or @FT_RENDER_MODE_LCD_V and these technologies do
-   *   not apply to @FT_Outline_Render and @FT_Outline_Get_Bitmap directly.
+   *   rendered through @FT_Render_Glyph, @FT_Load_Glyph, @FT_Load_Char, and
+   *   @FT_Glyph_To_Bitmap, when @FT_RENDER_MODE_LCD or @FT_RENDER_MODE_LCD_V
+   *   is specified.  This API does not control @FT_Outline_Render and
+   *   @FT_Outline_Get_Bitmap.
+   *
+   *   The described algorithms can completely remove color artefacts when
+   *   combined with gamma-corrected alpha blending in linear space.
    *   Each of the 3~alpha values (subpixels) must by independently used to
    *   blend one color channel.  That is, red alpha blends the red channel of
    *   the text color with the red channel of the background pixel.
@@ -294,7 +293,7 @@
    * @note:
    *   Subpixel geometry examples:
    *
-   *   - {{-21, 0}, {0, 0}, {21, 0}} is the default, corresponding 3 color
+   *   - {{-21, 0}, {0, 0}, {21, 0}} is the default, corresponding to 3 color
    *   stripes shifted by a third of a pixel. This could be an RGB panel.
    *
    *   - {{21, 0}, {0, 0}, {-21, 0}} looks the same as the default but