More documentation updates.

In particular, mark the new behaviour of `FT_LOAD_COLOR' as experimental.
This commit is contained in:
Werner Lemberg 2019-02-23 11:21:48 +01:00
parent 6ab36880ce
commit 4d51f78de9
6 changed files with 64 additions and 28 deletions

View File

@ -747,8 +747,8 @@ FT_BEGIN_HEADER
* `T1_MAX_CHARSTRING_OPERANDS` is the charstring stack's capacity. A * `T1_MAX_CHARSTRING_OPERANDS` is the charstring stack's capacity. A
* minimum of~16 is required. * minimum of~16 is required.
* *
* The Chinese font 'MingTiEG-Medium' (covering a CNS 11643 character set) * The Chinese font 'MingTiEG-Medium' (covering the CNS 11643 character
* needs 256. * set) needs 256.
*/ */
#define T1_MAX_CHARSTRINGS_OPERANDS 256 #define T1_MAX_CHARSTRINGS_OPERANDS 256

View File

@ -7,13 +7,29 @@ CHANGES BETWEEN 2.9.1 and 2.10
II. IMPORTANT CHANGES II. IMPORTANT CHANGES
- A bunch of new functions has been added to access and process - A bunch of new functions has been added to access and process
COLR/CPAL data of OpenType fonts with coloured glyph layers. COLR/CPAL data of OpenType fonts with color-layered glyphs.
FT_Palette_Data_Get FT_Palette_Data_Get
Retrieve color palette data.
FT_Palette_Select FT_Palette_Select
Select and activate a color palette for color-layered
glyphs.
FT_Palette_Set_Foreground_Color FT_Palette_Set_Foreground_Color
Set text foreground color for palette index 0xFFFF.
FT_Get_Color_Glyph_Layer FT_Get_Color_Glyph_Layer
Get color layers for a given glyph (using an interator
object).
FT_Bitmap_Blend FT_Bitmap_Blend
Blend one bitmap onto another with a given color.
- An experimental feature is the new behaviour of the
`FT_LOAD_COLOR' load flag for color-layered glyphs: Internally
it sets a flag so that if `FT_Render_Glyph' is called with
`FT_RENDER_MODE_NORMAL' (or `FT_Load_Glyph' with
`FT_LOAD_RENDER'), a default blending of the color glyph layers
will happen automatically for convenience.
III. MISCELLANEOUS III. MISCELLANEOUS
@ -84,6 +100,27 @@ CHANGES BETWEEN 2.9.1 and 2.10
removed. [Compilation with modern compilers that use flags like removed. [Compilation with modern compilers that use flags like
`-fPIC' or `-fPIE' is not affected.] `-fPIC' or `-fPIE' is not affected.]
- The `ftdump' demo program has new options `-c' and `-C' to
display charmaps in compact and detailed format, respectively.
Option `-V' has been removed.
- The `ftview', `ftstring', and `ftgrid' demo programs use a new
command line option `-d' to specify the program window's width,
height, and color depth.
- The `ftview' demo program now displays red boxes for zero-width
glyphs.
- `ftglyph' has limited support to display fonts with
color-layered glyphs. This will be improved later on.
- `ftgrid' can now display bitmap fonts also.
- The `ttdebug' demo program has a new option `-f' to select a
member of a TrueType collection (TTC).
- Other various improvements to the demo programs.
====================================================================== ======================================================================
@ -321,7 +358,7 @@ CHANGES BETWEEN 2.7.1 and 2.8
following properties can be handled: stem darkening, LCD filter following properties can be handled: stem darkening, LCD filter
weights, and the random seed for the `random' CFF operator. weights, and the random seed for the `random' CFF operator.
- The PCF change to show more `colourful' family names (introduced - The PCF change to show more `colorful' family names (introduced
in version 2.7.1) was too radical; it can now be configured with in version 2.7.1) was too radical; it can now be configured with
PCF_CONFIG_OPTION_LONG_FAMILY_NAMES at compile time. If PCF_CONFIG_OPTION_LONG_FAMILY_NAMES at compile time. If
activated, it can be switched off at run time with the new pcf activated, it can be switched off at run time with the new pcf
@ -472,7 +509,7 @@ CHANGES BETWEEN 2.7 and 2.7.1
and the number of CVT entries. Please report if you encounter a and the number of CVT entries. Please report if you encounter a
font where the selected values are not adequate. font where the selected values are not adequate.
- PCF family names are made more `colourful'; they now include the - PCF family names are made more `colorful'; they now include the
foundry and information whether they contain wide characters. foundry and information whether they contain wide characters.
For example, you no longer get `Fixed' but rather `Sony Fixed' For example, you no longer get `Fixed' but rather `Sony Fixed'
or `Misc Fixed Wide'. or `Misc Fixed Wide'.
@ -756,8 +793,8 @@ CHANGES BETWEEN 2.6.1 and 2.6.2
- The `ftstring' demo program now supports subpixel rendering; use - The `ftstring' demo program now supports subpixel rendering; use
key `l' to cycle through the LCD modes. key `l' to cycle through the LCD modes.
- The `ftstring' demo program now supports colour rendering; use - The `ftstring' demo program now supports color rendering; use
the `space' key to cycle through various colour combinations. the `space' key to cycle through various color combinations.
- The graphical demo programs now use a default gamma value of 1.8 - The graphical demo programs now use a default gamma value of 1.8
(instead of 1.2). (instead of 1.2).

View File

@ -747,8 +747,8 @@ FT_BEGIN_HEADER
* `T1_MAX_CHARSTRING_OPERANDS` is the charstring stack's capacity. A * `T1_MAX_CHARSTRING_OPERANDS` is the charstring stack's capacity. A
* minimum of~16 is required. * minimum of~16 is required.
* *
* The Chinese font 'MingTiEG-Medium' (covering a CNS 11643 character set) * The Chinese font 'MingTiEG-Medium' (covering the CNS 11643 character
* needs 256. * set) needs 256.
*/ */
#define T1_MAX_CHARSTRINGS_OPERANDS 256 #define T1_MAX_CHARSTRINGS_OPERANDS 256

View File

@ -2968,15 +2968,15 @@ FT_BEGIN_HEADER
* color bitmaps are found, they are converted to 256-level gray * color bitmaps are found, they are converted to 256-level gray
* bitmaps, using the @FT_PIXEL_MODE_GRAY format. * bitmaps, using the @FT_PIXEL_MODE_GRAY format.
* *
* [Since 2.10] If the glyph index contains an entry in the face's * [Since 2.10, experimental] If the glyph index contains an entry in
* 'COLR' table with a 'CPAL' palette table (as defined in the OpenType * the face's 'COLR' table with a 'CPAL' palette table (as defined in
* specification), make @FT_Render_Glyph provide a default blending of * the OpenType specification), make @FT_Render_Glyph provide a default
* the color glyph layers associated with the glyph index, using the * blending of the color glyph layers associated with the glyph index,
* same bitmap format as embedded color bitmap images. This is mainly * using the same bitmap format as embedded color bitmap images. This
* for convenience; for full control of color layers use * is mainly for convenience; for full control of color layers use
* @FT_Get_Color_Glyph_Layer and FreeType's color functions like * @FT_Get_Color_Glyph_Layer and FreeType's color functions like
* @FT_Palette_Select instead of setting FT_LOAD_COLOR for rendering so * @FT_Palette_Select instead of setting @FT_LOAD_COLOR for rendering
* that the client application can handle blending by itself. * so that the client application can handle blending by itself.
* *
* FT_LOAD_COMPUTE_METRICS :: * FT_LOAD_COMPUTE_METRICS ::
* [Since 2.6.1] Compute glyph metrics from the glyph data, without the * [Since 2.6.1] Compute glyph metrics from the glyph data, without the
@ -3288,11 +3288,12 @@ FT_BEGIN_HEADER
* The render mode used to render the glyph image into a bitmap. See * The render mode used to render the glyph image into a bitmap. See
* @FT_Render_Mode for a list of possible values. * @FT_Render_Mode for a list of possible values.
* *
* If @FT_RENDER_MODE_NORMAL is used, the flag @FT_LOAD_COLOR can be * If @FT_RENDER_MODE_NORMAL is used, a previous call of @FT_Load_Glyph
* additionally set to make the function provide a default blending of * with flag @FT_LOAD_COLOR makes the FT_Render_Glyph provide a default
* colored glyph layers associated with the current glyph slot * blending of colored glyph layers associated with the current glyph
* (provided the font contains such layers) instead of rendering the * slot (provided the font contains such layers) instead of rendering
* glyph slot's outline. See @FT_LOAD_COLOR for more information. * the glyph slot's outline. This is an experimental feature; see
* @FT_LOAD_COLOR for more information.
* *
* @return: * @return:
* FreeType error code. 0~means success. * FreeType error code. 0~means success.
@ -4126,8 +4127,9 @@ FT_BEGIN_HEADER
* objects (like @FT_Get_Glyph or @FT_Glyph_To_Bitmap) don't have access * objects (like @FT_Get_Glyph or @FT_Glyph_To_Bitmap) don't have access
* to this information. * to this information.
* *
* @FT_Render_Glyph, however, handles colored glyph layers automatically * Note that @FT_Render_Glyph is able to handle colored glyph layers
* if the @FT_LOAD_COLOR flag is passed to it. * automatically if the @FT_LOAD_COLOR flag is passed to a previous call
* to @FT_Load_Glyph. [This is an experimental feature.]
* *
* @example: * @example:
* ``` * ```

View File

@ -249,9 +249,6 @@ FT_BEGIN_HEADER
* FreeType error code. 0~means success. * FreeType error code. 0~means success.
* *
* @note: * @note:
* The number of color entries is given by the `num_palette_entries`
* field in the @FT_Palette_Data structure.
*
* The array pointed to by `apalette_entries` is owned and managed by * The array pointed to by `apalette_entries` is owned and managed by
* FreeType. * FreeType.
* *

View File

@ -844,7 +844,7 @@
if ( !( source_->width && source_->rows ) ) if ( !( source_->width && source_->rows ) )
return FT_Err_Ok; /* nothing to do */ return FT_Err_Ok; /* nothing to do */
/* assure integer pixel offset s */ /* assure integer pixel offsets */
source_offset.x = FT_PIX_FLOOR( source_offset_.x ); source_offset.x = FT_PIX_FLOOR( source_offset_.x );
source_offset.y = FT_PIX_FLOOR( source_offset_.y ); source_offset.y = FT_PIX_FLOOR( source_offset_.y );
target_offset.x = FT_PIX_FLOOR( atarget_offset->x ); target_offset.x = FT_PIX_FLOOR( atarget_offset->x );