< prev index next >

src/java.desktop/share/native/libfreetype/include/freetype/freetype.h

Print this page




 628    *
 629    *   Other encodings might be defined in the future.
 630    *
 631    * @values:
 632    *   FT_ENCODING_NONE ::
 633    *     The encoding value~0 is reserved for all formats except BDF, PCF,
 634    *     and Windows FNT; see below for more information.
 635    *
 636    *   FT_ENCODING_UNICODE ::
 637    *     The Unicode character set.  This value covers all versions of the
 638    *     Unicode repertoire, including ASCII and Latin-1.  Most fonts include
 639    *     a Unicode charmap, but not all of them.
 640    *
 641    *     For example, if you want to access Unicode value U+1F028 (and the
 642    *     font contains it), use value 0x1F028 as the input value for
 643    *     @FT_Get_Char_Index.
 644    *
 645    *   FT_ENCODING_MS_SYMBOL ::
 646    *     Microsoft Symbol encoding, used to encode mathematical symbols and
 647    *     wingdings.  For more information, see
 648    *     'https://www.microsoft.com/typography/otspec/recom.htm',
 649    *     'http://www.kostis.net/charsets/symbol.htm', and
 650    *     'http://www.kostis.net/charsets/wingding.htm'.
 651    *
 652    *     This encoding uses character codes from the PUA (Private Unicode
 653    *     Area) in the range U+F020-U+F0FF.
 654    *
 655    *   FT_ENCODING_SJIS ::
 656    *     Shift JIS encoding for Japanese.  More info at
 657    *     'https://en.wikipedia.org/wiki/Shift_JIS'.  See note on multi-byte
 658    *     encodings below.
 659    *
 660    *   FT_ENCODING_PRC ::
 661    *     Corresponds to encoding systems mainly for Simplified Chinese as
 662    *     used in People's Republic of China (PRC).  The encoding layout is
 663    *     based on GB~2312 and its supersets GBK and GB~18030.
 664    *
 665    *   FT_ENCODING_BIG5 ::
 666    *     Corresponds to an encoding system for Traditional Chinese as used in
 667    *     Taiwan and Hong Kong.
 668    *


1749    *
1750    *   bitmap ::
1751    *     This field is used as a bitmap descriptor.  Note that the address
1752    *     and content of the bitmap buffer can change between calls of
1753    *     @FT_Load_Glyph and a few other functions.
1754    *
1755    *   bitmap_left ::
1756    *     The bitmap's left bearing expressed in integer pixels.
1757    *
1758    *   bitmap_top ::
1759    *     The bitmap's top bearing expressed in integer pixels.  This is the
1760    *     distance from the baseline to the top-most glyph scanline, upwards
1761    *     y~coordinates being **positive**.
1762    *
1763    *   outline ::
1764    *     The outline descriptor for the current glyph image if its format is
1765    *     @FT_GLYPH_FORMAT_OUTLINE.  Once a glyph is loaded, `outline` can be
1766    *     transformed, distorted, emboldened, etc.  However, it must not be
1767    *     freed.
1768    *







1769    *   num_subglyphs ::
1770    *     The number of subglyphs in a composite glyph.  This field is only
1771    *     valid for the composite glyph format that should normally only be
1772    *     loaded with the @FT_LOAD_NO_RECURSE flag.
1773    *
1774    *   subglyphs ::
1775    *     An array of subglyph descriptors for composite glyphs.  There are
1776    *     `num_subglyphs` elements in there.  Currently internal to FreeType.
1777    *
1778    *   control_data ::
1779    *     Certain font drivers can also return the control data for a given
1780    *     glyph image (e.g.  TrueType bytecode, Type~1 charstrings, etc.).
1781    *     This field is a pointer to such data; it is currently internal to
1782    *     FreeType.
1783    *
1784    *   control_len ::
1785    *     This is the length in bytes of the control data.  Currently internal
1786    *     to FreeType.
1787    *
1788    *   other ::


3916   /**************************************************************************
3917    *
3918    * @function:
3919    *   FT_Get_Name_Index
3920    *
3921    * @description:
3922    *   Return the glyph index of a given glyph name.
3923    *
3924    * @input:
3925    *   face ::
3926    *     A handle to the source face object.
3927    *
3928    *   glyph_name ::
3929    *     The glyph name.
3930    *
3931    * @return:
3932    *   The glyph index.  0~means 'undefined character code'.
3933    */
3934   FT_EXPORT( FT_UInt )
3935   FT_Get_Name_Index( FT_Face     face,
3936                      FT_String*  glyph_name );
3937 
3938 
3939   /**************************************************************************
3940    *
3941    * @enum:
3942    *   FT_SUBGLYPH_FLAG_XXX
3943    *
3944    * @description:
3945    *   A list of constants describing subglyphs.  Please refer to the 'glyf'
3946    *   table description in the OpenType specification for the meaning of the
3947    *   various flags (which get synthesized for non-OpenType subglyphs).
3948    *
3949    *     https://docs.microsoft.com/en-us/typography/opentype/spec/glyf#composite-glyph-description
3950    *
3951    * @values:
3952    *   FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS ::
3953    *   FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES ::
3954    *   FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID ::
3955    *   FT_SUBGLYPH_FLAG_SCALE ::
3956    *   FT_SUBGLYPH_FLAG_XY_SCALE ::


4757    *
4758    * @description:
4759    *   These three macros identify the FreeType source code version.  Use
4760    *   @FT_Library_Version to access them at runtime.
4761    *
4762    * @values:
4763    *   FREETYPE_MAJOR ::
4764    *     The major version number.
4765    *   FREETYPE_MINOR ::
4766    *     The minor version number.
4767    *   FREETYPE_PATCH ::
4768    *     The patch level.
4769    *
4770    * @note:
4771    *   The version number of FreeType if built as a dynamic link library with
4772    *   the 'libtool' package is _not_ controlled by these three macros.
4773    *
4774    */
4775 #define FREETYPE_MAJOR  2
4776 #define FREETYPE_MINOR  10
4777 #define FREETYPE_PATCH  0
4778 
4779 
4780   /**************************************************************************
4781    *
4782    * @function:
4783    *   FT_Library_Version
4784    *
4785    * @description:
4786    *   Return the version of the FreeType library being used.  This is useful
4787    *   when dynamically linking to the library, since one cannot use the
4788    *   macros @FREETYPE_MAJOR, @FREETYPE_MINOR, and @FREETYPE_PATCH.
4789    *
4790    * @input:
4791    *   library ::
4792    *     A source library handle.
4793    *
4794    * @output:
4795    *   amajor ::
4796    *     The major version number.
4797    *




 628    *
 629    *   Other encodings might be defined in the future.
 630    *
 631    * @values:
 632    *   FT_ENCODING_NONE ::
 633    *     The encoding value~0 is reserved for all formats except BDF, PCF,
 634    *     and Windows FNT; see below for more information.
 635    *
 636    *   FT_ENCODING_UNICODE ::
 637    *     The Unicode character set.  This value covers all versions of the
 638    *     Unicode repertoire, including ASCII and Latin-1.  Most fonts include
 639    *     a Unicode charmap, but not all of them.
 640    *
 641    *     For example, if you want to access Unicode value U+1F028 (and the
 642    *     font contains it), use value 0x1F028 as the input value for
 643    *     @FT_Get_Char_Index.
 644    *
 645    *   FT_ENCODING_MS_SYMBOL ::
 646    *     Microsoft Symbol encoding, used to encode mathematical symbols and
 647    *     wingdings.  For more information, see
 648    *     'https://www.microsoft.com/typography/otspec/recom.htm#non-standard-symbol-fonts',
 649    *     'http://www.kostis.net/charsets/symbol.htm', and
 650    *     'http://www.kostis.net/charsets/wingding.htm'.
 651    *
 652    *     This encoding uses character codes from the PUA (Private Unicode
 653    *     Area) in the range U+F020-U+F0FF.
 654    *
 655    *   FT_ENCODING_SJIS ::
 656    *     Shift JIS encoding for Japanese.  More info at
 657    *     'https://en.wikipedia.org/wiki/Shift_JIS'.  See note on multi-byte
 658    *     encodings below.
 659    *
 660    *   FT_ENCODING_PRC ::
 661    *     Corresponds to encoding systems mainly for Simplified Chinese as
 662    *     used in People's Republic of China (PRC).  The encoding layout is
 663    *     based on GB~2312 and its supersets GBK and GB~18030.
 664    *
 665    *   FT_ENCODING_BIG5 ::
 666    *     Corresponds to an encoding system for Traditional Chinese as used in
 667    *     Taiwan and Hong Kong.
 668    *


1749    *
1750    *   bitmap ::
1751    *     This field is used as a bitmap descriptor.  Note that the address
1752    *     and content of the bitmap buffer can change between calls of
1753    *     @FT_Load_Glyph and a few other functions.
1754    *
1755    *   bitmap_left ::
1756    *     The bitmap's left bearing expressed in integer pixels.
1757    *
1758    *   bitmap_top ::
1759    *     The bitmap's top bearing expressed in integer pixels.  This is the
1760    *     distance from the baseline to the top-most glyph scanline, upwards
1761    *     y~coordinates being **positive**.
1762    *
1763    *   outline ::
1764    *     The outline descriptor for the current glyph image if its format is
1765    *     @FT_GLYPH_FORMAT_OUTLINE.  Once a glyph is loaded, `outline` can be
1766    *     transformed, distorted, emboldened, etc.  However, it must not be
1767    *     freed.
1768    *
1769    *     [Since 2.10.1] If @FT_LOAD_NO_SCALE is set, outline coordinates of
1770    *     OpenType variation fonts for a selected instance are internally
1771    *     handled as 26.6 fractional font units but returned as (rounded)
1772    *     integers, as expected.  To get unrounded font units, don't use
1773    *     @FT_LOAD_NO_SCALE but load the glyph with @FT_LOAD_NO_HINTING and
1774    *     scale it, using the font's `units_per_EM` value as the ppem.
1775    *
1776    *   num_subglyphs ::
1777    *     The number of subglyphs in a composite glyph.  This field is only
1778    *     valid for the composite glyph format that should normally only be
1779    *     loaded with the @FT_LOAD_NO_RECURSE flag.
1780    *
1781    *   subglyphs ::
1782    *     An array of subglyph descriptors for composite glyphs.  There are
1783    *     `num_subglyphs` elements in there.  Currently internal to FreeType.
1784    *
1785    *   control_data ::
1786    *     Certain font drivers can also return the control data for a given
1787    *     glyph image (e.g.  TrueType bytecode, Type~1 charstrings, etc.).
1788    *     This field is a pointer to such data; it is currently internal to
1789    *     FreeType.
1790    *
1791    *   control_len ::
1792    *     This is the length in bytes of the control data.  Currently internal
1793    *     to FreeType.
1794    *
1795    *   other ::


3923   /**************************************************************************
3924    *
3925    * @function:
3926    *   FT_Get_Name_Index
3927    *
3928    * @description:
3929    *   Return the glyph index of a given glyph name.
3930    *
3931    * @input:
3932    *   face ::
3933    *     A handle to the source face object.
3934    *
3935    *   glyph_name ::
3936    *     The glyph name.
3937    *
3938    * @return:
3939    *   The glyph index.  0~means 'undefined character code'.
3940    */
3941   FT_EXPORT( FT_UInt )
3942   FT_Get_Name_Index( FT_Face           face,
3943                      const FT_String*  glyph_name );
3944 
3945 
3946   /**************************************************************************
3947    *
3948    * @enum:
3949    *   FT_SUBGLYPH_FLAG_XXX
3950    *
3951    * @description:
3952    *   A list of constants describing subglyphs.  Please refer to the 'glyf'
3953    *   table description in the OpenType specification for the meaning of the
3954    *   various flags (which get synthesized for non-OpenType subglyphs).
3955    *
3956    *     https://docs.microsoft.com/en-us/typography/opentype/spec/glyf#composite-glyph-description
3957    *
3958    * @values:
3959    *   FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS ::
3960    *   FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES ::
3961    *   FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID ::
3962    *   FT_SUBGLYPH_FLAG_SCALE ::
3963    *   FT_SUBGLYPH_FLAG_XY_SCALE ::


4764    *
4765    * @description:
4766    *   These three macros identify the FreeType source code version.  Use
4767    *   @FT_Library_Version to access them at runtime.
4768    *
4769    * @values:
4770    *   FREETYPE_MAJOR ::
4771    *     The major version number.
4772    *   FREETYPE_MINOR ::
4773    *     The minor version number.
4774    *   FREETYPE_PATCH ::
4775    *     The patch level.
4776    *
4777    * @note:
4778    *   The version number of FreeType if built as a dynamic link library with
4779    *   the 'libtool' package is _not_ controlled by these three macros.
4780    *
4781    */
4782 #define FREETYPE_MAJOR  2
4783 #define FREETYPE_MINOR  10
4784 #define FREETYPE_PATCH  1
4785 
4786 
4787   /**************************************************************************
4788    *
4789    * @function:
4790    *   FT_Library_Version
4791    *
4792    * @description:
4793    *   Return the version of the FreeType library being used.  This is useful
4794    *   when dynamically linking to the library, since one cannot use the
4795    *   macros @FREETYPE_MAJOR, @FREETYPE_MINOR, and @FREETYPE_PATCH.
4796    *
4797    * @input:
4798    *   library ::
4799    *     A source library handle.
4800    *
4801    * @output:
4802    *   amajor ::
4803    *     The major version number.
4804    *


< prev index next >