From 462f18c7b25fe3e467f837647d07ab0a78aa8d2b Mon Sep 17 00:00:00 2001 From: marha Date: Sun, 22 Feb 2015 21:39:56 +0100 Subject: Merged origin/release (checked in because wanted to merge new stuff) --- freetype/docs/reference/ft2-auto_hinter.html | 329 +- freetype/docs/reference/ft2-base_interface.html | 4814 +++++++++----------- freetype/docs/reference/ft2-basic_types.html | 1525 +++---- freetype/docs/reference/ft2-bdf_fonts.html | 336 +- freetype/docs/reference/ft2-bitmap_handling.html | 383 +- freetype/docs/reference/ft2-bzip2.html | 151 +- freetype/docs/reference/ft2-cache_subsystem.html | 1500 +++--- freetype/docs/reference/ft2-cff_driver.html | 231 +- freetype/docs/reference/ft2-cid_fonts.html | 278 +- freetype/docs/reference/ft2-computations.html | 1002 ++-- freetype/docs/reference/ft2-font_formats.html | 145 +- freetype/docs/reference/ft2-gasp_table.html | 215 +- freetype/docs/reference/ft2-glyph_management.html | 687 ++- freetype/docs/reference/ft2-glyph_stroker.html | 1161 +++-- freetype/docs/reference/ft2-glyph_variants.html | 347 +- freetype/docs/reference/ft2-gx_validation.html | 534 +-- freetype/docs/reference/ft2-gzip.html | 213 +- .../docs/reference/ft2-header_file_macros.html | 1011 ++-- freetype/docs/reference/ft2-header_inclusion.html | 105 +- freetype/docs/reference/ft2-incremental.html | 450 +- freetype/docs/reference/ft2-index.html | 632 +-- freetype/docs/reference/ft2-lcd_filtering.html | 255 +- freetype/docs/reference/ft2-list_processing.html | 630 ++- freetype/docs/reference/ft2-lzw.html | 151 +- freetype/docs/reference/ft2-mac_specific.html | 436 +- freetype/docs/reference/ft2-module_management.html | 974 ++-- freetype/docs/reference/ft2-multiple_masters.html | 563 ++- freetype/docs/reference/ft2-ot_validation.html | 313 +- .../docs/reference/ft2-outline_processing.html | 1485 +++--- freetype/docs/reference/ft2-pfr_fonts.html | 268 +- freetype/docs/reference/ft2-quick_advance.html | 256 +- freetype/docs/reference/ft2-raster.html | 732 ++- freetype/docs/reference/ft2-sfnt_names.html | 298 +- freetype/docs/reference/ft2-sizes_management.html | 234 +- freetype/docs/reference/ft2-system_interface.html | 474 +- freetype/docs/reference/ft2-toc.html | 279 +- freetype/docs/reference/ft2-truetype_engine.html | 198 +- freetype/docs/reference/ft2-truetype_tables.html | 1477 +++--- freetype/docs/reference/ft2-tt_driver.html | 178 +- freetype/docs/reference/ft2-type1_tables.html | 1087 +++-- freetype/docs/reference/ft2-user_allocation.html | 105 +- freetype/docs/reference/ft2-version.html | 321 +- freetype/docs/reference/ft2-winfnt_fonts.html | 306 +- 43 files changed, 13039 insertions(+), 14030 deletions(-) (limited to 'freetype/docs/reference') diff --git a/freetype/docs/reference/ft2-auto_hinter.html b/freetype/docs/reference/ft2-auto_hinter.html index d434ec47c..71dede419 100644 --- a/freetype/docs/reference/ft2-auto_hinter.html +++ b/freetype/docs/reference/ft2-auto_hinter.html @@ -3,58 +3,121 @@ -FreeType-2.5.3 API Reference +FreeType-2.5.5 API Reference - - -
[Index][TOC]
-

FreeType-2.5.3 API Reference

+ +

FreeType-2.5.5 API Reference

-

-The auto-hinter -

+

The auto-hinter

Synopsis

- - - - - -
glyph-to-script-mapdefault-script
FT_AUTOHINTER_SCRIPT_XXXincrease-x-height
FT_Prop_GlyphToScriptMapFT_Prop_IncreaseXHeight
fallback-script


- -
+ + + + + +
glyph-to-script-mapdefault-script
FT_AUTOHINTER_SCRIPT_XXXincrease-x-height
FT_Prop_GlyphToScriptMapFT_Prop_IncreaseXHeight
fallback-script
+ +

While FreeType's auto-hinter doesn't expose API functions by itself, it is possible to control its behaviour with FT_Property_Set and FT_Property_Get. The following lists the available properties together with the necessary macros and structures.

Note that the auto-hinter's module name is ‘autofitter’ for historical reasons.

-

-
-

glyph-to-script-map

-
+ +
+

glyph-to-script-map

+

Experimental only

The auto-hinter provides various script modules to hint glyphs. Examples of supported scripts are Latin or CJK. Before a glyph is auto-hinted, the Unicode character map of the font gets examined, and the script is then determined based on Unicode character ranges, see below.

OpenType fonts, however, often provide much more glyphs than character codes (small caps, superscripts, ligatures, swashes, etc.), to be controlled by so-called ‘features’. Handling OpenType features can be quite complicated and thus needs a separate library on top of FreeType.

@@ -78,39 +141,29 @@ The auto-hinter FT_Load_Glyph( face, ..., FT_LOAD_FORCE_AUTOHINT ); -

-
-
- - -
[Index][TOC]
- -
-

FT_AUTOHINTER_SCRIPT_XXX

-
-Defined in FT_AUTOHINTER_H (ftautoh.h). -

-
-
-#define FT_AUTOHINTER_SCRIPT_NONE   0
-#define FT_AUTOHINTER_SCRIPT_LATIN  1
-#define FT_AUTOHINTER_SCRIPT_CJK    2
-#define FT_AUTOHINTER_SCRIPT_INDIC  3
-
-

-
+ +
+ + +
+

FT_AUTOHINTER_SCRIPT_XXX

+

Defined in FT_AUTOHINTER_H (ftautoh.h).

+
+#define FT_AUTOHINTER_SCRIPT_NONE   0
+#define FT_AUTOHINTER_SCRIPT_LATIN  1
+#define FT_AUTOHINTER_SCRIPT_CJK    2
+#define FT_AUTOHINTER_SCRIPT_INDIC  3
+
+

Experimental only

A list of constants used for the glyph-to-script-map property to specify the script submodule the auto-hinter should use for hinting a particular glyph.

-

-
values
-

- - -
FT_AUTOHINTER_SCRIPT_NONE
+ +

values

+ + - - - - - -
FT_AUTOHINTER_SCRIPT_NONE

Don't auto-hint this glyph.

FT_AUTOHINTER_SCRIPT_LATIN
+
FT_AUTOHINTER_SCRIPT_LATIN

Apply the latin auto-hinter. For the auto-hinter, ‘latin’ is a very broad term, including Cyrillic and Greek also since characters from those scripts share the same design constraints.

By default, characters from the following Unicode ranges are assigned to this submodule.

@@ -145,8 +198,7 @@ Defined in FT_AUTOHINTER_H (ftautoh.h).
 

FT_AUTOHINTER_SCRIPT_CJK
+
FT_AUTOHINTER_SCRIPT_CJK

Apply the CJK auto-hinter, covering Chinese, Japanese, Korean, old Vietnamese, and some other scripts.

By default, characters from the following Unicode ranges are assigned to this submodule.

@@ -185,8 +237,7 @@ Defined in FT_AUTOHINTER_H (ftautoh.h).
 

FT_AUTOHINTER_SCRIPT_INDIC
+
FT_AUTOHINTER_SCRIPT_INDIC

Apply the indic auto-hinter, covering all major scripts from the Indian sub-continent and some other related scripts like Thai, Lao, or Tibetan.

By default, characters from the following Unicode ranges are assigned to this submodule.

@@ -201,41 +252,31 @@ Defined in FT_AUTOHINTER_H (ftautoh.h).
 

Note that currently Indic support is rudimentary only, missing blue zone support.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Prop_GlyphToScriptMap

-
-Defined in FT_AUTOHINTER_H (ftautoh.h). -

-
-
-   typedef struct  FT_Prop_GlyphToScriptMap_
-   {
-     FT_Face   face;
-     FT_Byte*  map;
-
-   } FT_Prop_GlyphToScriptMap;
-
-

-
+ +
+ + +
+

FT_Prop_GlyphToScriptMap

+

Defined in FT_AUTOHINTER_H (ftautoh.h).

+
+  typedef struct  FT_Prop_GlyphToScriptMap_
+  {
+    FT_Face   face;
+    FT_Byte*  map;
+
+  } FT_Prop_GlyphToScriptMap;
+
+

Experimental only

The data exchange structure for the glyph-to-script-map property.

-

-
-
- - -
[Index][TOC]
- -
-

fallback-script

-
+ +
+ + +
+

fallback-script

+

Experimental only

If no auto-hinter script module can be assigned to a glyph, a fallback script gets assigned to it (see also the glyph-to-script-map property). By default, this is FT_AUTOHINTER_SCRIPT_CJK. Using the ‘fallback-script’ property, this fallback value can be changed.

@@ -248,20 +289,17 @@ Defined in FT_AUTOHINTER_H (ftautoh.h).
   FT_Property_Set( library, "autofitter",
                             "fallback-script", &fallback_script );
 
-

-
note
+ +

note

This property can be used with FT_Property_Get also.

It's important to use the right timing for changing this value: The creation of the glyph-to-script map that eventually uses the fallback script value gets triggered either by setting or reading a face-specific property like glyph-to-script-map, or by auto-hinting any glyph from that face. In particular, if you have already created an FT_Face structure but not loaded any glyph (using the auto-hinter), a change of the fallback script will affect this face.

-
-
-
- - -
[Index][TOC]
- -
-

default-script

-
+ +
+ + +
+

default-script

+

Experimental only

If Freetype gets compiled with FT_CONFIG_OPTION_USE_HARFBUZZ to make the HarfBuzz library access OpenType features for getting better glyph coverages, this property sets the (auto-fitter) script to be used for the default (OpenType) script data of a font's GSUB table. Features for the default script are intended for all scripts not explicitly handled in GSUB; an example is a ‘dlig’ feature, containing the combination of the characters ‘T’, ‘E’, and ‘L’ to form a ‘TEL’ ligature.

By default, this is FT_AUTOHINTER_SCRIPT_LATIN. Using the ‘default-script’ property, this default value can be changed.

@@ -275,20 +313,17 @@ Defined in FT_AUTOHINTER_H (ftautoh.h). FT_Property_Set( library, "autofitter", "default-script", &default_script ); -

-
note
+ +

note

This property can be used with FT_Property_Get also.

It's important to use the right timing for changing this value: The creation of the glyph-to-script map that eventually uses the default script value gets triggered either by setting or reading a face-specific property like glyph-to-script-map, or by auto-hinting any glyph from that face. In particular, if you have already created an FT_Face structure but not loaded any glyph (using the auto-hinter), a change of the default script will affect this face.

-
-
-
- - -
[Index][TOC]
- -
-

increase-x-height

-
+ +
+ + +
+

increase-x-height

+

For ppem values in the range 6 <= ppem <= ‘increase-x-height’, round up the font's x height much more often than normally. If the value is set to 0, which is the default, this feature is switched off. Use this property to improve the legibility of small font sizes if necessary.

   FT_Library               library;
@@ -306,40 +341,30 @@ Defined in FT_AUTOHINTER_H (ftautoh.h).
   FT_Property_Set( library, "autofitter",
                             "increase-x-height", &prop );
 
-

-
note
+ +

note

This property can be used with FT_Property_Get also.

Set this value right after calling FT_Set_Char_Size, but before loading any glyph (using the auto-hinter).

-
-
-
- - -
[Index][TOC]
- -
-

FT_Prop_IncreaseXHeight

-
-Defined in FT_AUTOHINTER_H (ftautoh.h). -

-
-
-   typedef struct  FT_Prop_IncreaseXHeight_
-   {
-     FT_Face  face;
-     FT_UInt  limit;
-
-   } FT_Prop_IncreaseXHeight;
-
-

-
+ +
+ + +
+

FT_Prop_IncreaseXHeight

+

Defined in FT_AUTOHINTER_H (ftautoh.h).

+
+  typedef struct  FT_Prop_IncreaseXHeight_
+  {
+    FT_Face  face;
+    FT_UInt  limit;
+
+  } FT_Prop_IncreaseXHeight;
+
+

The data exchange structure for the increase-x-height property.

-

-
-
- - -
[Index][TOC]
+ +
+ diff --git a/freetype/docs/reference/ft2-base_interface.html b/freetype/docs/reference/ft2-base_interface.html index 229254510..4547b6f1c 100644 --- a/freetype/docs/reference/ft2-base_interface.html +++ b/freetype/docs/reference/ft2-base_interface.html @@ -3,323 +3,378 @@ -FreeType-2.5.3 API Reference +FreeType-2.5.5 API Reference - - -
[Index][TOC]
-

FreeType-2.5.3 API Reference

+ +

FreeType-2.5.5 API Reference

-

-Base Interface -

+

Base Interface

Synopsis

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FT_LibraryFT_IS_TRICKYFT_Load_Glyph
FT_FaceFT_HAS_COLORFT_Load_Char
FT_SizeFT_STYLE_FLAG_XXXFT_LOAD_XXX
FT_GlyphSlotFT_Size_InternalFT_LOAD_TARGET_XXX
FT_CharMapFT_Size_MetricsFT_LOAD_TARGET_MODE
FT_EncodingFT_SizeRecFT_Set_Transform
FT_Glyph_MetricsFT_SubGlyphFT_Render_Mode
FT_Bitmap_SizeFT_Slot_Internalft_render_mode_xxx
FT_ModuleFT_GlyphSlotRecFT_Render_Glyph
FT_DriverFT_Init_FreeTypeFT_Kerning_Mode
FT_RendererFT_Done_FreeTypeft_kerning_default
FT_ENC_TAGFT_OPEN_XXXft_kerning_unfitted
ft_encoding_xxxFT_Parameterft_kerning_unscaled
FT_CharMapRecFT_Open_ArgsFT_Get_Kerning
FT_Face_InternalFT_New_FaceFT_Get_Track_Kerning
FT_FaceRecFT_New_Memory_FaceFT_Get_Glyph_Name
FT_FACE_FLAG_XXXFT_Open_FaceFT_Get_Postscript_Name
FT_HAS_HORIZONTALFT_Attach_FileFT_Select_Charmap
FT_HAS_VERTICALFT_Attach_StreamFT_Set_Charmap
FT_HAS_KERNINGFT_Reference_FaceFT_Get_Charmap_Index
FT_IS_SCALABLEFT_Done_FaceFT_Get_Char_Index
FT_IS_SFNTFT_Select_SizeFT_Get_First_Char
FT_IS_FIXED_WIDTHFT_Size_Request_TypeFT_Get_Next_Char
FT_HAS_FIXED_SIZESFT_Size_RequestRecFT_Get_Name_Index
FT_HAS_FAST_GLYPHSFT_Size_RequestFT_SUBGLYPH_FLAG_XXX
FT_HAS_GLYPH_NAMESFT_Request_SizeFT_Get_SubGlyph_Info
FT_HAS_MULTIPLE_MASTERSFT_Set_Char_SizeFT_FSTYPE_XXX
FT_IS_CID_KEYEDFT_Set_Pixel_SizesFT_Get_FSType_Flags


- -
-

This section describes the public high-level API of FreeType 2.

-

-
-

FT_Library

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
FT_LibraryFT_Glyph_MetricsFT_LOAD_COLOR
FT_FaceFT_SubGlyph 
FT_Size FT_LOAD_VERTICAL_LAYOUT
FT_GlyphSlotFT_Bitmap_SizeFT_LOAD_IGNORE_TRANSFORM
FT_CharMap FT_LOAD_FORCE_AUTOHINT
FT_EncodingFT_Init_FreeTypeFT_LOAD_NO_RECURSE
FT_ENC_TAGFT_Done_FreeTypeFT_LOAD_PEDANTIC
   
FT_FaceRecFT_New_FaceFT_LOAD_TARGET_NORMAL
 FT_Done_FaceFT_LOAD_TARGET_LIGHT
FT_FACE_FLAG_SCALABLEFT_Reference_FaceFT_LOAD_TARGET_MONO
FT_FACE_FLAG_FIXED_SIZESFT_New_Memory_FaceFT_LOAD_TARGET_LCD
FT_FACE_FLAG_FIXED_WIDTHFT_Open_FaceFT_LOAD_TARGET_LCD_V
FT_FACE_FLAG_HORIZONTALFT_Open_Args 
FT_FACE_FLAG_VERTICALFT_ParameterFT_LOAD_TARGET_MODE
FT_FACE_FLAG_COLORFT_Attach_File 
FT_FACE_FLAG_SFNTFT_Attach_StreamFT_Render_Glyph
FT_FACE_FLAG_CID_KEYED FT_Render_Mode
FT_FACE_FLAG_TRICKYFT_Set_Char_SizeFT_Get_Kerning
FT_FACE_FLAG_KERNINGFT_Set_Pixel_SizesFT_Kerning_Mode
FT_FACE_FLAG_MULTIPLE_MASTERSFT_Request_SizeFT_Get_Track_Kerning
FT_FACE_FLAG_GLYPH_NAMESFT_Select_SizeFT_Get_Glyph_Name
FT_FACE_FLAG_EXTERNAL_STREAMFT_Size_Request_TypeFT_Get_Postscript_Name
FT_FACE_FLAG_HINTERFT_Size_RequestRec 
FT_FACE_FLAG_TRICKYFT_Size_RequestFT_CharMapRec
 FT_Set_TransformFT_Select_Charmap
FT_HAS_HORIZONTALFT_Load_GlyphFT_Set_Charmap
FT_HAS_VERTICALFT_Get_Char_IndexFT_Get_Charmap_Index
FT_HAS_KERNINGFT_Get_First_Char 
FT_HAS_FIXED_SIZESFT_Get_Next_CharFT_Get_FSType_Flags
FT_HAS_GLYPH_NAMESFT_Get_Name_IndexFT_Get_SubGlyph_Info
FT_HAS_MULTIPLE_MASTERSFT_Load_Char 
FT_HAS_COLOR FT_Face_Internal
 FT_OPEN_MEMORYFT_Size_Internal
FT_IS_SFNTFT_OPEN_STREAMFT_Slot_Internal
FT_IS_SCALABLEFT_OPEN_PATHNAME 
FT_IS_FIXED_WIDTHFT_OPEN_DRIVERFT_FACE_FLAG_XXX
FT_IS_CID_KEYEDFT_OPEN_PARAMSFT_STYLE_FLAG_XXX
FT_IS_TRICKY FT_OPEN_XXX
 FT_LOAD_DEFAULTFT_LOAD_XXX
FT_STYLE_FLAG_BOLDFT_LOAD_RENDERFT_LOAD_TARGET_XXX
FT_STYLE_FLAG_ITALICFT_LOAD_MONOCHROMEFT_SUBGLYPH_FLAG_XXX
 FT_LOAD_LINEAR_DESIGNFT_FSTYPE_XXX
FT_SizeRecFT_LOAD_NO_SCALE 
FT_Size_MetricsFT_LOAD_NO_HINTINGFT_HAS_FAST_GLYPHS
 FT_LOAD_NO_BITMAP
FT_GlyphSlotRecFT_LOAD_NO_AUTOHINT
+ + +

This section describes the most important public high-level API functions of FreeType 2.

+ +
+

FT_Library

+

Defined in FT_FREETYPE_H (freetype.h).

+
   typedef struct FT_LibraryRec_  *FT_Library;
+
-

-

A handle to a FreeType library instance. Each ‘library’ is completely independent from the others; it is the ‘root’ of a set of objects like fonts, faces, sizes, etc.

It also embeds a memory manager (see FT_Memory), as well as a scan-line converter object (see FT_Raster).

In multi-threaded applications, make sure that the same FT_Library object or any of its children doesn't get accessed in parallel.

-

-
note
+ +

note

Library objects are normally created by FT_Init_FreeType, and destroyed with FT_Done_FreeType. If you need reference-counting (cf. FT_Reference_Library), use FT_New_Library and FT_Done_Library.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Face

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
+
+ + +
+

FT_Face

+

Defined in FT_FREETYPE_H (freetype.h).

+
   typedef struct FT_FaceRec_*  FT_Face;
+
-

-

A handle to a given typographic face object. A face object models a given typeface, in a given style.

-

-
note
+ +

note

Each face object also owns a single FT_GlyphSlot object, as well as one or more FT_Size objects.

Use FT_New_Face or FT_Open_Face to create a new face object from a given filepathname or a custom input stream.

Use FT_Done_Face to destroy it (along with its slot and sizes).

-
-
also
+ +

also

See FT_FaceRec for the publicly accessible fields of a given face object.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Size

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
+
+ + +
+

FT_Size

+

Defined in FT_FREETYPE_H (freetype.h).

+
   typedef struct FT_SizeRec_*  FT_Size;
+
-

-

A handle to an object used to model a face scaled to a given character size.

-

-
note
+ +

note

Each FT_Face has an active FT_Size object that is used by functions like FT_Load_Glyph to determine the scaling transformation that in turn is used to load and hint glyphs and metrics.

You can use FT_Set_Char_Size, FT_Set_Pixel_Sizes, FT_Request_Size or even FT_Select_Size to change the content (i.e., the scaling values) of the active FT_Size.

You can use FT_New_Size to create additional size objects for a given FT_Face, but they won't be used by other functions until you activate it through FT_Activate_Size. Only one size can be activated at any given time per face.

-
-
also
+ +

also

See FT_SizeRec for the publicly accessible fields of a given size object.

-
-
-
- - -
[Index][TOC]
- -
-

FT_GlyphSlot

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
+
+ + +
+

FT_GlyphSlot

+

Defined in FT_FREETYPE_H (freetype.h).

+
   typedef struct FT_GlyphSlotRec_*  FT_GlyphSlot;
+
-

-

A handle to a given ‘glyph slot’. A slot is a container where it is possible to load any of the glyphs contained in its parent face.

In other words, each time you call FT_Load_Glyph or FT_Load_Char, the slot's content is erased by the new glyph data, i.e., the glyph's metrics, its image (bitmap or outline), and other control information.

-

-
also
+ +

also

See FT_GlyphSlotRec for the publicly accessible glyph fields.

-
-
-
- - -
[Index][TOC]
- -
-

FT_CharMap

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
+
+ + +
+

FT_CharMap

+

Defined in FT_FREETYPE_H (freetype.h).

+
   typedef struct FT_CharMapRec_*  FT_CharMap;
+
-

-

A handle to a given character map. A charmap is used to translate character codes in a given encoding into glyph indexes for its parent's face. Some font formats may provide several charmaps per font.

Each face object owns zero or more charmaps, but only one of them can be ‘active’ and used by FT_Get_Char_Index or FT_Load_Char.

The list of available charmaps in a face is available through the ‘face->num_charmaps’ and ‘face->charmaps’ fields of FT_FaceRec.

The currently active charmap is available as ‘face->charmap’. You should call FT_Set_Charmap to change it.

-

-
note
+ +

note

When a new face is created (either through FT_New_Face or FT_Open_Face), the library looks for a Unicode charmap within the list and automatically activates it.

-
-
also
+ +

also

See FT_CharMapRec for the publicly accessible fields of a given character map.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Encoding

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
+
+ + +
+

FT_Encoding

+

Defined in FT_FREETYPE_H (freetype.h).

+
   typedef enum  FT_Encoding_
   {
-    FT_ENC_TAG( FT_ENCODING_NONE, 0, 0, 0, 0 ),
+    FT_ENC_TAG( FT_ENCODING_NONE, 0, 0, 0, 0 ),
 
-    FT_ENC_TAG( FT_ENCODING_MS_SYMBOL, 's', 'y', 'm', 'b' ),
-    FT_ENC_TAG( FT_ENCODING_UNICODE,   'u', 'n', 'i', 'c' ),
+    FT_ENC_TAG( FT_ENCODING_MS_SYMBOL, 's', 'y', 'm', 'b' ),
+    FT_ENC_TAG( FT_ENCODING_UNICODE,   'u', 'n', 'i', 'c' ),
 
-    FT_ENC_TAG( FT_ENCODING_SJIS,    's', 'j', 'i', 's' ),
-    FT_ENC_TAG( FT_ENCODING_GB2312,  'g', 'b', ' ', ' ' ),
-    FT_ENC_TAG( FT_ENCODING_BIG5,    'b', 'i', 'g', '5' ),
-    FT_ENC_TAG( FT_ENCODING_WANSUNG, 'w', 'a', 'n', 's' ),
-    FT_ENC_TAG( FT_ENCODING_JOHAB,   'j', 'o', 'h', 'a' ),
+    FT_ENC_TAG( FT_ENCODING_SJIS,    's', 'j', 'i', 's' ),
+    FT_ENC_TAG( FT_ENCODING_GB2312,  'g', 'b', ' ', ' ' ),
+    FT_ENC_TAG( FT_ENCODING_BIG5,    'b', 'i', 'g', '5' ),
+    FT_ENC_TAG( FT_ENCODING_WANSUNG, 'w', 'a', 'n', 's' ),
+    FT_ENC_TAG( FT_ENCODING_JOHAB,   'j', 'o', 'h', 'a' ),
 
     /* for backwards compatibility */
-    FT_ENCODING_MS_SJIS    = FT_ENCODING_SJIS,
-    FT_ENCODING_MS_GB2312  = FT_ENCODING_GB2312,
-    FT_ENCODING_MS_BIG5    = FT_ENCODING_BIG5,
-    FT_ENCODING_MS_WANSUNG = FT_ENCODING_WANSUNG,
-    FT_ENCODING_MS_JOHAB   = FT_ENCODING_JOHAB,
+    FT_ENCODING_MS_SJIS    = FT_ENCODING_SJIS,
+    FT_ENCODING_MS_GB2312  = FT_ENCODING_GB2312,
+    FT_ENCODING_MS_BIG5    = FT_ENCODING_BIG5,
+    FT_ENCODING_MS_WANSUNG = FT_ENCODING_WANSUNG,
+    FT_ENCODING_MS_JOHAB   = FT_ENCODING_JOHAB,
 
-    FT_ENC_TAG( FT_ENCODING_ADOBE_STANDARD, 'A', 'D', 'O', 'B' ),
-    FT_ENC_TAG( FT_ENCODING_ADOBE_EXPERT,   'A', 'D', 'B', 'E' ),
-    FT_ENC_TAG( FT_ENCODING_ADOBE_CUSTOM,   'A', 'D', 'B', 'C' ),
-    FT_ENC_TAG( FT_ENCODING_ADOBE_LATIN_1,  'l', 'a', 't', '1' ),
+    FT_ENC_TAG( FT_ENCODING_ADOBE_STANDARD, 'A', 'D', 'O', 'B' ),
+    FT_ENC_TAG( FT_ENCODING_ADOBE_EXPERT,   'A', 'D', 'B', 'E' ),
+    FT_ENC_TAG( FT_ENCODING_ADOBE_CUSTOM,   'A', 'D', 'B', 'C' ),
+    FT_ENC_TAG( FT_ENCODING_ADOBE_LATIN_1,  'l', 'a', 't', '1' ),
 
-    FT_ENC_TAG( FT_ENCODING_OLD_LATIN_2, 'l', 'a', 't', '2' ),
+    FT_ENC_TAG( FT_ENCODING_OLD_LATIN_2, 'l', 'a', 't', '2' ),
 
-    FT_ENC_TAG( FT_ENCODING_APPLE_ROMAN, 'a', 'r', 'm', 'n' )
+    FT_ENC_TAG( FT_ENCODING_APPLE_ROMAN, 'a', 'r', 'm', 'n' )
 
   } FT_Encoding;
 
-

-
+ + /* these constants are deprecated; use the corresponding `FT_Encoding' */ + /* values instead */ +#define ft_encoding_none FT_ENCODING_NONE +#define ft_encoding_unicode FT_ENCODING_UNICODE +#define ft_encoding_symbol FT_ENCODING_MS_SYMBOL +#define ft_encoding_latin_1 FT_ENCODING_ADOBE_LATIN_1 +#define ft_encoding_latin_2 FT_ENCODING_OLD_LATIN_2 +#define ft_encoding_sjis FT_ENCODING_SJIS +#define ft_encoding_gb2312 FT_ENCODING_GB2312 +#define ft_encoding_big5 FT_ENCODING_BIG5 +#define ft_encoding_wansung FT_ENCODING_WANSUNG +#define ft_encoding_johab FT_ENCODING_JOHAB + +#define ft_encoding_adobe_standard FT_ENCODING_ADOBE_STANDARD +#define ft_encoding_adobe_expert FT_ENCODING_ADOBE_EXPERT +#define ft_encoding_adobe_custom FT_ENCODING_ADOBE_CUSTOM +#define ft_encoding_apple_roman FT_ENCODING_APPLE_ROMAN + +

An enumeration used to specify character sets supported by charmaps. Used in the FT_Select_Charmap API function.

-

-
note
+ +

note

Despite the name, this enumeration lists specific character repertories (i.e., charsets), and not text encoding methods (e.g., UTF-8, UTF-16, etc.).

Other encodings might be defined in the future.

-
-
values
-

- -
FT_ENCODING_NONE + +

values

+ + - - - - - - - - - - - - - - - - - - - - - - - -
FT_ENCODING_NONE

The encoding value 0 is reserved.

FT_ENCODING_UNICODE +
FT_ENCODING_UNICODE

Corresponds to the Unicode character set. This value covers all versions of the Unicode repertoire, including ASCII and Latin-1. Most fonts include a Unicode charmap, but not all of them.

For example, if you want to access Unicode value U+1F028 (and the font contains it), use value 0x1F028 as the input value for FT_Get_Char_Index.

FT_ENCODING_MS_SYMBOL +
FT_ENCODING_MS_SYMBOL

Corresponds to the Microsoft Symbol encoding, used to encode mathematical symbols in the 32..255 character code range. For more information, see ‘http://www.kostis.net/charsets/symbol.htm’.

FT_ENCODING_SJIS +
FT_ENCODING_SJIS

Corresponds to Japanese SJIS encoding. More info at at ‘http://en.wikipedia.org/wiki/Shift_JIS’. See note on multi-byte encodings below.

FT_ENCODING_GB2312 +
FT_ENCODING_GB2312

Corresponds to an encoding system for Simplified Chinese as used used in mainland China.

FT_ENCODING_BIG5 +
FT_ENCODING_BIG5

Corresponds to an encoding system for Traditional Chinese as used in Taiwan and Hong Kong.

FT_ENCODING_WANSUNG +
FT_ENCODING_WANSUNG

Corresponds to the Korean encoding system known as Wansung. For more information see ‘http://msdn.microsoft.com/en-US/goglobal/cc305154’.

FT_ENCODING_JOHAB +
FT_ENCODING_JOHAB

The Korean standard character set (KS C 5601-1992), which corresponds to MS Windows code page 1361. This character set includes all possible Hangeul character combinations.

FT_ENCODING_ADOBE_LATIN_1
+
FT_ENCODING_ADOBE_LATIN_1

Corresponds to a Latin-1 encoding as defined in a Type 1 PostScript font. It is limited to 256 character codes.

FT_ENCODING_ADOBE_STANDARD
+
FT_ENCODING_ADOBE_STANDARD

Corresponds to the Adobe Standard encoding, as found in Type 1, CFF, and OpenType/CFF fonts. It is limited to 256 character codes.

FT_ENCODING_ADOBE_EXPERT
+
FT_ENCODING_ADOBE_EXPERT

Corresponds to the Adobe Expert encoding, as found in Type 1, CFF, and OpenType/CFF fonts. It is limited to 256 character codes.

FT_ENCODING_ADOBE_CUSTOM
+
FT_ENCODING_ADOBE_CUSTOM

Corresponds to a custom encoding, as found in Type 1, CFF, and OpenType/CFF fonts. It is limited to 256 character codes.

FT_ENCODING_APPLE_ROMAN
+
FT_ENCODING_APPLE_ROMAN

Corresponds to the 8-bit Apple roman encoding. Many TrueType and OpenType fonts contain a charmap for this encoding, since older versions of Mac OS are able to use it.

FT_ENCODING_OLD_LATIN_2
+
FT_ENCODING_OLD_LATIN_2

This value is deprecated and was never used nor reported by FreeType. Don't use or test for it.

FT_ENCODING_MS_SJIS +
FT_ENCODING_MS_SJIS

Same as FT_ENCODING_SJIS. Deprecated.

FT_ENCODING_MS_GB2312 +
FT_ENCODING_MS_GB2312

Same as FT_ENCODING_GB2312. Deprecated.

FT_ENCODING_MS_BIG5 +
FT_ENCODING_MS_BIG5

Same as FT_ENCODING_BIG5. Deprecated.

FT_ENCODING_MS_WANSUNG +
FT_ENCODING_MS_WANSUNG

Same as FT_ENCODING_WANSUNG. Deprecated.

FT_ENCODING_MS_JOHAB +
FT_ENCODING_MS_JOHAB

Same as FT_ENCODING_JOHAB. Deprecated.

-
-
note
+ +

note

By default, FreeType automatically synthesizes a Unicode charmap for PostScript fonts, using their glyph names dictionaries. However, it also reports the encodings defined explicitly in the font file, for the cases when they are needed, with the Adobe values as well.

FT_ENCODING_NONE is set by the BDF and PCF drivers if the charmap is neither Unicode nor ISO-8859-1 (otherwise it is set to FT_ENCODING_UNICODE). Use FT_Get_BDF_Charset_ID to find out which encoding is really present. If, for example, the ‘cs_registry’ field is ‘KOI8’ and the ‘cs_encoding’ field is ‘R’, the font is encoded in KOI8-R.

FT_ENCODING_NONE is always set (with a single exception) by the winfonts driver. Use FT_Get_WinFNT_Header and examine the ‘charset’ field of the FT_WinFNT_HeaderRec structure to find out which encoding is really present. For example, FT_WinFNT_ID_CP1251 (204) means Windows code page 1251 (for Russian).

@@ -327,195 +382,14 @@ Defined in FT_FREETYPE_H (freetype.h).

If ‘platform_id’ is TT_PLATFORM_MACINTOSH, use the function FT_Get_CMap_Language_ID to query the Mac language ID that may be needed to be able to distinguish Apple encoding variants. See

http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/Readme.txt

to get an idea how to do that. Basically, if the language ID is 0, don't use it, otherwise subtract 1 from the language ID. Then examine ‘encoding_id’. If, for example, ‘encoding_id’ is TT_MAC_ID_ROMAN and the language ID (minus 1) is ‘TT_MAC_LANGID_GREEK’, it is the Greek encoding, not Roman. TT_MAC_ID_ARABIC with ‘TT_MAC_LANGID_FARSI’ means the Farsi variant the Arabic encoding.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Glyph_Metrics

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
-
-  typedef struct  FT_Glyph_Metrics_
-  {
-    FT_Pos  width;
-    FT_Pos  height;
-
-    FT_Pos  horiBearingX;
-    FT_Pos  horiBearingY;
-    FT_Pos  horiAdvance;
-
-    FT_Pos  vertBearingX;
-    FT_Pos  vertBearingY;
-    FT_Pos  vertAdvance;
-
-  } FT_Glyph_Metrics;
-
-

-
-

A structure used to model the metrics of a single glyph. The values are expressed in 26.6 fractional pixel format; if the flag FT_LOAD_NO_SCALE has been used while loading the glyph, values are expressed in font units instead.

-

-
fields
-

- - - - - - - - - -
width -

The glyph's width.

-
height -

The glyph's height.

-
horiBearingX -

Left side bearing for horizontal layout.

-
horiBearingY -

Top side bearing for horizontal layout.

-
horiAdvance -

Advance width for horizontal layout.

-
vertBearingX -

Left side bearing for vertical layout.

-
vertBearingY -

Top side bearing for vertical layout. Larger positive values mean further below the vertical glyph origin.

-
vertAdvance -

Advance height for vertical layout. Positive values mean the glyph has a positive advance downward.

-
-
-
note
-

If not disabled with FT_LOAD_NO_HINTING, the values represent dimensions of the hinted glyph (in case hinting is applicable).

-

Stroking a glyph with an outside border does not increase ‘horiAdvance’ or ‘vertAdvance’; you have to manually adjust these values to account for the added width and height.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Bitmap_Size

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
-
-  typedef struct  FT_Bitmap_Size_
-  {
-    FT_Short  height;
-    FT_Short  width;
 
-    FT_Pos    size;
-
-    FT_Pos    x_ppem;
-    FT_Pos    y_ppem;
-
-  } FT_Bitmap_Size;
-
-

-
-

This structure models the metrics of a bitmap strike (i.e., a set of glyphs for a given point size and resolution) in a bitmap font. It is used for the ‘available_sizes’ field of FT_Face.

-

-
fields
-

- - - - - - -
height -

The vertical distance, in pixels, between two consecutive baselines. It is always positive.

-
width -

The average width, in pixels, of all glyphs in the strike.

-
size -

The nominal size of the strike in 26.6 fractional points. This field is not very useful.

-
x_ppem -

The horizontal ppem (nominal width) in 26.6 fractional pixels.

-
y_ppem -

The vertical ppem (nominal height) in 26.6 fractional pixels.

-
-
-
note
-

Windows FNT: The nominal size given in a FNT font is not reliable. Thus when the driver finds it incorrect, it sets ‘size’ to some calculated values and sets ‘x_ppem’ and ‘y_ppem’ to the pixel width and height given in the font, respectively.

-

TrueType embedded bitmaps: ‘size’, ‘width’, and ‘height’ values are not contained in the bitmap strike itself. They are computed from the global font parameters.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Module

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
-
-  typedef struct FT_ModuleRec_*  FT_Module;
-
-

-
-

A handle to a given FreeType module object. Each module can be a font driver, a renderer, or anything else that provides services to the formers.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Driver

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
-
-  typedef struct FT_DriverRec_*  FT_Driver;
-
-

-
-

A handle to a given FreeType font driver object. Each font driver is a special module capable of creating faces from font files.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Renderer

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
-
-  typedef struct FT_RendererRec_*  FT_Renderer;
-
-

-
-

A handle to a given FreeType renderer. A renderer is a special module in charge of converting a glyph image to a bitmap, when necessary. Each renderer supports a given glyph image format, and one or more target surface depths.

-

-
-
- - -
[Index][TOC]
- -
-

FT_ENC_TAG

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
+
+ +
+

FT_ENC_TAG

+

Defined in FT_FREETYPE_H (freetype.h).

+
 #ifndef FT_ENC_TAG
 #define FT_ENC_TAG( value, a, b, c, d )         \
           value = ( ( (FT_UInt32)(a) << 24 ) |  \
@@ -524,127 +398,24 @@ Defined in FT_FREETYPE_H (freetype.h).
                       (FT_UInt32)(d)         )
 
 #endif /* FT_ENC_TAG */
+
-

-

This macro converts four-letter tags into an unsigned long. It is used to define ‘encoding’ identifiers (see FT_Encoding).

-

-
note
+ +

note

Since many 16-bit compilers don't like 32-bit enumerations, you should redefine this macro in case of problems to something like this:

   #define FT_ENC_TAG( value, a, b, c, d )  value                   
 

to get a simple enumeration without assigning special numbers.

-
-
-
- - -
[Index][TOC]
- -
-

ft_encoding_xxx

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
-
-#define ft_encoding_none            FT_ENCODING_NONE
-#define ft_encoding_unicode         FT_ENCODING_UNICODE
-#define ft_encoding_symbol          FT_ENCODING_MS_SYMBOL
-#define ft_encoding_latin_1         FT_ENCODING_ADOBE_LATIN_1
-#define ft_encoding_latin_2         FT_ENCODING_OLD_LATIN_2
-#define ft_encoding_sjis            FT_ENCODING_SJIS
-#define ft_encoding_gb2312          FT_ENCODING_GB2312
-#define ft_encoding_big5            FT_ENCODING_BIG5
-#define ft_encoding_wansung         FT_ENCODING_WANSUNG
-#define ft_encoding_johab           FT_ENCODING_JOHAB
-
-#define ft_encoding_adobe_standard  FT_ENCODING_ADOBE_STANDARD
-#define ft_encoding_adobe_expert    FT_ENCODING_ADOBE_EXPERT
-#define ft_encoding_adobe_custom    FT_ENCODING_ADOBE_CUSTOM
-#define ft_encoding_apple_roman     FT_ENCODING_APPLE_ROMAN
-
-

-
-

These constants are deprecated; use the corresponding FT_Encoding values instead.

-

-
-
- - -
[Index][TOC]
- -
-

FT_CharMapRec

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
-
-  typedef struct  FT_CharMapRec_
-  {
-    FT_Face      face;
-    FT_Encoding  encoding;
-    FT_UShort    platform_id;
-    FT_UShort    encoding_id;
-
-  } FT_CharMapRec;
-
-

-
-

The base charmap structure.

-

-
fields
-

- - - - - -
face -

A handle to the parent face object.

-
encoding -

An FT_Encoding tag identifying the charmap. Use this with FT_Select_Charmap.

-
platform_id -

An ID number describing the platform for the following encoding ID. This comes directly from the TrueType specification and should be emulated for other formats.

-
encoding_id -

A platform specific encoding number. This also comes from the TrueType specification and should be emulated similarly.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_Face_Internal

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
-
-  typedef struct FT_Face_InternalRec_*  FT_Face_Internal;
 
-

-
-

An opaque handle to an ‘FT_Face_InternalRec’ structure, used to model private data of a given FT_Face object.

-

This structure might change between releases of FreeType 2 and is not generally available to client applications.

-

-
-
- - -
[Index][TOC]
- -
-

FT_FaceRec

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
+
+ +
+

FT_FaceRec

+

Defined in FT_FREETYPE_H (freetype.h).

+
   typedef struct  FT_FaceRec_
   {
     FT_Long           num_faces;
@@ -688,7 +459,7 @@ Defined in FT_FREETYPE_H (freetype.h).
 
     /*@private begin */
 
-    FT_Driver         driver;
+    FT_Driver         driver;
     FT_Memory         memory;
     FT_Stream         stream;
 
@@ -702,517 +473,292 @@ Defined in FT_FREETYPE_H (freetype.h).
     /*@private end */
 
   } FT_FaceRec;
+
-

-

FreeType root face class structure. A face object models a typeface in a font file.

-

-
fields
-

- -
num_faces + +

fields

+ + - - - - - - - - - - - - - - - - - - - - - - -
num_faces

The number of faces in the font file. Some font formats can have multiple faces in a font file.

face_index +
face_index

The index of the face in the font file. It is set to 0 if there is only one face in the font file.

face_flags +
face_flags

A set of bit flags that give important information about the face; see FT_FACE_FLAG_XXX for the details.

style_flags +
style_flags

A set of bit flags indicating the style of the face; see FT_STYLE_FLAG_XXX for the details.

num_glyphs +
num_glyphs

The number of glyphs in the face. If the face is scalable and has sbits (see ‘num_fixed_sizes’), it is set to the number of outline glyphs.

For CID-keyed fonts, this value gives the highest CID used in the font.

family_name +
family_name

The face's family name. This is an ASCII string, usually in English, that describes the typeface's family (like ‘Times New Roman’, ‘Bodoni’, ‘Garamond’, etc). This is a least common denominator used to list fonts. Some formats (TrueType & OpenType) provide localized and Unicode versions of this string. Applications should use the format specific interface to access them. Can be NULL (e.g., in fonts embedded in a PDF file).

style_name +
style_name

The face's style name. This is an ASCII string, usually in English, that describes the typeface's style (like ‘Italic’, ‘Bold’, ‘Condensed’, etc). Not all font formats provide a style name, so this field is optional, and can be set to NULL. As for ‘family_name’, some formats provide localized and Unicode versions of this string. Applications should use the format specific interface to access them.

num_fixed_sizes +
num_fixed_sizes

The number of bitmap strikes in the face. Even if the face is scalable, there might still be bitmap strikes, which are called ‘sbits’ in that case.

available_sizes +
available_sizes

An array of FT_Bitmap_Size for all bitmap strikes in the face. It is set to NULL if there is no bitmap strike.

num_charmaps +
num_charmaps

The number of charmaps in the face.

charmaps +
charmaps

An array of the charmaps of the face.

generic +
generic

A field reserved for client uses. See the FT_Generic type description.

bbox +
bbox

The font bounding box. Coordinates are expressed in font units (see ‘units_per_EM’). The box is large enough to contain any glyph from the font. Thus, ‘bbox.yMax’ can be seen as the ‘maximum ascender’, and ‘bbox.yMin’ as the ‘minimum descender’. Only relevant for scalable formats.

Note that the bounding box might be off by (at least) one pixel for hinted fonts. See FT_Size_Metrics for further discussion.

units_per_EM +
units_per_EM

The number of font units per EM square for this face. This is typically 2048 for TrueType fonts, and 1000 for Type 1 fonts. Only relevant for scalable formats.

ascender +
ascender

The typographic ascender of the face, expressed in font units. For font formats not having this information, it is set to ‘bbox.yMax’. Only relevant for scalable formats.

descender +
descender

The typographic descender of the face, expressed in font units. For font formats not having this information, it is set to ‘bbox.yMin’. Note that this field is usually negative. Only relevant for scalable formats.

height +
height

This value is the vertical distance between two consecutive baselines, expressed in font units. It is always positive. Only relevant for scalable formats.

If you want the global glyph height, use ‘ascender - descender’.

max_advance_width +
max_advance_width

The maximum advance width, in font units, for all glyphs in this face. This can be used to make word wrapping computations faster. Only relevant for scalable formats.

max_advance_height +
max_advance_height

The maximum advance height, in font units, for all glyphs in this face. This is only relevant for vertical layouts, and is set to ‘height’ for fonts that do not provide vertical metrics. Only relevant for scalable formats.

underline_position +
underline_position

The position, in font units, of the underline line for this face. It is the center of the underlining stem. Only relevant for scalable formats.

underline_thickness +
underline_thickness

The thickness, in font units, of the underline for this face. Only relevant for scalable formats.

glyph +
glyph

The face's associated glyph slot(s).

size +
size

The current active size for this face.

charmap +
charmap

The current active charmap for this face.

-
-
note
+ +

note

Fields may be changed after a call to FT_Attach_File or FT_Attach_Stream.

-
-
-
- - -
[Index][TOC]
- -
-

FT_FACE_FLAG_XXX

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
-
-#define FT_FACE_FLAG_SCALABLE          ( 1L <<  0 )
-#define FT_FACE_FLAG_FIXED_SIZES       ( 1L <<  1 )
-#define FT_FACE_FLAG_FIXED_WIDTH       ( 1L <<  2 )
-#define FT_FACE_FLAG_SFNT              ( 1L <<  3 )
-#define FT_FACE_FLAG_HORIZONTAL        ( 1L <<  4 )
-#define FT_FACE_FLAG_VERTICAL          ( 1L <<  5 )
-#define FT_FACE_FLAG_KERNING           ( 1L <<  6 )
-#define FT_FACE_FLAG_FAST_GLYPHS       ( 1L <<  7 )
-#define FT_FACE_FLAG_MULTIPLE_MASTERS  ( 1L <<  8 )
-#define FT_FACE_FLAG_GLYPH_NAMES       ( 1L <<  9 )
-#define FT_FACE_FLAG_EXTERNAL_STREAM   ( 1L << 10 )
-#define FT_FACE_FLAG_HINTER            ( 1L << 11 )
-#define FT_FACE_FLAG_CID_KEYED         ( 1L << 12 )
-#define FT_FACE_FLAG_TRICKY            ( 1L << 13 )
-#define FT_FACE_FLAG_COLOR             ( 1L << 14 )
-
-

-
-

A list of bit flags used in the ‘face_flags’ field of the FT_FaceRec structure. They inform client applications of properties of the corresponding face.

-

-
values
-

- - - - - - - - - - - - - - - - - - - - - - - -
FT_FACE_FLAG_SCALABLE -

Indicates that the face contains outline glyphs. This doesn't prevent bitmap strikes, i.e., a face can have both this and and FT_FACE_FLAG_FIXED_SIZES set.

-
FT_FACE_FLAG_FIXED_SIZES
-

Indicates that the face contains bitmap strikes. See also the ‘num_fixed_sizes’ and ‘available_sizes’ fields of FT_FaceRec.

-
FT_FACE_FLAG_FIXED_WIDTH
-

Indicates that the face contains fixed-width characters (like Courier, Lucido, MonoType, etc.).

-
FT_FACE_FLAG_SFNT -

Indicates that the face uses the ‘sfnt’ storage scheme. For now, this means TrueType and OpenType.

-
FT_FACE_FLAG_HORIZONTAL
-

Indicates that the face contains horizontal glyph metrics. This should be set for all common formats.

-
FT_FACE_FLAG_VERTICAL -

Indicates that the face contains vertical glyph metrics. This is only available in some formats, not all of them.

-
FT_FACE_FLAG_KERNING -

Indicates that the face contains kerning information. If set, the kerning distance can be retrieved through the function FT_Get_Kerning. Otherwise the function always return the vector (0,0). Note that FreeType doesn't handle kerning data from the ‘GPOS’ table (as present in some OpenType fonts).

-
FT_FACE_FLAG_FAST_GLYPHS
-

THIS FLAG IS DEPRECATED. DO NOT USE OR TEST IT.

-
FT_FACE_FLAG_MULTIPLE_MASTERS
-

Indicates that the font contains multiple masters and is capable of interpolating between them. See the multiple-masters specific API for details.

-
FT_FACE_FLAG_GLYPH_NAMES
-

Indicates that the font contains glyph names that can be retrieved through FT_Get_Glyph_Name. Note that some TrueType fonts contain broken glyph name tables. Use the function FT_Has_PS_Glyph_Names when needed.

-
FT_FACE_FLAG_EXTERNAL_STREAM
-

Used internally by FreeType to indicate that a face's stream was provided by the client application and should not be destroyed when FT_Done_Face is called. Don't read or test this flag.

-
FT_FACE_FLAG_HINTER -

Set if the font driver has a hinting machine of its own. For example, with TrueType fonts, it makes sense to use data from the SFNT ‘gasp’ table only if the native TrueType hinting engine (with the bytecode interpreter) is available and active.

-
FT_FACE_FLAG_CID_KEYED -

Set if the font is CID-keyed. In that case, the font is not accessed by glyph indices but by CID values. For subsetted CID-keyed fonts this has the consequence that not all index values are a valid argument to FT_Load_Glyph. Only the CID values for which corresponding glyphs in the subsetted font exist make FT_Load_Glyph return successfully; in all other cases you get an ‘FT_Err_Invalid_Argument’ error.

-

Note that CID-keyed fonts that are in an SFNT wrapper don't have this flag set since the glyphs are accessed in the normal way (using contiguous indices); the ‘CID-ness’ isn't visible to the application.

-
FT_FACE_FLAG_TRICKY -

Set if the font is ‘tricky’, this is, it always needs the font format's native hinting engine to get a reasonable result. A typical example is the Chinese font ‘mingli.ttf’ that uses TrueType bytecode instructions to move and scale all of its subglyphs.

-

It is not possible to autohint such fonts using FT_LOAD_FORCE_AUTOHINT; it will also ignore FT_LOAD_NO_HINTING. You have to set both FT_LOAD_NO_HINTING and FT_LOAD_NO_AUTOHINT to really disable hinting; however, you probably never want this except for demonstration purposes.

-

Currently, there are about a dozen TrueType fonts in the list of tricky fonts; they are hard-coded in file ‘ttobjs.c’.

-
FT_FACE_FLAG_COLOR -

Set if the font has color glyph tables. To access color glyphs use FT_LOAD_COLOR.

-
-
-
-
- - -
[Index][TOC]
-
-

FT_HAS_HORIZONTAL

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
+
+ +
+

FT_HAS_HORIZONTAL

+

Defined in FT_FREETYPE_H (freetype.h).

+
 #define FT_HAS_HORIZONTAL( face ) \
-          ( face->face_flags & FT_FACE_FLAG_HORIZONTAL )
+          ( face->face_flags & FT_FACE_FLAG_HORIZONTAL )
+
-

-

A macro that returns true whenever a face object contains horizontal metrics (this is true for all font formats though).

-

-
also
+ +

also

FT_HAS_VERTICAL can be used to check for vertical metrics.

-
-
-
- - -
[Index][TOC]
- -
-

FT_HAS_VERTICAL

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
+
+ + +
+

FT_HAS_VERTICAL

+

Defined in FT_FREETYPE_H (freetype.h).

+
 #define FT_HAS_VERTICAL( face ) \
-          ( face->face_flags & FT_FACE_FLAG_VERTICAL )
+          ( face->face_flags & FT_FACE_FLAG_VERTICAL )
+
-

-

A macro that returns true whenever a face object contains real vertical metrics (and not only synthesized ones).

-

-
-
- - -
[Index][TOC]
- -
-

FT_HAS_KERNING

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
+
+ + +
+

FT_HAS_KERNING

+

Defined in FT_FREETYPE_H (freetype.h).

+
 #define FT_HAS_KERNING( face ) \
-          ( face->face_flags & FT_FACE_FLAG_KERNING )
+          ( face->face_flags & FT_FACE_FLAG_KERNING )
+
-

-

A macro that returns true whenever a face object contains kerning data that can be accessed with FT_Get_Kerning.

-

-
-
- - -
[Index][TOC]
- -
-

FT_IS_SCALABLE

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
-#define FT_IS_SCALABLE( face ) \
-          ( face->face_flags & FT_FACE_FLAG_SCALABLE )
-
-

-
-

A macro that returns true whenever a face object contains a scalable font face (true for TrueType, Type 1, Type 42, CID, OpenType/CFF, and PFR font formats.

-

-
-
- - -
[Index][TOC]
- -
-

FT_IS_SFNT

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
-
-#define FT_IS_SFNT( face ) \
-          ( face->face_flags & FT_FACE_FLAG_SFNT )
-
-

-
-

A macro that returns true whenever a face object contains a font whose format is based on the SFNT storage scheme. This usually means: TrueType fonts, OpenType fonts, as well as SFNT-based embedded bitmap fonts.

-

If this macro is true, all functions defined in FT_SFNT_NAMES_H and FT_TRUETYPE_TABLES_H are available.

-

-
-
- - -
[Index][TOC]
- -
-

FT_IS_FIXED_WIDTH

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
-
-#define FT_IS_FIXED_WIDTH( face ) \
-          ( face->face_flags & FT_FACE_FLAG_FIXED_WIDTH )
-
-

-
-

A macro that returns true whenever a face object contains a font face that contains fixed-width (or ‘monospace’, ‘fixed-pitch’, etc.) glyphs.

-

-
-
- - -
[Index][TOC]
- -
-

FT_HAS_FIXED_SIZES

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
+
+ +
+

FT_HAS_FIXED_SIZES

+

Defined in FT_FREETYPE_H (freetype.h).

+
 #define FT_HAS_FIXED_SIZES( face ) \
-          ( face->face_flags & FT_FACE_FLAG_FIXED_SIZES )
+          ( face->face_flags & FT_FACE_FLAG_FIXED_SIZES )
+
-

-

A macro that returns true whenever a face object contains some embedded bitmaps. See the ‘available_sizes’ field of the FT_FaceRec structure.

-

-
-
- - -
[Index][TOC]
- -
-

FT_HAS_FAST_GLYPHS

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
-
-#define FT_HAS_FAST_GLYPHS( face )  0
 
-

-
-

Deprecated.

-

-
-
- - -
[Index][TOC]
- -
-

FT_HAS_GLYPH_NAMES

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
+
+ +
+

FT_HAS_GLYPH_NAMES

+

Defined in FT_FREETYPE_H (freetype.h).

+
 #define FT_HAS_GLYPH_NAMES( face ) \
-          ( face->face_flags & FT_FACE_FLAG_GLYPH_NAMES )
+          ( face->face_flags & FT_FACE_FLAG_GLYPH_NAMES )
+
-

-

A macro that returns true whenever a face object contains some glyph names that can be accessed through FT_Get_Glyph_Name.

-

-
-
- - -
[Index][TOC]
- -
-

FT_HAS_MULTIPLE_MASTERS

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
+
+ + +
+

FT_HAS_MULTIPLE_MASTERS

+

Defined in FT_FREETYPE_H (freetype.h).

+
 #define FT_HAS_MULTIPLE_MASTERS( face ) \
-          ( face->face_flags & FT_FACE_FLAG_MULTIPLE_MASTERS )
+          ( face->face_flags & FT_FACE_FLAG_MULTIPLE_MASTERS )
+
-

-

A macro that returns true whenever a face object contains some multiple masters. The functions provided by FT_MULTIPLE_MASTERS_H are then available to choose the exact design you want.

-

-
-
- - -
[Index][TOC]
- -
-

FT_IS_CID_KEYED

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
+
+ + +
+

FT_HAS_COLOR

+

Defined in FT_FREETYPE_H (freetype.h).

+
+#define FT_HAS_COLOR( face ) \
+          ( face->face_flags & FT_FACE_FLAG_COLOR )
+
+ +

A macro that returns true whenever a face object contains tables for color glyphs.

+ +
+
+ +
+

FT_IS_SFNT

+

Defined in FT_FREETYPE_H (freetype.h).

+
+#define FT_IS_SFNT( face ) \
+          ( face->face_flags & FT_FACE_FLAG_SFNT )
+
+ +

A macro that returns true whenever a face object contains a font whose format is based on the SFNT storage scheme. This usually means: TrueType fonts, OpenType fonts, as well as SFNT-based embedded bitmap fonts.

+

If this macro is true, all functions defined in FT_SFNT_NAMES_H and FT_TRUETYPE_TABLES_H are available.

+ +
+
+ +
+

FT_IS_SCALABLE

+

Defined in FT_FREETYPE_H (freetype.h).

+
+#define FT_IS_SCALABLE( face ) \
+          ( face->face_flags & FT_FACE_FLAG_SCALABLE )
+
+ +

A macro that returns true whenever a face object contains a scalable font face (true for TrueType, Type 1, Type 42, CID, OpenType/CFF, and PFR font formats.

+ +
+
+ +
+

FT_IS_FIXED_WIDTH

+

Defined in FT_FREETYPE_H (freetype.h).

+
+#define FT_IS_FIXED_WIDTH( face ) \
+          ( face->face_flags & FT_FACE_FLAG_FIXED_WIDTH )
+
+ +

A macro that returns true whenever a face object contains a font face that contains fixed-width (or ‘monospace’, ‘fixed-pitch’, etc.) glyphs.

+ +
+
+ +
+

FT_IS_CID_KEYED

+

Defined in FT_FREETYPE_H (freetype.h).

+
 #define FT_IS_CID_KEYED( face ) \
-          ( face->face_flags & FT_FACE_FLAG_CID_KEYED )
+          ( face->face_flags & FT_FACE_FLAG_CID_KEYED )
+
-

-

A macro that returns true whenever a face object contains a CID-keyed font. See the discussion of FT_FACE_FLAG_CID_KEYED for more details.

If this macro is true, all functions defined in FT_CID_H are available.

-

-
-
- - -
[Index][TOC]
- -
-

FT_IS_TRICKY

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
+
+ + +
+

FT_IS_TRICKY

+

Defined in FT_FREETYPE_H (freetype.h).

+
 #define FT_IS_TRICKY( face ) \
-          ( face->face_flags & FT_FACE_FLAG_TRICKY )
+          ( face->face_flags & FT_FACE_FLAG_TRICKY )
+
-

-

A macro that returns true whenever a face represents a ‘tricky’ font. See the discussion of FT_FACE_FLAG_TRICKY for more details.

-

-
-
- - -
[Index][TOC]
- -
-

FT_HAS_COLOR

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
-#define FT_HAS_COLOR( face ) \
-          ( face->face_flags & FT_FACE_FLAG_COLOR )
+
+ -

-
-

A macro that returns true whenever a face object contains tables for color glyphs.

-

-
-
- - -
[Index][TOC]
- -
-

FT_STYLE_FLAG_XXX

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
-
-#define FT_STYLE_FLAG_ITALIC  ( 1 << 0 )
-#define FT_STYLE_FLAG_BOLD    ( 1 << 1 )
-
-

-
-

A list of bit-flags used to indicate the style of a given face. These are used in the ‘style_flags’ field of FT_FaceRec.

-

-
values
-

- -
FT_STYLE_FLAG_ITALIC -

Indicates that a given face style is italic or oblique.

+
+

FT_SizeRec

+

Defined in FT_FREETYPE_H (freetype.h).

+
+  typedef struct  FT_SizeRec_
+  {
+    FT_Face           face;      /* parent face object              */
+    FT_Generic        generic;   /* generic pointer for client uses */
+    FT_Size_Metrics   metrics;   /* size metrics                    */
+    FT_Size_Internal  internal;
+
+  } FT_SizeRec;
+
+ +

FreeType root size class structure. A size object models a face object at a given size.

+ +

fields

+ + - +
face +

Handle to the parent face object.

FT_STYLE_FLAG_BOLD -

Indicates that a given face is bold.

+
generic +

A typeless pointer, unused by the FreeType library or any of its drivers. It can be used by client applications to link their own data to each size object.

+
metrics +

Metrics for this size object. This field is read-only.

-
-
note
-

The style information as provided by FreeType is very basic. More details are beyond the scope and should be done on a higher level (for example, by analyzing various fields of the ‘OS/2’ table in SFNT based fonts).

-
-
-
- - -
[Index][TOC]
- -
-

FT_Size_Internal

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
-
-  typedef struct FT_Size_InternalRec_*  FT_Size_Internal;
 
-

-
-

An opaque handle to an ‘FT_Size_InternalRec’ structure, used to model private data of a given FT_Size object.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Size_Metrics

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
+
+ +
+

FT_Size_Metrics

+

Defined in FT_FREETYPE_H (freetype.h).

+
   typedef struct  FT_Size_Metrics_
   {
     FT_UShort  x_ppem;      /* horizontal pixels per EM               */
@@ -1227,141 +773,51 @@ Defined in FT_FREETYPE_H (freetype.h).
     FT_Pos     max_advance; /* max horizontal advance, in 26.6 pixels */
 
   } FT_Size_Metrics;
+
-

-

The size metrics structure gives the metrics of a size object.

-

-
fields
-

- -
x_ppem + +

fields

+ + - - - - - - -
x_ppem

The width of the scaled EM square in pixels, hence the term ‘ppem’ (pixels per EM). It is also referred to as ‘nominal width’.

y_ppem +
y_ppem

The height of the scaled EM square in pixels, hence the term ‘ppem’ (pixels per EM). It is also referred to as ‘nominal height’.

x_scale +
x_scale

A 16.16 fractional scaling value used to convert horizontal metrics from font units to 26.6 fractional pixels. Only relevant for scalable font formats.

y_scale +
y_scale

A 16.16 fractional scaling value used to convert vertical metrics from font units to 26.6 fractional pixels. Only relevant for scalable font formats.

ascender +
ascender

The ascender in 26.6 fractional pixels. See FT_FaceRec for the details.

descender +
descender

The descender in 26.6 fractional pixels. See FT_FaceRec for the details.

height +
height

The height in 26.6 fractional pixels. See FT_FaceRec for the details.

max_advance +
max_advance

The maximum advance width in 26.6 fractional pixels. See FT_FaceRec for the details.

-
-
note
+ +

note

The scaling values, if relevant, are determined first during a size changing operation. The remaining fields are then set by the driver. For scalable formats, they are usually set to scaled values of the corresponding fields in FT_FaceRec.

Note that due to glyph hinting, these values might not be exact for certain fonts. Thus they must be treated as unreliable with an error margin of at least one pixel!

Indeed, the only way to get the exact metrics is to render all glyphs. As this would be a definite performance hit, it is up to client applications to perform such computations.

The FT_Size_Metrics structure is valid for bitmap fonts also.

-
-
-
- - -
[Index][TOC]
- -
-

FT_SizeRec

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
-  typedef struct  FT_SizeRec_
-  {
-    FT_Face           face;      /* parent face object              */
-    FT_Generic        generic;   /* generic pointer for client uses */
-    FT_Size_Metrics   metrics;   /* size metrics                    */
-    FT_Size_Internal  internal;
-
-  } FT_SizeRec;
-
-

-
-

FreeType root size class structure. A size object models a face object at a given size.

-

-
fields
-

- - - - -
face -

Handle to the parent face object.

-
generic -

A typeless pointer, unused by the FreeType library or any of its drivers. It can be used by client applications to link their own data to each size object.

-
metrics -

Metrics for this size object. This field is read-only.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_SubGlyph

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
-
-  typedef struct FT_SubGlyphRec_*  FT_SubGlyph;
-
-

-
-

The subglyph structure is an internal object used to describe subglyphs (for example, in the case of composites).

-

-
note
-

The subglyph implementation is not part of the high-level API, hence the forward structure declaration.

-

You can however retrieve subglyph information with FT_Get_SubGlyph_Info.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Slot_Internal

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
-
-  typedef struct FT_Slot_InternalRec_*  FT_Slot_Internal;
-
-

-
-

An opaque handle to an ‘FT_Slot_InternalRec’ structure, used to model private data of a given FT_GlyphSlot object.

-

-
-
- - -
[Index][TOC]
- -
-

FT_GlyphSlotRec

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
+
+ +
+

FT_GlyphSlotRec

+

Defined in FT_FREETYPE_H (freetype.h).

+
   typedef struct  FT_GlyphSlotRec_
   {
     FT_Library        library;
@@ -1397,84 +853,82 @@ Defined in FT_FREETYPE_H (freetype.h).
     FT_Slot_Internal  internal;
 
   } FT_GlyphSlotRec;
+
-

-

FreeType root glyph slot class structure. A glyph slot is a container where individual glyphs can be loaded, be they in outline or bitmap format.

-

-
fields
-

- -
library + +

fields

+ + - - - - - - - - - - - - - - - - - - -
library

A handle to the FreeType library instance this slot belongs to.

face +
face

A handle to the parent face object.

next +
next

In some cases (like some font tools), several glyph slots per face object can be a good thing. As this is rare, the glyph slots are listed through a direct, single-linked list using its ‘next’ field.

generic +
generic

A typeless pointer unused by the FreeType library or any of its drivers. It can be used by client applications to link their own data to each glyph slot object.

metrics +
metrics

The metrics of the last loaded glyph in the slot. The returned values depend on the last load flags (see the FT_Load_Glyph API function) and can be expressed either in 26.6 fractional pixels or font units.

Note that even when the glyph image is transformed, the metrics are not.

linearHoriAdvance +
linearHoriAdvance

The advance width of the unhinted glyph. Its value is expressed in 16.16 fractional pixels, unless FT_LOAD_LINEAR_DESIGN is set when loading the glyph. This field can be important to perform correct WYSIWYG layout. Only relevant for outline glyphs.

linearVertAdvance +
linearVertAdvance

The advance height of the unhinted glyph. Its value is expressed in 16.16 fractional pixels, unless FT_LOAD_LINEAR_DESIGN is set when loading the glyph. This field can be important to perform correct WYSIWYG layout. Only relevant for outline glyphs.

advance +
advance

This shorthand is, depending on FT_LOAD_IGNORE_TRANSFORM, the transformed (hinted) advance width for the glyph, in 26.6 fractional pixel format. As specified with FT_LOAD_VERTICAL_LAYOUT, it uses either the ‘horiAdvance’ or the ‘vertAdvance’ value of ‘metrics’ field.

format +
format

This field indicates the format of the image contained in the glyph slot. Typically FT_GLYPH_FORMAT_BITMAP, FT_GLYPH_FORMAT_OUTLINE, or FT_GLYPH_FORMAT_COMPOSITE, but others are possible.

bitmap +
bitmap

This field is used as a bitmap descriptor when the slot format is FT_GLYPH_FORMAT_BITMAP. Note that the address and content of the bitmap buffer can change between calls of FT_Load_Glyph and a few other functions.

bitmap_left -

This is the bitmap's left bearing expressed in integer pixels. Of course, this is only valid if the format is FT_GLYPH_FORMAT_BITMAP.

+
bitmap_left +

The bitmap's left bearing expressed in integer pixels. Only valid if the format is FT_GLYPH_FORMAT_BITMAP, this is, if the glyph slot contains a bitmap.

bitmap_top -

This is the bitmap's top bearing expressed in integer pixels. Remember that this is the distance from the baseline to the top-most glyph scanline, upwards y coordinates being positive.

+
bitmap_top +

The bitmap's top bearing expressed in integer pixels. Remember that this is the distance from the baseline to the top-most glyph scanline, upwards y coordinates being positive.

outline +
outline

The outline descriptor for the current glyph image if its format is FT_GLYPH_FORMAT_OUTLINE. Once a glyph is loaded, ‘outline’ can be transformed, distorted, embolded, etc. However, it must not be freed.

num_subglyphs -

The number of subglyphs in a composite glyph. This field is only valid for the composite glyph format that should normally only be loaded with the FT_LOAD_NO_RECURSE flag. For now this is internal to FreeType.

+
num_subglyphs +

The number of subglyphs in a composite glyph. This field is only valid for the composite glyph format that should normally only be loaded with the FT_LOAD_NO_RECURSE flag.

subglyphs +
subglyphs

An array of subglyph descriptors for composite glyphs. There are ‘num_subglyphs’ elements in there. Currently internal to FreeType.

control_data +
control_data

Certain font drivers can also return the control data for a given glyph image (e.g. TrueType bytecode, Type 1 charstrings, etc.). This field is a pointer to such data.

control_len +
control_len

This is the length in bytes of the control data.

other +
other

Really wicked formats can use this pointer to present their own glyph image to client applications. Note that the application needs to know about the image format.

lsb_delta +
lsb_delta

The difference between hinted and unhinted left side bearing while autohinting is active. Zero otherwise.

rsb_delta +
rsb_delta

The difference between hinted and unhinted right side bearing while autohinting is active. Zero otherwise.

-
-
note
+ +

note

If FT_Load_Glyph is called with default flags (see FT_LOAD_DEFAULT) the glyph image is loaded in the glyph slot in its native format (e.g., an outline glyph for TrueType and Type 1 formats).

This image can later be converted into a bitmap by calling FT_Render_Glyph. This function finds the current renderer for the native image's format, then invokes it.

The renderer is in charge of transforming the native image through the slot's face transformation fields, then converting it into a bitmap that is returned in ‘slot->bitmap’.

Note that ‘slot->bitmap_left’ and ‘slot->bitmap_top’ are also used to specify the position of the bitmap relative to the current pen position (e.g., coordinates (0,0) on the baseline). Of course, ‘slot->format’ is also changed to FT_GLYPH_FORMAT_BITMAP.

-
-
note
+ +

note

Here a small pseudo code fragment that shows how to use ‘lsb_delta’ and ‘rsb_delta’:

   FT_Pos  origin_x       = 0;                                      
@@ -1499,687 +953,738 @@ Defined in FT_FREETYPE_H (freetype.h).
     origin_x += face->glyph->advance.x;                            
   endfor                                                           
 
-
-
-
- - -
[Index][TOC]
-
-

FT_Init_FreeType

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
+
+ - FT_EXPORT( FT_Error ) - FT_Init_FreeType( FT_Library *alibrary ); +
+

FT_Glyph_Metrics

+

Defined in FT_FREETYPE_H (freetype.h).

+
+  typedef struct  FT_Glyph_Metrics_
+  {
+    FT_Pos  width;
+    FT_Pos  height;
 
-

-
-

Initialize a new FreeType library object. The set of modules that are registered by this function is determined at build time.

-

-
output
-

- - -
alibrary -

A handle to a new library object.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

In case you want to provide your own memory allocating routines, use FT_New_Library instead, followed by a call to FT_Add_Default_Modules (or a series of calls to FT_Add_Module).

-

For multi-threading applications each thread should have its own FT_Library object.

-

If you need reference-counting (cf. FT_Reference_Library), use FT_New_Library and FT_Done_Library.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Done_FreeType

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
+    FT_Pos  horiBearingX;
+    FT_Pos  horiBearingY;
+    FT_Pos  horiAdvance;
 
-  FT_EXPORT( FT_Error )
-  FT_Done_FreeType( FT_Library  library );
+    FT_Pos  vertBearingX;
+    FT_Pos  vertBearingY;
+    FT_Pos  vertAdvance;
 
-

-
-

Destroy a given FreeType library object and all of its children, including resources, drivers, faces, sizes, etc.

-

-
input
-

- - -
library -

A handle to the target library object.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_OPEN_XXX

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
-
-#define FT_OPEN_MEMORY    0x1
-#define FT_OPEN_STREAM    0x2
-#define FT_OPEN_PATHNAME  0x4
-#define FT_OPEN_DRIVER    0x8
-#define FT_OPEN_PARAMS    0x10
-
-#define ft_open_memory    FT_OPEN_MEMORY     /* deprecated */
-#define ft_open_stream    FT_OPEN_STREAM     /* deprecated */
-#define ft_open_pathname  FT_OPEN_PATHNAME   /* deprecated */
-#define ft_open_driver    FT_OPEN_DRIVER     /* deprecated */
-#define ft_open_params    FT_OPEN_PARAMS     /* deprecated */
-
-

-
-

A list of bit-field constants used within the ‘flags’ field of the FT_Open_Args structure.

-

-
values
-

- - - -
FT_OPEN_MEMORY -

This is a memory-based stream.

-
FT_OPEN_STREAM -

Copy the stream from the ‘stream’ field.

-
FT_OPEN_PATHNAME -

Create a new input stream from a C path name.

+ } FT_Glyph_Metrics; + + +

A structure used to model the metrics of a single glyph. The values are expressed in 26.6 fractional pixel format; if the flag FT_LOAD_NO_SCALE has been used while loading the glyph, values are expressed in font units instead.

+ +

fields

+ + - - - - - - -
width +

The glyph's width.

FT_OPEN_DRIVER -

Use the ‘driver’ field.

+
height +

The glyph's height.

FT_OPEN_PARAMS -

Use the ‘num_params’ and ‘params’ fields.

+
horiBearingX +

Left side bearing for horizontal layout.

ft_open_memory -

Deprecated; use FT_OPEN_MEMORY instead.

+
horiBearingY +

Top side bearing for horizontal layout.

ft_open_stream -

Deprecated; use FT_OPEN_STREAM instead.

+
horiAdvance +

Advance width for horizontal layout.

ft_open_pathname -

Deprecated; use FT_OPEN_PATHNAME instead.

+
vertBearingX +

Left side bearing for vertical layout.

ft_open_driver -

Deprecated; use FT_OPEN_DRIVER instead.

+
vertBearingY +

Top side bearing for vertical layout. Larger positive values mean further below the vertical glyph origin.

ft_open_params -

Deprecated; use FT_OPEN_PARAMS instead.

+
vertAdvance +

Advance height for vertical layout. Positive values mean the glyph has a positive advance downward.

-
-
note
-

The ‘FT_OPEN_MEMORY’, ‘FT_OPEN_STREAM’, and ‘FT_OPEN_PATHNAME’ flags are mutually exclusive.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Parameter

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
-  typedef struct  FT_Parameter_
-  {
-    FT_ULong    tag;
-    FT_Pointer  data;
+

note

+

If not disabled with FT_LOAD_NO_HINTING, the values represent dimensions of the hinted glyph (in case hinting is applicable).

+

Stroking a glyph with an outside border does not increase ‘horiAdvance’ or ‘vertAdvance’; you have to manually adjust these values to account for the added width and height.

- } FT_Parameter; +
+ -

-
-

A simple structure used to pass more or less generic parameters to FT_Open_Face.

-

-
fields
-

- - - -
tag -

A four-byte identification tag.

-
data -

A pointer to the parameter data.

-
-
-
note
-

The ID and function of parameters are driver-specific. See the various FT_PARAM_TAG_XXX flags for more information.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Open_Args

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
+
+

FT_SubGlyph

+

Defined in FT_FREETYPE_H (freetype.h).

+
+  typedef struct FT_SubGlyphRec_*  FT_SubGlyph;
+
- typedef struct FT_Open_Args_ +

The subglyph structure is an internal object used to describe subglyphs (for example, in the case of composites).

+ +

note

+

The subglyph implementation is not part of the high-level API, hence the forward structure declaration.

+

You can however retrieve subglyph information with FT_Get_SubGlyph_Info.

+ +
+
+ +
+

FT_Bitmap_Size

+

Defined in FT_FREETYPE_H (freetype.h).

+
+  typedef struct  FT_Bitmap_Size_
   {
-    FT_UInt         flags;
-    const FT_Byte*  memory_base;
-    FT_Long         memory_size;
-    FT_String*      pathname;
-    FT_Stream       stream;
-    FT_Module       driver;
-    FT_Int          num_params;
-    FT_Parameter*   params;
+    FT_Short  height;
+    FT_Short  width;
 
-  } FT_Open_Args;
+    FT_Pos    size;
 
-

-
-

A structure used to indicate how to open a new font file or stream. A pointer to such a structure can be used as a parameter for the functions FT_Open_Face and FT_Attach_Stream.

-

-
fields
-

- - -
flags -

A set of bit flags indicating how to use the structure.

-
memory_base -

The first byte of the file in memory.

+ FT_Pos x_ppem; + FT_Pos y_ppem; + + } FT_Bitmap_Size; + + +

This structure models the metrics of a bitmap strike (i.e., a set of glyphs for a given point size and resolution) in a bitmap font. It is used for the ‘available_sizes’ field of FT_Face.

+ +

fields

+ + - - - - -
height +

The vertical distance, in pixels, between two consecutive baselines. It is always positive.

memory_size -

The size in bytes of the file in memory.

+
width +

The average width, in pixels, of all glyphs in the strike.

pathname -

A pointer to an 8-bit file pathname.

+
size +

The nominal size of the strike in 26.6 fractional points. This field is not very useful.

stream -

A handle to a source stream object.

+
x_ppem +

The horizontal ppem (nominal width) in 26.6 fractional pixels.

driver -

This field is exclusively used by FT_Open_Face; it simply specifies the font driver to use to open the face. If set to 0, FreeType tries to load the face with each one of the drivers in its list.

+
y_ppem +

The vertical ppem (nominal height) in 26.6 fractional pixels.

num_params -

The number of extra parameters.

+
+ +

note

+

Windows FNT: The nominal size given in a FNT font is not reliable. Thus when the driver finds it incorrect, it sets ‘size’ to some calculated values and sets ‘x_ppem’ and ‘y_ppem’ to the pixel width and height given in the font, respectively.

+

TrueType embedded bitmaps: ‘size’, ‘width’, and ‘height’ values are not contained in the bitmap strike itself. They are computed from the global font parameters.

+ +
+ + +
+

FT_Init_FreeType

+

Defined in FT_FREETYPE_H (freetype.h).

+
+  FT_EXPORT( FT_Error )
+  FT_Init_FreeType( FT_Library  *alibrary );
+
+ +

Initialize a new FreeType library object. The set of modules that are registered by this function is determined at build time.

+ +

output

+ + -
alibrary +

A handle to a new library object.

params -

Extra parameters passed to the font driver when opening a new face.

+
+ +

return

+

FreeType error code. 0 means success.

+ +

note

+

In case you want to provide your own memory allocating routines, use FT_New_Library instead, followed by a call to FT_Add_Default_Modules (or a series of calls to FT_Add_Module).

+

For multi-threading applications each thread should have its own FT_Library object.

+

If you need reference-counting (cf. FT_Reference_Library), use FT_New_Library and FT_Done_Library.

+ +
+
+ +
+

FT_Done_FreeType

+

Defined in FT_FREETYPE_H (freetype.h).

+
+  FT_EXPORT( FT_Error )
+  FT_Done_FreeType( FT_Library  library );
+
+ +

Destroy a given FreeType library object and all of its children, including resources, drivers, faces, sizes, etc.

+ +

input

+ +
library +

A handle to the target library object.

-
-
note
-

The stream type is determined by the contents of ‘flags’ that are tested in the following order by FT_Open_Face:

-

If the ‘FT_OPEN_MEMORY’ bit is set, assume that this is a memory file of ‘memory_size’ bytes, located at ‘memory_address’. The data are are not copied, and the client is responsible for releasing and destroying them after the corresponding call to FT_Done_Face.

-

Otherwise, if the ‘FT_OPEN_STREAM’ bit is set, assume that a custom input stream ‘stream’ is used.

-

Otherwise, if the ‘FT_OPEN_PATHNAME’ bit is set, assume that this is a normal file and use ‘pathname’ to open it.

-

If the ‘FT_OPEN_DRIVER’ bit is set, FT_Open_Face only tries to open the file with the driver whose handler is in ‘driver’.

-

If the ‘FT_OPEN_PARAMS’ bit is set, the parameters given by ‘num_params’ and ‘params’ is used. They are ignored otherwise.

-

Ideally, both the ‘pathname’ and ‘params’ fields should be tagged as ‘const’; this is missing for API backwards compatibility. In other words, applications should treat them as read-only.

-
-
-
- - -
[Index][TOC]
- -
-

FT_New_Face

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
+

return

+

FreeType error code. 0 means success.

+ +
+ + +
+

FT_New_Face

+

Defined in FT_FREETYPE_H (freetype.h).

+
   FT_EXPORT( FT_Error )
   FT_New_Face( FT_Library   library,
                const char*  filepathname,
                FT_Long      face_index,
                FT_Face     *aface );
+
-

-

This function calls FT_Open_Face to open a font by its pathname.

-

-
inout
-

- -
library + +

inout

+ +
library

A handle to the library resource.

-
-
input
-

- -
pathname + +

input

+ + -
pathname

A path to the font file.

face_index +
face_index

The index of the face within the font. The first face has index 0.

-
-
output
-

- -
aface + +

output

+ +
aface

A handle to a new face object. If ‘face_index’ is greater than or equal to zero, it must be non-NULL. See FT_Open_Face for more details.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

Use FT_Done_Face to destroy the created FT_Face object (along with its slot and sizes).

-
-
-
- - -
[Index][TOC]
- -
-

FT_New_Memory_Face

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
+
+ + +
+

FT_Done_Face

+

Defined in FT_FREETYPE_H (freetype.h).

+
+  FT_EXPORT( FT_Error )
+  FT_Done_Face( FT_Face  face );
+
+ +

Discard a given face object, as well as all of its child slots and sizes.

+ +

input

+ + +
face +

A handle to a target face object.

+
+ +

return

+

FreeType error code. 0 means success.

+ +

note

+

See the discussion of reference counters in the description of FT_Reference_Face.

+ +
+
+ +
+

FT_Reference_Face

+

Defined in FT_FREETYPE_H (freetype.h).

+
+  FT_EXPORT( FT_Error )
+  FT_Reference_Face( FT_Face  face );
+
+ +

A counter gets initialized to 1 at the time an FT_Face structure is created. This function increments the counter. FT_Done_Face then only destroys a face if the counter is 1, otherwise it simply decrements the counter.

+

This function helps in managing life-cycles of structures that reference FT_Face objects.

+ +

input

+ + +
face +

A handle to a target face object.

+
+ +

return

+

FreeType error code. 0 means success.

+ +

since

+

2.4.2

+ +
+
+ +
+

FT_New_Memory_Face

+

Defined in FT_FREETYPE_H (freetype.h).

+
   FT_EXPORT( FT_Error )
   FT_New_Memory_Face( FT_Library      library,
                       const FT_Byte*  file_base,
                       FT_Long         file_size,
                       FT_Long         face_index,
                       FT_Face        *aface );
+
-

-

This function calls FT_Open_Face to open a font that has been loaded into memory.

-

-
inout
-

- -
library + +

inout

+ +
library

A handle to the library resource.

-
-
input
-

- -
file_base + +

input

+ + - -
file_base

A pointer to the beginning of the font data.

file_size +
file_size

The size of the memory chunk used by the font data.

face_index +
face_index

The index of the face within the font. The first face has index 0.

-
-
output
-

- -
aface + +

output

+ +
aface

A handle to a new face object. If ‘face_index’ is greater than or equal to zero, it must be non-NULL. See FT_Open_Face for more details.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

You must not deallocate the memory before calling FT_Done_Face.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Open_Face

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
+
+ + +
+

FT_Open_Face

+

Defined in FT_FREETYPE_H (freetype.h).

+
   FT_EXPORT( FT_Error )
   FT_Open_Face( FT_Library           library,
                 const FT_Open_Args*  args,
                 FT_Long              face_index,
                 FT_Face             *aface );
+
-

-

Create a face object from a given resource described by FT_Open_Args.

-

-
inout
-

- -
library + +

inout

+ +
library

A handle to the library resource.

-
-
input
-

- -
args + +

input

+ + -
args

A pointer to an ‘FT_Open_Args’ structure that must be filled by the caller.

face_index +
face_index

The index of the face within the font. The first face has index 0.

-
-
output
-

- -
aface + +

output

+ +
aface

A handle to a new face object. If ‘face_index’ is greater than or equal to zero, it must be non-NULL. See note below.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

Unlike FreeType 1.x, this function automatically creates a glyph slot for the face object that can be accessed directly through ‘face->glyph’.

FT_Open_Face can be used to quickly check whether the font format of a given font resource is supported by FreeType. If the ‘face_index’ field is negative, the function's return value is 0 if the font format is recognized, or non-zero otherwise; the function returns a more or less empty face handle in ‘*aface’ (if ‘aface’ isn't NULL). The only useful field in this special case is ‘face->num_faces’ that gives the number of faces within the font file. After examination, the returned FT_Face structure should be deallocated with a call to FT_Done_Face.

Each new face object created with this function also owns a default FT_Size object, accessible as ‘face->size’.

One FT_Library instance can have multiple face objects, this is, FT_Open_Face and its siblings can be called multiple times using the same ‘library’ argument.

See the discussion of reference counters in the description of FT_Reference_Face.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Attach_File

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Attach_File( FT_Face      face,
-                  const char*  filepathname );
-
-

-
-

This function calls FT_Attach_Stream to attach a file.

-

-
inout
-

- - -
face -

The target face object.

-
-
-
input
-

- - -
filepathname -

The pathname.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Attach_Stream

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
-  FT_EXPORT( FT_Error )
-  FT_Attach_Stream( FT_Face        face,
-                    FT_Open_Args*  parameters );
+
+ + +
+

FT_Open_Args

+

Defined in FT_FREETYPE_H (freetype.h).

+
+  typedef struct  FT_Open_Args_
+  {
+    FT_UInt         flags;
+    const FT_Byte*  memory_base;
+    FT_Long         memory_size;
+    FT_String*      pathname;
+    FT_Stream       stream;
+    FT_Module       driver;
+    FT_Int          num_params;
+    FT_Parameter*   params;
+
+  } FT_Open_Args;
+
+ +

A structure used to indicate how to open a new font file or stream. A pointer to such a structure can be used as a parameter for the functions FT_Open_Face and FT_Attach_Stream.

+ +

fields

+ + + + + + + + + +
flags +

A set of bit flags indicating how to use the structure.

+
memory_base +

The first byte of the file in memory.

+
memory_size +

The size in bytes of the file in memory.

+
pathname +

A pointer to an 8-bit file pathname.

+
stream +

A handle to a source stream object.

+
driver +

This field is exclusively used by FT_Open_Face; it simply specifies the font driver to use to open the face. If set to 0, FreeType tries to load the face with each one of the drivers in its list.

+
num_params +

The number of extra parameters.

+
params +

Extra parameters passed to the font driver when opening a new face.

+
+ +

note

+

The stream type is determined by the contents of ‘flags’ that are tested in the following order by FT_Open_Face:

+

If the FT_OPEN_MEMORY bit is set, assume that this is a memory file of ‘memory_size’ bytes, located at ‘memory_address’. The data are are not copied, and the client is responsible for releasing and destroying them after the corresponding call to FT_Done_Face.

+

Otherwise, if the FT_OPEN_STREAM bit is set, assume that a custom input stream ‘stream’ is used.

+

Otherwise, if the FT_OPEN_PATHNAME bit is set, assume that this is a normal file and use ‘pathname’ to open it.

+

If the FT_OPEN_DRIVER bit is set, FT_Open_Face only tries to open the file with the driver whose handler is in ‘driver’.

+

If the FT_OPEN_PARAMS bit is set, the parameters given by ‘num_params’ and ‘params’ is used. They are ignored otherwise.

+

Ideally, both the ‘pathname’ and ‘params’ fields should be tagged as ‘const’; this is missing for API backwards compatibility. In other words, applications should treat them as read-only.

+ +
+
+ +
+

FT_Parameter

+

Defined in FT_FREETYPE_H (freetype.h).

+
+  typedef struct  FT_Parameter_
+  {
+    FT_ULong    tag;
+    FT_Pointer  data;
+
+  } FT_Parameter;
+
+ +

A simple structure used to pass more or less generic parameters to FT_Open_Face.

+ +

fields

+ + + +
tag +

A four-byte identification tag.

+
data +

A pointer to the parameter data.

+
+ +

note

+

The ID and function of parameters are driver-specific. See the various FT_PARAM_TAG_XXX flags for more information.

+ +
+
+ +
+

FT_Attach_File

+

Defined in FT_FREETYPE_H (freetype.h).

+
+  FT_EXPORT( FT_Error )
+  FT_Attach_File( FT_Face      face,
+                  const char*  filepathname );
+
+ +

This function calls FT_Attach_Stream to attach a file.

+ +

inout

+ + +
face +

The target face object.

+
+ +

input

+ + +
filepathname +

The pathname.

+
+ +

return

+

FreeType error code. 0 means success.

+ +
+
+ +
+

FT_Attach_Stream

+

Defined in FT_FREETYPE_H (freetype.h).

+
+  FT_EXPORT( FT_Error )
+  FT_Attach_Stream( FT_Face        face,
+                    FT_Open_Args*  parameters );
+
-

-

‘Attach’ data to a face object. Normally, this is used to read additional information for the face object. For example, you can attach an AFM file that comes with a Type 1 font to get the kerning values and other metrics.

-

-
inout
-

- -
face + +

inout

+ +
face

The target face object.

-
-
input
-

- -
parameters + +

input

+ +
parameters

A pointer to FT_Open_Args that must be filled by the caller.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

The meaning of the ‘attach’ (i.e., what really happens when the new file is read) is not fixed by FreeType itself. It really depends on the font format (and thus the font driver).

Client applications are expected to know what they are doing when invoking this function. Most drivers simply do not implement file attachments.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Reference_Face

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
+
+ + +
+

FT_Set_Char_Size

+

Defined in FT_FREETYPE_H (freetype.h).

+
   FT_EXPORT( FT_Error )
-  FT_Reference_Face( FT_Face  face );
+  FT_Set_Char_Size( FT_Face     face,
+                    FT_F26Dot6  char_width,
+                    FT_F26Dot6  char_height,
+                    FT_UInt     horz_resolution,
+                    FT_UInt     vert_resolution );
+
-

-
-

A counter gets initialized to 1 at the time an FT_Face structure is created. This function increments the counter. FT_Done_Face then only destroys a face if the counter is 1, otherwise it simply decrements the counter.

-

This function helps in managing life-cycles of structures that reference FT_Face objects.

-

-
input
-

- -
face +

This function calls FT_Request_Size to request the nominal size (in points).

+ +

inout

+ +
face

A handle to a target face object.

-
-
return
+ +

input

+ + + + + +
char_width +

The nominal width, in 26.6 fractional points.

+
char_height +

The nominal height, in 26.6 fractional points.

+
horz_resolution +

The horizontal resolution in dpi.

+
vert_resolution +

The vertical resolution in dpi.

+
+ +

return

FreeType error code. 0 means success.

-
-
since
-

2.4.2

-
-
-
- - -
[Index][TOC]
- -
-

FT_Done_Face

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
+

note

+

If either the character width or height is zero, it is set equal to the other value.

+

If either the horizontal or vertical resolution is zero, it is set equal to the other value.

+

A character width or height smaller than 1pt is set to 1pt; if both resolution values are zero, they are set to 72dpi.

+

Don't use this function if you are using the FreeType cache API.

+ +
+ + +
+

FT_Set_Pixel_Sizes

+

Defined in FT_FREETYPE_H (freetype.h).

+
   FT_EXPORT( FT_Error )
-  FT_Done_Face( FT_Face  face );
+  FT_Set_Pixel_Sizes( FT_Face  face,
+                      FT_UInt  pixel_width,
+                      FT_UInt  pixel_height );
+
-

-
-

Discard a given face object, as well as all of its child slots and sizes.

-

-
input
-

- -
face +

This function calls FT_Request_Size to request the nominal size (in pixels).

+ +

inout

+ + +
face +

A handle to the target face object.

+
+ +

input

+ + + +
pixel_width +

The nominal width, in pixels.

+
pixel_height +

The nominal height, in pixels.

+
+ +

return

+

FreeType error code. 0 means success.

+ +

note

+

You should not rely on the resulting glyphs matching, or being constrained, to this pixel size. Refer to FT_Request_Size to understand how requested sizes relate to actual sizes.

+

Don't use this function if you are using the FreeType cache API.

+ +
+ + +
+

FT_Request_Size

+

Defined in FT_FREETYPE_H (freetype.h).

+
+  FT_EXPORT( FT_Error )
+  FT_Request_Size( FT_Face          face,
+                   FT_Size_Request  req );
+
+ +

Resize the scale of the active FT_Size object in a face.

+ +

inout

+ +
face

A handle to a target face object.

-
-
return
+ +

input

+ + +
req +

A pointer to a FT_Size_RequestRec.

+
+ +

return

FreeType error code. 0 means success.

-
-
note
-

See the discussion of reference counters in the description of FT_Reference_Face.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Select_Size

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
+

note

+

Although drivers may select the bitmap strike matching the request, you should not rely on this if you intend to select a particular bitmap strike. Use FT_Select_Size instead in that case.

+

The relation between the requested size and the resulting glyph size is dependent entirely on how the size is defined in the source face. The font designer chooses the final size of each glyph relative to this size. For more information refer to ‘http://www.freetype.org/freetype2/docs/glyphs/glyphs-2.html

+

Don't use this function if you are using the FreeType cache API.

+ +
+ + +
+

FT_Select_Size

+

Defined in FT_FREETYPE_H (freetype.h).

+
   FT_EXPORT( FT_Error )
   FT_Select_Size( FT_Face  face,
                   FT_Int   strike_index );
+
-

-

Select a bitmap strike.

-

-
inout
-

- -
face + +

inout

+ +
face

A handle to a target face object.

-
-
input
-

- -
strike_index + +

input

+ +
strike_index

The index of the bitmap strike in the ‘available_sizes’ field of FT_FaceRec structure.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Size_Request_Type

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
+
+ + +
+

FT_Size_Request_Type

+

Defined in FT_FREETYPE_H (freetype.h).

+
   typedef enum  FT_Size_Request_Type_
   {
-    FT_SIZE_REQUEST_TYPE_NOMINAL,
-    FT_SIZE_REQUEST_TYPE_REAL_DIM,
-    FT_SIZE_REQUEST_TYPE_BBOX,
-    FT_SIZE_REQUEST_TYPE_CELL,
-    FT_SIZE_REQUEST_TYPE_SCALES,
+    FT_SIZE_REQUEST_TYPE_NOMINAL,
+    FT_SIZE_REQUEST_TYPE_REAL_DIM,
+    FT_SIZE_REQUEST_TYPE_BBOX,
+    FT_SIZE_REQUEST_TYPE_CELL,
+    FT_SIZE_REQUEST_TYPE_SCALES,
 
     FT_SIZE_REQUEST_TYPE_MAX
 
   } FT_Size_Request_Type;
+
-

-

An enumeration type that lists the supported size request types.

-

-
values
-

- - -
FT_SIZE_REQUEST_TYPE_NOMINAL
+ +

values

+ + - - - - - - - -
FT_SIZE_REQUEST_TYPE_NOMINAL

The nominal size. The ‘units_per_EM’ field of FT_FaceRec is used to determine both scaling values.

FT_SIZE_REQUEST_TYPE_REAL_DIM
+
FT_SIZE_REQUEST_TYPE_REAL_DIM

The real dimension. The sum of the the ‘ascender’ and (minus of) the ‘descender’ fields of FT_FaceRec are used to determine both scaling values.

FT_SIZE_REQUEST_TYPE_BBOX
+
FT_SIZE_REQUEST_TYPE_BBOX

The font bounding box. The width and height of the ‘bbox’ field of FT_FaceRec are used to determine the horizontal and vertical scaling value, respectively.

FT_SIZE_REQUEST_TYPE_CELL
+
FT_SIZE_REQUEST_TYPE_CELL

The ‘max_advance_width’ field of FT_FaceRec is used to determine the horizontal scaling value; the vertical scaling value is determined the same way as FT_SIZE_REQUEST_TYPE_REAL_DIM does. Finally, both scaling values are set to the smaller one. This type is useful if you want to specify the font size for, say, a window of a given dimension and 80x24 cells.

FT_SIZE_REQUEST_TYPE_SCALES
+
FT_SIZE_REQUEST_TYPE_SCALES

Specify the scaling values directly.

-
-
note
+ +

note

The above descriptions only apply to scalable formats. For bitmap formats, the behaviour is up to the driver.

See the note section of FT_Size_Metrics if you wonder how size requesting relates to scaling values.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Size_RequestRec

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
+
+ + +
+

FT_Size_RequestRec

+

Defined in FT_FREETYPE_H (freetype.h).

+
   typedef struct  FT_Size_RequestRec_
   {
     FT_Size_Request_Type  type;
@@ -2189,1467 +1694,1246 @@ Defined in FT_FREETYPE_H (freetype.h).
     FT_UInt               vertResolution;
 
   } FT_Size_RequestRec;
+
-

-

A structure used to model a size request.

-

-
fields
-

- -
type + +

fields

+ + - - - -
type

See FT_Size_Request_Type.

width +
width

The desired width.

height +
height

The desired height.

horiResolution +
horiResolution

The horizontal resolution. If set to zero, ‘width’ is treated as a 26.6 fractional pixel value.

vertResolution +
vertResolution

The vertical resolution. If set to zero, ‘height’ is treated as a 26.6 fractional pixel value.

-
-
note
+ +

note

If ‘width’ is zero, then the horizontal scaling value is set equal to the vertical scaling value, and vice versa.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Size_Request

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
+
+ + +
+

FT_Size_Request

+

Defined in FT_FREETYPE_H (freetype.h).

+
   typedef struct FT_Size_RequestRec_  *FT_Size_Request;
+
-

-

A handle to a size request structure.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Request_Size

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
-  FT_EXPORT( FT_Error )
-  FT_Request_Size( FT_Face          face,
-                   FT_Size_Request  req );
+
+ -

-
-

Resize the scale of the active FT_Size object in a face.

-

-
inout
-

- - -
face -

A handle to a target face object.

-
-
-
input
-

- - -
req -

A pointer to a FT_Size_RequestRec.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

Although drivers may select the bitmap strike matching the request, you should not rely on this if you intend to select a particular bitmap strike. Use FT_Select_Size instead in that case.

-

The relation between the requested size and the resulting glyph size is dependent entirely on how the size is defined in the source face. The font designer chooses the final size of each glyph relative to this size. For more information refer to ‘http://www.freetype.org/freetype2/docs/glyphs/glyphs-2.html

-

Don't use this function if you are using the FreeType cache API.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Set_Char_Size

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
+
+

FT_Set_Transform

+

Defined in FT_FREETYPE_H (freetype.h).

+
+  FT_EXPORT( void )
+  FT_Set_Transform( FT_Face     face,
+                    FT_Matrix*  matrix,
+                    FT_Vector*  delta );
+
- FT_EXPORT( FT_Error ) - FT_Set_Char_Size( FT_Face face, - FT_F26Dot6 char_width, - FT_F26Dot6 char_height, - FT_UInt horz_resolution, - FT_UInt vert_resolution ); +

A function used to set the transformation that is applied to glyph images when they are loaded into a glyph slot through FT_Load_Glyph.

-

-
-

This function calls FT_Request_Size to request the nominal size (in points).

-

-
inout
-

- -
face -

A handle to a target face object.

+

inout

+ +
face +

A handle to the source face object.

-
-
input
-

- - - -
char_width -

The nominal width, in 26.6 fractional points.

-
char_height -

The nominal height, in 26.6 fractional points.

-
horz_resolution -

The horizontal resolution in dpi.

+ +

input

+ + -
matrix +

A pointer to the transformation's 2x2 matrix. Use 0 for the identity matrix.

vert_resolution -

The vertical resolution in dpi.

+
delta +

A pointer to the translation vector. Use 0 for the null vector.

-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

If either the character width or height is zero, it is set equal to the other value.

-

If either the horizontal or vertical resolution is zero, it is set equal to the other value.

-

A character width or height smaller than 1pt is set to 1pt; if both resolution values are zero, they are set to 72dpi.

-

Don't use this function if you are using the FreeType cache API.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Set_Pixel_Sizes

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
-  FT_EXPORT( FT_Error )
-  FT_Set_Pixel_Sizes( FT_Face  face,
-                      FT_UInt  pixel_width,
-                      FT_UInt  pixel_height );
+

note

+

The transformation is only applied to scalable image formats after the glyph has been loaded. It means that hinting is unaltered by the transformation and is performed on the character size given in the last call to FT_Set_Char_Size or FT_Set_Pixel_Sizes.

+

Note that this also transforms the ‘face.glyph.advance’ field, but not the values in ‘face.glyph.metrics’.

-

-
-

This function calls FT_Request_Size to request the nominal size (in pixels).

-

-
inout
-

- - -
face -

A handle to the target face object.

-
-
-
input
-

- - - -
pixel_width -

The nominal width, in pixels.

-
pixel_height -

The nominal height, in pixels.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

You should not rely on the resulting glyphs matching, or being constrained, to this pixel size. Refer to FT_Request_Size to understand how requested sizes relate to actual sizes.

-

Don't use this function if you are using the FreeType cache API.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Load_Glyph

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
+
+ +
+

FT_Load_Glyph

+

Defined in FT_FREETYPE_H (freetype.h).

+
   FT_EXPORT( FT_Error )
   FT_Load_Glyph( FT_Face   face,
                  FT_UInt   glyph_index,
                  FT_Int32  load_flags );
+
-

-

A function used to load a single glyph into the glyph slot of a face object.

-

-
inout
-

- -
face + +

inout

+ +
face

A handle to the target face object where the glyph is loaded.

-
-
input
-

- -
glyph_index + +

input

+ + -
glyph_index

The index of the glyph in the font file. For CID-keyed fonts (either in PS or in CFF format) this argument specifies the CID value.

load_flags +
load_flags

A flag indicating what to load for this glyph. The FT_LOAD_XXX constants can be used to control the glyph loading process (e.g., whether the outline should be scaled, whether to load bitmaps or not, whether to hint the outline, etc).

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

The loaded glyph may be transformed. See FT_Set_Transform for the details.

For subsetted CID-keyed fonts, ‘FT_Err_Invalid_Argument’ is returned for invalid CID values (this is, for CID values that don't have a corresponding glyph in the font). See the discussion of the FT_FACE_FLAG_CID_KEYED flag for more details.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Load_Char

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
-  FT_EXPORT( FT_Error )
-  FT_Load_Char( FT_Face   face,
-                FT_ULong  char_code,
-                FT_Int32  load_flags );
+
+ -

-
-

A function used to load a single glyph into the glyph slot of a face object, according to its character code.

-

-
inout
-

- - -
face -

A handle to a target face object where the glyph is loaded.

-
-
-
input
-

- -
char_code -

The glyph's character code, according to the current charmap used in the face.

+
+

FT_Get_Char_Index

+

Defined in FT_FREETYPE_H (freetype.h).

+
+  FT_EXPORT( FT_UInt )
+  FT_Get_Char_Index( FT_Face   face,
+                     FT_ULong  charcode );
+
+ +

Return the glyph index of a given character code. This function uses a charmap object to do the mapping.

+ +

input

+ + -
face +

A handle to the source face object.

load_flags -

A flag indicating what to load for this glyph. The FT_LOAD_XXX constants can be used to control the glyph loading process (e.g., whether the outline should be scaled, whether to load bitmaps or not, whether to hint the outline, etc).

+
charcode +

The character code.

-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

This function simply calls FT_Get_Char_Index and FT_Load_Glyph.

-
-
-
- - -
[Index][TOC]
- -
-

FT_LOAD_XXX

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
-
-#define FT_LOAD_DEFAULT                      0x0
-#define FT_LOAD_NO_SCALE                     ( 1L << 0 )
-#define FT_LOAD_NO_HINTING                   ( 1L << 1 )
-#define FT_LOAD_RENDER                       ( 1L << 2 )
-#define FT_LOAD_NO_BITMAP                    ( 1L << 3 )
-#define FT_LOAD_VERTICAL_LAYOUT              ( 1L << 4 )
-#define FT_LOAD_FORCE_AUTOHINT               ( 1L << 5 )
-#define FT_LOAD_CROP_BITMAP                  ( 1L << 6 )
-#define FT_LOAD_PEDANTIC                     ( 1L << 7 )
-#define FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH  ( 1L << 9 )
-#define FT_LOAD_NO_RECURSE                   ( 1L << 10 )
-#define FT_LOAD_IGNORE_TRANSFORM             ( 1L << 11 )
-#define FT_LOAD_MONOCHROME                   ( 1L << 12 )
-#define FT_LOAD_LINEAR_DESIGN                ( 1L << 13 )
-#define FT_LOAD_NO_AUTOHINT                  ( 1L << 15 )
-  /* Bits 16..19 are used by `FT_LOAD_TARGET_' */
-#define FT_LOAD_COLOR                        ( 1L << 20 )
 
-

-
-

A list of bit-field constants used with FT_Load_Glyph to indicate what kind of operations to perform during glyph loading.

-

-
values
-

- - - - - - - - - - - - - - - -
FT_LOAD_DEFAULT -

Corresponding to 0, this value is used as the default glyph load operation. In this case, the following happens:

-

1. FreeType looks for a bitmap for the glyph corresponding to the face's current size. If one is found, the function returns. The bitmap data can be accessed from the glyph slot (see note below).

-

2. If no embedded bitmap is searched or found, FreeType looks for a scalable outline. If one is found, it is loaded from the font file, scaled to device pixels, then ‘hinted’ to the pixel grid in order to optimize it. The outline data can be accessed from the glyph slot (see note below).

-

Note that by default, the glyph loader doesn't render outlines into bitmaps. The following flags are used to modify this default behaviour to more specific and useful cases.

-
FT_LOAD_NO_SCALE -

Don't scale the loaded outline glyph but keep it in font units.

-

This flag implies FT_LOAD_NO_HINTING and FT_LOAD_NO_BITMAP, and unsets FT_LOAD_RENDER.

-

If the font is ‘tricky’ (see FT_FACE_FLAG_TRICKY for more), using FT_LOAD_NO_SCALE usually yields meaningless outlines because the subglyphs must be scaled and positioned with hinting instructions. This can be solved by loading the font without FT_LOAD_NO_SCALE and setting the character size to ‘font->units_per_EM’.

-
FT_LOAD_NO_HINTING -

Disable hinting. This generally generates ‘blurrier’ bitmap glyphs when the glyph are rendered in any of the anti-aliased modes. See also the note below.

-

This flag is implied by FT_LOAD_NO_SCALE.

-
FT_LOAD_RENDER -

Call FT_Render_Glyph after the glyph is loaded. By default, the glyph is rendered in FT_RENDER_MODE_NORMAL mode. This can be overridden by FT_LOAD_TARGET_XXX or FT_LOAD_MONOCHROME.

-

This flag is unset by FT_LOAD_NO_SCALE.

-
FT_LOAD_NO_BITMAP -

Ignore bitmap strikes when loading. Bitmap-only fonts ignore this flag.

-

FT_LOAD_NO_SCALE always sets this flag.

-
FT_LOAD_VERTICAL_LAYOUT
-

Load the glyph for vertical text layout. In particular, the ‘advance’ value in the FT_GlyphSlotRec structure is set to the ‘vertAdvance’ value of the ‘metrics’ field.

-

In case FT_HAS_VERTICAL doesn't return true, you shouldn't use this flag currently. Reason is that in this case vertical metrics get synthesized, and those values are not always consistent across various font formats.

-
FT_LOAD_FORCE_AUTOHINT -

Indicates that the auto-hinter is preferred over the font's native hinter. See also the note below.

-
FT_LOAD_CROP_BITMAP -

Indicates that the font driver should crop the loaded bitmap glyph (i.e., remove all space around its black bits). Not all drivers implement this.

-
FT_LOAD_PEDANTIC -

Indicates that the font driver should perform pedantic verifications during glyph loading. This is mostly used to detect broken glyphs in fonts. By default, FreeType tries to handle broken fonts also.

-

In particular, errors from the TrueType bytecode engine are not passed to the application if this flag is not set; this might result in partially hinted or distorted glyphs in case a glyph's bytecode is buggy.

-
FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH
-

Ignored. Deprecated.

-
FT_LOAD_NO_RECURSE -

This flag is only used internally. It merely indicates that the font driver should not load composite glyphs recursively. Instead, it should set the ‘num_subglyph’ and ‘subglyphs’ values of the glyph slot accordingly, and set ‘glyph->format’ to FT_GLYPH_FORMAT_COMPOSITE.

-

The description of sub-glyphs is not available to client applications for now.

-

This flag implies FT_LOAD_NO_SCALE and FT_LOAD_IGNORE_TRANSFORM.

-
FT_LOAD_IGNORE_TRANSFORM
-

Indicates that the transform matrix set by FT_Set_Transform should be ignored.

+

return

+

The glyph index. 0 means ‘undefined character code’.

+ +

note

+

If you use FreeType to manipulate the contents of font files directly, be aware that the glyph index returned by this function doesn't always correspond to the internal indices used within the file. This is done to ensure that value 0 always corresponds to the ‘missing glyph’. If the first glyph is not named ‘.notdef’, then for Type 1 and Type 42 fonts, ‘.notdef’ will be moved into the glyph ID 0 position, and whatever was there will be moved to the position ‘.notdef’ had. For Type 1 fonts, if there is no ‘.notdef’ glyph at all, then one will be created at index 0 and whatever was there will be moved to the last index -- Type 42 fonts are considered invalid under this condition.

+ +
+ + +
+

FT_Get_First_Char

+

Defined in FT_FREETYPE_H (freetype.h).

+
+  FT_EXPORT( FT_ULong )
+  FT_Get_First_Char( FT_Face   face,
+                     FT_UInt  *agindex );
+
+ +

This function is used to return the first character code in the current charmap of a given face. It also returns the corresponding glyph index.

+ +

input

+ + -
face +

A handle to the source face object.

FT_LOAD_MONOCHROME -

This flag is used with FT_LOAD_RENDER to indicate that you want to render an outline glyph to a 1-bit monochrome bitmap glyph, with 8 pixels packed into each byte of the bitmap data.

-

Note that this has no effect on the hinting algorithm used. You should rather use FT_LOAD_TARGET_MONO so that the monochrome-optimized hinting algorithm is used.

+
+ +

output

+ + -
agindex +

Glyph index of first character code. 0 if charmap is empty.

FT_LOAD_LINEAR_DESIGN -

Indicates that the ‘linearHoriAdvance’ and ‘linearVertAdvance’ fields of FT_GlyphSlotRec should be kept in font units. See FT_GlyphSlotRec for details.

+
+ +

return

+

The charmap's first character code.

+ +

note

+

You should use this function with FT_Get_Next_Char to be able to parse all character codes available in a given charmap. The code should look like this:

+
+  FT_ULong  charcode;                                              
+  FT_UInt   gindex;                                                
+                                                                   
+                                                                   
+  charcode = FT_Get_First_Char( face, &gindex );                   
+  while ( gindex != 0 )                                            
+  {                                                                
+    ... do something with (charcode,gindex) pair ...               
+                                                                   
+    charcode = FT_Get_Next_Char( face, charcode, &gindex );        
+  }                                                                
+
+

Note that ‘*agindex’ is set to 0 if the charmap is empty. The result itself can be 0 in two cases: if the charmap is empty or if the value 0 is the first valid character code.

+ +
+
+ +
+

FT_Get_Next_Char

+

Defined in FT_FREETYPE_H (freetype.h).

+
+  FT_EXPORT( FT_ULong )
+  FT_Get_Next_Char( FT_Face    face,
+                    FT_ULong   char_code,
+                    FT_UInt   *agindex );
+
+ +

This function is used to return the next character code in the current charmap of a given face following the value ‘char_code’, as well as the corresponding glyph index.

+ +

input

+ + - -
face +

A handle to the source face object.

FT_LOAD_NO_AUTOHINT -

Disable auto-hinter. See also the note below.

+
char_code +

The starting character code.

FT_LOAD_COLOR -

This flag is used to request loading of color embedded-bitmap images. The resulting color bitmaps, if available, will have the FT_PIXEL_MODE_BGRA format. When the flag is not used and color bitmaps are found, they will be converted to 256-level gray bitmaps transparently. Those bitmaps will be in the FT_PIXEL_MODE_GRAY format.

+
+ +

output

+ +
agindex +

Glyph index of next character code. 0 if charmap is empty.

-
-
note
-

By default, hinting is enabled and the font's native hinter (see FT_FACE_FLAG_HINTER) is preferred over the auto-hinter. You can disable hinting by setting FT_LOAD_NO_HINTING or change the precedence by setting FT_LOAD_FORCE_AUTOHINT. You can also set FT_LOAD_NO_AUTOHINT in case you don't want the auto-hinter to be used at all.

-

See the description of FT_FACE_FLAG_TRICKY for a special exception (affecting only a handful of Asian fonts).

-

Besides deciding which hinter to use, you can also decide which hinting algorithm to use. See FT_LOAD_TARGET_XXX for details.

-

Note that the auto-hinter needs a valid Unicode cmap (either a native one or synthesized by FreeType) for producing correct results. If a font provides an incorrect mapping (for example, assigning the character code U+005A, LATIN CAPITAL LETTER Z, to a glyph depicting a mathematical integral sign), the auto-hinter might produce useless results.

-
-
-
- - -
[Index][TOC]
- -
-

FT_LOAD_TARGET_XXX

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
-#define FT_LOAD_TARGET_( x )   ( (FT_Int32)( (x) & 15 ) << 16 )
+

return

+

The charmap's next character code.

-#define FT_LOAD_TARGET_NORMAL FT_LOAD_TARGET_( FT_RENDER_MODE_NORMAL ) -#define FT_LOAD_TARGET_LIGHT FT_LOAD_TARGET_( FT_RENDER_MODE_LIGHT ) -#define FT_LOAD_TARGET_MONO FT_LOAD_TARGET_( FT_RENDER_MODE_MONO ) -#define FT_LOAD_TARGET_LCD FT_LOAD_TARGET_( FT_RENDER_MODE_LCD ) -#define FT_LOAD_TARGET_LCD_V FT_LOAD_TARGET_( FT_RENDER_MODE_LCD_V ) +

note

+

You should use this function with FT_Get_First_Char to walk over all character codes available in a given charmap. See the note for this function for a simple code example.

+

Note that ‘*agindex’ is set to 0 when there are no more codes in the charmap.

-

-
-

A list of values that are used to select a specific hinting algorithm to use by the hinter. You should OR one of these values to your ‘load_flags’ when calling FT_Load_Glyph.

-

Note that font's native hinters may ignore the hinting algorithm you have specified (e.g., the TrueType bytecode interpreter). You can set FT_LOAD_FORCE_AUTOHINT to ensure that the auto-hinter is used.

-

Also note that FT_LOAD_TARGET_LIGHT is an exception, in that it always implies FT_LOAD_FORCE_AUTOHINT.

-

-
values
-

- -
FT_LOAD_TARGET_NORMAL -

This corresponds to the default hinting algorithm, optimized for standard gray-level rendering. For monochrome output, use FT_LOAD_TARGET_MONO instead.

+
+ + +
+

FT_Get_Name_Index

+

Defined in FT_FREETYPE_H (freetype.h).

+
+  FT_EXPORT( FT_UInt )
+  FT_Get_Name_Index( FT_Face     face,
+                     FT_String*  glyph_name );
+
+ +

Return the glyph index of a given glyph name. This function uses driver specific objects to do the translation.

+ +

input

+ + - -
face +

A handle to the source face object.

FT_LOAD_TARGET_LIGHT -

A lighter hinting algorithm for non-monochrome modes. Many generated glyphs are more fuzzy but better resemble its original shape. A bit like rendering on Mac OS X.

-

As a special exception, this target implies FT_LOAD_FORCE_AUTOHINT.

+
glyph_name +

The glyph name.

FT_LOAD_TARGET_MONO -

Strong hinting algorithm that should only be used for monochrome output. The result is probably unpleasant if the glyph is rendered in non-monochrome modes.

+
+ +

return

+

The glyph index. 0 means ‘undefined character code’.

+ +
+
+ +
+

FT_Load_Char

+

Defined in FT_FREETYPE_H (freetype.h).

+
+  FT_EXPORT( FT_Error )
+  FT_Load_Char( FT_Face   face,
+                FT_ULong  char_code,
+                FT_Int32  load_flags );
+
+ +

A function used to load a single glyph into the glyph slot of a face object, according to its character code.

+ +

inout

+ + -
face +

A handle to a target face object where the glyph is loaded.

FT_LOAD_TARGET_LCD -

A variant of FT_LOAD_TARGET_NORMAL optimized for horizontally decimated LCD displays.

+
+ +

input

+ + -
char_code +

The glyph's character code, according to the current charmap used in the face.

FT_LOAD_TARGET_LCD_V -

A variant of FT_LOAD_TARGET_NORMAL optimized for vertically decimated LCD displays.

+
load_flags +

A flag indicating what to load for this glyph. The FT_LOAD_XXX constants can be used to control the glyph loading process (e.g., whether the outline should be scaled, whether to load bitmaps or not, whether to hint the outline, etc).

-
-
note
-

You should use only one of the FT_LOAD_TARGET_XXX values in your ‘load_flags’. They can't be ORed.

-

If FT_LOAD_RENDER is also set, the glyph is rendered in the corresponding mode (i.e., the mode that matches the used algorithm best). An exeption is FT_LOAD_TARGET_MONO since it implies FT_LOAD_MONOCHROME.

-

You can use a hinting algorithm that doesn't correspond to the same rendering mode. As an example, it is possible to use the ‘light’ hinting algorithm and have the results rendered in horizontal LCD pixel mode, with code like

-
-  FT_Load_Glyph( face, glyph_index,
-                 load_flags | FT_LOAD_TARGET_LIGHT );
 
-  FT_Render_Glyph( face->glyph, FT_RENDER_MODE_LCD );
-
-
-
-
- - -
[Index][TOC]
+

return

+

FreeType error code. 0 means success.

+ +

note

+

This function simply calls FT_Get_Char_Index and FT_Load_Glyph.

-
-

FT_LOAD_TARGET_MODE

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
+
+ +
+

FT_LOAD_TARGET_MODE

+

Defined in FT_FREETYPE_H (freetype.h).

+
 #define FT_LOAD_TARGET_MODE( x )  ( (FT_Render_Mode)( ( (x) >> 16 ) & 15 ) )
+
-

-

Return the FT_Render_Mode corresponding to a given FT_LOAD_TARGET_XXX value.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Set_Transform

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
-  FT_EXPORT( void )
-  FT_Set_Transform( FT_Face     face,
-                    FT_Matrix*  matrix,
-                    FT_Vector*  delta );
+
+ -

-
-

A function used to set the transformation that is applied to glyph images when they are loaded into a glyph slot through FT_Load_Glyph.

-

-
inout
-

- -
face -

A handle to the source face object.

+
+

FT_Render_Glyph

+

Defined in FT_FREETYPE_H (freetype.h).

+
+  FT_EXPORT( FT_Error )
+  FT_Render_Glyph( FT_GlyphSlot    slot,
+                   FT_Render_Mode  render_mode );
+
+ +

Convert a given glyph image to a bitmap. It does so by inspecting the glyph image format, finding the relevant renderer, and invoking it.

+ +

inout

+ +
slot +

A handle to the glyph slot containing the image to convert.

-
-
input
-

- - -
matrix -

A pointer to the transformation's 2x2 matrix. Use 0 for the identity matrix.

-
delta -

A pointer to the translation vector. Use 0 for the null vector.

+ +

input

+ +
render_mode +

This is the render mode used to render the glyph image into a bitmap. See FT_Render_Mode for a list of possible values.

-
-
note
-

The transformation is only applied to scalable image formats after the glyph has been loaded. It means that hinting is unaltered by the transformation and is performed on the character size given in the last call to FT_Set_Char_Size or FT_Set_Pixel_Sizes.

-

Note that this also transforms the ‘face.glyph.advance’ field, but not the values in ‘face.glyph.metrics’.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Render_Mode

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
+

return

+

FreeType error code. 0 means success.

+ +

note

+

To get meaningful results, font scaling values must be set with functions like FT_Set_Char_Size before calling FT_Render_Glyph.

+ +
+ + +
+

FT_Render_Mode

+

Defined in FT_FREETYPE_H (freetype.h).

+
   typedef enum  FT_Render_Mode_
   {
-    FT_RENDER_MODE_NORMAL = 0,
-    FT_RENDER_MODE_LIGHT,
-    FT_RENDER_MODE_MONO,
-    FT_RENDER_MODE_LCD,
-    FT_RENDER_MODE_LCD_V,
+    FT_RENDER_MODE_NORMAL = 0,
+    FT_RENDER_MODE_LIGHT,
+    FT_RENDER_MODE_MONO,
+    FT_RENDER_MODE_LCD,
+    FT_RENDER_MODE_LCD_V,
 
     FT_RENDER_MODE_MAX
 
   } FT_Render_Mode;
 
-

-
+ + /* these constants are deprecated; use the corresponding */ + /* `FT_Render_Mode' values instead */ +#define ft_render_mode_normal FT_RENDER_MODE_NORMAL +#define ft_render_mode_mono FT_RENDER_MODE_MONO + +

An enumeration type that lists the render modes supported by FreeType 2. Each mode corresponds to a specific type of scanline conversion performed on the outline.

For bitmap fonts and embedded bitmaps the ‘bitmap->pixel_mode’ field in the FT_GlyphSlotRec structure gives the format of the returned bitmap.

All modes except FT_RENDER_MODE_MONO use 256 levels of opacity.

-

-
values
-

- -
FT_RENDER_MODE_NORMAL + +

values

+ + - - - -
FT_RENDER_MODE_NORMAL

This is the default render mode; it corresponds to 8-bit anti-aliased bitmaps.

FT_RENDER_MODE_LIGHT +
FT_RENDER_MODE_LIGHT

This is equivalent to FT_RENDER_MODE_NORMAL. It is only defined as a separate value because render modes are also used indirectly to define hinting algorithm selectors. See FT_LOAD_TARGET_XXX for details.

FT_RENDER_MODE_MONO +
FT_RENDER_MODE_MONO

This mode corresponds to 1-bit bitmaps (with 2 levels of opacity).

FT_RENDER_MODE_LCD +
FT_RENDER_MODE_LCD

This mode corresponds to horizontal RGB and BGR sub-pixel displays like LCD screens. It produces 8-bit bitmaps that are 3 times the width of the original glyph outline in pixels, and which use the FT_PIXEL_MODE_LCD mode.

FT_RENDER_MODE_LCD_V +
FT_RENDER_MODE_LCD_V

This mode corresponds to vertical RGB and BGR sub-pixel displays (like PDA screens, rotated LCD displays, etc.). It produces 8-bit bitmaps that are 3 times the height of the original glyph outline in pixels and use the FT_PIXEL_MODE_LCD_V mode.

-
-
note
+ +

note

The LCD-optimized glyph bitmaps produced by FT_Render_Glyph can be filtered to reduce color-fringes by using FT_Library_SetLcdFilter (not active in the default builds). It is up to the caller to either call FT_Library_SetLcdFilter (if available) or do the filtering itself.

The selected render mode only affects vector glyphs of a font. Embedded bitmaps often have a different pixel mode like FT_PIXEL_MODE_MONO. You can use FT_Bitmap_Convert to transform them into 8-bit pixmaps.

-
-
-
- - -
[Index][TOC]
- -
-

ft_render_mode_xxx

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
-
-#define ft_render_mode_normal  FT_RENDER_MODE_NORMAL
-#define ft_render_mode_mono    FT_RENDER_MODE_MONO
-
-

-
-

These constants are deprecated. Use the corresponding FT_Render_Mode values instead.

-

-
values
-

- - - -
ft_render_mode_normal -

see FT_RENDER_MODE_NORMAL

-
ft_render_mode_mono -

see FT_RENDER_MODE_MONO

-
-
-
-
- - -
[Index][TOC]
-
-

FT_Render_Glyph

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
+
+ +
+

FT_Get_Kerning

+

Defined in FT_FREETYPE_H (freetype.h).

+
   FT_EXPORT( FT_Error )
-  FT_Render_Glyph( FT_GlyphSlot    slot,
-                   FT_Render_Mode  render_mode );
+  FT_Get_Kerning( FT_Face     face,
+                  FT_UInt     left_glyph,
+                  FT_UInt     right_glyph,
+                  FT_UInt     kern_mode,
+                  FT_Vector  *akerning );
+
-

-
-

Convert a given glyph image to a bitmap. It does so by inspecting the glyph image format, finding the relevant renderer, and invoking it.

-

-
inout
-

- -
slot -

A handle to the glyph slot containing the image to convert.

+

Return the kerning vector between two glyphs of a same face.

+ +

input

+ + + + +
face +

A handle to a source face object.

+
left_glyph +

The index of the left glyph in the kern pair.

+
right_glyph +

The index of the right glyph in the kern pair.

+
kern_mode +

See FT_Kerning_Mode for more information. Determines the scale and dimension of the returned kerning vector.

-
-
input
-

- -
render_mode -

This is the render mode used to render the glyph image into a bitmap. See FT_Render_Mode for a list of possible values.

+ +

output

+ +
akerning +

The kerning vector. This is either in font units or in pixels (26.6 format) for scalable formats, and in pixels for fixed-sizes formats.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
-

To get meaningful results, font scaling values must be set with functions like FT_Set_Char_Size before calling FT_Render_Glyph.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Kerning_Mode

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
+

note

+

Only horizontal layouts (left-to-right & right-to-left) are supported by this method. Other layouts, or more sophisticated kernings, are out of the scope of this API function -- they can be implemented through format-specific interfaces.

+ +
+ + +
+

FT_Kerning_Mode

+

Defined in FT_FREETYPE_H (freetype.h).

+
   typedef enum  FT_Kerning_Mode_
   {
-    FT_KERNING_DEFAULT  = 0,
-    FT_KERNING_UNFITTED,
-    FT_KERNING_UNSCALED
+    FT_KERNING_DEFAULT  = 0,
+    FT_KERNING_UNFITTED,
+    FT_KERNING_UNSCALED
 
   } FT_Kerning_Mode;
 
-

-
+ + /* these constants are deprecated; use the corresponding */ + /* `FT_Kerning_Mode' values instead */ +#define ft_kerning_default FT_KERNING_DEFAULT +#define ft_kerning_unfitted FT_KERNING_UNFITTED +#define ft_kerning_unscaled FT_KERNING_UNSCALED + +

An enumeration used to specify which kerning values to return in FT_Get_Kerning.

-

-
values
-

- -
FT_KERNING_DEFAULT + +

values

+ + - -
FT_KERNING_DEFAULT

Return scaled and grid-fitted kerning distances (value is 0).

FT_KERNING_UNFITTED +
FT_KERNING_UNFITTED

Return scaled but un-grid-fitted kerning distances.

FT_KERNING_UNSCALED +
FT_KERNING_UNSCALED

Return the kerning vector in original font units.

-
-
-
- - -
[Index][TOC]
- -
-

ft_kerning_default

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
-
-#define ft_kerning_default   FT_KERNING_DEFAULT
-
-

-
-

This constant is deprecated. Please use FT_KERNING_DEFAULT instead.

-

-
-
- - -
[Index][TOC]
- -
-

ft_kerning_unfitted

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
-
-#define ft_kerning_unfitted  FT_KERNING_UNFITTED
-
-

-
-

This constant is deprecated. Please use FT_KERNING_UNFITTED instead.

-

-
-
- - -
[Index][TOC]
- -
-

ft_kerning_unscaled

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
-
-#define ft_kerning_unscaled  FT_KERNING_UNSCALED
-
-

-
-

This constant is deprecated. Please use FT_KERNING_UNSCALED instead.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Get_Kerning

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
+
+ + +
+

FT_Get_Track_Kerning

+

Defined in FT_FREETYPE_H (freetype.h).

+
   FT_EXPORT( FT_Error )
-  FT_Get_Kerning( FT_Face     face,
-                  FT_UInt     left_glyph,
-                  FT_UInt     right_glyph,
-                  FT_UInt     kern_mode,
-                  FT_Vector  *akerning );
+  FT_Get_Track_Kerning( FT_Face    face,
+                        FT_Fixed   point_size,
+                        FT_Int     degree,
+                        FT_Fixed*  akerning );
+
-

-
-

Return the kerning vector between two glyphs of a same face.

-

-
input
-

- -
face +

Return the track kerning for a given face object at a given size.

+ +

input

+ + - - - -
face

A handle to a source face object.

left_glyph -

The index of the left glyph in the kern pair.

+
point_size +

The point size in 16.16 fractional points.

right_glyph -

The index of the right glyph in the kern pair.

-
kern_mode -

See FT_Kerning_Mode for more information. Determines the scale and dimension of the returned kerning vector.

-
-
-
output
-

- - -
akerning -

The kerning vector. This is either in font units or in pixels (26.6 format) for scalable formats, and in pixels for fixed-sizes formats.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

Only horizontal layouts (left-to-right & right-to-left) are supported by this method. Other layouts, or more sophisticated kernings, are out of the scope of this API function -- they can be implemented through format-specific interfaces.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_Track_Kerning

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Get_Track_Kerning( FT_Face    face,
-                        FT_Fixed   point_size,
-                        FT_Int     degree,
-                        FT_Fixed*  akerning );
-
-

-
-

Return the track kerning for a given face object at a given size.

-

-
input
-

- - - -
face -

A handle to a source face object.

-
point_size -

The point size in 16.16 fractional points.

-
degree +
degree

The degree of tightness. Increasingly negative values represent tighter track kerning, while increasingly positive values represent looser track kerning. Value zero means no track kerning.

-
-
output
-

- -
akerning + +

output

+ +
akerning

The kerning in 16.16 fractional points, to be uniformly applied between all glyphs.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

Currently, only the Type 1 font driver supports track kerning, using data from AFM files (if attached with FT_Attach_File or FT_Attach_Stream).

Only very few AFM files come with track kerning data; please refer to the Adobe's AFM specification for more details.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_Glyph_Name

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
+
+ + +
+

FT_Get_Glyph_Name

+

Defined in FT_FREETYPE_H (freetype.h).

+
   FT_EXPORT( FT_Error )
   FT_Get_Glyph_Name( FT_Face     face,
                      FT_UInt     glyph_index,
                      FT_Pointer  buffer,
                      FT_UInt     buffer_max );
+
-

-

Retrieve the ASCII name of a given glyph in a face. This only works for those faces where FT_HAS_GLYPH_NAMES(face) returns 1.

-

-
input
-

- -
face + +

input

+ + - -
face

A handle to a source face object.

glyph_index +
glyph_index

The glyph index.

buffer_max +
buffer_max

The maximum number of bytes available in the buffer.

-
-
output
-

- -
buffer + +

output

+ +
buffer

A pointer to a target buffer where the name is copied to.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

An error is returned if the face doesn't provide glyph names or if the glyph index is invalid. In all cases of failure, the first byte of ‘buffer’ is set to 0 to indicate an empty name.

The glyph name is truncated to fit within the buffer if it is too long. The returned string is always zero-terminated.

Be aware that FreeType reorders glyph indices internally so that glyph index 0 always corresponds to the ‘missing glyph’ (called ‘.notdef’).

-

This function is not compiled within the library if the config macro ‘FT_CONFIG_OPTION_NO_GLYPH_NAMES’ is defined in ‘ftoptions.h’.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_Postscript_Name

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
+

This function always returns an error if the config macro ‘FT_CONFIG_OPTION_NO_GLYPH_NAMES’ is not defined in ‘ftoptions.h’.

+ +
+ +
+

FT_Get_Postscript_Name

+

Defined in FT_FREETYPE_H (freetype.h).

+
   FT_EXPORT( const char* )
   FT_Get_Postscript_Name( FT_Face  face );
+
-

-

Retrieve the ASCII PostScript name of a given face, if available. This only works with PostScript and TrueType fonts.

-

-
input
-

- -
face + +

input

+ +
face

A handle to the source face object.

-
-
return
+ +

return

A pointer to the face's PostScript name. NULL if unavailable.

-
-
note
+ +

note

The returned pointer is owned by the face and is destroyed with it.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Select_Charmap

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
+
+ + +
+

FT_CharMapRec

+

Defined in FT_FREETYPE_H (freetype.h).

+
+  typedef struct  FT_CharMapRec_
+  {
+    FT_Face      face;
+    FT_Encoding  encoding;
+    FT_UShort    platform_id;
+    FT_UShort    encoding_id;
+
+  } FT_CharMapRec;
+
+ +

The base charmap structure.

+ +

fields

+ + + + + +
face +

A handle to the parent face object.

+
encoding +

An FT_Encoding tag identifying the charmap. Use this with FT_Select_Charmap.

+
platform_id +

An ID number describing the platform for the following encoding ID. This comes directly from the TrueType specification and should be emulated for other formats.

+
encoding_id +

A platform specific encoding number. This also comes from the TrueType specification and should be emulated similarly.

+
+ +
+
+ +
+

FT_Select_Charmap

+

Defined in FT_FREETYPE_H (freetype.h).

+
   FT_EXPORT( FT_Error )
   FT_Select_Charmap( FT_Face      face,
                      FT_Encoding  encoding );
+
-

-

Select a given charmap by its encoding tag (as listed in ‘freetype.h’).

-

-
inout
-

- -
face + +

inout

+ +
face

A handle to the source face object.

-
-
input
-

- -
encoding + +

input

+ +
encoding

A handle to the selected encoding.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

This function returns an error if no charmap in the face corresponds to the encoding queried here.

Because many fonts contain more than a single cmap for Unicode encoding, this function has some special code to select the one that covers Unicode best (‘best’ in the sense that a UCS-4 cmap is preferred to a UCS-2 cmap). It is thus preferable to FT_Set_Charmap in this case.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Set_Charmap

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
+
+ + +
+

FT_Set_Charmap

+

Defined in FT_FREETYPE_H (freetype.h).

+
   FT_EXPORT( FT_Error )
   FT_Set_Charmap( FT_Face     face,
                   FT_CharMap  charmap );
+
-

-

Select a given charmap for character code to glyph index mapping.

-

-
inout
-

- -
face + +

inout

+ +
face

A handle to the source face object.

-
-
input
-

- -
charmap + +

input

+ +
charmap

A handle to the selected charmap.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

This function returns an error if the charmap is not part of the face (i.e., if it is not listed in the ‘face->charmaps’ table).

It also fails if a type 14 charmap is selected.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_Charmap_Index

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
+
+ + +
+

FT_Get_Charmap_Index

+

Defined in FT_FREETYPE_H (freetype.h).

+
   FT_EXPORT( FT_Int )
   FT_Get_Charmap_Index( FT_CharMap  charmap );
+
-

-

Retrieve index of a given charmap.

-

-
input
-

- -
charmap + +

input

+ +
charmap

A handle to a charmap.

-
-
return
+ +

return

The index into the array of character maps within the face to which ‘charmap’ belongs. If an error occurs, -1 is returned.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_Char_Index

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
-  FT_EXPORT( FT_UInt )
-  FT_Get_Char_Index( FT_Face   face,
-                     FT_ULong  charcode );
+
+ -

-
-

Return the glyph index of a given character code. This function uses a charmap object to do the mapping.

-

-
input
-

- -
face +
+

FT_Get_FSType_Flags

+

Defined in FT_FREETYPE_H (freetype.h).

+
+  FT_EXPORT( FT_UShort )
+  FT_Get_FSType_Flags( FT_Face  face );
+
+ +

Return the fsType flags for a font.

+ +

input

+ + -
face

A handle to the source face object.

charcode -

The character code.

-
-
-
return
-

The glyph index. 0 means ‘undefined character code’.

-
-
note
-

If you use FreeType to manipulate the contents of font files directly, be aware that the glyph index returned by this function doesn't always correspond to the internal indices used within the file. This is done to ensure that value 0 always corresponds to the ‘missing glyph’. If the first glyph is not named ‘.notdef’, then for Type 1 and Type 42 fonts, ‘.notdef’ will be moved into the glyph ID 0 position, and whatever was there will be moved to the position ‘.notdef’ had. For Type 1 fonts, if there is no ‘.notdef’ glyph at all, then one will be created at index 0 and whatever was there will be moved to the last index -- Type 42 fonts are considered invalid under this condition.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_First_Char

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
-  FT_EXPORT( FT_ULong )
-  FT_Get_First_Char( FT_Face   face,
-                     FT_UInt  *agindex );
+

return

+

The fsType flags, FT_FSTYPE_XXX.

-

-
-

This function is used to return the first character code in the current charmap of a given face. It also returns the corresponding glyph index.

-

-
input
-

- -
face -

A handle to the source face object.

+

note

+

Use this function rather than directly reading the ‘fs_type’ field in the PS_FontInfoRec structure, which is only guaranteed to return the correct results for Type 1 fonts.

+ +

since

+

2.3.8

+ +
+ + +
+

FT_Get_SubGlyph_Info

+

Defined in FT_FREETYPE_H (freetype.h).

+
+  FT_EXPORT( FT_Error )
+  FT_Get_SubGlyph_Info( FT_GlyphSlot  glyph,
+                        FT_UInt       sub_index,
+                        FT_Int       *p_index,
+                        FT_UInt      *p_flags,
+                        FT_Int       *p_arg1,
+                        FT_Int       *p_arg2,
+                        FT_Matrix    *p_transform );
+
+ +

Retrieve a description of a given subglyph. Only use it if ‘glyph->format’ is FT_GLYPH_FORMAT_COMPOSITE; an error is returned otherwise.

+ +

input

+ + +
glyph +

The source glyph slot.

+
sub_index +

The index of the subglyph. Must be less than ‘glyph->num_subglyphs’.

-
-
output
-

- -
agindex -

Glyph index of first character code. 0 if charmap is empty.

+ +

output

+ + + + + +
p_index +

The glyph index of the subglyph.

+
p_flags +

The subglyph flags, see FT_SUBGLYPH_FLAG_XXX.

+
p_arg1 +

The subglyph's first argument (if any).

+
p_arg2 +

The subglyph's second argument (if any).

+
p_transform +

The subglyph transformation (if any).

-
-
return
-

The charmap's first character code.

-
-
note
-

You should use this function with FT_Get_Next_Char to be able to parse all character codes available in a given charmap. The code should look like this:

-
-  FT_ULong  charcode;                                              
-  FT_UInt   gindex;                                                
-                                                                   
-                                                                   
-  charcode = FT_Get_First_Char( face, &gindex );                   
-  while ( gindex != 0 )                                            
-  {                                                                
-    ... do something with (charcode,gindex) pair ...               
-                                                                   
-    charcode = FT_Get_Next_Char( face, charcode, &gindex );        
-  }                                                                
+
+

return

+

FreeType error code. 0 means success.

+ +

note

+

The values of ‘*p_arg1’, ‘*p_arg2’, and ‘*p_transform’ must be interpreted depending on the flags returned in ‘*p_flags’. See the TrueType specification for details.

+ +
+ + +
+

FT_Face_Internal

+

Defined in FT_FREETYPE_H (freetype.h).

+
+  typedef struct FT_Face_InternalRec_*  FT_Face_Internal;
 
-

Note that ‘*agindex’ is set to 0 if the charmap is empty. The result itself can be 0 in two cases: if the charmap is empty or if the value 0 is the first valid character code.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_Next_Char

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
-  FT_EXPORT( FT_ULong )
-  FT_Get_Next_Char( FT_Face    face,
-                    FT_ULong   char_code,
-                    FT_UInt   *agindex );
+

An opaque handle to an ‘FT_Face_InternalRec’ structure, used to model private data of a given FT_Face object.

+

This structure might change between releases of FreeType 2 and is not generally available to client applications.

-

-
-

This function is used to return the next character code in the current charmap of a given face following the value ‘char_code’, as well as the corresponding glyph index.

-

-
input
-

- -
face -

A handle to the source face object.

+
+ + +
+

FT_Size_Internal

+

Defined in FT_FREETYPE_H (freetype.h).

+
+  typedef struct FT_Size_InternalRec_*  FT_Size_Internal;
+
+ +

An opaque handle to an ‘FT_Size_InternalRec’ structure, used to model private data of a given FT_Size object.

+ +
+
+ +
+

FT_Slot_Internal

+

Defined in FT_FREETYPE_H (freetype.h).

+
+  typedef struct FT_Slot_InternalRec_*  FT_Slot_Internal;
+
+ +

An opaque handle to an ‘FT_Slot_InternalRec’ structure, used to model private data of a given FT_GlyphSlot object.

+ +
+
+ +
+

FT_FACE_FLAG_XXX

+

Defined in FT_FREETYPE_H (freetype.h).

+
+#define FT_FACE_FLAG_SCALABLE          ( 1L <<  0 )
+#define FT_FACE_FLAG_FIXED_SIZES       ( 1L <<  1 )
+#define FT_FACE_FLAG_FIXED_WIDTH       ( 1L <<  2 )
+#define FT_FACE_FLAG_SFNT              ( 1L <<  3 )
+#define FT_FACE_FLAG_HORIZONTAL        ( 1L <<  4 )
+#define FT_FACE_FLAG_VERTICAL          ( 1L <<  5 )
+#define FT_FACE_FLAG_KERNING           ( 1L <<  6 )
+#define FT_FACE_FLAG_FAST_GLYPHS       ( 1L <<  7 )
+#define FT_FACE_FLAG_MULTIPLE_MASTERS  ( 1L <<  8 )
+#define FT_FACE_FLAG_GLYPH_NAMES       ( 1L <<  9 )
+#define FT_FACE_FLAG_EXTERNAL_STREAM   ( 1L << 10 )
+#define FT_FACE_FLAG_HINTER            ( 1L << 11 )
+#define FT_FACE_FLAG_CID_KEYED         ( 1L << 12 )
+#define FT_FACE_FLAG_TRICKY            ( 1L << 13 )
+#define FT_FACE_FLAG_COLOR             ( 1L << 14 )
+
+ +

A list of bit flags used in the ‘face_flags’ field of the FT_FaceRec structure. They inform client applications of properties of the corresponding face.

+ +

values

+ + - + + + + + + + + + + + + +
FT_FACE_FLAG_SCALABLE +

Indicates that the face contains outline glyphs. This doesn't prevent bitmap strikes, i.e., a face can have both this and and FT_FACE_FLAG_FIXED_SIZES set.

char_code -

The starting character code.

+
FT_FACE_FLAG_FIXED_SIZES +

Indicates that the face contains bitmap strikes. See also the ‘num_fixed_sizes’ and ‘available_sizes’ fields of FT_FaceRec.

+
FT_FACE_FLAG_FIXED_WIDTH +

Indicates that the face contains fixed-width characters (like Courier, Lucido, MonoType, etc.).

+
FT_FACE_FLAG_SFNT +

Indicates that the face uses the ‘sfnt’ storage scheme. For now, this means TrueType and OpenType.

+
FT_FACE_FLAG_HORIZONTAL +

Indicates that the face contains horizontal glyph metrics. This should be set for all common formats.

+
FT_FACE_FLAG_VERTICAL +

Indicates that the face contains vertical glyph metrics. This is only available in some formats, not all of them.

+
FT_FACE_FLAG_KERNING +

Indicates that the face contains kerning information. If set, the kerning distance can be retrieved through the function FT_Get_Kerning. Otherwise the function always return the vector (0,0). Note that FreeType doesn't handle kerning data from the ‘GPOS’ table (as present in some OpenType fonts).

+
FT_FACE_FLAG_FAST_GLYPHS +

THIS FLAG IS DEPRECATED. DO NOT USE OR TEST IT.

+
FT_FACE_FLAG_MULTIPLE_MASTERS +

Indicates that the font contains multiple masters and is capable of interpolating between them. See the multiple-masters specific API for details.

+
FT_FACE_FLAG_GLYPH_NAMES +

Indicates that the font contains glyph names that can be retrieved through FT_Get_Glyph_Name. Note that some TrueType fonts contain broken glyph name tables. Use the function FT_Has_PS_Glyph_Names when needed.

+
FT_FACE_FLAG_EXTERNAL_STREAM +

Used internally by FreeType to indicate that a face's stream was provided by the client application and should not be destroyed when FT_Done_Face is called. Don't read or test this flag.

+
FT_FACE_FLAG_HINTER +

Set if the font driver has a hinting machine of its own. For example, with TrueType fonts, it makes sense to use data from the SFNT ‘gasp’ table only if the native TrueType hinting engine (with the bytecode interpreter) is available and active.

+
FT_FACE_FLAG_CID_KEYED +

Set if the font is CID-keyed. In that case, the font is not accessed by glyph indices but by CID values. For subsetted CID-keyed fonts this has the consequence that not all index values are a valid argument to FT_Load_Glyph. Only the CID values for which corresponding glyphs in the subsetted font exist make FT_Load_Glyph return successfully; in all other cases you get an ‘FT_Err_Invalid_Argument’ error.

+

Note that CID-keyed fonts that are in an SFNT wrapper don't have this flag set since the glyphs are accessed in the normal way (using contiguous indices); the ‘CID-ness’ isn't visible to the application.

+
FT_FACE_FLAG_TRICKY +

Set if the font is ‘tricky’, this is, it always needs the font format's native hinting engine to get a reasonable result. A typical example is the Chinese font ‘mingli.ttf’ that uses TrueType bytecode instructions to move and scale all of its subglyphs.

+

It is not possible to autohint such fonts using FT_LOAD_FORCE_AUTOHINT; it will also ignore FT_LOAD_NO_HINTING. You have to set both FT_LOAD_NO_HINTING and FT_LOAD_NO_AUTOHINT to really disable hinting; however, you probably never want this except for demonstration purposes.

+

Currently, there are about a dozen TrueType fonts in the list of tricky fonts; they are hard-coded in file ‘ttobjs.c’.

+
FT_FACE_FLAG_COLOR +

Set if the font has color glyph tables. To access color glyphs use FT_LOAD_COLOR.

-
-
output
-

- -
agindex -

Glyph index of next character code. 0 if charmap is empty.

+ +
+ + +
+

FT_STYLE_FLAG_XXX

+

Defined in FT_FREETYPE_H (freetype.h).

+
+#define FT_STYLE_FLAG_ITALIC  ( 1 << 0 )
+#define FT_STYLE_FLAG_BOLD    ( 1 << 1 )
+
+ +

A list of bit-flags used to indicate the style of a given face. These are used in the ‘style_flags’ field of FT_FaceRec.

+ +

values

+ + +
FT_STYLE_FLAG_ITALIC +

Indicates that a given face style is italic or oblique.

+
FT_STYLE_FLAG_BOLD +

Indicates that a given face is bold.

-
-
return
-

The charmap's next character code.

-
-
note
-

You should use this function with FT_Get_First_Char to walk over all character codes available in a given charmap. See the note for this function for a simple code example.

-

Note that ‘*agindex’ is set to 0 when there are no more codes in the charmap.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_Name_Index

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
-  FT_EXPORT( FT_UInt )
-  FT_Get_Name_Index( FT_Face     face,
-                     FT_String*  glyph_name );
+

note

+

The style information as provided by FreeType is very basic. More details are beyond the scope and should be done on a higher level (for example, by analyzing various fields of the ‘OS/2’ table in SFNT based fonts).

-

-
-

Return the glyph index of a given glyph name. This function uses driver specific objects to do the translation.

-

-
input
-

- -
face -

A handle to the source face object.

+
+ + +
+

FT_OPEN_XXX

+

Defined in FT_FREETYPE_H (freetype.h).

+
+#define FT_OPEN_MEMORY    0x1
+#define FT_OPEN_STREAM    0x2
+#define FT_OPEN_PATHNAME  0x4
+#define FT_OPEN_DRIVER    0x8
+#define FT_OPEN_PARAMS    0x10
+
+
+  /* these constants are deprecated; use the corresponding `FT_OPEN_XXX' */
+  /* values instead                                                      */
+#define ft_open_memory    FT_OPEN_MEMORY
+#define ft_open_stream    FT_OPEN_STREAM
+#define ft_open_pathname  FT_OPEN_PATHNAME
+#define ft_open_driver    FT_OPEN_DRIVER
+#define ft_open_params    FT_OPEN_PARAMS
+
+ +

A list of bit-field constants used within the ‘flags’ field of the FT_Open_Args structure.

+ +

values

+ + - + + +
FT_OPEN_MEMORY +

This is a memory-based stream.

glyph_name -

The glyph name.

+
FT_OPEN_STREAM +

Copy the stream from the ‘stream’ field.

+
FT_OPEN_PATHNAME +

Create a new input stream from a C path name.

+
FT_OPEN_DRIVER +

Use the ‘driver’ field.

+
FT_OPEN_PARAMS +

Use the ‘num_params’ and ‘params’ fields.

-
-
return
-

The glyph index. 0 means ‘undefined character code’.

-
-
-
- - -
[Index][TOC]
- -
-

FT_SUBGLYPH_FLAG_XXX

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
-
-#define FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS          1
-#define FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES      2
-#define FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID        4
-#define FT_SUBGLYPH_FLAG_SCALE                   8
-#define FT_SUBGLYPH_FLAG_XY_SCALE             0x40
-#define FT_SUBGLYPH_FLAG_2X2                  0x80
-#define FT_SUBGLYPH_FLAG_USE_MY_METRICS      0x200
-
-

-
-

A list of constants used to describe subglyphs. Please refer to the TrueType specification for the meaning of the various flags.

-

-
values
-

- - -
FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS
-

+ +

note

+

The ‘FT_OPEN_MEMORY’, ‘FT_OPEN_STREAM’, and ‘FT_OPEN_PATHNAME’ flags are mutually exclusive.

+ +
+ + +
+

FT_LOAD_XXX

+

Defined in FT_FREETYPE_H (freetype.h).

+
+#define FT_LOAD_DEFAULT                      0x0
+#define FT_LOAD_NO_SCALE                     ( 1L << 0 )
+#define FT_LOAD_NO_HINTING                   ( 1L << 1 )
+#define FT_LOAD_RENDER                       ( 1L << 2 )
+#define FT_LOAD_NO_BITMAP                    ( 1L << 3 )
+#define FT_LOAD_VERTICAL_LAYOUT              ( 1L << 4 )
+#define FT_LOAD_FORCE_AUTOHINT               ( 1L << 5 )
+#define FT_LOAD_CROP_BITMAP                  ( 1L << 6 )
+#define FT_LOAD_PEDANTIC                     ( 1L << 7 )
+#define FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH  ( 1L << 9 )
+#define FT_LOAD_NO_RECURSE                   ( 1L << 10 )
+#define FT_LOAD_IGNORE_TRANSFORM             ( 1L << 11 )
+#define FT_LOAD_MONOCHROME                   ( 1L << 12 )
+#define FT_LOAD_LINEAR_DESIGN                ( 1L << 13 )
+#define FT_LOAD_NO_AUTOHINT                  ( 1L << 15 )
+  /* Bits 16..19 are used by `FT_LOAD_TARGET_' */
+#define FT_LOAD_COLOR                        ( 1L << 20 )
+
+ +

A list of bit-field constants used with FT_Load_Glyph to indicate what kind of operations to perform during glyph loading.

+ +

values

+ + - - - - - - - - - - + + + + + + + + +
FT_LOAD_DEFAULT +

Corresponding to 0, this value is used as the default glyph load operation. In this case, the following happens:

+

1. FreeType looks for a bitmap for the glyph corresponding to the face's current size. If one is found, the function returns. The bitmap data can be accessed from the glyph slot (see note below).

+

2. If no embedded bitmap is searched or found, FreeType looks for a scalable outline. If one is found, it is loaded from the font file, scaled to device pixels, then ‘hinted’ to the pixel grid in order to optimize it. The outline data can be accessed from the glyph slot (see note below).

+

Note that by default, the glyph loader doesn't render outlines into bitmaps. The following flags are used to modify this default behaviour to more specific and useful cases.

FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES
-

+
FT_LOAD_NO_SCALE +

Don't scale the loaded outline glyph but keep it in font units.

+

This flag implies FT_LOAD_NO_HINTING and FT_LOAD_NO_BITMAP, and unsets FT_LOAD_RENDER.

+

If the font is ‘tricky’ (see FT_FACE_FLAG_TRICKY for more), using FT_LOAD_NO_SCALE usually yields meaningless outlines because the subglyphs must be scaled and positioned with hinting instructions. This can be solved by loading the font without FT_LOAD_NO_SCALE and setting the character size to ‘font->units_per_EM’.

FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID
-

+
FT_LOAD_NO_HINTING +

Disable hinting. This generally generates ‘blurrier’ bitmap glyphs when the glyph are rendered in any of the anti-aliased modes. See also the note below.

+

This flag is implied by FT_LOAD_NO_SCALE.

FT_SUBGLYPH_FLAG_SCALE -

+
FT_LOAD_RENDER +

Call FT_Render_Glyph after the glyph is loaded. By default, the glyph is rendered in FT_RENDER_MODE_NORMAL mode. This can be overridden by FT_LOAD_TARGET_XXX or FT_LOAD_MONOCHROME.

+

This flag is unset by FT_LOAD_NO_SCALE.

FT_SUBGLYPH_FLAG_XY_SCALE
-

+
FT_LOAD_NO_BITMAP +

Ignore bitmap strikes when loading. Bitmap-only fonts ignore this flag.

+

FT_LOAD_NO_SCALE always sets this flag.

FT_SUBGLYPH_FLAG_2X2 -

+
FT_LOAD_VERTICAL_LAYOUT +

Load the glyph for vertical text layout. In particular, the ‘advance’ value in the FT_GlyphSlotRec structure is set to the ‘vertAdvance’ value of the ‘metrics’ field.

+

In case FT_HAS_VERTICAL doesn't return true, you shouldn't use this flag currently. Reason is that in this case vertical metrics get synthesized, and those values are not always consistent across various font formats.

FT_SUBGLYPH_FLAG_USE_MY_METRICS
-

+
FT_LOAD_FORCE_AUTOHINT +

Indicates that the auto-hinter is preferred over the font's native hinter. See also the note below.

+
FT_LOAD_PEDANTIC +

Indicates that the font driver should perform pedantic verifications during glyph loading. This is mostly used to detect broken glyphs in fonts. By default, FreeType tries to handle broken fonts also.

+

In particular, errors from the TrueType bytecode engine are not passed to the application if this flag is not set; this might result in partially hinted or distorted glyphs in case a glyph's bytecode is buggy.

+
FT_LOAD_NO_RECURSE +

Indicate that the font driver should not load composite glyphs recursively. Instead, it should set the ‘num_subglyph’ and ‘subglyphs’ values of the glyph slot accordingly, and set ‘glyph->format’ to FT_GLYPH_FORMAT_COMPOSITE. The description of subglyphs can then be accessed with FT_Get_SubGlyph_Info.

+

This flag implies FT_LOAD_NO_SCALE and FT_LOAD_IGNORE_TRANSFORM.

+
FT_LOAD_IGNORE_TRANSFORM +

Indicates that the transform matrix set by FT_Set_Transform should be ignored.

+
FT_LOAD_MONOCHROME +

This flag is used with FT_LOAD_RENDER to indicate that you want to render an outline glyph to a 1-bit monochrome bitmap glyph, with 8 pixels packed into each byte of the bitmap data.

+

Note that this has no effect on the hinting algorithm used. You should rather use FT_LOAD_TARGET_MONO so that the monochrome-optimized hinting algorithm is used.

+
FT_LOAD_LINEAR_DESIGN +

Indicates that the ‘linearHoriAdvance’ and ‘linearVertAdvance’ fields of FT_GlyphSlotRec should be kept in font units. See FT_GlyphSlotRec for details.

+
FT_LOAD_NO_AUTOHINT +

Disable auto-hinter. See also the note below.

+
FT_LOAD_COLOR +

This flag is used to request loading of color embedded-bitmap images. The resulting color bitmaps, if available, will have the FT_PIXEL_MODE_BGRA format. When the flag is not used and color bitmaps are found, they will be converted to 256-level gray bitmaps transparently. Those bitmaps will be in the FT_PIXEL_MODE_GRAY format.

+
FT_LOAD_CROP_BITMAP +

Ignored. Deprecated.

+
FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH +

Ignored. Deprecated.

-
-
-
- - -
[Index][TOC]
-
-

FT_Get_SubGlyph_Info

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
+

note

+

By default, hinting is enabled and the font's native hinter (see FT_FACE_FLAG_HINTER) is preferred over the auto-hinter. You can disable hinting by setting FT_LOAD_NO_HINTING or change the precedence by setting FT_LOAD_FORCE_AUTOHINT. You can also set FT_LOAD_NO_AUTOHINT in case you don't want the auto-hinter to be used at all.

+

See the description of FT_FACE_FLAG_TRICKY for a special exception (affecting only a handful of Asian fonts).

+

Besides deciding which hinter to use, you can also decide which hinting algorithm to use. See FT_LOAD_TARGET_XXX for details.

+

Note that the auto-hinter needs a valid Unicode cmap (either a native one or synthesized by FreeType) for producing correct results. If a font provides an incorrect mapping (for example, assigning the character code U+005A, LATIN CAPITAL LETTER Z, to a glyph depicting a mathematical integral sign), the auto-hinter might produce useless results.

- FT_EXPORT( FT_Error ) - FT_Get_SubGlyph_Info( FT_GlyphSlot glyph, - FT_UInt sub_index, - FT_Int *p_index, - FT_UInt *p_flags, - FT_Int *p_arg1, - FT_Int *p_arg2, - FT_Matrix *p_transform ); +
+ -

-
-

Retrieve a description of a given subglyph. Only use it if ‘glyph->format’ is FT_GLYPH_FORMAT_COMPOSITE; an error is returned otherwise.

-

-
input
-

- -
glyph -

The source glyph slot.

+
+

FT_LOAD_TARGET_XXX

+

Defined in FT_FREETYPE_H (freetype.h).

+
+#define FT_LOAD_TARGET_( x )   ( (FT_Int32)( (x) & 15 ) << 16 )
+
+#define FT_LOAD_TARGET_NORMAL  FT_LOAD_TARGET_( FT_RENDER_MODE_NORMAL )
+#define FT_LOAD_TARGET_LIGHT   FT_LOAD_TARGET_( FT_RENDER_MODE_LIGHT  )
+#define FT_LOAD_TARGET_MONO    FT_LOAD_TARGET_( FT_RENDER_MODE_MONO   )
+#define FT_LOAD_TARGET_LCD     FT_LOAD_TARGET_( FT_RENDER_MODE_LCD    )
+#define FT_LOAD_TARGET_LCD_V   FT_LOAD_TARGET_( FT_RENDER_MODE_LCD_V  )
+
+ +

A list of values that are used to select a specific hinting algorithm to use by the hinter. You should OR one of these values to your ‘load_flags’ when calling FT_Load_Glyph.

+

Note that font's native hinters may ignore the hinting algorithm you have specified (e.g., the TrueType bytecode interpreter). You can set FT_LOAD_FORCE_AUTOHINT to ensure that the auto-hinter is used.

+

Also note that FT_LOAD_TARGET_LIGHT is an exception, in that it always implies FT_LOAD_FORCE_AUTOHINT.

+ +

values

+ + - + + +
FT_LOAD_TARGET_NORMAL +

This corresponds to the default hinting algorithm, optimized for standard gray-level rendering. For monochrome output, use FT_LOAD_TARGET_MONO instead.

sub_index -

The index of the subglyph. Must be less than ‘glyph->num_subglyphs’.

+
FT_LOAD_TARGET_LIGHT +

A lighter hinting algorithm for non-monochrome modes. Many generated glyphs are more fuzzy but better resemble its original shape. A bit like rendering on Mac OS X.

+

As a special exception, this target implies FT_LOAD_FORCE_AUTOHINT.

+
FT_LOAD_TARGET_MONO +

Strong hinting algorithm that should only be used for monochrome output. The result is probably unpleasant if the glyph is rendered in non-monochrome modes.

+
FT_LOAD_TARGET_LCD +

A variant of FT_LOAD_TARGET_NORMAL optimized for horizontally decimated LCD displays.

+
FT_LOAD_TARGET_LCD_V +

A variant of FT_LOAD_TARGET_NORMAL optimized for vertically decimated LCD displays.

-
-
output
+ +

note

+

You should use only one of the FT_LOAD_TARGET_XXX values in your ‘load_flags’. They can't be ORed.

+

If FT_LOAD_RENDER is also set, the glyph is rendered in the corresponding mode (i.e., the mode that matches the used algorithm best). An exeption is FT_LOAD_TARGET_MONO since it implies FT_LOAD_MONOCHROME.

+

You can use a hinting algorithm that doesn't correspond to the same rendering mode. As an example, it is possible to use the ‘light’ hinting algorithm and have the results rendered in horizontal LCD pixel mode, with code like

+
+  FT_Load_Glyph( face, glyph_index,
+                 load_flags | FT_LOAD_TARGET_LIGHT );
+
+  FT_Render_Glyph( face->glyph, FT_RENDER_MODE_LCD );
+
+ +
+ + +
+

FT_SUBGLYPH_FLAG_XXX

+

Defined in FT_FREETYPE_H (freetype.h).

+
+#define FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS          1
+#define FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES      2
+#define FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID        4
+#define FT_SUBGLYPH_FLAG_SCALE                   8
+#define FT_SUBGLYPH_FLAG_XY_SCALE             0x40
+#define FT_SUBGLYPH_FLAG_2X2                  0x80
+#define FT_SUBGLYPH_FLAG_USE_MY_METRICS      0x200
+
+ +

A list of constants used to describe subglyphs. Please refer to the TrueType specification for the meaning of the various flags.

+ +

values

+ +
FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS

- - - - - - + +
p_index -

The glyph index of the subglyph.

p_flags -

The subglyph flags, see FT_SUBGLYPH_FLAG_XXX.

+
FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES +

p_arg1 -

The subglyph's first argument (if any).

+
FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID +

p_arg2 -

The subglyph's second argument (if any).

+
FT_SUBGLYPH_FLAG_SCALE +

p_transform -

The subglyph transformation (if any).

+
FT_SUBGLYPH_FLAG_XY_SCALE +

+
FT_SUBGLYPH_FLAG_2X2 +

+
FT_SUBGLYPH_FLAG_USE_MY_METRICS +

-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

The values of ‘*p_arg1’, ‘*p_arg2’, and ‘*p_transform’ must be interpreted depending on the flags returned in ‘*p_flags’. See the TrueType specification for details.

-
-
-
- - -
[Index][TOC]
- -
-

FT_FSTYPE_XXX

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
-
-#define FT_FSTYPE_INSTALLABLE_EMBEDDING         0x0000
-#define FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING  0x0002
-#define FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING   0x0004
-#define FT_FSTYPE_EDITABLE_EMBEDDING            0x0008
-#define FT_FSTYPE_NO_SUBSETTING                 0x0100
-#define FT_FSTYPE_BITMAP_EMBEDDING_ONLY         0x0200
-
-

-
+ +
+ + +
+

FT_FSTYPE_XXX

+

Defined in FT_FREETYPE_H (freetype.h).

+
+#define FT_FSTYPE_INSTALLABLE_EMBEDDING         0x0000
+#define FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING  0x0002
+#define FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING   0x0004
+#define FT_FSTYPE_EDITABLE_EMBEDDING            0x0008
+#define FT_FSTYPE_NO_SUBSETTING                 0x0100
+#define FT_FSTYPE_BITMAP_EMBEDDING_ONLY         0x0200
+
+

A list of bit flags used in the ‘fsType’ field of the OS/2 table in a TrueType or OpenType font and the ‘FSType’ entry in a PostScript font. These bit flags are returned by FT_Get_FSType_Flags; they inform client applications of embedding and subsetting restrictions associated with a font.

See http://www.adobe.com/devnet/acrobat/pdfs/FontPolicies.pdf for more details.

-

-
values
-

- - -
FT_FSTYPE_INSTALLABLE_EMBEDDING
+ +

values

+ + - - - - - - - - - -
FT_FSTYPE_INSTALLABLE_EMBEDDING

Fonts with no fsType bit set may be embedded and permanently installed on the remote system by an application.

FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING
+
FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING

Fonts that have only this bit set must not be modified, embedded or exchanged in any manner without first obtaining permission of the font software copyright owner.

FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING
+
FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING

If this bit is set, the font may be embedded and temporarily loaded on the remote system. Documents containing Preview & Print fonts must be opened ‘read-only’; no edits can be applied to the document.

FT_FSTYPE_EDITABLE_EMBEDDING
+
FT_FSTYPE_EDITABLE_EMBEDDING

If this bit is set, the font may be embedded but must only be installed temporarily on other systems. In contrast to Preview & Print fonts, documents containing editable fonts may be opened for reading, editing is permitted, and changes may be saved.

FT_FSTYPE_NO_SUBSETTING
+
FT_FSTYPE_NO_SUBSETTING

If this bit is set, the font may not be subsetted prior to embedding.

FT_FSTYPE_BITMAP_EMBEDDING_ONLY
+
FT_FSTYPE_BITMAP_EMBEDDING_ONLY

If this bit is set, only bitmaps contained in the font may be embedded; no outline data may be embedded. If there are no bitmaps available in the font, then the font is unembeddable.

-
-
note
+ +

note

While the fsType flags can indicate that a font may be embedded, a license with the font vendor may be separately required to use the font in this way.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_FSType_Flags

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
-  FT_EXPORT( FT_UShort )
-  FT_Get_FSType_Flags( FT_Face  face );
+
+ -

-
-

Return the fsType flags for a font.

-

-
input
-

- - -
face -

A handle to the source face object.

-
-
-
return
-

The fsType flags, FT_FSTYPE_XXX.

-
-
note
-

Use this function rather than directly reading the ‘fs_type’ field in the PS_FontInfoRec structure, which is only guaranteed to return the correct results for Type 1 fonts.

-
-
since
-

2.3.8

-
-
-
- - -
[Index][TOC]
+
+

FT_HAS_FAST_GLYPHS

+

Defined in FT_FREETYPE_H (freetype.h).

+
+#define FT_HAS_FAST_GLYPHS( face )  0
+
+ +

Deprecated.

+ +
+
diff --git a/freetype/docs/reference/ft2-basic_types.html b/freetype/docs/reference/ft2-basic_types.html index c600032e6..e39573d5b 100644 --- a/freetype/docs/reference/ft2-basic_types.html +++ b/freetype/docs/reference/ft2-basic_types.html @@ -3,1208 +3,867 @@ -FreeType-2.5.3 API Reference +FreeType-2.5.5 API Reference - - -
[Index][TOC]
-

FreeType-2.5.3 API Reference

+ +

FreeType-2.5.5 API Reference

-

-Basic Data Types -

+

Basic Data Types

Synopsis

- - - - - - - - - - - - - - - - -
FT_ByteFT_PtrDistFT_Pixel_Mode
FT_BytesFT_Stringft_pixel_mode_xxx
FT_CharFT_TagFT_Palette_Mode
FT_IntFT_ErrorFT_Bitmap
FT_UIntFT_FixedFT_IMAGE_TAG
FT_Int16FT_PointerFT_Glyph_Format
FT_UInt16FT_Posft_glyph_format_xxx
FT_Int32FT_VectorFT_Data
FT_UInt32FT_BBoxFT_Generic_Finalizer
FT_ShortFT_MatrixFT_Generic
FT_UShortFT_FWordFT_MAKE_TAG
FT_LongFT_UFWordFT_Int64
FT_ULongFT_F2Dot14FT_UInt64
FT_BoolFT_UnitVector
FT_OffsetFT_F26Dot6


- -
+ + + + + + + + + + + + + + + + +
FT_ByteFT_BoolFT_UnitVector
FT_BytesFT_OffsetFT_F26Dot6
FT_CharFT_PtrDistFT_Data
FT_IntFT_String 
FT_UIntFT_TagFT_MAKE_TAG
FT_Int16FT_Error 
FT_UInt16FT_FixedFT_Generic
FT_Int32FT_PointerFT_Generic_Finalizer
FT_UInt32FT_Pos 
FT_Int64FT_VectorFT_Bitmap
FT_UInt64FT_BBoxFT_Pixel_Mode
FT_ShortFT_MatrixFT_Palette_Mode
FT_UShortFT_FWordFT_Glyph_Format
FT_LongFT_UFWordFT_IMAGE_TAG
FT_ULongFT_F2Dot14
+ +

This section contains the basic data types defined by FreeType 2, ranging from simple scalar types to bitmap descriptors. More font-specific structures are defined in a different section.

-

-
-

FT_Byte

-
-Defined in FT_TYPES_H (fttypes.h). -

-
 
+
+

FT_Byte

+

Defined in FT_TYPES_H (fttypes.h).

+
   typedef unsigned char  FT_Byte;
+
-

-

A simple typedef for the unsigned char type.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Bytes

-
-Defined in FT_TYPES_H (fttypes.h). -

-
 
+
+ + +
+

FT_Bytes

+

Defined in FT_TYPES_H (fttypes.h).

+
   typedef const FT_Byte*  FT_Bytes;
+
-

-

A typedef for constant memory areas.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Char

-
-Defined in FT_TYPES_H (fttypes.h). -

-
 
+
+ + +
+

FT_Char

+

Defined in FT_TYPES_H (fttypes.h).

+
   typedef signed char  FT_Char;
+
-

-

A simple typedef for the signed char type.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Int

-
-Defined in FT_TYPES_H (fttypes.h). -

-
 
+
+ + +
+

FT_Int

+

Defined in FT_TYPES_H (fttypes.h).

+
   typedef signed int  FT_Int;
+
-

-

A typedef for the int type.

-

-
-
- - -
[Index][TOC]
- -
-

FT_UInt

-
-Defined in FT_TYPES_H (fttypes.h). -

-
 
+
+ + +
+

FT_UInt

+

Defined in FT_TYPES_H (fttypes.h).

+
   typedef unsigned int  FT_UInt;
+
-

-

A typedef for the unsigned int type.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Int16

-
-Defined in FT_CONFIG_CONFIG_H (config/ftconfig.h). -

-
 
+
+ + +
+

FT_Int16

+

Defined in FT_CONFIG_CONFIG_H (config/ftconfig.h).

+
   typedef signed short  FT_Int16;
+
-

-

A typedef for a 16bit signed integer type.

-

-
-
- - -
[Index][TOC]
- -
-

FT_UInt16

-
-Defined in FT_CONFIG_CONFIG_H (config/ftconfig.h). -

-
 
+
+ + +
+

FT_UInt16

+

Defined in FT_CONFIG_CONFIG_H (config/ftconfig.h).

+
   typedef unsigned short  FT_UInt16;
+
-

-

A typedef for a 16bit unsigned integer type.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Int32

-
-Defined in FT_CONFIG_CONFIG_H (config/ftconfig.h). -

-
 
+
+ + +
+

FT_Int32

+

Defined in FT_CONFIG_CONFIG_H (config/ftconfig.h).

+
   typedef signed XXX  FT_Int32;
+
-

-

A typedef for a 32bit signed integer type. The size depends on the configuration.

-

-
-
- - -
[Index][TOC]
- -
-

FT_UInt32

-
-Defined in FT_CONFIG_CONFIG_H (config/ftconfig.h). -

-
 
+
+ + +
+

FT_UInt32

+

Defined in FT_CONFIG_CONFIG_H (config/ftconfig.h).

+
   typedef unsigned XXX  FT_UInt32;
+
+
+
-

-
-
- - -
[Index][TOC]
+
+

FT_Int64

+

Defined in FT_CONFIG_CONFIG_H (config/ftconfig.h).

+
+  typedef signed XXX  FT_Int64;
+
+
+
-
-

FT_Short

-
-Defined in FT_TYPES_H (fttypes.h). -

-
+
+

FT_UInt64

+

Defined in FT_CONFIG_CONFIG_H (config/ftconfig.h).

+
+  typedef unsigned XXX  FT_UInt64;
+
+
+
+
+

FT_Short

+

Defined in FT_TYPES_H (fttypes.h).

+
   typedef signed short  FT_Short;
+
-

-

A typedef for signed short.

-

-
-
- - -
[Index][TOC]
- -
-

FT_UShort

-
-Defined in FT_TYPES_H (fttypes.h). -

-
 
+
+ + +
+

FT_UShort

+

Defined in FT_TYPES_H (fttypes.h).

+
   typedef unsigned short  FT_UShort;
+
-

-

A typedef for unsigned short.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Long

-
-Defined in FT_TYPES_H (fttypes.h). -

-
 
+
+ + +
+

FT_Long

+

Defined in FT_TYPES_H (fttypes.h).

+
   typedef signed long  FT_Long;
+
-

-

A typedef for signed long.

-

-
-
- - -
[Index][TOC]
- -
-

FT_ULong

-
-Defined in FT_TYPES_H (fttypes.h). -

-
 
+
+ + +
+

FT_ULong

+

Defined in FT_TYPES_H (fttypes.h).

+
   typedef unsigned long  FT_ULong;
+
-

-

A typedef for unsigned long.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Bool

-
-Defined in FT_TYPES_H (fttypes.h). -

-
 
+
+ + +
+

FT_Bool

+

Defined in FT_TYPES_H (fttypes.h).

+
   typedef unsigned char  FT_Bool;
+
-

-

A typedef of unsigned char, used for simple booleans. As usual, values 1 and 0 represent true and false, respectively.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Offset

-
-Defined in FT_TYPES_H (fttypes.h). -

-
 
+
+ + +
+

FT_Offset

+

Defined in FT_TYPES_H (fttypes.h).

+
   typedef size_t  FT_Offset;
+
-

-

This is equivalent to the ANSI C ‘size_t’ type, i.e., the largest unsigned integer type used to express a file size or position, or a memory block size.

-

-
-
- - -
[Index][TOC]
- -
-

FT_PtrDist

-
-Defined in FT_TYPES_H (fttypes.h). -

-
 
+
+ + +
+

FT_PtrDist

+

Defined in FT_TYPES_H (fttypes.h).

+
   typedef ft_ptrdiff_t  FT_PtrDist;
+
-

-

This is equivalent to the ANSI C ‘ptrdiff_t’ type, i.e., the largest signed integer type used to express the distance between two pointers.

-

-
-
- - -
[Index][TOC]
- -
-

FT_String

-
-Defined in FT_TYPES_H (fttypes.h). -

-
 
+
+ + +
+

FT_String

+

Defined in FT_TYPES_H (fttypes.h).

+
   typedef char  FT_String;
+
-

-

A simple typedef for the char type, usually used for strings.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Tag

-
-Defined in FT_TYPES_H (fttypes.h). -

-
 
+
+ + +
+

FT_Tag

+

Defined in FT_TYPES_H (fttypes.h).

+
   typedef FT_UInt32  FT_Tag;
+
-

-

A typedef for 32-bit tags (as used in the SFNT format).

-

-
-
- - -
[Index][TOC]
- -
-

FT_Error

-
-Defined in FT_TYPES_H (fttypes.h). -

-
 
+
+ + +
+

FT_Error

+

Defined in FT_TYPES_H (fttypes.h).

+
   typedef int  FT_Error;
+
-

-

The FreeType error code type. A value of 0 is always interpreted as a successful operation.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Fixed

-
-Defined in FT_TYPES_H (fttypes.h). -

-
 
+
+ + +
+

FT_Fixed

+

Defined in FT_TYPES_H (fttypes.h).

+
   typedef signed long  FT_Fixed;
+
-

-

This type is used to store 16.16 fixed-point values, like scaling values or matrix coefficients.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Pointer

-
-Defined in FT_TYPES_H (fttypes.h). -

-
 
+
+ + +
+

FT_Pointer

+

Defined in FT_TYPES_H (fttypes.h).

+
   typedef void*  FT_Pointer;
+
-

-

A simple typedef for a typeless pointer.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Pos

-
-Defined in FT_IMAGE_H (ftimage.h). -

-
 
+
+ + +
+

FT_Pos

+

Defined in FT_IMAGE_H (ftimage.h).

+
   typedef signed long  FT_Pos;
+
-

-

The type FT_Pos is used to store vectorial coordinates. Depending on the context, these can represent distances in integer font units, or 16.16, or 26.6 fixed-point pixel coordinates.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Vector

-
-Defined in FT_IMAGE_H (ftimage.h). -

-
 
+
+ + +
+

FT_Vector

+

Defined in FT_IMAGE_H (ftimage.h).

+
   typedef struct  FT_Vector_
   {
     FT_Pos  x;
     FT_Pos  y;
 
   } FT_Vector;
+
-

-

A simple structure used to store a 2D vector; coordinates are of the FT_Pos type.

-

-
fields
-

- -
x + +

fields

+ + -
x

The horizontal coordinate.

y +
y

The vertical coordinate.

-
-
-
- - -
[Index][TOC]
- -
-

FT_BBox

-
-Defined in FT_IMAGE_H (ftimage.h). -

-
 
+
+ + +
+

FT_BBox

+

Defined in FT_IMAGE_H (ftimage.h).

+
   typedef struct  FT_BBox_
   {
     FT_Pos  xMin, yMin;
     FT_Pos  xMax, yMax;
 
   } FT_BBox;
+
-

-

A structure used to hold an outline's bounding box, i.e., the coordinates of its extrema in the horizontal and vertical directions.

-

-
fields
-

- -
xMin + +

fields

+ + - - -
xMin

The horizontal minimum (left-most).

yMin +
yMin

The vertical minimum (bottom-most).

xMax +
xMax

The horizontal maximum (right-most).

yMax +
yMax

The vertical maximum (top-most).

-
-
note
+ +

note

The bounding box is specified with the coordinates of the lower left and the upper right corner. In PostScript, those values are often called (llx,lly) and (urx,ury), respectively.

If ‘yMin’ is negative, this value gives the glyph's descender. Otherwise, the glyph doesn't descend below the baseline. Similarly, if ‘ymax’ is positive, this value gives the glyph's ascender.

‘xMin’ gives the horizontal distance from the glyph's origin to the left edge of the glyph's bounding box. If ‘xMin’ is negative, the glyph extends to the left of the origin.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Matrix

-
-Defined in FT_TYPES_H (fttypes.h). -

-
 
+
+ + +
+

FT_Matrix

+

Defined in FT_TYPES_H (fttypes.h).

+
   typedef struct  FT_Matrix_
   {
     FT_Fixed  xx, xy;
     FT_Fixed  yx, yy;
 
   } FT_Matrix;
+
-

-

A simple structure used to store a 2x2 matrix. Coefficients are in 16.16 fixed-point format. The computation performed is:

    x' = x*xx + y*xy                                             
    y' = x*yx + y*yy                                             
 
-

-
fields
-

- -
xx + +

fields

+ + - - -
xx

Matrix coefficient.

xy +
xy

Matrix coefficient.

yx +
yx

Matrix coefficient.

yy +
yy

Matrix coefficient.

-
-
-
- - -
[Index][TOC]
- -
-

FT_FWord

-
-Defined in FT_TYPES_H (fttypes.h). -

-
 
+
+ + +
+

FT_FWord

+

Defined in FT_TYPES_H (fttypes.h).

+
   typedef signed short  FT_FWord;   /* distance in FUnits */
+
-

-

A signed 16-bit integer used to store a distance in original font units.

-

-
-
- - -
[Index][TOC]
- -
-

FT_UFWord

-
-Defined in FT_TYPES_H (fttypes.h). -

-
 
+
+ + +
+

FT_UFWord

+

Defined in FT_TYPES_H (fttypes.h).

+
   typedef unsigned short  FT_UFWord;  /* unsigned distance */
+
-

-

An unsigned 16-bit integer used to store a distance in original font units.

-

-
-
- - -
[Index][TOC]
- -
-

FT_F2Dot14

-
-Defined in FT_TYPES_H (fttypes.h). -

-
 
+
+ + +
+

FT_F2Dot14

+

Defined in FT_TYPES_H (fttypes.h).

+
   typedef signed short  FT_F2Dot14;
+
-

-

A signed 2.14 fixed-point type used for unit vectors.

-

-
-
- - -
[Index][TOC]
- -
-

FT_UnitVector

-
-Defined in FT_TYPES_H (fttypes.h). -

-
 
+
+ + +
+

FT_UnitVector

+

Defined in FT_TYPES_H (fttypes.h).

+
   typedef struct  FT_UnitVector_
   {
     FT_F2Dot14  x;
     FT_F2Dot14  y;
 
   } FT_UnitVector;
+
-

-

A simple structure used to store a 2D vector unit vector. Uses FT_F2Dot14 types.

-

-
fields
-

- -
x + +

fields

+ + -
x

Horizontal coordinate.

y +
y

Vertical coordinate.

-
-
-
- - -
[Index][TOC]
- -
-

FT_F26Dot6

-
-Defined in FT_TYPES_H (fttypes.h). -

-
 
+
+ + +
+

FT_F26Dot6

+

Defined in FT_TYPES_H (fttypes.h).

+
   typedef signed long  FT_F26Dot6;
+
-

-

A signed 26.6 fixed-point type used for vectorial pixel coordinates.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Pixel_Mode

-
-Defined in FT_IMAGE_H (ftimage.h). -

-
 
-  typedef enum  FT_Pixel_Mode_
+
+ + +
+

FT_Data

+

Defined in FT_TYPES_H (fttypes.h).

+
+  typedef struct  FT_Data_
   {
-    FT_PIXEL_MODE_NONE = 0,
-    FT_PIXEL_MODE_MONO,
-    FT_PIXEL_MODE_GRAY,
-    FT_PIXEL_MODE_GRAY2,
-    FT_PIXEL_MODE_GRAY4,
-    FT_PIXEL_MODE_LCD,
-    FT_PIXEL_MODE_LCD_V,
-    FT_PIXEL_MODE_BGRA,
+    const FT_Byte*  pointer;
+    FT_Int          length;
 
-    FT_PIXEL_MODE_MAX      /* do not remove */
+  } FT_Data;
+
- } FT_Pixel_Mode; +

Read-only binary data represented as a pointer and a length.

-

-
-

An enumeration type used to describe the format of pixels in a given bitmap. Note that additional formats may be added in the future.

-

-
values
-

- - - - - - - - - -
FT_PIXEL_MODE_NONE -

Value 0 is reserved.

-
FT_PIXEL_MODE_MONO -

A monochrome bitmap, using 1 bit per pixel. Note that pixels are stored in most-significant order (MSB), which means that the left-most pixel in a byte has value 128.

-
FT_PIXEL_MODE_GRAY -

An 8-bit bitmap, generally used to represent anti-aliased glyph images. Each pixel is stored in one byte. Note that the number of ‘gray’ levels is stored in the ‘num_grays’ field of the FT_Bitmap structure (it generally is 256).

-
FT_PIXEL_MODE_GRAY2 -

A 2-bit per pixel bitmap, used to represent embedded anti-aliased bitmaps in font files according to the OpenType specification. We haven't found a single font using this format, however.

-
FT_PIXEL_MODE_GRAY4 -

A 4-bit per pixel bitmap, representing embedded anti-aliased bitmaps in font files according to the OpenType specification. We haven't found a single font using this format, however.

-
FT_PIXEL_MODE_LCD -

An 8-bit bitmap, representing RGB or BGR decimated glyph images used for display on LCD displays; the bitmap is three times wider than the original glyph image. See also FT_RENDER_MODE_LCD.

-
FT_PIXEL_MODE_LCD_V -

An 8-bit bitmap, representing RGB or BGR decimated glyph images used for display on rotated LCD displays; the bitmap is three times taller than the original glyph image. See also FT_RENDER_MODE_LCD_V.

-
FT_PIXEL_MODE_BGRA -

An image with four 8-bit channels per pixel, representing a color image (such as emoticons) with alpha channel. For each pixel, the format is BGRA, which means, the blue channel comes first in memory. The color channels are pre-multiplied and in the sRGB colorspace. For example, full red at half-translucent opacity will be represented as ‘00,00,80,80’, not ‘00,00,FF,80’. See also FT_LOAD_COLOR.

-
-
-
-
- - -
[Index][TOC]
- -
-

ft_pixel_mode_xxx

-
-Defined in FT_IMAGE_H (ftimage.h). -

-
-
-#define ft_pixel_mode_none   FT_PIXEL_MODE_NONE
-#define ft_pixel_mode_mono   FT_PIXEL_MODE_MONO
-#define ft_pixel_mode_grays  FT_PIXEL_MODE_GRAY
-#define ft_pixel_mode_pal2   FT_PIXEL_MODE_GRAY2
-#define ft_pixel_mode_pal4   FT_PIXEL_MODE_GRAY4
-
-

-
-

A list of deprecated constants. Use the corresponding FT_Pixel_Mode values instead.

-

-
values
-

- - - - -
ft_pixel_mode_none -

See FT_PIXEL_MODE_NONE.

-
ft_pixel_mode_mono -

See FT_PIXEL_MODE_MONO.

-
ft_pixel_mode_grays -

See FT_PIXEL_MODE_GRAY.

-
ft_pixel_mode_pal2 -

See FT_PIXEL_MODE_GRAY2.

+

fields

+ + -
pointer +

The data.

ft_pixel_mode_pal4 -

See FT_PIXEL_MODE_GRAY4.

+
length +

The length of the data in bytes.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Palette_Mode

-
-Defined in FT_IMAGE_H (ftimage.h). -

-
-
-  typedef enum  FT_Palette_Mode_
+
+
+ + +
+

FT_MAKE_TAG

+

Defined in FT_TYPES_H (fttypes.h).

+
+#define FT_MAKE_TAG( _x1, _x2, _x3, _x4 ) \
+          (FT_Tag)                        \
+          ( ( (FT_ULong)_x1 << 24 ) |     \
+            ( (FT_ULong)_x2 << 16 ) |     \
+            ( (FT_ULong)_x3 <<  8 ) |     \
+              (FT_ULong)_x4         )
+
+ +

This macro converts four-letter tags that are used to label TrueType tables into an unsigned long, to be used within FreeType.

+ +

note

+

The produced values must be 32-bit integers. Don't redefine this macro.

+ +
+
+ +
+

FT_Generic

+

Defined in FT_TYPES_H (fttypes.h).

+
+  typedef struct  FT_Generic_
   {
-    ft_palette_mode_rgb = 0,
-    ft_palette_mode_rgba,
-
-    ft_palette_mode_max   /* do not remove */
-
-  } FT_Palette_Mode;
-
-

-
-

THIS TYPE IS DEPRECATED. DO NOT USE IT!

-

An enumeration type to describe the format of a bitmap palette, used with ft_pixel_mode_pal4 and ft_pixel_mode_pal8.

-

-
values
-

- -
ft_palette_mode_rgb -

The palette is an array of 3-byte RGB records.

+ void* data; + FT_Generic_Finalizer finalizer; + + } FT_Generic; + + +

Client applications often need to associate their own data to a variety of FreeType core objects. For example, a text layout API might want to associate a glyph cache to a given size object.

+

Some FreeType object contains a ‘generic’ field, of type FT_Generic, which usage is left to client applications and font servers.

+

It can be used to store a pointer to client-specific data, as well as the address of a ‘finalizer’ function, which will be called by FreeType when the object is destroyed (for example, the previous client example would put the address of the glyph cache destructor in the ‘finalizer’ field).

+ +

fields

+ + -
data +

A typeless pointer to any client-specified data. This field is completely ignored by the FreeType library.

ft_palette_mode_rgba -

The palette is an array of 4-byte RGBA records.

+
finalizer +

A pointer to a ‘generic finalizer’ function, which will be called when the object is destroyed. If this field is set to NULL, no code will be called.

-
-
note
-

As ft_pixel_mode_pal2, pal4 and pal8 are currently unused by FreeType, these types are not handled by the library itself.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Bitmap

-
-Defined in FT_IMAGE_H (ftimage.h). -

-
 
+
+ + +
+

FT_Generic_Finalizer

+

Defined in FT_TYPES_H (fttypes.h).

+
+  typedef void  (*FT_Generic_Finalizer)(void*  object);
+
+ +

Describe a function used to destroy the ‘client’ data of any FreeType object. See the description of the FT_Generic type for details of usage.

+ +

input

+

The address of the FreeType object that is under finalization. Its client data is accessed through its ‘generic’ field.

+ +
+
+ +
+

FT_Bitmap

+

Defined in FT_IMAGE_H (ftimage.h).

+
   typedef struct  FT_Bitmap_
   {
-    int             rows;
-    int             width;
+    unsigned int    rows;
+    unsigned int    width;
     int             pitch;
     unsigned char*  buffer;
-    short           num_grays;
-    char            pixel_mode;
-    char            palette_mode;
+    unsigned short  num_grays;
+    unsigned char   pixel_mode;
+    unsigned char   palette_mode;
     void*           palette;
 
   } FT_Bitmap;
+
-

-

A structure used to describe a bitmap or pixmap to the raster. Note that we now manage pixmaps of various depths through the ‘pixel_mode’ field.

-

-
fields
-

- -
rows + +

fields

+ + - - - - - - -
rows

The number of bitmap rows.

width +
width

The number of pixels in bitmap row.

pitch +
pitch

The pitch's absolute value is the number of bytes taken by one bitmap row, including padding. However, the pitch is positive when the bitmap has a ‘down’ flow, and negative when it has an ‘up’ flow. In all cases, the pitch is an offset to add to a bitmap pointer in order to go down one row.

Note that ‘padding’ means the alignment of a bitmap to a byte border, and FreeType functions normally align to the smallest possible integer value.

For the B/W rasterizer, ‘pitch’ is always an even number.

To change the pitch of a bitmap (say, to make it a multiple of 4), use FT_Bitmap_Convert. Alternatively, you might use callback functions to directly render to the application's surface; see the file ‘example2.cpp’ in the tutorial for a demonstration.

buffer +
buffer

A typeless pointer to the bitmap buffer. This value should be aligned on 32-bit boundaries in most cases.

num_grays +
num_grays

This field is only used with FT_PIXEL_MODE_GRAY; it gives the number of gray levels used in the bitmap.

pixel_mode +
pixel_mode

The pixel mode, i.e., how pixel bits are stored. See FT_Pixel_Mode for possible values.

palette_mode +
palette_mode

This field is intended for paletted pixel modes; it indicates how the palette is stored. Not used currently.

palette +
palette

A typeless pointer to the bitmap palette; this field is intended for paletted pixel modes. Not used currently.

-
-
note
+ +

note

For now, the only pixel modes supported by FreeType are mono and grays. However, drivers might be added in the future to support more ‘colorful’ options.

-
-
-
- - -
[Index][TOC]
- -
-

FT_IMAGE_TAG

-
-Defined in FT_IMAGE_H (ftimage.h). -

-
 
-#ifndef FT_IMAGE_TAG
-#define FT_IMAGE_TAG( value, _x1, _x2, _x3, _x4 )  \
-          value = ( ( (unsigned long)_x1 << 24 ) | \
-                    ( (unsigned long)_x2 << 16 ) | \
-                    ( (unsigned long)_x3 << 8  ) | \
-                      (unsigned long)_x4         )
-#endif /* FT_IMAGE_TAG */
+
+ -

-
-

This macro converts four-letter tags to an unsigned long type.

-

-
note
-

Since many 16-bit compilers don't like 32-bit enumerations, you should redefine this macro in case of problems to something like this:

-
-  #define FT_IMAGE_TAG( value, _x1, _x2, _x3, _x4 )  value         
-
-

to get a simple enumeration without assigning special numbers.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Glyph_Format

-
-Defined in FT_IMAGE_H (ftimage.h). -

-
-
-  typedef enum  FT_Glyph_Format_
+
+

FT_Pixel_Mode

+

Defined in FT_IMAGE_H (ftimage.h).

+
+  typedef enum  FT_Pixel_Mode_
   {
-    FT_IMAGE_TAG( FT_GLYPH_FORMAT_NONE, 0, 0, 0, 0 ),
+    FT_PIXEL_MODE_NONE = 0,
+    FT_PIXEL_MODE_MONO,
+    FT_PIXEL_MODE_GRAY,
+    FT_PIXEL_MODE_GRAY2,
+    FT_PIXEL_MODE_GRAY4,
+    FT_PIXEL_MODE_LCD,
+    FT_PIXEL_MODE_LCD_V,
+    FT_PIXEL_MODE_BGRA,
 
-    FT_IMAGE_TAG( FT_GLYPH_FORMAT_COMPOSITE, 'c', 'o', 'm', 'p' ),
-    FT_IMAGE_TAG( FT_GLYPH_FORMAT_BITMAP,    'b', 'i', 't', 's' ),
-    FT_IMAGE_TAG( FT_GLYPH_FORMAT_OUTLINE,   'o', 'u', 't', 'l' ),
-    FT_IMAGE_TAG( FT_GLYPH_FORMAT_PLOTTER,   'p', 'l', 'o', 't' )
+    FT_PIXEL_MODE_MAX      /* do not remove */
 
-  } FT_Glyph_Format;
+  } FT_Pixel_Mode;
 
-

-
-

An enumeration type used to describe the format of a given glyph image. Note that this version of FreeType only supports two image formats, even though future font drivers will be able to register their own format.

-

-
values
-

- - - - -
FT_GLYPH_FORMAT_NONE -

The value 0 is reserved.

-
FT_GLYPH_FORMAT_COMPOSITE
-

The glyph image is a composite of several other images. This format is only used with FT_LOAD_NO_RECURSE, and is used to report compound glyphs (like accented characters).

-
FT_GLYPH_FORMAT_BITMAP -

The glyph image is a bitmap, and can be described as an FT_Bitmap. You generally need to access the ‘bitmap’ field of the FT_GlyphSlotRec structure to read it.

+ + /* these constants are deprecated; use the corresponding `FT_Pixel_Mode' */ + /* values instead. */ +#define ft_pixel_mode_none FT_PIXEL_MODE_NONE +#define ft_pixel_mode_mono FT_PIXEL_MODE_MONO +#define ft_pixel_mode_grays FT_PIXEL_MODE_GRAY +#define ft_pixel_mode_pal2 FT_PIXEL_MODE_GRAY2 +#define ft_pixel_mode_pal4 FT_PIXEL_MODE_GRAY4 + + +

An enumeration type used to describe the format of pixels in a given bitmap. Note that additional formats may be added in the future.

+ +

values

+ + - - - - -
FT_PIXEL_MODE_NONE +

Value 0 is reserved.

FT_GLYPH_FORMAT_OUTLINE
-

The glyph image is a vectorial outline made of line segments and Bézier arcs; it can be described as an FT_Outline; you generally want to access the ‘outline’ field of the FT_GlyphSlotRec structure to read it.

+
FT_PIXEL_MODE_MONO +

A monochrome bitmap, using 1 bit per pixel. Note that pixels are stored in most-significant order (MSB), which means that the left-most pixel in a byte has value 128.

FT_GLYPH_FORMAT_PLOTTER
-

The glyph image is a vectorial path with no inside and outside contours. Some Type 1 fonts, like those in the Hershey family, contain glyphs in this format. These are described as FT_Outline, but FreeType isn't currently capable of rendering them correctly.

+
FT_PIXEL_MODE_GRAY +

An 8-bit bitmap, generally used to represent anti-aliased glyph images. Each pixel is stored in one byte. Note that the number of ‘gray’ levels is stored in the ‘num_grays’ field of the FT_Bitmap structure (it generally is 256).

-
-
-
- - -
[Index][TOC]
- -
-

ft_glyph_format_xxx

-
-Defined in FT_IMAGE_H (ftimage.h). -

-
-
-#define ft_glyph_format_none       FT_GLYPH_FORMAT_NONE
-#define ft_glyph_format_composite  FT_GLYPH_FORMAT_COMPOSITE
-#define ft_glyph_format_bitmap     FT_GLYPH_FORMAT_BITMAP
-#define ft_glyph_format_outline    FT_GLYPH_FORMAT_OUTLINE
-#define ft_glyph_format_plotter    FT_GLYPH_FORMAT_PLOTTER
-
-

-
-

A list of deprecated constants. Use the corresponding FT_Glyph_Format values instead.

-

-
values
-

- - - - - - - - -
ft_glyph_format_none -

See FT_GLYPH_FORMAT_NONE.

+
FT_PIXEL_MODE_GRAY2 +

A 2-bit per pixel bitmap, used to represent embedded anti-aliased bitmaps in font files according to the OpenType specification. We haven't found a single font using this format, however.

ft_glyph_format_composite
-

See FT_GLYPH_FORMAT_COMPOSITE.

+
FT_PIXEL_MODE_GRAY4 +

A 4-bit per pixel bitmap, representing embedded anti-aliased bitmaps in font files according to the OpenType specification. We haven't found a single font using this format, however.

ft_glyph_format_bitmap -

See FT_GLYPH_FORMAT_BITMAP.

+
FT_PIXEL_MODE_LCD +

An 8-bit bitmap, representing RGB or BGR decimated glyph images used for display on LCD displays; the bitmap is three times wider than the original glyph image. See also FT_RENDER_MODE_LCD.

ft_glyph_format_outline
-

See FT_GLYPH_FORMAT_OUTLINE.

+
FT_PIXEL_MODE_LCD_V +

An 8-bit bitmap, representing RGB or BGR decimated glyph images used for display on rotated LCD displays; the bitmap is three times taller than the original glyph image. See also FT_RENDER_MODE_LCD_V.

ft_glyph_format_plotter
-

See FT_GLYPH_FORMAT_PLOTTER.

+
FT_PIXEL_MODE_BGRA +

An image with four 8-bit channels per pixel, representing a color image (such as emoticons) with alpha channel. For each pixel, the format is BGRA, which means, the blue channel comes first in memory. The color channels are pre-multiplied and in the sRGB colorspace. For example, full red at half-translucent opacity will be represented as ‘00,00,80,80’, not ‘00,00,FF,80’. See also FT_LOAD_COLOR.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Data

-
-Defined in FT_TYPES_H (fttypes.h). -

-
 
-  typedef struct  FT_Data_
-  {
-    const FT_Byte*  pointer;
-    FT_Int          length;
+
+ - } FT_Data; +
+

FT_Glyph_Format

+

Defined in FT_IMAGE_H (ftimage.h).

+
+  typedef enum  FT_Glyph_Format_
+  {
+    FT_IMAGE_TAG( FT_GLYPH_FORMAT_NONE, 0, 0, 0, 0 ),
 
-

-
-

Read-only binary data represented as a pointer and a length.

-

-
fields
-

- - - -
pointer -

The data.

-
length -

The length of the data in bytes.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_Generic_Finalizer

-
-Defined in FT_TYPES_H (fttypes.h). -

-
+    FT_IMAGE_TAG( FT_GLYPH_FORMAT_COMPOSITE, 'c', 'o', 'm', 'p' ),
+    FT_IMAGE_TAG( FT_GLYPH_FORMAT_BITMAP,    'b', 'i', 't', 's' ),
+    FT_IMAGE_TAG( FT_GLYPH_FORMAT_OUTLINE,   'o', 'u', 't', 'l' ),
+    FT_IMAGE_TAG( FT_GLYPH_FORMAT_PLOTTER,   'p', 'l', 'o', 't' )
 
-  typedef void  (*FT_Generic_Finalizer)(void*  object);
+  } FT_Glyph_Format;
 
-

-
-

Describe a function used to destroy the ‘client’ data of any FreeType object. See the description of the FT_Generic type for details of usage.

-

-
input
-

The address of the FreeType object that is under finalization. Its client data is accessed through its ‘generic’ field.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Generic

-
-Defined in FT_TYPES_H (fttypes.h). -

-
 
-  typedef struct  FT_Generic_
-  {
-    void*                 data;
-    FT_Generic_Finalizer  finalizer;
+  /* these constants are deprecated; use the corresponding */
+  /* `FT_Glyph_Format' values instead.                     */
+#define ft_glyph_format_none       FT_GLYPH_FORMAT_NONE
+#define ft_glyph_format_composite  FT_GLYPH_FORMAT_COMPOSITE
+#define ft_glyph_format_bitmap     FT_GLYPH_FORMAT_BITMAP
+#define ft_glyph_format_outline    FT_GLYPH_FORMAT_OUTLINE
+#define ft_glyph_format_plotter    FT_GLYPH_FORMAT_PLOTTER
+
- } FT_Generic; +

An enumeration type used to describe the format of a given glyph image. Note that this version of FreeType only supports two image formats, even though future font drivers will be able to register their own format.

-

-
-

Client applications often need to associate their own data to a variety of FreeType core objects. For example, a text layout API might want to associate a glyph cache to a given size object.

-

Some FreeType object contains a ‘generic’ field, of type FT_Generic, which usage is left to client applications and font servers.

-

It can be used to store a pointer to client-specific data, as well as the address of a ‘finalizer’ function, which will be called by FreeType when the object is destroyed (for example, the previous client example would put the address of the glyph cache destructor in the ‘finalizer’ field).

-

-
fields
-

- -
data -

A typeless pointer to any client-specified data. This field is completely ignored by the FreeType library.

+

values

+ + - + + +
FT_GLYPH_FORMAT_NONE +

The value 0 is reserved.

finalizer -

A pointer to a ‘generic finalizer’ function, which will be called when the object is destroyed. If this field is set to NULL, no code will be called.

+
FT_GLYPH_FORMAT_COMPOSITE +

The glyph image is a composite of several other images. This format is only used with FT_LOAD_NO_RECURSE, and is used to report compound glyphs (like accented characters).

+
FT_GLYPH_FORMAT_BITMAP +

The glyph image is a bitmap, and can be described as an FT_Bitmap. You generally need to access the ‘bitmap’ field of the FT_GlyphSlotRec structure to read it.

+
FT_GLYPH_FORMAT_OUTLINE +

The glyph image is a vectorial outline made of line segments and Bézier arcs; it can be described as an FT_Outline; you generally want to access the ‘outline’ field of the FT_GlyphSlotRec structure to read it.

+
FT_GLYPH_FORMAT_PLOTTER +

The glyph image is a vectorial path with no inside and outside contours. Some Type 1 fonts, like those in the Hershey family, contain glyphs in this format. These are described as FT_Outline, but FreeType isn't currently capable of rendering them correctly.

-
-
-
- - -
[Index][TOC]
- -
-

FT_MAKE_TAG

-
-Defined in FT_TYPES_H (fttypes.h). -

-
-
-#define FT_MAKE_TAG( _x1, _x2, _x3, _x4 ) \
-          (FT_Tag)                        \
-          ( ( (FT_ULong)_x1 << 24 ) |     \
-            ( (FT_ULong)_x2 << 16 ) |     \
-            ( (FT_ULong)_x3 <<  8 ) |     \
-              (FT_ULong)_x4         )
-
-

-
-

This macro converts four-letter tags that are used to label TrueType tables into an unsigned long, to be used within FreeType.

-

-
note
-

The produced values must be 32-bit integers. Don't redefine this macro.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Int64

-
-Defined in FT_CONFIG_CONFIG_H (config/ftconfig.h). -

-
 
-  typedef signed XXX  FT_Int64;
+
+ -

-
-
- - -
[Index][TOC]
+
+

FT_IMAGE_TAG

+

Defined in FT_IMAGE_H (ftimage.h).

+
+#ifndef FT_IMAGE_TAG
+#define FT_IMAGE_TAG( value, _x1, _x2, _x3, _x4 )  \
+          value = ( ( (unsigned long)_x1 << 24 ) | \
+                    ( (unsigned long)_x2 << 16 ) | \
+                    ( (unsigned long)_x3 << 8  ) | \
+                      (unsigned long)_x4         )
+#endif /* FT_IMAGE_TAG */
+
-
-

FT_UInt64

-
-Defined in FT_CONFIG_CONFIG_H (config/ftconfig.h). -

-
+

This macro converts four-letter tags to an unsigned long type.

- typedef unsigned XXX FT_UInt64; +

note

+

Since many 16-bit compilers don't like 32-bit enumerations, you should redefine this macro in case of problems to something like this:

+
+  #define FT_IMAGE_TAG( value, _x1, _x2, _x3, _x4 )  value         
+
+

to get a simple enumeration without assigning special numbers.

-

-
-
- - -
[Index][TOC]
+
+
diff --git a/freetype/docs/reference/ft2-bdf_fonts.html b/freetype/docs/reference/ft2-bdf_fonts.html index 92d887a92..daf2307c0 100644 --- a/freetype/docs/reference/ft2-bdf_fonts.html +++ b/freetype/docs/reference/ft2-bdf_fonts.html @@ -3,126 +3,169 @@ -FreeType-2.5.3 API Reference +FreeType-2.5.5 API Reference - - -
[Index][TOC]
-

FreeType-2.5.3 API Reference

+ +

FreeType-2.5.5 API Reference

-

-BDF and PCF Files -

+

BDF and PCF Files

Synopsis

- - - -
FT_PropertyTypeBDF_PropertyRecFT_Get_BDF_Property
BDF_PropertyFT_Get_BDF_Charset_ID


+ + + +
BDF_PropertyTypeBDF_PropertyRecFT_Get_BDF_Property
BDF_PropertyFT_Get_BDF_Charset_ID
+ -

This section contains the declaration of functions specific to BDF and PCF fonts.

-

-
-

FT_PropertyType

-
-Defined in FT_BDF_H (ftbdf.h). -

-
 
+
+

BDF_PropertyType

+

Defined in FT_BDF_H (ftbdf.h).

+
   typedef enum  BDF_PropertyType_
   {
-    BDF_PROPERTY_TYPE_NONE     = 0,
-    BDF_PROPERTY_TYPE_ATOM     = 1,
-    BDF_PROPERTY_TYPE_INTEGER  = 2,
-    BDF_PROPERTY_TYPE_CARDINAL = 3
+    BDF_PROPERTY_TYPE_NONE     = 0,
+    BDF_PROPERTY_TYPE_ATOM     = 1,
+    BDF_PROPERTY_TYPE_INTEGER  = 2,
+    BDF_PROPERTY_TYPE_CARDINAL = 3
 
-  } BDF_PropertyType;
+  } BDF_PropertyType;
+
-

-

A list of BDF property types.

-

-
values
-

- -
BDF_PROPERTY_TYPE_NONE + +

values

+ + - - - - -
BDF_PROPERTY_TYPE_NONE

Value 0 is used to indicate a missing property.

BDF_PROPERTY_TYPE_ATOM +
BDF_PROPERTY_TYPE_ATOM

Property is a string atom.

BDF_PROPERTY_TYPE_INTEGER
+
BDF_PROPERTY_TYPE_INTEGER

Property is a 32-bit signed integer.

BDF_PROPERTY_TYPE_CARDINAL
+
BDF_PROPERTY_TYPE_CARDINAL

Property is a 32-bit unsigned integer.

-
-
-
- - -
[Index][TOC]
- -
-

BDF_Property

-
-Defined in FT_BDF_H (ftbdf.h). -

-
 
+
+ + +
+

BDF_Property

+

Defined in FT_BDF_H (ftbdf.h).

+
   typedef struct BDF_PropertyRec_*  BDF_Property;
+
-

-

A handle to a BDF_PropertyRec structure to model a given BDF/PCF property.

-

-
-
- - -
[Index][TOC]
- -
-

BDF_PropertyRec

-
-Defined in FT_BDF_H (ftbdf.h). -

-
 
+
+ + +
+

BDF_PropertyRec

+

Defined in FT_BDF_H (ftbdf.h).

+
   typedef struct  BDF_PropertyRec_
   {
-    BDF_PropertyType  type;
+    BDF_PropertyType  type;
     union {
       const char*     atom;
       FT_Int32        integer;
@@ -131,130 +174,107 @@ Defined in FT_BDF_H (ftbdf.h).
     } u;
 
   } BDF_PropertyRec;
+
-

-

This structure models a given BDF/PCF property.

-

-
fields
-

- -
type + +

fields

+ + - - -
type

The property type.

u.atom -

The atom string, if type is BDF_PROPERTY_TYPE_ATOM. May be NULL, indicating an empty string.

+
u.atom +

The atom string, if type is BDF_PROPERTY_TYPE_ATOM. May be NULL, indicating an empty string.

u.integer -

A signed integer, if type is BDF_PROPERTY_TYPE_INTEGER.

+
u.integer +

A signed integer, if type is BDF_PROPERTY_TYPE_INTEGER.

u.cardinal -

An unsigned integer, if type is BDF_PROPERTY_TYPE_CARDINAL.

+
u.cardinal +

An unsigned integer, if type is BDF_PROPERTY_TYPE_CARDINAL.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_BDF_Charset_ID

-
-Defined in FT_BDF_H (ftbdf.h). -

-
 
+
+ + +
+

FT_Get_BDF_Charset_ID

+

Defined in FT_BDF_H (ftbdf.h).

+
   FT_EXPORT( FT_Error )
   FT_Get_BDF_Charset_ID( FT_Face       face,
                          const char*  *acharset_encoding,
                          const char*  *acharset_registry );
+
-

-

Retrieve a BDF font character set identity, according to the BDF specification.

-

-
input
-

- -
face + +

input

+ +
face

A handle to the input face.

-
-
output
-

- -
acharset_encoding + +

output

+ + -
acharset_encoding

Charset encoding, as a C string, owned by the face.

acharset_registry +
acharset_registry

Charset registry, as a C string, owned by the face.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

This function only works with BDF faces, returning an error otherwise.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_BDF_Property

-
-Defined in FT_BDF_H (ftbdf.h). -

-
 
+
+ + +
+

FT_Get_BDF_Property

+

Defined in FT_BDF_H (ftbdf.h).

+
   FT_EXPORT( FT_Error )
   FT_Get_BDF_Property( FT_Face           face,
                        const char*       prop_name,
                        BDF_PropertyRec  *aproperty );
+
-

-

Retrieve a BDF property from a BDF or PCF font file.

-

-
input
-

- -
face + +

input

+ + -
face

A handle to the input face.

name +
name

The property name.

-
-
output
-

- -
aproperty + +

output

+ +
aproperty

The property.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

This function works with BDF and PCF fonts. It returns an error otherwise. It also returns an error if the property is not in the font.

A ‘property’ is a either key-value pair within the STARTPROPERTIES ... ENDPROPERTIES block of a BDF font or a key-value pair from the ‘info->props’ array within a ‘FontRec’ structure of a PCF font.

-

Integer properties are always stored as ‘signed’ within PCF fonts; consequently, BDF_PROPERTY_TYPE_CARDINAL is a possible return value for BDF fonts only.

-

In case of error, ‘aproperty->type’ is always set to BDF_PROPERTY_TYPE_NONE.

-
-
-
- - -
[Index][TOC]
+

Integer properties are always stored as ‘signed’ within PCF fonts; consequently, BDF_PROPERTY_TYPE_CARDINAL is a possible return value for BDF fonts only.

+

In case of error, ‘aproperty->type’ is always set to BDF_PROPERTY_TYPE_NONE.

+ +
+ diff --git a/freetype/docs/reference/ft2-bitmap_handling.html b/freetype/docs/reference/ft2-bitmap_handling.html index b1d9f8853..a0eec744f 100644 --- a/freetype/docs/reference/ft2-bitmap_handling.html +++ b/freetype/docs/reference/ft2-bitmap_handling.html @@ -3,300 +3,313 @@ -FreeType-2.5.3 API Reference +FreeType-2.5.5 API Reference - - -
[Index][TOC]
-

FreeType-2.5.3 API Reference

+ +

FreeType-2.5.5 API Reference

-

-Bitmap Handling -

+

Bitmap Handling

Synopsis

- - - -
FT_Bitmap_NewFT_Bitmap_EmboldenFT_GlyphSlot_Own_Bitmap
FT_Bitmap_CopyFT_Bitmap_ConvertFT_Bitmap_Done


- -
-

This section contains functions for converting FT_Bitmap objects.

-

-
-

FT_Bitmap_New

-
-Defined in FT_BITMAP_H (ftbitmap.h). -

-
+
+
+
+
FT_Bitmap_NewFT_Bitmap_EmboldenFT_GlyphSlot_Own_Bitmap
FT_Bitmap_CopyFT_Bitmap_ConvertFT_Bitmap_Done
+ +

This section contains functions for handling FT_Bitmap objects. Note that none of the functions changes the bitmap's ‘flow’ (as indicated by the sign of the ‘pitch’ field in ‘FT_Bitmap’).

+ +
+

FT_Bitmap_New

+

Defined in FT_BITMAP_H (ftbitmap.h).

+
   FT_EXPORT( void )
   FT_Bitmap_New( FT_Bitmap  *abitmap );
+
-

-

Initialize a pointer to an FT_Bitmap structure.

-

-
inout
-

- -
abitmap + +

inout

+ +
abitmap

A pointer to the bitmap structure.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Bitmap_Copy

-
-Defined in FT_BITMAP_H (ftbitmap.h). -

-
 
+
+ + +
+

FT_Bitmap_Copy

+

Defined in FT_BITMAP_H (ftbitmap.h).

+
   FT_EXPORT( FT_Error )
   FT_Bitmap_Copy( FT_Library        library,
                   const FT_Bitmap  *source,
                   FT_Bitmap        *target);
+
-

-

Copy a bitmap into another one.

-

-
input
-

- -
library + +

input

+ + -
library

A handle to a library object.

source +
source

A handle to the source bitmap.

-
-
output
-

- -
target + +

output

+ +
target

A handle to the target bitmap.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Bitmap_Embolden

-
-Defined in FT_BITMAP_H (ftbitmap.h). -

-
 
+
+ + +
+

FT_Bitmap_Embolden

+

Defined in FT_BITMAP_H (ftbitmap.h).

+
   FT_EXPORT( FT_Error )
   FT_Bitmap_Embolden( FT_Library  library,
                       FT_Bitmap*  bitmap,
                       FT_Pos      xStrength,
                       FT_Pos      yStrength );
+
-

-

Embolden a bitmap. The new bitmap will be about ‘xStrength’ pixels wider and ‘yStrength’ pixels higher. The left and bottom borders are kept unchanged.

-

-
input
-

- -
library + +

input

+ + - -
library

A handle to a library object.

xStrength +
xStrength

How strong the glyph is emboldened horizontally. Expressed in 26.6 pixel format.

yStrength +
yStrength

How strong the glyph is emboldened vertically. Expressed in 26.6 pixel format.

-
-
inout
-

- -
bitmap + +

inout

+ +
bitmap

A handle to the target bitmap.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

The current implementation restricts ‘xStrength’ to be less than or equal to 8 if bitmap is of pixel_mode FT_PIXEL_MODE_MONO.

If you want to embolden the bitmap owned by a FT_GlyphSlotRec, you should call FT_GlyphSlot_Own_Bitmap on the slot first.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Bitmap_Convert

-
-Defined in FT_BITMAP_H (ftbitmap.h). -

-
+

Bitmaps in FT_PIXEL_MODE_GRAY2 and FT_PIXEL_MODE_GRAY@ format are converted to FT_PIXEL_MODE_GRAY format (i.e., 8bpp).

+ +
+ +
+

FT_Bitmap_Convert

+

Defined in FT_BITMAP_H (ftbitmap.h).

+
   FT_EXPORT( FT_Error )
   FT_Bitmap_Convert( FT_Library        library,
                      const FT_Bitmap  *source,
                      FT_Bitmap        *target,
                      FT_Int            alignment );
+
-

-

Convert a bitmap object with depth 1bpp, 2bpp, 4bpp, 8bpp or 32bpp to a bitmap object with depth 8bpp, making the number of used bytes line (a.k.a. the ‘pitch’) a multiple of ‘alignment’.

-

-
input
-

- -
library + +

input

+ + - -
library

A handle to a library object.

source +
source

The source bitmap.

alignment +
alignment

The pitch of the bitmap is a multiple of this parameter. Common values are 1, 2, or 4.

-
-
output
-

- -
target + +

output

+ +
target

The target bitmap.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

It is possible to call FT_Bitmap_Convert multiple times without calling FT_Bitmap_Done (the memory is simply reallocated).

Use FT_Bitmap_Done to finally remove the bitmap object.

The ‘library’ argument is taken to have access to FreeType's memory handling functions.

-
-
-
- - -
[Index][TOC]
- -
-

FT_GlyphSlot_Own_Bitmap

-
-Defined in FT_BITMAP_H (ftbitmap.h). -

-
 
+
+ + +
+

FT_GlyphSlot_Own_Bitmap

+

Defined in FT_BITMAP_H (ftbitmap.h).

+
   FT_EXPORT( FT_Error )
   FT_GlyphSlot_Own_Bitmap( FT_GlyphSlot  slot );
+
-

-

Make sure that a glyph slot owns ‘slot->bitmap’.

-

-
input
-

- -
slot + +

input

+ +
slot

The glyph slot.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

This function is to be used in combination with FT_Bitmap_Embolden.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Bitmap_Done

-
-Defined in FT_BITMAP_H (ftbitmap.h). -

-
 
+
+ + +
+

FT_Bitmap_Done

+

Defined in FT_BITMAP_H (ftbitmap.h).

+
   FT_EXPORT( FT_Error )
   FT_Bitmap_Done( FT_Library  library,
                   FT_Bitmap  *bitmap );
+
-

-

Destroy a bitmap object created with FT_Bitmap_New.

-

-
input
-

- -
library + +

input

+ + -
library

A handle to a library object.

bitmap +
bitmap

The bitmap object to be freed.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

The ‘library’ argument is taken to have access to FreeType's memory handling functions.

-
-
-
- - -
[Index][TOC]
+ +
+ diff --git a/freetype/docs/reference/ft2-bzip2.html b/freetype/docs/reference/ft2-bzip2.html index 59e15464e..dc33973b1 100644 --- a/freetype/docs/reference/ft2-bzip2.html +++ b/freetype/docs/reference/ft2-bzip2.html @@ -3,92 +3,147 @@ -FreeType-2.5.3 API Reference +FreeType-2.5.5 API Reference - - -
[Index][TOC]
-

FreeType-2.5.3 API Reference

+ +

FreeType-2.5.5 API Reference

-

-BZIP2 Streams -

+

BZIP2 Streams

Synopsis

- - -
FT_Stream_OpenBzip2


+ + +
FT_Stream_OpenBzip2
+ -

This section contains the declaration of Bzip2-specific functions.

-

-
-

FT_Stream_OpenBzip2

-
-Defined in FT_BZIP2_H (ftbzip2.h). -

-
 
+
+

FT_Stream_OpenBzip2

+

Defined in FT_BZIP2_H (ftbzip2.h).

+
   FT_EXPORT( FT_Error )
   FT_Stream_OpenBzip2( FT_Stream  stream,
                        FT_Stream  source );
+
-

-

Open a new stream to parse bzip2-compressed font files. This is mainly used to support the compressed ‘*.pcf.bz2’ fonts that come with XFree86.

-

-
input
-

- -
stream + +

input

+ + -
stream

The target embedding stream.

source +
source

The source stream.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

The source stream must be opened before calling this function.

Calling the internal function ‘FT_Stream_Close’ on the new stream will not call ‘FT_Stream_Close’ on the source stream. None of the stream objects will be released to the heap.

The stream implementation is very basic and resets the decompression process each time seeking backwards is needed within the stream.

In certain builds of the library, bzip2 compression recognition is automatically handled when calling FT_New_Face or FT_Open_Face. This means that if no font driver is capable of handling the raw compressed file, the library will try to open a bzip2 compressed stream from it and re-open the face with it.

This function may return ‘FT_Err_Unimplemented_Feature’ if your build of FreeType was not compiled with bzip2 support.

-
-
-
- - -
[Index][TOC]
+ +
+ diff --git a/freetype/docs/reference/ft2-cache_subsystem.html b/freetype/docs/reference/ft2-cache_subsystem.html index 772a29a6e..18650de7e 100644 --- a/freetype/docs/reference/ft2-cache_subsystem.html +++ b/freetype/docs/reference/ft2-cache_subsystem.html @@ -3,62 +3,128 @@ -FreeType-2.5.3 API Reference +FreeType-2.5.5 API Reference - - -
[Index][TOC]
-

FreeType-2.5.3 API Reference

+ +

FreeType-2.5.5 API Reference

-

-Cache Sub-System -

+

Cache Sub-System

Synopsis

- - - - - - - - - - - - - - - -
FTC_ManagerFTC_CMapCache_New
FTC_FaceIDFTC_CMapCache_Lookup
FTC_Face_RequesterFTC_ImageTypeRec
FTC_NodeFTC_ImageType
FTC_Manager_NewFTC_ImageCache
FTC_Manager_ResetFTC_ImageCache_New
FTC_Manager_DoneFTC_ImageCache_Lookup
FTC_Manager_LookupFaceFTC_ImageCache_LookupScaler
FTC_ScalerRecFTC_SBit
FTC_ScalerFTC_SBitRec
FTC_Manager_LookupSizeFTC_SBitCache
FTC_Node_UnrefFTC_SBitCache_New
FTC_Manager_RemoveFaceIDFTC_SBitCache_Lookup
FTC_CMapCacheFTC_SBitCache_LookupScaler


- -
+ + + + + + + + + + + + + + + + + + +
FTC_Manager 
FTC_FaceIDFTC_SBit
FTC_Face_RequesterFTC_SBitCache
 FTC_SBitCache_New
FTC_Manager_NewFTC_SBitCache_Lookup
FTC_Manager_Reset 
FTC_Manager_DoneFTC_CMapCache
FTC_Manager_LookupFaceFTC_CMapCache_New
FTC_Manager_LookupSizeFTC_CMapCache_Lookup
FTC_Manager_RemoveFaceID 
 FTC_ScalerRec
FTC_NodeFTC_Scaler
FTC_Node_UnrefFTC_ImageTypeRec
 FTC_ImageType
FTC_ImageCacheFTC_ImageCache_LookupScaler
FTC_ImageCache_NewFTC_SBitRec
FTC_ImageCache_LookupFTC_SBitCache_LookupScaler
+ +

This section describes the FreeType 2 cache sub-system, which is used to limit the number of concurrently opened FT_Face and FT_Size objects, as well as caching information like character maps and glyph images while limiting their maximum memory usage.

Note that all types and functions begin with the ‘FTC_’ prefix.

The cache is highly portable and thus doesn't know anything about the fonts installed on your system, or how to access them. This implies the following scheme:

@@ -72,135 +138,88 @@ Cache Sub-System

If you want to use the FT_Glyph caching, call FTC_ImageCache, then later use FTC_ImageCache_Lookup to retrieve the corresponding FT_Glyph objects from the cache.

If you need lots of small bitmaps, it is much more memory efficient to call FTC_SBitCache_New followed by FTC_SBitCache_Lookup. This returns FTC_SBitRec structures, which are used to store small bitmaps directly. (A small bitmap is one whose metrics and dimensions all fit into 8-bit integers).

We hope to also provide a kerning cache in the near future.

-

-
-

FTC_Manager

-
-Defined in FT_CACHE_H (ftcache.h). -

-
 
+
+

FTC_Manager

+

Defined in FT_CACHE_H (ftcache.h).

+
   typedef struct FTC_ManagerRec_*  FTC_Manager;
+
-

-

This object corresponds to one instance of the cache-subsystem. It is used to cache one or more FT_Face objects, along with corresponding FT_Size objects.

The manager intentionally limits the total number of opened FT_Face and FT_Size objects to control memory usage. See the ‘max_faces’ and ‘max_sizes’ parameters of FTC_Manager_New.

The manager is also used to cache ‘nodes’ of various types while limiting their total memory usage.

All limitations are enforced by keeping lists of managed objects in most-recently-used order, and flushing old nodes to make room for new ones.

-

-
-
- - -
[Index][TOC]
- -
-

FTC_FaceID

-
-Defined in FT_CACHE_H (ftcache.h). -

-
 
+
+ + +
+

FTC_FaceID

+

Defined in FT_CACHE_H (ftcache.h).

+
   typedef FT_Pointer  FTC_FaceID;
+
-

-

An opaque pointer type that is used to identity face objects. The contents of such objects is application-dependent.

These pointers are typically used to point to a user-defined structure containing a font file path, and face index.

-

-
note
+ +

note

Never use NULL as a valid FTC_FaceID.

Face IDs are passed by the client to the cache manager that calls, when needed, the FTC_Face_Requester to translate them into new FT_Face objects.

If the content of a given face ID changes at runtime, or if the value becomes invalid (e.g., when uninstalling a font), you should immediately call FTC_Manager_RemoveFaceID before any other cache function.

Failure to do so will result in incorrect behaviour or even memory leaks and crashes.

-
-
-
- - -
[Index][TOC]
- -
-

FTC_Face_Requester

-
-Defined in FT_CACHE_H (ftcache.h). -

-
 
+
+ + +
+

FTC_Face_Requester

+

Defined in FT_CACHE_H (ftcache.h).

+
   typedef FT_Error
   (*FTC_Face_Requester)( FTC_FaceID  face_id,
                          FT_Library  library,
-                         FT_Pointer  request_data,
+                         FT_Pointer  req_data,
                          FT_Face*    aface );
+
-

-

A callback function provided by client applications. It is used by the cache manager to translate a given FTC_FaceID into a new valid FT_Face object, on demand.

-

-
input
-

- -
face_id + +

input

+ + - -
face_id

The face ID to resolve.

library +
library

A handle to a FreeType library object.

req_data +
req_data

Application-provided request data (see note below).

-
-
output
-

- -
aface + +

output

+ +
aface

A new FT_Face handle.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

The third parameter ‘req_data’ is the same as the one passed by the client when FTC_Manager_New is called.

The face requester should not perform funny things on the returned face object, like creating a new FT_Size for it, or setting a transformation through FT_Set_Transform!

-
-
-
- - -
[Index][TOC]
- -
-

FTC_Node

-
-Defined in FT_CACHE_H (ftcache.h). -

-
 
-  typedef struct FTC_NodeRec_*  FTC_Node;
-
-

-
-

An opaque handle to a cache node object. Each cache node is reference-counted. A node with a count of 0 might be flushed out of a full cache whenever a lookup request is performed.

-

If you look up nodes, you have the ability to ‘acquire’ them, i.e., to increment their reference count. This will prevent the node from being flushed out of the cache until you explicitly ‘release’ it (see FTC_Node_Unref).

-

See also FTC_SBitCache_Lookup and FTC_ImageCache_Lookup.

-

-
-
- - -
[Index][TOC]
- -
-

FTC_Manager_New

-
-Defined in FT_CACHE_H (ftcache.h). -

-
+
+ +
+

FTC_Manager_New

+

Defined in FT_CACHE_H (ftcache.h).

+
   FT_EXPORT( FT_Error )
   FTC_Manager_New( FT_Library          library,
                    FT_UInt             max_faces,
@@ -209,463 +228,574 @@ Defined in FT_CACHE_H (ftcache.h).
                    FTC_Face_Requester  requester,
                    FT_Pointer          req_data,
                    FTC_Manager        *amanager );
+
-

-

Create a new cache manager.

-

-
input
-

- -
library + +

input

+ + - - - - -
library

The parent FreeType library handle to use.

max_faces +
max_faces

Maximum number of opened FT_Face objects managed by this cache instance. Use 0 for defaults.

max_sizes +
max_sizes

Maximum number of opened FT_Size objects managed by this cache instance. Use 0 for defaults.

max_bytes +
max_bytes

Maximum number of bytes to use for cached data nodes. Use 0 for defaults. Note that this value does not account for managed FT_Face and FT_Size objects.

requester +
requester

An application-provided callback used to translate face IDs into real FT_Face objects.

req_data +
req_data

A generic pointer that is passed to the requester each time it is called (see FTC_Face_Requester).

-
-
output
-

- -
amanager + +

output

+ +
amanager

A handle to a new manager object. 0 in case of failure.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FTC_Manager_Reset

-
-Defined in FT_CACHE_H (ftcache.h). -

-
 
+
+ + +
+

FTC_Manager_Reset

+

Defined in FT_CACHE_H (ftcache.h).

+
   FT_EXPORT( void )
   FTC_Manager_Reset( FTC_Manager  manager );
+
-

-

Empty a given cache manager. This simply gets rid of all the currently cached FT_Face and FT_Size objects within the manager.

-

-
inout
-

- -
manager + +

inout

+ +
manager

A handle to the manager.

-
-
-
- - -
[Index][TOC]
- -
-

FTC_Manager_Done

-
-Defined in FT_CACHE_H (ftcache.h). -

-
 
+
+ + +
+

FTC_Manager_Done

+

Defined in FT_CACHE_H (ftcache.h).

+
   FT_EXPORT( void )
   FTC_Manager_Done( FTC_Manager  manager );
+
-

-

Destroy a given manager after emptying it.

-

-
input
-

- -
manager + +

input

+ +
manager

A handle to the target cache manager object.

-
-
-
- - -
[Index][TOC]
- -
-

FTC_Manager_LookupFace

-
-Defined in FT_CACHE_H (ftcache.h). -

-
 
+
+ + +
+

FTC_Manager_LookupFace

+

Defined in FT_CACHE_H (ftcache.h).

+
   FT_EXPORT( FT_Error )
   FTC_Manager_LookupFace( FTC_Manager  manager,
                           FTC_FaceID   face_id,
                           FT_Face     *aface );
+
-

-

Retrieve the FT_Face object that corresponds to a given face ID through a cache manager.

-

-
input
-

- -
manager + +

input

+ + -
manager

A handle to the cache manager.

face_id +
face_id

The ID of the face object.

-
-
output
-

- -
aface + +

output

+ +
aface

A handle to the face object.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

The returned FT_Face object is always owned by the manager. You should never try to discard it yourself.

The FT_Face object doesn't necessarily have a current size object (i.e., face->size can be 0). If you need a specific ‘font size’, use FTC_Manager_LookupSize instead.

Never change the face's transformation matrix (i.e., never call the FT_Set_Transform function) on a returned face! If you need to transform glyphs, do it yourself after glyph loading.

When you perform a lookup, out-of-memory errors are detected within the lookup and force incremental flushes of the cache until enough memory is released for the lookup to succeed.

If a lookup fails with ‘FT_Err_Out_Of_Memory’ the cache has already been completely flushed, and still no memory was available for the operation.

-
-
-
- - -
[Index][TOC]
- -
-

FTC_ScalerRec

-
-Defined in FT_CACHE_H (ftcache.h). -

-
 
-  typedef struct  FTC_ScalerRec_
-  {
-    FTC_FaceID  face_id;
-    FT_UInt     width;
-    FT_UInt     height;
-    FT_Int      pixel;
-    FT_UInt     x_res;
-    FT_UInt     y_res;
-
-  } FTC_ScalerRec;
-
-

-
-

A structure used to describe a given character size in either pixels or points to the cache manager. See FTC_Manager_LookupSize.

-

-
fields
-

- - - - - - - -
face_id -

The source face ID.

-
width -

The character width.

-
height -

The character height.

-
pixel -

A Boolean. If 1, the ‘width’ and ‘height’ fields are interpreted as integer pixel character sizes. Otherwise, they are expressed as 1/64th of points.

-
x_res -

Only used when ‘pixel’ is value 0 to indicate the horizontal resolution in dpi.

-
y_res -

Only used when ‘pixel’ is value 0 to indicate the vertical resolution in dpi.

-
-
-
note
-

This type is mainly used to retrieve FT_Size objects through the cache manager.

-
-
-
- - -
[Index][TOC]
- -
-

FTC_Scaler

-
-Defined in FT_CACHE_H (ftcache.h). -

-
-
-  typedef struct FTC_ScalerRec_*  FTC_Scaler;
-
-

-
-

A handle to an FTC_ScalerRec structure.

-

-
-
- - -
[Index][TOC]
- -
-

FTC_Manager_LookupSize

-
-Defined in FT_CACHE_H (ftcache.h). -

-
+
+ +
+

FTC_Manager_LookupSize

+

Defined in FT_CACHE_H (ftcache.h).

+
   FT_EXPORT( FT_Error )
   FTC_Manager_LookupSize( FTC_Manager  manager,
                           FTC_Scaler   scaler,
                           FT_Size     *asize );
+
-

-

Retrieve the FT_Size object that corresponds to a given FTC_ScalerRec pointer through a cache manager.

-

-
input
-

- -
manager + +

input

+ + -
manager

A handle to the cache manager.

scaler +
scaler

A scaler handle.

-
-
output
-

- -
asize + +

output

+ +
asize

A handle to the size object.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

The returned FT_Size object is always owned by the manager. You should never try to discard it by yourself.

You can access the parent FT_Face object simply as ‘size->face’ if you need it. Note that this object is also owned by the manager.

-
-
note
+ +

note

When you perform a lookup, out-of-memory errors are detected within the lookup and force incremental flushes of the cache until enough memory is released for the lookup to succeed.

If a lookup fails with ‘FT_Err_Out_Of_Memory’ the cache has already been completely flushed, and still no memory is available for the operation.

-
-
-
- - -
[Index][TOC]
- -
-

FTC_Node_Unref

-
-Defined in FT_CACHE_H (ftcache.h). -

-
 
+
+ + +
+

FTC_Manager_RemoveFaceID

+

Defined in FT_CACHE_H (ftcache.h).

+
+  FT_EXPORT( void )
+  FTC_Manager_RemoveFaceID( FTC_Manager  manager,
+                            FTC_FaceID   face_id );
+
+ +

A special function used to indicate to the cache manager that a given FTC_FaceID is no longer valid, either because its content changed, or because it was deallocated or uninstalled.

+ +

input

+ + + +
manager +

The cache manager handle.

+
face_id +

The FTC_FaceID to be removed.

+
+ +

note

+

This function flushes all nodes from the cache corresponding to this ‘face_id’, with the exception of nodes with a non-null reference count.

+

Such nodes are however modified internally so as to never appear in later lookups with the same ‘face_id’ value, and to be immediately destroyed when released by all their users.

+ +
+
+ +
+

FTC_Node

+

Defined in FT_CACHE_H (ftcache.h).

+
+  typedef struct FTC_NodeRec_*  FTC_Node;
+
+ +

An opaque handle to a cache node object. Each cache node is reference-counted. A node with a count of 0 might be flushed out of a full cache whenever a lookup request is performed.

+

If you look up nodes, you have the ability to ‘acquire’ them, i.e., to increment their reference count. This will prevent the node from being flushed out of the cache until you explicitly ‘release’ it (see FTC_Node_Unref).

+

See also FTC_SBitCache_Lookup and FTC_ImageCache_Lookup.

+ +
+
+ +
+

FTC_Node_Unref

+

Defined in FT_CACHE_H (ftcache.h).

+
   FT_EXPORT( void )
   FTC_Node_Unref( FTC_Node     node,
                   FTC_Manager  manager );
+
-

-

Decrement a cache node's internal reference count. When the count reaches 0, it is not destroyed but becomes eligible for subsequent cache flushes.

-

-
input
-

- -
node + +

input

+ + -
node

The cache node handle.

manager +
manager

The cache manager handle.

-
-
-
- - -
[Index][TOC]
- -
-

FTC_Manager_RemoveFaceID

-
-Defined in FT_CACHE_H (ftcache.h). -

-
 
-  FT_EXPORT( void )
-  FTC_Manager_RemoveFaceID( FTC_Manager  manager,
-                            FTC_FaceID   face_id );
+
+ -

-
-

A special function used to indicate to the cache manager that a given FTC_FaceID is no longer valid, either because its content changed, or because it was deallocated or uninstalled.

-

-
input
-

- -
manager -

The cache manager handle.

+
+

FTC_ImageCache

+

Defined in FT_CACHE_H (ftcache.h).

+
+  typedef struct FTC_ImageCacheRec_*  FTC_ImageCache;
+
+ +

A handle to a glyph image cache object. They are designed to hold many distinct glyph images while not exceeding a certain memory threshold.

+ +
+
+ +
+

FTC_ImageCache_New

+

Defined in FT_CACHE_H (ftcache.h).

+
+  FT_EXPORT( FT_Error )
+  FTC_ImageCache_New( FTC_Manager      manager,
+                      FTC_ImageCache  *acache );
+
+ +

Create a new glyph image cache.

+ +

input

+ + -
manager +

The parent manager for the image cache.

face_id -

The FTC_FaceID to be removed.

+
+ +

output

+ +
acache +

A handle to the new glyph image cache object.

-
-
note
-

This function flushes all nodes from the cache corresponding to this ‘face_id’, with the exception of nodes with a non-null reference count.

-

Such nodes are however modified internally so as to never appear in later lookups with the same ‘face_id’ value, and to be immediately destroyed when released by all their users.

-
-
-
- - -
[Index][TOC]
- -
-

FTC_CMapCache

-
-Defined in FT_CACHE_H (ftcache.h). -

-
 
+

return

+

FreeType error code. 0 means success.

+ +
+ + +
+

FTC_ImageCache_Lookup

+

Defined in FT_CACHE_H (ftcache.h).

+
+  FT_EXPORT( FT_Error )
+  FTC_ImageCache_Lookup( FTC_ImageCache  cache,
+                         FTC_ImageType   type,
+                         FT_UInt         gindex,
+                         FT_Glyph       *aglyph,
+                         FTC_Node       *anode );
+
+ +

Retrieve a given glyph image from a glyph image cache.

+ +

input

+ + + + +
cache +

A handle to the source glyph image cache.

+
type +

A pointer to a glyph image type descriptor.

+
gindex +

The glyph index to retrieve.

+
+ +

output

+ + + +
aglyph +

The corresponding FT_Glyph object. 0 in case of failure.

+
anode +

Used to return the address of of the corresponding cache node after incrementing its reference count (see note below).

+
+ +

return

+

FreeType error code. 0 means success.

+ +

note

+

The returned glyph is owned and managed by the glyph image cache. Never try to transform or discard it manually! You can however create a copy with FT_Glyph_Copy and modify the new one.

+

If ‘anode’ is not NULL, it receives the address of the cache node containing the glyph image, after increasing its reference count. This ensures that the node (as well as the FT_Glyph) will always be kept in the cache until you call FTC_Node_Unref to ‘release’ it.

+

If ‘anode’ is NULL, the cache node is left unchanged, which means that the FT_Glyph could be flushed out of the cache on the next call to one of the caching sub-system APIs. Don't assume that it is persistent!

+ +
+
+ +
+

FTC_SBit

+

Defined in FT_CACHE_H (ftcache.h).

+
+  typedef struct FTC_SBitRec_*  FTC_SBit;
+
+ +

A handle to a small bitmap descriptor. See the FTC_SBitRec structure for details.

+ +
+
+ +
+

FTC_SBitCache

+

Defined in FT_CACHE_H (ftcache.h).

+
+  typedef struct FTC_SBitCacheRec_*  FTC_SBitCache;
+
+ +

A handle to a small bitmap cache. These are special cache objects used to store small glyph bitmaps (and anti-aliased pixmaps) in a much more efficient way than the traditional glyph image cache implemented by FTC_ImageCache.

+ +
+
+ +
+

FTC_SBitCache_New

+

Defined in FT_CACHE_H (ftcache.h).

+
+  FT_EXPORT( FT_Error )
+  FTC_SBitCache_New( FTC_Manager     manager,
+                     FTC_SBitCache  *acache );
+
+ +

Create a new cache to store small glyph bitmaps.

+ +

input

+ + +
manager +

A handle to the source cache manager.

+
+ +

output

+ + +
acache +

A handle to the new sbit cache. NULL in case of error.

+
+ +

return

+

FreeType error code. 0 means success.

+ +
+
+ +
+

FTC_SBitCache_Lookup

+

Defined in FT_CACHE_H (ftcache.h).

+
+  FT_EXPORT( FT_Error )
+  FTC_SBitCache_Lookup( FTC_SBitCache    cache,
+                        FTC_ImageType    type,
+                        FT_UInt          gindex,
+                        FTC_SBit        *sbit,
+                        FTC_Node        *anode );
+
+ +

Look up a given small glyph bitmap in a given sbit cache and ‘lock’ it to prevent its flushing from the cache until needed.

+ +

input

+ + + + +
cache +

A handle to the source sbit cache.

+
type +

A pointer to the glyph image type descriptor.

+
gindex +

The glyph index.

+
+ +

output

+ + + +
sbit +

A handle to a small bitmap descriptor.

+
anode +

Used to return the address of of the corresponding cache node after incrementing its reference count (see note below).

+
+ +

return

+

FreeType error code. 0 means success.

+ +

note

+

The small bitmap descriptor and its bit buffer are owned by the cache and should never be freed by the application. They might as well disappear from memory on the next cache lookup, so don't treat them as persistent data.

+

The descriptor's ‘buffer’ field is set to 0 to indicate a missing glyph bitmap.

+

If ‘anode’ is not NULL, it receives the address of the cache node containing the bitmap, after increasing its reference count. This ensures that the node (as well as the image) will always be kept in the cache until you call FTC_Node_Unref to ‘release’ it.

+

If ‘anode’ is NULL, the cache node is left unchanged, which means that the bitmap could be flushed out of the cache on the next call to one of the caching sub-system APIs. Don't assume that it is persistent!

+ +
+
+ +
+

FTC_CMapCache

+

Defined in FT_CACHE_H (ftcache.h).

+
   typedef struct FTC_CMapCacheRec_*  FTC_CMapCache;
+
-

-

An opaque handle used to model a charmap cache. This cache is to hold character codes -> glyph indices mappings.

-

-
-
- - -
[Index][TOC]
- -
-

FTC_CMapCache_New

-
-Defined in FT_CACHE_H (ftcache.h). -

-
 
+
+ + +
+

FTC_CMapCache_New

+

Defined in FT_CACHE_H (ftcache.h).

+
   FT_EXPORT( FT_Error )
   FTC_CMapCache_New( FTC_Manager     manager,
                      FTC_CMapCache  *acache );
+
-

-

Create a new charmap cache.

-

-
input
-

- -
manager + +

input

+ +
manager

A handle to the cache manager.

-
-
output
-

- -
acache + +

output

+ +
acache

A new cache handle. NULL in case of error.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

Like all other caches, this one will be destroyed with the cache manager.

-
-
-
- - -
[Index][TOC]
- -
-

FTC_CMapCache_Lookup

-
-Defined in FT_CACHE_H (ftcache.h). -

-
 
+
+ + +
+

FTC_CMapCache_Lookup

+

Defined in FT_CACHE_H (ftcache.h).

+
   FT_EXPORT( FT_UInt )
   FTC_CMapCache_Lookup( FTC_CMapCache  cache,
                         FTC_FaceID     face_id,
                         FT_Int         cmap_index,
                         FT_UInt32      char_code );
+
-

-

Translate a character code into a glyph index, using the charmap cache.

-

-
input
-

- -
cache + +

input

+ + - - -
cache

A charmap cache handle.

face_id +
face_id

The source face ID.

cmap_index +
cmap_index

The index of the charmap in the source face. Any negative value means to use the cache FT_Face's default charmap.

char_code +
char_code

The character code (in the corresponding charmap).

-
-
return
+ +

return

Glyph index. 0 means ‘no glyph’.

-
-
-
- - -
[Index][TOC]
- -
-

FTC_ImageTypeRec

-
-Defined in FT_CACHE_H (ftcache.h). -

-
 
+
+ + +
+

FTC_ScalerRec

+

Defined in FT_CACHE_H (ftcache.h).

+
+  typedef struct  FTC_ScalerRec_
+  {
+    FTC_FaceID  face_id;
+    FT_UInt     width;
+    FT_UInt     height;
+    FT_Int      pixel;
+    FT_UInt     x_res;
+    FT_UInt     y_res;
+
+  } FTC_ScalerRec;
+
+ +

A structure used to describe a given character size in either pixels or points to the cache manager. See FTC_Manager_LookupSize.

+ +

fields

+ + + + + + + +
face_id +

The source face ID.

+
width +

The character width.

+
height +

The character height.

+
pixel +

A Boolean. If 1, the ‘width’ and ‘height’ fields are interpreted as integer pixel character sizes. Otherwise, they are expressed as 1/64th of points.

+
x_res +

Only used when ‘pixel’ is value 0 to indicate the horizontal resolution in dpi.

+
y_res +

Only used when ‘pixel’ is value 0 to indicate the vertical resolution in dpi.

+
+ +

note

+

This type is mainly used to retrieve FT_Size objects through the cache manager.

+ +
+
+ +
+

FTC_Scaler

+

Defined in FT_CACHE_H (ftcache.h).

+
+  typedef struct FTC_ScalerRec_*  FTC_Scaler;
+
+ +

A handle to an FTC_ScalerRec structure.

+ +
+
+ +
+

FTC_ImageTypeRec

+

Defined in FT_CACHE_H (ftcache.h).

+
   typedef struct  FTC_ImageTypeRec_
   {
     FTC_FaceID  face_id;
@@ -674,176 +804,45 @@ Defined in FT_CACHE_H (ftcache.h).
     FT_Int32    flags;
 
   } FTC_ImageTypeRec;
+
-

-

A structure used to model the type of images in a glyph cache.

-

-
fields
-

- -
face_id + +

fields

+ + - - -
face_id

The face ID.

width +
width

The width in pixels.

height +
height

The height in pixels.

flags +
flags

The load flags, as in FT_Load_Glyph.

-
-
-
- - -
[Index][TOC]
- -
-

FTC_ImageType

-
-Defined in FT_CACHE_H (ftcache.h). -

-
 
+
+ + +
+

FTC_ImageType

+

Defined in FT_CACHE_H (ftcache.h).

+
   typedef struct FTC_ImageTypeRec_*  FTC_ImageType;
+
-

-

A handle to an FTC_ImageTypeRec structure.

-

-
-
- - -
[Index][TOC]
- -
-

FTC_ImageCache

-
-Defined in FT_CACHE_H (ftcache.h). -

-
 
-  typedef struct FTC_ImageCacheRec_*  FTC_ImageCache;
-
-

-
-

A handle to a glyph image cache object. They are designed to hold many distinct glyph images while not exceeding a certain memory threshold.

-

-
-
- - -
[Index][TOC]
- -
-

FTC_ImageCache_New

-
-Defined in FT_CACHE_H (ftcache.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FTC_ImageCache_New( FTC_Manager      manager,
-                      FTC_ImageCache  *acache );
-
-

-
-

Create a new glyph image cache.

-

-
input
-

- - -
manager -

The parent manager for the image cache.

-
-
-
output
-

- - -
acache -

A handle to the new glyph image cache object.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FTC_ImageCache_Lookup

-
-Defined in FT_CACHE_H (ftcache.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FTC_ImageCache_Lookup( FTC_ImageCache  cache,
-                         FTC_ImageType   type,
-                         FT_UInt         gindex,
-                         FT_Glyph       *aglyph,
-                         FTC_Node       *anode );
-
-

-
-

Retrieve a given glyph image from a glyph image cache.

-

-
input
-

- - - - -
cache -

A handle to the source glyph image cache.

-
type -

A pointer to a glyph image type descriptor.

-
gindex -

The glyph index to retrieve.

-
-
-
output
-

- - - -
aglyph -

The corresponding FT_Glyph object. 0 in case of failure.

-
anode -

Used to return the address of of the corresponding cache node after incrementing its reference count (see note below).

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

The returned glyph is owned and managed by the glyph image cache. Never try to transform or discard it manually! You can however create a copy with FT_Glyph_Copy and modify the new one.

-

If ‘anode’ is not NULL, it receives the address of the cache node containing the glyph image, after increasing its reference count. This ensures that the node (as well as the FT_Glyph) will always be kept in the cache until you call FTC_Node_Unref to ‘release’ it.

-

If ‘anode’ is NULL, the cache node is left unchanged, which means that the FT_Glyph could be flushed out of the cache on the next call to one of the caching sub-system APIs. Don't assume that it is persistent!

-
-
-
- - -
[Index][TOC]
- -
-

FTC_ImageCache_LookupScaler

-
-Defined in FT_CACHE_H (ftcache.h). -

-
+
+ +
+

FTC_ImageCache_LookupScaler

+

Defined in FT_CACHE_H (ftcache.h).

+
   FT_EXPORT( FT_Error )
   FTC_ImageCache_LookupScaler( FTC_ImageCache  cache,
                                FTC_Scaler      scaler,
@@ -851,80 +850,52 @@ Defined in FT_CACHE_H (ftcache.h).
                                FT_UInt         gindex,
                                FT_Glyph       *aglyph,
                                FTC_Node       *anode );
+
-

-

A variant of FTC_ImageCache_Lookup that uses an FTC_ScalerRec to specify the face ID and its size.

-

-
input
-

- -
cache + +

input

+ + - - -
cache

A handle to the source glyph image cache.

scaler +
scaler

A pointer to a scaler descriptor.

load_flags +
load_flags

The corresponding load flags.

gindex +
gindex

The glyph index to retrieve.

-
-
output
-

- -
aglyph + +

output

+ + -
aglyph

The corresponding FT_Glyph object. 0 in case of failure.

anode +
anode

Used to return the address of of the corresponding cache node after incrementing its reference count (see note below).

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

The returned glyph is owned and managed by the glyph image cache. Never try to transform or discard it manually! You can however create a copy with FT_Glyph_Copy and modify the new one.

If ‘anode’ is not NULL, it receives the address of the cache node containing the glyph image, after increasing its reference count. This ensures that the node (as well as the FT_Glyph) will always be kept in the cache until you call FTC_Node_Unref to ‘release’ it.

If ‘anode’ is NULL, the cache node is left unchanged, which means that the FT_Glyph could be flushed out of the cache on the next call to one of the caching sub-system APIs. Don't assume that it is persistent!

Calls to FT_Set_Char_Size and friends have no effect on cached glyphs; you should always use the FreeType cache API instead.

-
-
-
- - -
[Index][TOC]
- -
-

FTC_SBit

-
-Defined in FT_CACHE_H (ftcache.h). -

-
 
-  typedef struct FTC_SBitRec_*  FTC_SBit;
-
-

-
-

A handle to a small bitmap descriptor. See the FTC_SBitRec structure for details.

-

-
-
- - -
[Index][TOC]
- -
-

FTC_SBitRec

-
-Defined in FT_CACHE_H (ftcache.h). -

-
+
+ +
+

FTC_SBitRec

+

Defined in FT_CACHE_H (ftcache.h).

+
   typedef struct  FTC_SBitRec_
   {
     FT_Byte   width;
@@ -941,176 +912,51 @@ Defined in FT_CACHE_H (ftcache.h).
     FT_Byte*  buffer;
 
   } FTC_SBitRec;
+
-

-

A very compact structure used to describe a small glyph bitmap.

-

-
fields
-

- -
width + +

fields

+ + - - - - - - - - -
width

The bitmap width in pixels.

height +
height

The bitmap height in pixels.

left +
left

The horizontal distance from the pen position to the left bitmap border (a.k.a. ‘left side bearing’, or ‘lsb’).

top +
top

The vertical distance from the pen position (on the baseline) to the upper bitmap border (a.k.a. ‘top side bearing’). The distance is positive for upwards y coordinates.

format +
format

The format of the glyph bitmap (monochrome or gray).

max_grays +
max_grays

Maximum gray level value (in the range 1 to 255).

pitch +
pitch

The number of bytes per bitmap line. May be positive or negative.

xadvance +
xadvance

The horizontal advance width in pixels.

yadvance +
yadvance

The vertical advance height in pixels.

buffer +
buffer

A pointer to the bitmap pixels.

-
-
-
- - -
[Index][TOC]
- -
-

FTC_SBitCache

-
-Defined in FT_CACHE_H (ftcache.h). -

-
-
-  typedef struct FTC_SBitCacheRec_*  FTC_SBitCache;
-
-

-
-

A handle to a small bitmap cache. These are special cache objects used to store small glyph bitmaps (and anti-aliased pixmaps) in a much more efficient way than the traditional glyph image cache implemented by FTC_ImageCache.

-

-
-
- - -
[Index][TOC]
- -
-

FTC_SBitCache_New

-
-Defined in FT_CACHE_H (ftcache.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FTC_SBitCache_New( FTC_Manager     manager,
-                     FTC_SBitCache  *acache );
-
-

-
-

Create a new cache to store small glyph bitmaps.

-

-
input
-

- - -
manager -

A handle to the source cache manager.

-
-
-
output
-

- - -
acache -

A handle to the new sbit cache. NULL in case of error.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FTC_SBitCache_Lookup

-
-Defined in FT_CACHE_H (ftcache.h). -

-
 
-  FT_EXPORT( FT_Error )
-  FTC_SBitCache_Lookup( FTC_SBitCache    cache,
-                        FTC_ImageType    type,
-                        FT_UInt          gindex,
-                        FTC_SBit        *sbit,
-                        FTC_Node        *anode );
-
-

-
-

Look up a given small glyph bitmap in a given sbit cache and ‘lock’ it to prevent its flushing from the cache until needed.

-

-
input
-

- - - - -
cache -

A handle to the source sbit cache.

-
type -

A pointer to the glyph image type descriptor.

-
gindex -

The glyph index.

-
-
-
output
-

- - - -
sbit -

A handle to a small bitmap descriptor.

-
anode -

Used to return the address of of the corresponding cache node after incrementing its reference count (see note below).

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

The small bitmap descriptor and its bit buffer are owned by the cache and should never be freed by the application. They might as well disappear from memory on the next cache lookup, so don't treat them as persistent data.

-

The descriptor's ‘buffer’ field is set to 0 to indicate a missing glyph bitmap.

-

If ‘anode’ is not NULL, it receives the address of the cache node containing the bitmap, after increasing its reference count. This ensures that the node (as well as the image) will always be kept in the cache until you call FTC_Node_Unref to ‘release’ it.

-

If ‘anode’ is NULL, the cache node is left unchanged, which means that the bitmap could be flushed out of the cache on the next call to one of the caching sub-system APIs. Don't assume that it is persistent!

-
-
-
- - -
[Index][TOC]
- -
-

FTC_SBitCache_LookupScaler

-
-Defined in FT_CACHE_H (ftcache.h). -

-
+
+ +
+

FTC_SBitCache_LookupScaler

+

Defined in FT_CACHE_H (ftcache.h).

+
   FT_EXPORT( FT_Error )
   FTC_SBitCache_LookupScaler( FTC_SBitCache  cache,
                               FTC_Scaler     scaler,
@@ -1118,53 +964,47 @@ Defined in FT_CACHE_H (ftcache.h).
                               FT_UInt        gindex,
                               FTC_SBit      *sbit,
                               FTC_Node      *anode );
+
-

-

A variant of FTC_SBitCache_Lookup that uses an FTC_ScalerRec to specify the face ID and its size.

-

-
input
-

- -
cache + +

input

+ + - - -
cache

A handle to the source sbit cache.

scaler +
scaler

A pointer to the scaler descriptor.

load_flags +
load_flags

The corresponding load flags.

gindex +
gindex

The glyph index.

-
-
output
-

- -
sbit + +

output

+ + -
sbit

A handle to a small bitmap descriptor.

anode +
anode

Used to return the address of of the corresponding cache node after incrementing its reference count (see note below).

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

The small bitmap descriptor and its bit buffer are owned by the cache and should never be freed by the application. They might as well disappear from memory on the next cache lookup, so don't treat them as persistent data.

The descriptor's ‘buffer’ field is set to 0 to indicate a missing glyph bitmap.

If ‘anode’ is not NULL, it receives the address of the cache node containing the bitmap, after increasing its reference count. This ensures that the node (as well as the image) will always be kept in the cache until you call FTC_Node_Unref to ‘release’ it.

If ‘anode’ is NULL, the cache node is left unchanged, which means that the bitmap could be flushed out of the cache on the next call to one of the caching sub-system APIs. Don't assume that it is persistent!

-
-
-
- - -
[Index][TOC]
+ +
+ diff --git a/freetype/docs/reference/ft2-cff_driver.html b/freetype/docs/reference/ft2-cff_driver.html index 7ae308de6..f1de5661a 100644 --- a/freetype/docs/reference/ft2-cff_driver.html +++ b/freetype/docs/reference/ft2-cff_driver.html @@ -3,50 +3,113 @@ -FreeType-2.5.3 API Reference +FreeType-2.5.5 API Reference - - -
[Index][TOC]
-

FreeType-2.5.3 API Reference

+ +

FreeType-2.5.5 API Reference

-

-The CFF driver -

+

The CFF driver

Synopsis

- - - -
hinting-engineno-stem-darkening
FT_CFF_HINTING_XXXdarkening-parameters


+ + + +
hinting-enginedarkening-parametersFT_CFF_HINTING_XXX
no-stem-darkening 
+ -

While FreeType's CFF driver doesn't expose API functions by itself, it is possible to control its behaviour with FT_Property_Set and FT_Property_Get. The list below gives the available properties together with the necessary macros and structures.

The CFF driver's module name is ‘cff’.

Hinting and antialiasing principles of the new engine

@@ -57,10 +120,10 @@ The CFF driver

2) Aligment in the vertical direction: Weights and spacing along the y axis are less critical; what is much more important is the visual alignment of related features (like cap-height and x-height). The sense of alignment for these is enhanced by the sharpness of grid-fit edges, while the cruder vertical resolution (full pixels instead of 1/3 pixels) is less of a problem.

On the technical side, horizontal alignment zones for ascender, x-height, and other important height values (traditionally called ‘blue zones’) as defined in the font are positioned independently, each being rounded to the nearest pixel edge, taking care of overshoot suppression at small sizes, stem darkening, and scaling.

Hstems (this is, hint values defined in the font to help align horizontal features) that fall within a blue zone are said to be ‘captured’ and are aligned to that zone. Uncaptured stems are moved in one of four ways, top edge up or down, bottom edge up or down. Unless there are conflicting hstems, the smallest movement is taken to minimize distortion.

-

-
-

hinting-engine

-
+ +
+

hinting-engine

+

Thanks to Adobe, which contributed a new hinting (and parsing) engine, an application can select between ‘freetype’ and ‘adobe’ if compiled with CFF_CONFIG_OPTION_OLD_ENGINE. If this configuration macro isn't defined, ‘hinting-engine’ does nothing.

The default engine is ‘freetype’ if CFF_CONFIG_OPTION_OLD_ENGINE is defined, and ‘adobe’ otherwise.

The following example code demonstrates how to select Adobe's hinting engine (omitting the error handling).

@@ -74,51 +137,16 @@ The CFF driver FT_Property_Set( library, "cff", "hinting-engine", &hinting_engine ); -

-
note
+ +

note

This property can be used with FT_Property_Get also.

-
-
-
- - -
[Index][TOC]
- -
-

FT_CFF_HINTING_XXX

-
-Defined in FT_CFF_DRIVER_H (ftcffdrv.h). -

-
-
-#define FT_CFF_HINTING_FREETYPE  0
-#define FT_CFF_HINTING_ADOBE     1
-
-

-
-

A list of constants used for the hinting-engine property to select the hinting engine for CFF fonts.

-

-
values
-

- - - - -
FT_CFF_HINTING_FREETYPE
-

Use the old FreeType hinting engine.

-
FT_CFF_HINTING_ADOBE -

Use the hinting engine contributed by Adobe.

-
-
-
-
- - -
[Index][TOC]
- -
-

no-stem-darkening

-
+ +
+ + +
+

no-stem-darkening

+

By default, the Adobe CFF engine darkens stems at smaller sizes, regardless of hinting, to enhance contrast. This feature requires a rendering system with proper gamma correction. Setting this property, stem darkening gets switched off.

Note that stem darkening is never applied if FT_LOAD_NO_SCALE is set.

@@ -131,19 +159,16 @@ Defined in FT_CFF_DRIVER_H (ftcffdrv.h).
   FT_Property_Set( library, "cff",
                             "no-stem-darkening", &no_stem_darkening );
 
-

-
note
+ +

note

This property can be used with FT_Property_Get also.

-
-
-
- - -
[Index][TOC]
- -
-

darkening-parameters

-
+ +
+ + +
+

darkening-parameters

+

By default, the Adobe CFF engine darkens stems as follows (if the ‘no-stem-darkening’ property isn't set):

   stem width <= 0.5px:   darkening amount = 0.4px
@@ -151,7 +176,7 @@ Defined in FT_CFF_DRIVER_H (ftcffdrv.h).
   stem width  = 1.667px: darkening amount = 0.275px
   stem width >= 2.333px: darkening amount = 0px
 
-

and piecewise linear in-between. Using the ‘darkening-parameters’ property, these four control points can be changed, as the following example demonstrates.

+

and piecewise linear in-between. At configuration time, these four control points can be set with the macro ‘CFF_CONFIG_OPTION_DARKENING_PARAMETERS’. At runtime, the control points can be changed using the ‘darkening-parameters’ property, as the following example demonstrates.

   FT_Library  library;
   FT_Int      darken_params[8] = {  500, 300,   // x1, y1
@@ -166,15 +191,35 @@ Defined in FT_CFF_DRIVER_H (ftcffdrv.h).
                             "darkening-parameters", darken_params );
 

The x values give the stem width, and the y values the darkening amount. The unit is 1000th of pixels. All coordinate values must be positive; the x values must be monotonically increasing; the y values must be monotonically decreasing and smaller than or equal to 500 (corresponding to half a pixel); the slope of each linear piece must be shallower than -1 (e.g., -.4).

-

-
note
+ +

note

This property can be used with FT_Property_Get also.

-
-
-
- - -
[Index][TOC]
+ +
+ + +
+

FT_CFF_HINTING_XXX

+

Defined in FT_CFF_DRIVER_H (ftcffdrv.h).

+
+#define FT_CFF_HINTING_FREETYPE  0
+#define FT_CFF_HINTING_ADOBE     1
+
+ +

A list of constants used for the hinting-engine property to select the hinting engine for CFF fonts.

+ +

values

+ + + +
FT_CFF_HINTING_FREETYPE +

Use the old FreeType hinting engine.

+
FT_CFF_HINTING_ADOBE +

Use the hinting engine contributed by Adobe.

+
+ +
+
diff --git a/freetype/docs/reference/ft2-cid_fonts.html b/freetype/docs/reference/ft2-cid_fonts.html index 2e2c4cf80..cb0b506fe 100644 --- a/freetype/docs/reference/ft2-cid_fonts.html +++ b/freetype/docs/reference/ft2-cid_fonts.html @@ -3,202 +3,238 @@ -FreeType-2.5.3 API Reference +FreeType-2.5.5 API Reference - - -
[Index][TOC]
-

FreeType-2.5.3 API Reference

+ +

FreeType-2.5.5 API Reference

-

-CID Fonts -

+

CID Fonts

Synopsis

- - - - -
FT_Get_CID_Registry_Ordering_Supplement
FT_Get_CID_Is_Internally_CID_Keyed
FT_Get_CID_From_Glyph_Index


+ + + + +
FT_Get_CID_Registry_Ordering_Supplement
FT_Get_CID_Is_Internally_CID_Keyed
FT_Get_CID_From_Glyph_Index
+ -

This section contains the declaration of CID-keyed font specific functions.

-

-
-

FT_Get_CID_Registry_Ordering_Supplement

-
-Defined in FT_CID_H (ftcid.h). -

-
 
+
+

FT_Get_CID_Registry_Ordering_Supplement

+

Defined in FT_CID_H (ftcid.h).

+
   FT_EXPORT( FT_Error )
   FT_Get_CID_Registry_Ordering_Supplement( FT_Face       face,
                                            const char*  *registry,
                                            const char*  *ordering,
                                            FT_Int       *supplement);
+
-

-

Retrieve the Registry/Ordering/Supplement triple (also known as the "R/O/S") from a CID-keyed font.

-

-
input
-

- -
face + +

input

+ +
face

A handle to the input face.

-
-
output
-

- -
registry + +

output

+ + - -
registry

The registry, as a C string, owned by the face.

ordering +
ordering

The ordering, as a C string, owned by the face.

supplement +
supplement

The supplement.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

This function only works with CID faces, returning an error otherwise.

-
-
since
+ +

since

2.3.6

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_CID_Is_Internally_CID_Keyed

-
-Defined in FT_CID_H (ftcid.h). -

-
 
+
+ + +
+

FT_Get_CID_Is_Internally_CID_Keyed

+

Defined in FT_CID_H (ftcid.h).

+
   FT_EXPORT( FT_Error )
   FT_Get_CID_Is_Internally_CID_Keyed( FT_Face   face,
                                       FT_Bool  *is_cid );
+
-

-

Retrieve the type of the input face, CID keyed or not. In constrast to the FT_IS_CID_KEYED macro this function returns successfully also for CID-keyed fonts in an SNFT wrapper.

-

-
input
-

- -
face + +

input

+ +
face

A handle to the input face.

-
-
output
-

- -
is_cid + +

output

+ +
is_cid

The type of the face as an FT_Bool.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

This function only works with CID faces and OpenType fonts, returning an error otherwise.

-
-
since
+ +

since

2.3.9

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_CID_From_Glyph_Index

-
-Defined in FT_CID_H (ftcid.h). -

-
 
+
+ + +
+

FT_Get_CID_From_Glyph_Index

+

Defined in FT_CID_H (ftcid.h).

+
   FT_EXPORT( FT_Error )
   FT_Get_CID_From_Glyph_Index( FT_Face   face,
                                FT_UInt   glyph_index,
                                FT_UInt  *cid );
+
-

-

Retrieve the CID of the input glyph index.

-

-
input
-

- -
face + +

input

+ + -
face

A handle to the input face.

glyph_index +
glyph_index

The input glyph index.

-
-
output
-

- -
cid + +

output

+ +
cid

The CID as an FT_UInt.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

This function only works with CID faces and OpenType fonts, returning an error otherwise.

-
-
since
+ +

since

2.3.9

-
-
-
- - -
[Index][TOC]
+ +
+ diff --git a/freetype/docs/reference/ft2-computations.html b/freetype/docs/reference/ft2-computations.html index 3bee10452..a7771ef41 100644 --- a/freetype/docs/reference/ft2-computations.html +++ b/freetype/docs/reference/ft2-computations.html @@ -3,830 +3,698 @@ -FreeType-2.5.3 API Reference +FreeType-2.5.5 API Reference - - -
[Index][TOC]
-

FreeType-2.5.3 API Reference

+ +

FreeType-2.5.5 API Reference

-

-Computations -

+

Computations

Synopsis

- - - - - - - - - -
FT_MulDivFT_Matrix_InvertFT_Tan
FT_MulFixFT_AngleFT_Atan2
FT_DivFixFT_ANGLE_PIFT_Angle_Diff
FT_RoundFixFT_ANGLE_2PIFT_Vector_Unit
FT_CeilFixFT_ANGLE_PI2FT_Vector_Rotate
FT_FloorFixFT_ANGLE_PI4FT_Vector_Length
FT_Vector_TransformFT_SinFT_Vector_Polarize
FT_Matrix_MultiplyFT_CosFT_Vector_From_Polar


- -
+ + + + + + + + + + +
FT_MulDiv FT_Atan2
FT_MulFixFT_AngleFT_Angle_Diff
FT_DivFixFT_ANGLE_PIFT_Vector_Unit
FT_RoundFixFT_ANGLE_2PIFT_Vector_Rotate
FT_CeilFixFT_ANGLE_PI2FT_Vector_Length
FT_FloorFixFT_ANGLE_PI4FT_Vector_Polarize
FT_Vector_TransformFT_SinFT_Vector_From_Polar
FT_Matrix_MultiplyFT_Cos
FT_Matrix_InvertFT_Tan
+ +

This section contains various functions used to perform computations on 16.16 fixed-float numbers or 2d vectors.

-

-
-

FT_MulDiv

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
+
+

FT_MulDiv

+

Defined in FT_FREETYPE_H (freetype.h).

+
   FT_EXPORT( FT_Long )
   FT_MulDiv( FT_Long  a,
              FT_Long  b,
              FT_Long  c );
+
-

-

A very simple function used to perform the computation ‘(a*b)/c’ with maximum accuracy (it uses a 64-bit intermediate integer whenever necessary).

This function isn't necessarily as fast as some processor specific operations, but is at least completely portable.

-

-
input
-

- -
a + +

input

+ + - -
a

The first multiplier.

b +
b

The second multiplier.

c +
c

The divisor.

-
-
return
+ +

return

The result of ‘(a*b)/c’. This function never traps when trying to divide by zero; it simply returns ‘MaxInt’ or ‘MinInt’ depending on the signs of ‘a’ and ‘b’.

-
-
-
- - -
[Index][TOC]
- -
-

FT_MulFix

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
+
+ + +
+

FT_MulFix

+

Defined in FT_FREETYPE_H (freetype.h).

+
   FT_EXPORT( FT_Long )
   FT_MulFix( FT_Long  a,
              FT_Long  b );
+
-

-

A very simple function used to perform the computation ‘(a*b)/0x10000’ with maximum accuracy. Most of the time this is used to multiply a given value by a 16.16 fixed-point factor.

-

-
input
-

- -
a + +

input

+ + -
a

The first multiplier.

b +
b

The second multiplier. Use a 16.16 factor here whenever possible (see note below).

-
-
return
+ +

return

The result of ‘(a*b)/0x10000’.

-
-
note
+ +

note

This function has been optimized for the case where the absolute value of ‘a’ is less than 2048, and ‘b’ is a 16.16 scaling factor. As this happens mainly when scaling from notional units to fractional pixels in FreeType, it resulted in noticeable speed improvements between versions 2.x and 1.x.

As a conclusion, always try to place a 16.16 factor as the second argument of this function; this can make a great difference.

-
-
-
- - -
[Index][TOC]
- -
-

FT_DivFix

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
+
+ + +
+

FT_DivFix

+

Defined in FT_FREETYPE_H (freetype.h).

+
   FT_EXPORT( FT_Long )
   FT_DivFix( FT_Long  a,
              FT_Long  b );
+
-

-

A very simple function used to perform the computation ‘(a*0x10000)/b’ with maximum accuracy. Most of the time, this is used to divide a given value by a 16.16 fixed-point factor.

-

-
input
-

- -
a -

The first multiplier.

+ +

input

+ + -
a +

The numerator.

b -

The second multiplier. Use a 16.16 factor here whenever possible (see note below).

+
b +

The denominator. Use a 16.16 factor here.

-
-
return
+ +

return

The result of ‘(a*0x10000)/b’.

-
-
note
-

The optimization for FT_DivFix() is simple: If (a << 16) fits in 32 bits, then the division is computed directly. Otherwise, we use a specialized version of FT_MulDiv.

-
-
-
- - -
[Index][TOC]
- -
-

FT_RoundFix

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
+
+ + +
+

FT_RoundFix

+

Defined in FT_FREETYPE_H (freetype.h).

+
   FT_EXPORT( FT_Fixed )
   FT_RoundFix( FT_Fixed  a );
+
-

-

A very simple function used to round a 16.16 fixed number.

-

-
input
-

- -
a + +

input

+ +
a

The number to be rounded.

-
-
return
+ +

return

The result of ‘(a + 0x8000) & -0x10000’.

-
-
-
- - -
[Index][TOC]
- -
-

FT_CeilFix

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
+
+ + +
+

FT_CeilFix

+

Defined in FT_FREETYPE_H (freetype.h).

+
   FT_EXPORT( FT_Fixed )
   FT_CeilFix( FT_Fixed  a );
+
-

-

A very simple function used to compute the ceiling function of a 16.16 fixed number.

-

-
input
-

- -
a + +

input

+ +
a

The number for which the ceiling function is to be computed.

-
-
return
+ +

return

The result of ‘(a + 0x10000 - 1) & -0x10000’.

-
-
-
- - -
[Index][TOC]
- -
-

FT_FloorFix

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
+
+ + +
+

FT_FloorFix

+

Defined in FT_FREETYPE_H (freetype.h).

+
   FT_EXPORT( FT_Fixed )
   FT_FloorFix( FT_Fixed  a );
+
-

-

A very simple function used to compute the floor function of a 16.16 fixed number.

-

-
input
-

- -
a + +

input

+ +
a

The number for which the floor function is to be computed.

-
-
return
+ +

return

The result of ‘a & -0x10000’.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Vector_Transform

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
+
+ + +
+

FT_Vector_Transform

+

Defined in FT_FREETYPE_H (freetype.h).

+
   FT_EXPORT( void )
   FT_Vector_Transform( FT_Vector*        vec,
                        const FT_Matrix*  matrix );
+
-

-

Transform a single vector through a 2x2 matrix.

-

-
inout
-

- -
vector + +

inout

+ +
vector

The target vector to transform.

-
-
input
-

- -
matrix + +

input

+ +
matrix

A pointer to the source 2x2 matrix.

-
-
note
+ +

note

The result is undefined if either ‘vector’ or ‘matrix’ is invalid.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Matrix_Multiply

-
-Defined in FT_GLYPH_H (ftglyph.h). -

-
 
+
+ + +
+

FT_Matrix_Multiply

+

Defined in FT_GLYPH_H (ftglyph.h).

+
   FT_EXPORT( void )
   FT_Matrix_Multiply( const FT_Matrix*  a,
                       FT_Matrix*        b );
+
-

-

Perform the matrix operation ‘b = a*b’.

-

-
input
-

- -
a + +

input

+ +
a

A pointer to matrix ‘a’.

-
-
inout
-

- -
b + +

inout

+ +
b

A pointer to matrix ‘b’.

-
-
note
+ +

note

The result is undefined if either ‘a’ or ‘b’ is zero.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Matrix_Invert

-
-Defined in FT_GLYPH_H (ftglyph.h). -

-
 
+
+ + +
+

FT_Matrix_Invert

+

Defined in FT_GLYPH_H (ftglyph.h).

+
   FT_EXPORT( FT_Error )
   FT_Matrix_Invert( FT_Matrix*  matrix );
+
-

-

Invert a 2x2 matrix. Return an error if it can't be inverted.

-

-
inout
-

- -
matrix + +

inout

+ +
matrix

A pointer to the target matrix. Remains untouched in case of error.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Angle

-
-Defined in FT_TRIGONOMETRY_H (fttrigon.h). -

-
 
+
+ + +
+

FT_Angle

+

Defined in FT_TRIGONOMETRY_H (fttrigon.h).

+
   typedef FT_Fixed  FT_Angle;
+
-

-

This type is used to model angle values in FreeType. Note that the angle is a 16.16 fixed-point value expressed in degrees.

-

-
-
- - -
[Index][TOC]
- -
-

FT_ANGLE_PI

-
-Defined in FT_TRIGONOMETRY_H (fttrigon.h). -

-
 
+
+ + +
+

FT_ANGLE_PI

+

Defined in FT_TRIGONOMETRY_H (fttrigon.h).

+
 #define FT_ANGLE_PI  ( 180L << 16 )
+
-

-

The angle pi expressed in FT_Angle units.

-

-
-
- - -
[Index][TOC]
- -
-

FT_ANGLE_2PI

-
-Defined in FT_TRIGONOMETRY_H (fttrigon.h). -

-
 
+
+ + +
+

FT_ANGLE_2PI

+

Defined in FT_TRIGONOMETRY_H (fttrigon.h).

+
 #define FT_ANGLE_2PI  ( FT_ANGLE_PI * 2 )
+
-

-

The angle 2*pi expressed in FT_Angle units.

-

-
-
- - -
[Index][TOC]
- -
-

FT_ANGLE_PI2

-
-Defined in FT_TRIGONOMETRY_H (fttrigon.h). -

-
 
+
+ + +
+

FT_ANGLE_PI2

+

Defined in FT_TRIGONOMETRY_H (fttrigon.h).

+
 #define FT_ANGLE_PI2  ( FT_ANGLE_PI / 2 )
+
-

-

The angle pi/2 expressed in FT_Angle units.

-

-
-
- - -
[Index][TOC]
- -
-

FT_ANGLE_PI4

-
-Defined in FT_TRIGONOMETRY_H (fttrigon.h). -

-
 
+
+ + +
+

FT_ANGLE_PI4

+

Defined in FT_TRIGONOMETRY_H (fttrigon.h).

+
 #define FT_ANGLE_PI4  ( FT_ANGLE_PI / 4 )
+
-

-

The angle pi/4 expressed in FT_Angle units.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Sin

-
-Defined in FT_TRIGONOMETRY_H (fttrigon.h). -

-
 
+
+ + +
+

FT_Sin

+

Defined in FT_TRIGONOMETRY_H (fttrigon.h).

+
   FT_EXPORT( FT_Fixed )
   FT_Sin( FT_Angle  angle );
+
-

-

Return the sinus of a given angle in fixed-point format.

-

-
input
-

- -
angle + +

input

+ +
angle

The input angle.

-
-
return
+ +

return

The sinus value.

-
-
note
+ +

note

If you need both the sinus and cosinus for a given angle, use the function FT_Vector_Unit.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Cos

-
-Defined in FT_TRIGONOMETRY_H (fttrigon.h). -

-
 
+
+ + +
+

FT_Cos

+

Defined in FT_TRIGONOMETRY_H (fttrigon.h).

+
   FT_EXPORT( FT_Fixed )
   FT_Cos( FT_Angle  angle );
+
-

-

Return the cosinus of a given angle in fixed-point format.

-

-
input
-

- -
angle + +

input

+ +
angle

The input angle.

-
-
return
+ +

return

The cosinus value.

-
-
note
+ +

note

If you need both the sinus and cosinus for a given angle, use the function FT_Vector_Unit.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Tan

-
-Defined in FT_TRIGONOMETRY_H (fttrigon.h). -

-
 
+
+ + +
+

FT_Tan

+

Defined in FT_TRIGONOMETRY_H (fttrigon.h).

+
   FT_EXPORT( FT_Fixed )
   FT_Tan( FT_Angle  angle );
+
-

-

Return the tangent of a given angle in fixed-point format.

-

-
input
-

- -
angle + +

input

+ +
angle

The input angle.

-
-
return
+ +

return

The tangent value.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Atan2

-
-Defined in FT_TRIGONOMETRY_H (fttrigon.h). -

-
 
+
+ + +
+

FT_Atan2

+

Defined in FT_TRIGONOMETRY_H (fttrigon.h).

+
   FT_EXPORT( FT_Angle )
   FT_Atan2( FT_Fixed  x,
             FT_Fixed  y );
+
-

-

Return the arc-tangent corresponding to a given vector (x,y) in the 2d plane.

-

-
input
-

- -
x + +

input

+ + -
x

The horizontal vector coordinate.

y +
y

The vertical vector coordinate.

-
-
return
+ +

return

The arc-tangent value (i.e. angle).

-
-
-
- - -
[Index][TOC]
- -
-

FT_Angle_Diff

-
-Defined in FT_TRIGONOMETRY_H (fttrigon.h). -

-
 
+
+ + +
+

FT_Angle_Diff

+

Defined in FT_TRIGONOMETRY_H (fttrigon.h).

+
   FT_EXPORT( FT_Angle )
   FT_Angle_Diff( FT_Angle  angle1,
                  FT_Angle  angle2 );
+
-

-

Return the difference between two angles. The result is always constrained to the ]-PI..PI] interval.

-

-
input
-

- -
angle1 + +

input

+ + -
angle1

First angle.

angle2 +
angle2

Second angle.

-
-
return
+ +

return

Constrained value of ‘value2-value1’.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Vector_Unit

-
-Defined in FT_TRIGONOMETRY_H (fttrigon.h). -

-
 
+
+ + +
+

FT_Vector_Unit

+

Defined in FT_TRIGONOMETRY_H (fttrigon.h).

+
   FT_EXPORT( void )
   FT_Vector_Unit( FT_Vector*  vec,
                   FT_Angle    angle );
+
-

-

Return the unit vector corresponding to a given angle. After the call, the value of ‘vec.x’ will be ‘sin(angle)’, and the value of ‘vec.y’ will be ‘cos(angle)’.

This function is useful to retrieve both the sinus and cosinus of a given angle quickly.

-

-
output
-

- -
vec + +

output

+ +
vec

The address of target vector.

-
-
input
-

- -
angle -

The address of angle.

+ +

input

+ +
angle +

The input angle.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Vector_Rotate

-
-Defined in FT_TRIGONOMETRY_H (fttrigon.h). -

-
 
+
+ + +
+

FT_Vector_Rotate

+

Defined in FT_TRIGONOMETRY_H (fttrigon.h).

+
   FT_EXPORT( void )
   FT_Vector_Rotate( FT_Vector*  vec,
                     FT_Angle    angle );
+
-

-

Rotate a vector by a given angle.

-

-
inout
-

- -
vec + +

inout

+ +
vec

The address of target vector.

-
-
input
-

- -
angle -

The address of angle.

+ +

input

+ +
angle +

The input angle.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Vector_Length

-
-Defined in FT_TRIGONOMETRY_H (fttrigon.h). -

-
 
+
+ + +
+

FT_Vector_Length

+

Defined in FT_TRIGONOMETRY_H (fttrigon.h).

+
   FT_EXPORT( FT_Fixed )
   FT_Vector_Length( FT_Vector*  vec );
+
-

-

Return the length of a given vector.

-

-
input
-

- -
vec + +

input

+ +
vec

The address of target vector.

-
-
return
+ +

return

The vector length, expressed in the same units that the original vector coordinates.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Vector_Polarize

-
-Defined in FT_TRIGONOMETRY_H (fttrigon.h). -

-
 
+
+ + +
+

FT_Vector_Polarize

+

Defined in FT_TRIGONOMETRY_H (fttrigon.h).

+
   FT_EXPORT( void )
   FT_Vector_Polarize( FT_Vector*  vec,
                       FT_Fixed   *length,
                       FT_Angle   *angle );
+
-

-

Compute both the length and angle of a given vector.

-

-
input
-

- -
vec + +

input

+ +
vec

The address of source vector.

-
-
output
-

- -
length + +

output

+ + -
length

The vector length.

angle +
angle

The vector angle.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Vector_From_Polar

-
-Defined in FT_TRIGONOMETRY_H (fttrigon.h). -

-
 
+
+ + +
+

FT_Vector_From_Polar

+

Defined in FT_TRIGONOMETRY_H (fttrigon.h).

+
   FT_EXPORT( void )
   FT_Vector_From_Polar( FT_Vector*  vec,
                         FT_Fixed    length,
                         FT_Angle    angle );
+
-

-

Compute vector coordinates from a length and angle.

-

-
output
-

- -
vec + +

output

+ +
vec

The address of source vector.

-
-
input
-

- -
length + +

input

+ + -
length

The vector length.

angle +
angle

The vector angle.

-
-
-
- - -
[Index][TOC]
+ +
+ diff --git a/freetype/docs/reference/ft2-font_formats.html b/freetype/docs/reference/ft2-font_formats.html index 7ff31bccb..508cee2a5 100644 --- a/freetype/docs/reference/ft2-font_formats.html +++ b/freetype/docs/reference/ft2-font_formats.html @@ -3,82 +3,137 @@ -FreeType-2.5.3 API Reference +FreeType-2.5.5 API Reference - - -
[Index][TOC]
-

FreeType-2.5.3 API Reference

+ +

FreeType-2.5.5 API Reference

-

-Font Formats -

+

Font Formats

Synopsis

- - -
FT_Get_X11_Font_Format


+ + +
FT_Get_X11_Font_Format
+ -

The single function in this section can be used to get the font format. Note that this information is not needed normally; however, there are special cases (like in PDF devices) where it is important to differentiate, in spite of FreeType's uniform API.

This function is in the X11/xf86 namespace for historical reasons and in no way depends on that windowing system.

-

-
-

FT_Get_X11_Font_Format

-
-Defined in FT_XFREE86_H (ftxf86.h). -

-
 
+
+

FT_Get_X11_Font_Format

+

Defined in FT_XFREE86_H (ftxf86.h).

+
   FT_EXPORT( const char* )
   FT_Get_X11_Font_Format( FT_Face  face );
+
-

-

Return a string describing the format of a given face, using values that can be used as an X11 FONT_PROPERTY. Possible values are ‘TrueType’, ‘Type 1’, ‘BDF’, ‘PCF’, ‘Type 42’, ‘CID Type 1’, ‘CFF’, ‘PFR’, and ‘Windows FNT’.

-

-
input
-

- -
face + +

input

+ +
face

Input face handle.

-
-
return
+ +

return

Font format string. NULL in case of error.

-
-
-
- - -
[Index][TOC]
+ +
+ diff --git a/freetype/docs/reference/ft2-gasp_table.html b/freetype/docs/reference/ft2-gasp_table.html index 28ce1cdea..3b56119a1 100644 --- a/freetype/docs/reference/ft2-gasp_table.html +++ b/freetype/docs/reference/ft2-gasp_table.html @@ -3,140 +3,185 @@ -FreeType-2.5.3 API Reference +FreeType-2.5.5 API Reference - - -
[Index][TOC]
-

FreeType-2.5.3 API Reference

+ +

FreeType-2.5.5 API Reference

-

-Gasp Table -

+

Gasp Table

Synopsis

- - -
FT_GASP_XXXFT_Get_Gasp


+ + +
FT_GASP_XXXFT_Get_Gasp
+ -

The function FT_Get_Gasp can be used to query a TrueType or OpenType font for specific entries in its ‘gasp’ table, if any. This is mainly useful when implementing native TrueType hinting with the bytecode interpreter to duplicate the Windows text rendering results.

-

-
-

FT_GASP_XXX

-
-Defined in FT_GASP_H (ftgasp.h). -

-
-
-#define FT_GASP_NO_TABLE               -1
-#define FT_GASP_DO_GRIDFIT           0x01
-#define FT_GASP_DO_GRAY              0x02
-#define FT_GASP_SYMMETRIC_SMOOTHING  0x08
-#define FT_GASP_SYMMETRIC_GRIDFIT    0x10
-
-

-
+ +
+

FT_GASP_XXX

+

Defined in FT_GASP_H (ftgasp.h).

+
+#define FT_GASP_NO_TABLE               -1
+#define FT_GASP_DO_GRIDFIT           0x01
+#define FT_GASP_DO_GRAY              0x02
+#define FT_GASP_SYMMETRIC_SMOOTHING  0x08
+#define FT_GASP_SYMMETRIC_GRIDFIT    0x10
+
+

A list of values and/or bit-flags returned by the FT_Get_Gasp function.

-

-
values
-

- -
FT_GASP_NO_TABLE + +

values

+ + - - - - - -
FT_GASP_NO_TABLE

This special value means that there is no GASP table in this face. It is up to the client to decide what to do.

FT_GASP_DO_GRIDFIT +
FT_GASP_DO_GRIDFIT

Grid-fitting and hinting should be performed at the specified ppem. This really means TrueType bytecode interpretation. If this bit is not set, no hinting gets applied.

FT_GASP_DO_GRAY +
FT_GASP_DO_GRAY

Anti-aliased rendering should be performed at the specified ppem. If not set, do monochrome rendering.

FT_GASP_SYMMETRIC_SMOOTHING
+
FT_GASP_SYMMETRIC_SMOOTHING

If set, smoothing along multiple axes must be used with ClearType.

FT_GASP_SYMMETRIC_GRIDFIT
+
FT_GASP_SYMMETRIC_GRIDFIT

Grid-fitting must be used with ClearType's symmetric smoothing.

-
-
note
+ +

note

The bit-flags ‘FT_GASP_DO_GRIDFIT’ and ‘FT_GASP_DO_GRAY’ are to be used for standard font rasterization only. Independently of that, ‘FT_GASP_SYMMETRIC_SMOOTHING’ and ‘FT_GASP_SYMMETRIC_GRIDFIT’ are to be used if ClearType is enabled (and ‘FT_GASP_DO_GRIDFIT’ and ‘FT_GASP_DO_GRAY’ are consequently ignored).

‘ClearType’ is Microsoft's implementation of LCD rendering, partly protected by patents.

-
-
since
+ +

since

2.3.0

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_Gasp

-
-Defined in FT_GASP_H (ftgasp.h). -

-
 
+
+ + +
+

FT_Get_Gasp

+

Defined in FT_GASP_H (ftgasp.h).

+
   FT_EXPORT( FT_Int )
   FT_Get_Gasp( FT_Face  face,
                FT_UInt  ppem );
+
-

-

Read the ‘gasp’ table from a TrueType or OpenType font file and return the entry corresponding to a given character pixel size.

-

-
input
-

- -
face + +

input

+ + -
face

The source face handle.

ppem +
ppem

The vertical character pixel size.

-
-
return
+ +

return

Bit flags (see FT_GASP_XXX), or FT_GASP_NO_TABLE if there is no ‘gasp’ table in the face.

-
-
since
+ +

since

2.3.0

-
-
-
- - -
[Index][TOC]
+ +
+ diff --git a/freetype/docs/reference/ft2-glyph_management.html b/freetype/docs/reference/ft2-glyph_management.html index f34d3a77b..017db1f1c 100644 --- a/freetype/docs/reference/ft2-glyph_management.html +++ b/freetype/docs/reference/ft2-glyph_management.html @@ -3,84 +3,137 @@ -FreeType-2.5.3 API Reference +FreeType-2.5.5 API Reference - - -
[Index][TOC]
-

FreeType-2.5.3 API Reference

+ +

FreeType-2.5.5 API Reference

-

-Glyph Management -

+

Glyph Management

Synopsis

- - - - - - -
FT_GlyphFT_OutlineGlyphRecft_glyph_bbox_xxx
FT_GlyphRecFT_Get_GlyphFT_Glyph_Get_CBox
FT_BitmapGlyphFT_Glyph_CopyFT_Glyph_To_Bitmap
FT_BitmapGlyphRecFT_Glyph_TransformFT_Done_Glyph
FT_OutlineGlyphFT_Glyph_BBox_Mode


- -
+ + + + + + +
FT_GlyphFT_OutlineGlyphRecFT_Glyph_Get_CBox
FT_GlyphRecFT_Get_GlyphFT_Glyph_To_Bitmap
FT_BitmapGlyphFT_Glyph_CopyFT_Done_Glyph
FT_BitmapGlyphRecFT_Glyph_Transform
FT_OutlineGlyphFT_Glyph_BBox_Mode
+ +

This section contains definitions used to manage glyph data through generic FT_Glyph objects. Each of them can contain a bitmap, a vector outline, or even images in other formats.

-

-
-

FT_Glyph

-
-Defined in FT_GLYPH_H (ftglyph.h). -

-
 
+
+

FT_Glyph

+

Defined in FT_GLYPH_H (ftglyph.h).

+
   typedef struct FT_GlyphRec_*  FT_Glyph;
+
-

-

Handle to an object used to model generic glyph images. It is a pointer to the FT_GlyphRec structure and can contain a glyph bitmap or pointer.

-

-
note
+ +

note

Glyph objects are not owned by the library. You must thus release them manually (through FT_Done_Glyph) before calling FT_Done_FreeType.

-
-
-
- - -
[Index][TOC]
- -
-

FT_GlyphRec

-
-Defined in FT_GLYPH_H (ftglyph.h). -

-
 
+
+ + +
+

FT_GlyphRec

+

Defined in FT_GLYPH_H (ftglyph.h).

+
   typedef struct  FT_GlyphRec_
   {
     FT_Library             library;
@@ -89,60 +142,45 @@ Defined in FT_GLYPH_H (ftglyph.h).
     FT_Vector              advance;
 
   } FT_GlyphRec;
+
-

-

The root glyph structure contains a given glyph image plus its advance width in 16.16 fixed-point format.

-

-
fields
-

- -
library + +

fields

+ + - - -
library

A handle to the FreeType library object.

clazz +
clazz

A pointer to the glyph's class. Private.

format +
format

The format of the glyph's image.

advance +
advance

A 16.16 vector that gives the glyph's advance width.

-
-
-
- - -
[Index][TOC]
- -
-

FT_BitmapGlyph

-
-Defined in FT_GLYPH_H (ftglyph.h). -

-
 
+
+ + +
+

FT_BitmapGlyph

+

Defined in FT_GLYPH_H (ftglyph.h).

+
   typedef struct FT_BitmapGlyphRec_*  FT_BitmapGlyph;
+
-

-

A handle to an object used to model a bitmap glyph image. This is a sub-class of FT_Glyph, and a pointer to FT_BitmapGlyphRec.

-

-
-
- - -
[Index][TOC]
- -
-

FT_BitmapGlyphRec

-
-Defined in FT_GLYPH_H (ftglyph.h). -

-
 
+
+ + +
+

FT_BitmapGlyphRec

+

Defined in FT_GLYPH_H (ftglyph.h).

+
   typedef struct  FT_BitmapGlyphRec_
   {
     FT_GlyphRec  root;
@@ -151,353 +189,256 @@ Defined in FT_GLYPH_H (ftglyph.h).
     FT_Bitmap    bitmap;
 
   } FT_BitmapGlyphRec;
+
-

-

A structure used for bitmap glyph images. This really is a ‘sub-class’ of FT_GlyphRec.

-

-
fields
-

- -
root + +

fields

+ + - - -
root

The root FT_Glyph fields.

left +
left

The left-side bearing, i.e., the horizontal distance from the current pen position to the left border of the glyph bitmap.

top +
top

The top-side bearing, i.e., the vertical distance from the current pen position to the top border of the glyph bitmap. This distance is positive for upwards y!

bitmap +
bitmap

A descriptor for the bitmap.

-
-
note
+ +

note

You can typecast an FT_Glyph to FT_BitmapGlyph if you have ‘glyph->format == FT_GLYPH_FORMAT_BITMAP’. This lets you access the bitmap's contents easily.

The corresponding pixel buffer is always owned by FT_BitmapGlyph and is thus created and destroyed with it.

-
-
-
- - -
[Index][TOC]
- -
-

FT_OutlineGlyph

-
-Defined in FT_GLYPH_H (ftglyph.h). -

-
 
+
+ + +
+

FT_OutlineGlyph

+

Defined in FT_GLYPH_H (ftglyph.h).

+
   typedef struct FT_OutlineGlyphRec_*  FT_OutlineGlyph;
+
-

-

A handle to an object used to model an outline glyph image. This is a sub-class of FT_Glyph, and a pointer to FT_OutlineGlyphRec.

-

-
-
- - -
[Index][TOC]
- -
-

FT_OutlineGlyphRec

-
-Defined in FT_GLYPH_H (ftglyph.h). -

-
 
+
+ + +
+

FT_OutlineGlyphRec

+

Defined in FT_GLYPH_H (ftglyph.h).

+
   typedef struct  FT_OutlineGlyphRec_
   {
     FT_GlyphRec  root;
     FT_Outline   outline;
 
   } FT_OutlineGlyphRec;
+
-

-

A structure used for outline (vectorial) glyph images. This really is a ‘sub-class’ of FT_GlyphRec.

-

-
fields
-

- -
root + +

fields

+ + -
root

The root FT_Glyph fields.

outline +
outline

A descriptor for the outline.

-
-
note
+ +

note

You can typecast an FT_Glyph to FT_OutlineGlyph if you have ‘glyph->format == FT_GLYPH_FORMAT_OUTLINE’. This lets you access the outline's content easily.

As the outline is extracted from a glyph slot, its coordinates are expressed normally in 26.6 pixels, unless the flag FT_LOAD_NO_SCALE was used in FT_Load_Glyph() or FT_Load_Char().

The outline's tables are always owned by the object and are destroyed with it.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_Glyph

-
-Defined in FT_GLYPH_H (ftglyph.h). -

-
 
+
+ + +
+

FT_Get_Glyph

+

Defined in FT_GLYPH_H (ftglyph.h).

+
   FT_EXPORT( FT_Error )
   FT_Get_Glyph( FT_GlyphSlot  slot,
                 FT_Glyph     *aglyph );
+
-

-

A function used to extract a glyph image from a slot. Note that the created FT_Glyph object must be released with FT_Done_Glyph.

-

-
input
-

- -
slot + +

input

+ +
slot

A handle to the source glyph slot.

-
-
output
-

- -
aglyph + +

output

+ +
aglyph

A handle to the glyph object.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Glyph_Copy

-
-Defined in FT_GLYPH_H (ftglyph.h). -

-
 
+
+ + +
+

FT_Glyph_Copy

+

Defined in FT_GLYPH_H (ftglyph.h).

+
   FT_EXPORT( FT_Error )
   FT_Glyph_Copy( FT_Glyph   source,
                  FT_Glyph  *target );
+
-

-

A function used to copy a glyph image. Note that the created FT_Glyph object must be released with FT_Done_Glyph.

-

-
input
-

- -
source + +

input

+ +
source

A handle to the source glyph object.

-
-
output
-

- -
target + +

output

+ +
target

A handle to the target glyph object. 0 in case of error.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Glyph_Transform

-
-Defined in FT_GLYPH_H (ftglyph.h). -

-
 
+
+ + +
+

FT_Glyph_Transform

+

Defined in FT_GLYPH_H (ftglyph.h).

+
   FT_EXPORT( FT_Error )
   FT_Glyph_Transform( FT_Glyph    glyph,
                       FT_Matrix*  matrix,
                       FT_Vector*  delta );
+
-

-

Transform a glyph image if its format is scalable.

-

-
inout
-

- -
glyph + +

inout

+ +
glyph

A handle to the target glyph object.

-
-
input
-

- -
matrix + +

input

+ + -
matrix

A pointer to a 2x2 matrix to apply.

delta +
delta

A pointer to a 2d vector to apply. Coordinates are expressed in 1/64th of a pixel.

-
-
return
+ +

return

FreeType error code (if not 0, the glyph format is not scalable).

-
-
note
+ +

note

The 2x2 transformation matrix is also applied to the glyph's advance vector.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Glyph_BBox_Mode

-
-Defined in FT_GLYPH_H (ftglyph.h). -

-
 
+
+ + +
+

FT_Glyph_BBox_Mode

+

Defined in FT_GLYPH_H (ftglyph.h).

+
   typedef enum  FT_Glyph_BBox_Mode_
   {
-    FT_GLYPH_BBOX_UNSCALED  = 0,
-    FT_GLYPH_BBOX_SUBPIXELS = 0,
-    FT_GLYPH_BBOX_GRIDFIT   = 1,
-    FT_GLYPH_BBOX_TRUNCATE  = 2,
-    FT_GLYPH_BBOX_PIXELS    = 3
+    FT_GLYPH_BBOX_UNSCALED  = 0,
+    FT_GLYPH_BBOX_SUBPIXELS = 0,
+    FT_GLYPH_BBOX_GRIDFIT   = 1,
+    FT_GLYPH_BBOX_TRUNCATE  = 2,
+    FT_GLYPH_BBOX_PIXELS    = 3
 
   } FT_Glyph_BBox_Mode;
 
-

-
+ + /* these constants are deprecated; use the corresponding */ + /* `FT_Glyph_BBox_Mode' values instead */ +#define ft_glyph_bbox_unscaled FT_GLYPH_BBOX_UNSCALED +#define ft_glyph_bbox_subpixels FT_GLYPH_BBOX_SUBPIXELS +#define ft_glyph_bbox_gridfit FT_GLYPH_BBOX_GRIDFIT +#define ft_glyph_bbox_truncate FT_GLYPH_BBOX_TRUNCATE +#define ft_glyph_bbox_pixels FT_GLYPH_BBOX_PIXELS + +

The mode how the values of FT_Glyph_Get_CBox are returned.

-

-
values
-

- -
FT_GLYPH_BBOX_UNSCALED + +

values

+ + - - - - -
FT_GLYPH_BBOX_UNSCALED

Return unscaled font units.

FT_GLYPH_BBOX_SUBPIXELS
+
FT_GLYPH_BBOX_SUBPIXELS

Return unfitted 26.6 coordinates.

FT_GLYPH_BBOX_GRIDFIT +
FT_GLYPH_BBOX_GRIDFIT

Return grid-fitted 26.6 coordinates.

FT_GLYPH_BBOX_TRUNCATE +
FT_GLYPH_BBOX_TRUNCATE

Return coordinates in integer pixels.

FT_GLYPH_BBOX_PIXELS +
FT_GLYPH_BBOX_PIXELS

Return grid-fitted pixel coordinates.

-
-
-
- - -
[Index][TOC]
- -
-

ft_glyph_bbox_xxx

-
-Defined in FT_GLYPH_H (ftglyph.h). -

-
-
-#define ft_glyph_bbox_unscaled   FT_GLYPH_BBOX_UNSCALED
-#define ft_glyph_bbox_subpixels  FT_GLYPH_BBOX_SUBPIXELS
-#define ft_glyph_bbox_gridfit    FT_GLYPH_BBOX_GRIDFIT
-#define ft_glyph_bbox_truncate   FT_GLYPH_BBOX_TRUNCATE
-#define ft_glyph_bbox_pixels     FT_GLYPH_BBOX_PIXELS
-
-

-
-

These constants are deprecated. Use the corresponding FT_Glyph_BBox_Mode values instead.

-

-
values
-

- - - - - - - -
ft_glyph_bbox_unscaled -

See FT_GLYPH_BBOX_UNSCALED.

-
ft_glyph_bbox_subpixels
-

See FT_GLYPH_BBOX_SUBPIXELS.

-
ft_glyph_bbox_gridfit -

See FT_GLYPH_BBOX_GRIDFIT.

-
ft_glyph_bbox_truncate -

See FT_GLYPH_BBOX_TRUNCATE.

-
ft_glyph_bbox_pixels -

See FT_GLYPH_BBOX_PIXELS.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_Glyph_Get_CBox

-
-Defined in FT_GLYPH_H (ftglyph.h). -

-
 
+
+ + +
+

FT_Glyph_Get_CBox

+

Defined in FT_GLYPH_H (ftglyph.h).

+
   FT_EXPORT( void )
   FT_Glyph_Get_CBox( FT_Glyph  glyph,
                      FT_UInt   bbox_mode,
                      FT_BBox  *acbox );
+
-

-

Return a glyph's ‘control box’. The control box encloses all the outline's points, including Bézier control points. Though it coincides with the exact bounding box for most glyphs, it can be slightly larger in some situations (like when rotating an outline that contains Bézier outside arcs).

Computing the control box is very fast, while getting the bounding box can take much more time as it needs to walk over all segments and arcs in the outline. To get the latter, you can use the ‘ftbbox’ component, which is dedicated to this single task.

-

-
input
-

- -
glyph + +

input

+ + -
glyph

A handle to the source glyph object.

mode +
mode

The mode that indicates how to interpret the returned bounding box values.

-
-
output
-

- -
acbox + +

output

+ +
acbox

The glyph coordinate bounding box. Coordinates are expressed in 1/64th of pixels if it is grid-fitted.

-
-
note
+ +

note

Coordinates are relative to the glyph origin, using the y upwards convention.

If the glyph has been loaded with FT_LOAD_NO_SCALE, ‘bbox_mode’ must be set to FT_GLYPH_BBOX_UNSCALED to get unscaled font units in 26.6 pixel format. The value FT_GLYPH_BBOX_SUBPIXELS is another name for this constant.

If the font is tricky and the glyph has been loaded with FT_LOAD_NO_SCALE, the resulting CBox is meaningless. To get reasonable values for the CBox it is necessary to load the glyph at a large ppem value (so that the hinting instructions can properly shift and scale the subglyphs), then extracting the CBox, which can be eventually converted back to font units.

@@ -515,56 +456,47 @@ Defined in FT_GLYPH_H (ftglyph.h).

To get the bbox in pixel coordinates, set ‘bbox_mode’ to FT_GLYPH_BBOX_TRUNCATE.

To get the bbox in grid-fitted pixel coordinates, set ‘bbox_mode’ to FT_GLYPH_BBOX_PIXELS.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Glyph_To_Bitmap

-
-Defined in FT_GLYPH_H (ftglyph.h). -

-
 
+
+ + +
+

FT_Glyph_To_Bitmap

+

Defined in FT_GLYPH_H (ftglyph.h).

+
   FT_EXPORT( FT_Error )
   FT_Glyph_To_Bitmap( FT_Glyph*       the_glyph,
                       FT_Render_Mode  render_mode,
                       FT_Vector*      origin,
                       FT_Bool         destroy );
+
-

-

Convert a given glyph object to a bitmap glyph object.

-

-
inout
-

- -
the_glyph + +

inout

+ +
the_glyph

A pointer to a handle to the target glyph.

-
-
input
-

- -
render_mode + +

input

+ + - -
render_mode

An enumeration that describes how the data is rendered.

origin +
origin

A pointer to a vector used to translate the glyph image before rendering. Can be 0 (if no translation). The origin is expressed in 26.6 pixels.

destroy +
destroy

A boolean that indicates that the original glyph image should be destroyed by this function. It is never destroyed in case of error.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

This function does nothing if the glyph format isn't scalable.

The glyph image is translated with the ‘origin’ vector before rendering.

The first parameter is a pointer to an FT_Glyph handle, that will be replaced by this function (with newly allocated data). Typically, you would use (omitting error handling):

@@ -634,40 +566,29 @@ Defined in FT_GLYPH_H (ftglyph.h). for ( idx = 0; i < MAX_GLYPHS; i++ ) FT_Done_Glyph( glyphs[idx] ); -
-
-
- - -
[Index][TOC]
- -
-

FT_Done_Glyph

-
-Defined in FT_GLYPH_H (ftglyph.h). -

-
 
+
+ + +
+

FT_Done_Glyph

+

Defined in FT_GLYPH_H (ftglyph.h).

+
   FT_EXPORT( void )
   FT_Done_Glyph( FT_Glyph  glyph );
+
-

-

Destroy a given glyph.

-

-
input
-

- -
glyph + +

input

+ +
glyph

A handle to the target glyph object.

-
-
-
- - -
[Index][TOC]
+ +
+ diff --git a/freetype/docs/reference/ft2-glyph_stroker.html b/freetype/docs/reference/ft2-glyph_stroker.html index b904130ef..d5daa46c3 100644 --- a/freetype/docs/reference/ft2-glyph_stroker.html +++ b/freetype/docs/reference/ft2-glyph_stroker.html @@ -3,938 +3,817 @@ -FreeType-2.5.3 API Reference +FreeType-2.5.5 API Reference - - -
[Index][TOC]
-

FreeType-2.5.3 API Reference

+ +

FreeType-2.5.5 API Reference

-

-Glyph Stroker -

+

Glyph Stroker

Synopsis

- - - - - - - - - - - - -
FT_StrokerFT_Stroker_EndSubPath
FT_Stroker_LineJoinFT_Stroker_LineTo
FT_Stroker_LineCapFT_Stroker_ConicTo
FT_StrokerBorderFT_Stroker_CubicTo
FT_Outline_GetInsideBorderFT_Stroker_GetBorderCounts
FT_Outline_GetOutsideBorderFT_Stroker_ExportBorder
FT_Stroker_NewFT_Stroker_GetCounts
FT_Stroker_SetFT_Stroker_Export
FT_Stroker_RewindFT_Stroker_Done
FT_Stroker_ParseOutlineFT_Glyph_Stroke
FT_Stroker_BeginSubPathFT_Glyph_StrokeBorder


- -
+ + + + + + + + + + + + + + + + +
FT_StrokerFT_Stroker_ParseOutline
 FT_Stroker_Done
FT_Stroker_LineJoin 
FT_Stroker_LineCapFT_Stroker_BeginSubPath
FT_StrokerBorderFT_Stroker_EndSubPath
  
FT_Outline_GetInsideBorderFT_Stroker_LineTo
FT_Outline_GetOutsideBorderFT_Stroker_ConicTo
 FT_Stroker_CubicTo
FT_Glyph_Stroke 
FT_Glyph_StrokeBorderFT_Stroker_GetBorderCounts
 FT_Stroker_ExportBorder
FT_Stroker_NewFT_Stroker_GetCounts
FT_Stroker_SetFT_Stroker_Export
FT_Stroker_Rewind
+ +

This component generates stroked outlines of a given vectorial glyph. It also allows you to retrieve the ‘outside’ and/or the ‘inside’ borders of the stroke.

This can be useful to generate ‘bordered’ glyph, i.e., glyphs displayed with a coloured (and anti-aliased) border around their shape.

-

-
-

FT_Stroker

-
-Defined in FT_STROKER_H (ftstroke.h). -

-
 
+
+

FT_Stroker

+

Defined in FT_STROKER_H (ftstroke.h).

+
   typedef struct FT_StrokerRec_*  FT_Stroker;
+
-

-
-

Opaque handler to a path stroker object.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Stroker_LineJoin

-
-Defined in FT_STROKER_H (ftstroke.h). -

-
+

Opaque handle to a path stroker object.

+
+ + +

-

These values determine how two joining lines are rendered in a stroker.

-

-
values
-

- - -
FT_STROKER_LINEJOIN_ROUND
+ +

values

+ + - - - - - - - -
FT_STROKER_LINEJOIN_ROUND

Used to render rounded line joins. Circular arcs are used to join two lines smoothly.

FT_STROKER_LINEJOIN_BEVEL
+
FT_STROKER_LINEJOIN_BEVEL

Used to render beveled line joins. The outer corner of the joined lines is filled by enclosing the triangular region of the corner with a straight line between the outer corners of each stroke.

FT_STROKER_LINEJOIN_MITER_FIXED
+
FT_STROKER_LINEJOIN_MITER_FIXED

Used to render mitered line joins, with fixed bevels if the miter limit is exceeded. The outer edges of the strokes for the two segments are extended until they meet at an angle. If the segments meet at too sharp an angle (such that the miter would extend from the intersection of the segments a distance greater than the product of the miter limit value and the border radius), then a bevel join (see above) is used instead. This prevents long spikes being created. FT_STROKER_LINEJOIN_MITER_FIXED generates a miter line join as used in PostScript and PDF.

FT_STROKER_LINEJOIN_MITER_VARIABLE
+
FT_STROKER_LINEJOIN_MITER_VARIABLE

FT_STROKER_LINEJOIN_MITER
+
FT_STROKER_LINEJOIN_MITER

Used to render mitered line joins, with variable bevels if the miter limit is exceeded. The intersection of the strokes is clipped at a line perpendicular to the bisector of the angle between the strokes, at the distance from the intersection of the segments equal to the product of the miter limit value and the border radius. This prevents long spikes being created. FT_STROKER_LINEJOIN_MITER_VARIABLE generates a mitered line join as used in XPS. FT_STROKER_LINEJOIN_MITER is an alias for FT_STROKER_LINEJOIN_MITER_VARIABLE, retained for backwards compatibility.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Stroker_LineCap

-
-Defined in FT_STROKER_H (ftstroke.h). -

-
 
+
+ + +
+

FT_Stroker_LineCap

+

Defined in FT_STROKER_H (ftstroke.h).

+
   typedef enum  FT_Stroker_LineCap_
   {
-    FT_STROKER_LINECAP_BUTT = 0,
-    FT_STROKER_LINECAP_ROUND,
-    FT_STROKER_LINECAP_SQUARE
+    FT_STROKER_LINECAP_BUTT = 0,
+    FT_STROKER_LINECAP_ROUND,
+    FT_STROKER_LINECAP_SQUARE
 
   } FT_Stroker_LineCap;
+
-

-

These values determine how the end of opened sub-paths are rendered in a stroke.

-

-
values
-

- - -
FT_STROKER_LINECAP_BUTT
+ +

values

+ + - - - -
FT_STROKER_LINECAP_BUTT

The end of lines is rendered as a full stop on the last point itself.

FT_STROKER_LINECAP_ROUND
+
FT_STROKER_LINECAP_ROUND

The end of lines is rendered as a half-circle around the last point.

FT_STROKER_LINECAP_SQUARE
+
FT_STROKER_LINECAP_SQUARE

The end of lines is rendered as a square around the last point.

-
-
-
- - -
[Index][TOC]
- -
-

FT_StrokerBorder

-
-Defined in FT_STROKER_H (ftstroke.h). -

-
 
+
+ + +
+

FT_StrokerBorder

+

Defined in FT_STROKER_H (ftstroke.h).

+
   typedef enum  FT_StrokerBorder_
   {
-    FT_STROKER_BORDER_LEFT = 0,
-    FT_STROKER_BORDER_RIGHT
+    FT_STROKER_BORDER_LEFT = 0,
+    FT_STROKER_BORDER_RIGHT
 
   } FT_StrokerBorder;
+
-

-

These values are used to select a given stroke border in FT_Stroker_GetBorderCounts and FT_Stroker_ExportBorder.

-

-
values
-

- -
FT_STROKER_BORDER_LEFT + +

values

+ + - -
FT_STROKER_BORDER_LEFT

Select the left border, relative to the drawing direction.

FT_STROKER_BORDER_RIGHT
+
FT_STROKER_BORDER_RIGHT

Select the right border, relative to the drawing direction.

-
-
note
+ +

note

Applications are generally interested in the ‘inside’ and ‘outside’ borders. However, there is no direct mapping between these and the ‘left’ and ‘right’ ones, since this really depends on the glyph's drawing orientation, which varies between font formats.

You can however use FT_Outline_GetInsideBorder and FT_Outline_GetOutsideBorder to get these.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Outline_GetInsideBorder

-
-Defined in FT_STROKER_H (ftstroke.h). -

-
 
+
+ + +
+

FT_Outline_GetInsideBorder

+

Defined in FT_STROKER_H (ftstroke.h).

+
   FT_EXPORT( FT_StrokerBorder )
   FT_Outline_GetInsideBorder( FT_Outline*  outline );
+
-

-

Retrieve the FT_StrokerBorder value corresponding to the ‘inside’ borders of a given outline.

-

-
input
-

- -
outline + +

input

+ +
outline

The source outline handle.

-
-
return
+ +

return

The border index. FT_STROKER_BORDER_RIGHT for empty or invalid outlines.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Outline_GetOutsideBorder

-
-Defined in FT_STROKER_H (ftstroke.h). -

-
 
+
+ + +
+

FT_Outline_GetOutsideBorder

+

Defined in FT_STROKER_H (ftstroke.h).

+
   FT_EXPORT( FT_StrokerBorder )
   FT_Outline_GetOutsideBorder( FT_Outline*  outline );
+
-

-

Retrieve the FT_StrokerBorder value corresponding to the ‘outside’ borders of a given outline.

-

-
input
-

- -
outline + +

input

+ +
outline

The source outline handle.

-
-
return
+ +

return

The border index. FT_STROKER_BORDER_LEFT for empty or invalid outlines.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Stroker_New

-
-Defined in FT_STROKER_H (ftstroke.h). -

-
 
+
+ + +
+

FT_Glyph_Stroke

+

Defined in FT_STROKER_H (ftstroke.h).

+
+  FT_EXPORT( FT_Error )
+  FT_Glyph_Stroke( FT_Glyph    *pglyph,
+                   FT_Stroker   stroker,
+                   FT_Bool      destroy );
+
+ +

Stroke a given outline glyph object with a given stroker.

+ +

inout

+ + +
pglyph +

Source glyph handle on input, new glyph handle on output.

+
+ +

input

+ + + +
stroker +

A stroker handle.

+
destroy +

A Boolean. If 1, the source glyph object is destroyed on success.

+
+ +

return

+

FreeType error code. 0 means success.

+ +

note

+

The source glyph is untouched in case of error.

+

Adding stroke may yield a significantly wider and taller glyph depending on how large of a radius was used to stroke the glyph. You may need to manually adjust horizontal and vertical advance amounts to account for this added size.

+ +
+
+ +
+

FT_Glyph_StrokeBorder

+

Defined in FT_STROKER_H (ftstroke.h).

+
+  FT_EXPORT( FT_Error )
+  FT_Glyph_StrokeBorder( FT_Glyph    *pglyph,
+                         FT_Stroker   stroker,
+                         FT_Bool      inside,
+                         FT_Bool      destroy );
+
+ +

Stroke a given outline glyph object with a given stroker, but only return either its inside or outside border.

+ +

inout

+ + +
pglyph +

Source glyph handle on input, new glyph handle on output.

+
+ +

input

+ + + + +
stroker +

A stroker handle.

+
inside +

A Boolean. If 1, return the inside border, otherwise the outside border.

+
destroy +

A Boolean. If 1, the source glyph object is destroyed on success.

+
+ +

return

+

FreeType error code. 0 means success.

+ +

note

+

The source glyph is untouched in case of error.

+

Adding stroke may yield a significantly wider and taller glyph depending on how large of a radius was used to stroke the glyph. You may need to manually adjust horizontal and vertical advance amounts to account for this added size.

+ +
+
+ +
+

FT_Stroker_New

+

Defined in FT_STROKER_H (ftstroke.h).

+
   FT_EXPORT( FT_Error )
   FT_Stroker_New( FT_Library   library,
                   FT_Stroker  *astroker );
+
-

-

Create a new stroker object.

-

-
input
-

- -
library + +

input

+ +
library

FreeType library handle.

-
-
output
-

- -
astroker + +

output

+ +
astroker

A new stroker object handle. NULL in case of error.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Stroker_Set

-
-Defined in FT_STROKER_H (ftstroke.h). -

-
 
+
+ + +
+

FT_Stroker_Set

+

Defined in FT_STROKER_H (ftstroke.h).

+
   FT_EXPORT( void )
   FT_Stroker_Set( FT_Stroker           stroker,
                   FT_Fixed             radius,
                   FT_Stroker_LineCap   line_cap,
                   FT_Stroker_LineJoin  line_join,
                   FT_Fixed             miter_limit );
+
-

-

Reset a stroker object's attributes.

-

-
input
-

- -
stroker + +

input

+ + - - - -
stroker

The target stroker handle.

radius +
radius

The border radius.

line_cap +
line_cap

The line cap style.

line_join +
line_join

The line join style.

miter_limit +
miter_limit

The miter limit for the FT_STROKER_LINEJOIN_MITER_FIXED and FT_STROKER_LINEJOIN_MITER_VARIABLE line join styles, expressed as 16.16 fixed-point value.

-
-
note
+ +

note

The radius is expressed in the same units as the outline coordinates.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Stroker_Rewind

-
-Defined in FT_STROKER_H (ftstroke.h). -

-
+

This function calls FT_Stroker_Rewind automatically.

+
+ + +
+

FT_Stroker_Rewind

+

Defined in FT_STROKER_H (ftstroke.h).

+
   FT_EXPORT( void )
   FT_Stroker_Rewind( FT_Stroker  stroker );
+
-

-

Reset a stroker object without changing its attributes. You should call this function before beginning a new series of calls to FT_Stroker_BeginSubPath or FT_Stroker_EndSubPath.

-

-
input
-

- -
stroker + +

input

+ +
stroker

The target stroker handle.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Stroker_ParseOutline

-
-Defined in FT_STROKER_H (ftstroke.h). -

-
 
+
+ + +
+

FT_Stroker_ParseOutline

+

Defined in FT_STROKER_H (ftstroke.h).

+
   FT_EXPORT( FT_Error )
   FT_Stroker_ParseOutline( FT_Stroker   stroker,
                            FT_Outline*  outline,
                            FT_Bool      opened );
+
-

-

A convenience function used to parse a whole outline with the stroker. The resulting outline(s) can be retrieved later by functions like FT_Stroker_GetCounts and FT_Stroker_Export.

-

-
input
-

- -
stroker + +

input

+ + - -
stroker

The target stroker handle.

outline +
outline

The source outline.

opened +
opened

A boolean. If 1, the outline is treated as an open path instead of a closed one.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

If ‘opened’ is 0 (the default), the outline is treated as a closed path, and the stroker generates two distinct ‘border’ outlines.

If ‘opened’ is 1, the outline is processed as an open path, and the stroker generates a single ‘stroke’ outline.

This function calls FT_Stroker_Rewind automatically.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Stroker_BeginSubPath

-
-Defined in FT_STROKER_H (ftstroke.h). -

-
 
+
+ + +
+

FT_Stroker_Done

+

Defined in FT_STROKER_H (ftstroke.h).

+
+  FT_EXPORT( void )
+  FT_Stroker_Done( FT_Stroker  stroker );
+
+ +

Destroy a stroker object.

+ +

input

+ + +
stroker +

A stroker handle. Can be NULL.

+
+ +
+
+ +
+

FT_Stroker_BeginSubPath

+

Defined in FT_STROKER_H (ftstroke.h).

+
   FT_EXPORT( FT_Error )
   FT_Stroker_BeginSubPath( FT_Stroker  stroker,
                            FT_Vector*  to,
                            FT_Bool     open );
+
-

-

Start a new sub-path in the stroker.

-

-
input
-

- -
stroker + +

input

+ + - -
stroker

The target stroker handle.

to +
to

A pointer to the start vector.

open +
open

A boolean. If 1, the sub-path is treated as an open one.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

This function is useful when you need to stroke a path that is not stored as an FT_Outline object.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Stroker_EndSubPath

-
-Defined in FT_STROKER_H (ftstroke.h). -

-
 
+
+ + +
+

FT_Stroker_EndSubPath

+

Defined in FT_STROKER_H (ftstroke.h).

+
   FT_EXPORT( FT_Error )
   FT_Stroker_EndSubPath( FT_Stroker  stroker );
+
-

-

Close the current sub-path in the stroker.

-

-
input
-

- -
stroker + +

input

+ +
stroker

The target stroker handle.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

You should call this function after FT_Stroker_BeginSubPath. If the subpath was not ‘opened’, this function ‘draws’ a single line segment to the start position when needed.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Stroker_LineTo

-
-Defined in FT_STROKER_H (ftstroke.h). -

-
 
+
+ + +
+

FT_Stroker_LineTo

+

Defined in FT_STROKER_H (ftstroke.h).

+
   FT_EXPORT( FT_Error )
   FT_Stroker_LineTo( FT_Stroker  stroker,
                      FT_Vector*  to );
+
-

-

‘Draw’ a single line segment in the stroker's current sub-path, from the last position.

-

-
input
-

- -
stroker + +

input

+ + -
stroker

The target stroker handle.

to +
to

A pointer to the destination point.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

You should call this function between FT_Stroker_BeginSubPath and FT_Stroker_EndSubPath.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Stroker_ConicTo

-
-Defined in FT_STROKER_H (ftstroke.h). -

-
 
+
+ + +
+

FT_Stroker_ConicTo

+

Defined in FT_STROKER_H (ftstroke.h).

+
   FT_EXPORT( FT_Error )
   FT_Stroker_ConicTo( FT_Stroker  stroker,
                       FT_Vector*  control,
                       FT_Vector*  to );
+
-

-

‘Draw’ a single quadratic Bézier in the stroker's current sub-path, from the last position.

-

-
input
-

- -
stroker + +

input

+ + - -
stroker

The target stroker handle.

control +
control

A pointer to a Bézier control point.

to +
to

A pointer to the destination point.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

You should call this function between FT_Stroker_BeginSubPath and FT_Stroker_EndSubPath.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Stroker_CubicTo

-
-Defined in FT_STROKER_H (ftstroke.h). -

-
 
+
+ + +
+

FT_Stroker_CubicTo

+

Defined in FT_STROKER_H (ftstroke.h).

+
   FT_EXPORT( FT_Error )
   FT_Stroker_CubicTo( FT_Stroker  stroker,
                       FT_Vector*  control1,
                       FT_Vector*  control2,
                       FT_Vector*  to );
+
-

-

‘Draw’ a single cubic Bézier in the stroker's current sub-path, from the last position.

-

-
input
-

- -
stroker + +

input

+ + - - -
stroker

The target stroker handle.

control1 +
control1

A pointer to the first Bézier control point.

control2 +
control2

A pointer to second Bézier control point.

to +
to

A pointer to the destination point.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

You should call this function between FT_Stroker_BeginSubPath and FT_Stroker_EndSubPath.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Stroker_GetBorderCounts

-
-Defined in FT_STROKER_H (ftstroke.h). -

-
 
+
+ + +
+

FT_Stroker_GetBorderCounts

+

Defined in FT_STROKER_H (ftstroke.h).

+
   FT_EXPORT( FT_Error )
   FT_Stroker_GetBorderCounts( FT_Stroker        stroker,
                               FT_StrokerBorder  border,
                               FT_UInt          *anum_points,
                               FT_UInt          *anum_contours );
+
-

-

Call this function once you have finished parsing your paths with the stroker. It returns the number of points and contours necessary to export one of the ‘border’ or ‘stroke’ outlines generated by the stroker.

-

-
input
-

- -
stroker + +

input

+ + -
stroker

The target stroker handle.

border +
border

The border index.

-
-
output
-

- -
anum_points + +

output

+ + -
anum_points

The number of points.

anum_contours +
anum_contours

The number of contours.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

When an outline, or a sub-path, is ‘closed’, the stroker generates two independent ‘border’ outlines, named ‘left’ and ‘right’.

When the outline, or a sub-path, is ‘opened’, the stroker merges the ‘border’ outlines with caps. The ‘left’ border receives all points, while the ‘right’ border becomes empty.

Use the function FT_Stroker_GetCounts instead if you want to retrieve the counts associated to both borders.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Stroker_ExportBorder

-
-Defined in FT_STROKER_H (ftstroke.h). -

-
 
+
+ + +
+

FT_Stroker_ExportBorder

+

Defined in FT_STROKER_H (ftstroke.h).

+
   FT_EXPORT( void )
   FT_Stroker_ExportBorder( FT_Stroker        stroker,
                            FT_StrokerBorder  border,
                            FT_Outline*       outline );
+
-

-

Call this function after FT_Stroker_GetBorderCounts to export the corresponding border to your own FT_Outline structure.

Note that this function appends the border points and contours to your outline, but does not try to resize its arrays.

-

-
input
-

- -
stroker + +

input

+ + - -
stroker

The target stroker handle.

border +
border

The border index.

outline +
outline

The target outline handle.

-
-
note
+ +

note

Always call this function after FT_Stroker_GetBorderCounts to get sure that there is enough room in your FT_Outline object to receive all new data.

-

When an outline, or a sub-path, is ‘closed’, the stroker generates two independent ‘border’ outlines, named ‘left’ and ‘right’

+

When an outline, or a sub-path, is ‘closed’, the stroker generates two independent ‘border’ outlines, named ‘left’ and ‘right’.

When the outline, or a sub-path, is ‘opened’, the stroker merges the ‘border’ outlines with caps. The ‘left’ border receives all points, while the ‘right’ border becomes empty.

Use the function FT_Stroker_Export instead if you want to retrieve all borders at once.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Stroker_GetCounts

-
-Defined in FT_STROKER_H (ftstroke.h). -

-
 
+
+ + +
+

FT_Stroker_GetCounts

+

Defined in FT_STROKER_H (ftstroke.h).

+
   FT_EXPORT( FT_Error )
   FT_Stroker_GetCounts( FT_Stroker  stroker,
                         FT_UInt    *anum_points,
                         FT_UInt    *anum_contours );
+
-

-

Call this function once you have finished parsing your paths with the stroker. It returns the number of points and contours necessary to export all points/borders from the stroked outline/path.

-

-
input
-

- -
stroker + +

input

+ +
stroker

The target stroker handle.

-
-
output
-

- -
anum_points + +

output

+ + -
anum_points

The number of points.

anum_contours +
anum_contours

The number of contours.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Stroker_Export

-
-Defined in FT_STROKER_H (ftstroke.h). -

-
 
+
+ + +
+

FT_Stroker_Export

+

Defined in FT_STROKER_H (ftstroke.h).

+
   FT_EXPORT( void )
   FT_Stroker_Export( FT_Stroker   stroker,
                      FT_Outline*  outline );
+
-

-

Call this function after FT_Stroker_GetBorderCounts to export all borders to your own FT_Outline structure.

Note that this function appends the border points and contours to your outline, but does not try to resize its arrays.

-

-
input
-

- -
stroker + +

input

+ + -
stroker

The target stroker handle.

outline +
outline

The target outline handle.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Stroker_Done

-
-Defined in FT_STROKER_H (ftstroke.h). -

-
-
-  FT_EXPORT( void )
-  FT_Stroker_Done( FT_Stroker  stroker );
-
-

-
-

Destroy a stroker object.

-

-
input
-

- - -
stroker -

A stroker handle. Can be NULL.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_Glyph_Stroke

-
-Defined in FT_STROKER_H (ftstroke.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Glyph_Stroke( FT_Glyph    *pglyph,
-                   FT_Stroker   stroker,
-                   FT_Bool      destroy );
-
-

-
-

Stroke a given outline glyph object with a given stroker.

-

-
inout
-

- - -
pglyph -

Source glyph handle on input, new glyph handle on output.

-
-
-
input
-

- - - -
stroker -

A stroker handle.

-
destroy -

A Boolean. If 1, the source glyph object is destroyed on success.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

The source glyph is untouched in case of error.

-

Adding stroke may yield a significantly wider and taller glyph depending on how large of a radius was used to stroke the glyph. You may need to manually adjust horizontal and vertical advance amounts to account for this added size.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Glyph_StrokeBorder

-
-Defined in FT_STROKER_H (ftstroke.h). -

-
 
-  FT_EXPORT( FT_Error )
-  FT_Glyph_StrokeBorder( FT_Glyph    *pglyph,
-                         FT_Stroker   stroker,
-                         FT_Bool      inside,
-                         FT_Bool      destroy );
-
-

-
-

Stroke a given outline glyph object with a given stroker, but only return either its inside or outside border.

-

-
inout
-

- - -
pglyph -

Source glyph handle on input, new glyph handle on output.

-
-
-
input
-

- - - - -
stroker -

A stroker handle.

-
inside -

A Boolean. If 1, return the inside border, otherwise the outside border.

-
destroy -

A Boolean. If 1, the source glyph object is destroyed on success.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

The source glyph is untouched in case of error.

-

Adding stroke may yield a significantly wider and taller glyph depending on how large of a radius was used to stroke the glyph. You may need to manually adjust horizontal and vertical advance amounts to account for this added size.

-
-
-
- - -
[Index][TOC]
+
+ diff --git a/freetype/docs/reference/ft2-glyph_variants.html b/freetype/docs/reference/ft2-glyph_variants.html index ef5d5f8aa..a19db11ea 100644 --- a/freetype/docs/reference/ft2-glyph_variants.html +++ b/freetype/docs/reference/ft2-glyph_variants.html @@ -3,267 +3,290 @@ -FreeType-2.5.3 API Reference +FreeType-2.5.5 API Reference - - -
[Index][TOC]
-

FreeType-2.5.3 API Reference

+ +

FreeType-2.5.5 API Reference

-

-Glyph Variants -

+

Glyph Variants

Synopsis

- - - - -
FT_Face_GetCharVariantIndexFT_Face_GetVariantsOfChar
FT_Face_GetCharVariantIsDefaultFT_Face_GetCharsOfVariant
FT_Face_GetVariantSelectors


+ + + + +
FT_Face_GetCharVariantIndexFT_Face_GetVariantsOfChar
FT_Face_GetCharVariantIsDefaultFT_Face_GetCharsOfVariant
FT_Face_GetVariantSelectors
+ -

Many CJK characters have variant forms. They are a sort of grey area somewhere between being totally irrelevant and semantically distinct; for this reason, the Unicode consortium decided to introduce Ideographic Variation Sequences (IVS), consisting of a Unicode base character and one of 240 variant selectors (U+E0100-U+E01EF), instead of further extending the already huge code range for CJK characters.

An IVS is registered and unique; for further details please refer to Unicode Technical Standard #37, the Ideographic Variation Database:

http://www.unicode.org/reports/tr37/

-

To date (November 2012), the character with the most variants is U+9089, having 31 such IVS.

+

To date (November 2014), the character with the most variants is U+9089, having 32 such IVS.

Adobe and MS decided to support IVS with a new cmap subtable (format 14). It is an odd subtable because it is not a mapping of input code points to glyphs, but contains lists of all variants supported by the font.

A variant may be either ‘default’ or ‘non-default’. A default variant is the one you will get for that code point if you look it up in the standard Unicode cmap. A non-default variant is a different glyph.

-

-
-

FT_Face_GetCharVariantIndex

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
+
+

FT_Face_GetCharVariantIndex

+

Defined in FT_FREETYPE_H (freetype.h).

+
   FT_EXPORT( FT_UInt )
   FT_Face_GetCharVariantIndex( FT_Face   face,
                                FT_ULong  charcode,
                                FT_ULong  variantSelector );
+
-

-

Return the glyph index of a given character code as modified by the variation selector.

-

-
input
-

- -
face + +

input

+ + - -
face

A handle to the source face object.

charcode +
charcode

The character code point in Unicode.

variantSelector +
variantSelector

The Unicode code point of the variation selector.

-
-
return
+ +

return

The glyph index. 0 means either ‘undefined character code’, or ‘undefined selector code’, or ‘no variation selector cmap subtable’, or ‘current CharMap is not Unicode’.

-
-
note
+ +

note

If you use FreeType to manipulate the contents of font files directly, be aware that the glyph index returned by this function doesn't always correspond to the internal indices used within the file. This is done to ensure that value 0 always corresponds to the ‘missing glyph’.

This function is only meaningful if a) the font has a variation selector cmap sub table, and b) the current charmap has a Unicode encoding.

-
-
since
+ +

since

2.3.6

-
-
-
- - -
[Index][TOC]
- -
-

FT_Face_GetCharVariantIsDefault

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
+
+ + +
+

FT_Face_GetCharVariantIsDefault

+

Defined in FT_FREETYPE_H (freetype.h).

+
   FT_EXPORT( FT_Int )
   FT_Face_GetCharVariantIsDefault( FT_Face   face,
                                    FT_ULong  charcode,
                                    FT_ULong  variantSelector );
+
-

-

Check whether this variant of this Unicode character is the one to be found in the ‘cmap’.

-

-
input
-

- -
face + +

input

+ + - -
face

A handle to the source face object.

charcode +
charcode

The character codepoint in Unicode.

variantSelector +
variantSelector

The Unicode codepoint of the variation selector.

-
-
return
+ +

return

1 if found in the standard (Unicode) cmap, 0 if found in the variation selector cmap, or -1 if it is not a variant.

-
-
note
+ +

note

This function is only meaningful if the font has a variation selector cmap subtable.

-
-
since
+ +

since

2.3.6

-
-
-
- - -
[Index][TOC]
- -
-

FT_Face_GetVariantSelectors

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
+
+ + +
+

FT_Face_GetVariantSelectors

+

Defined in FT_FREETYPE_H (freetype.h).

+
   FT_EXPORT( FT_UInt32* )
   FT_Face_GetVariantSelectors( FT_Face  face );
+
-

-

Return a zero-terminated list of Unicode variant selectors found in the font.

-

-
input
-

- -
face + +

input

+ +
face

A handle to the source face object.

-
-
return
+ +

return

A pointer to an array of selector code points, or NULL if there is no valid variant selector cmap subtable.

-
-
note
+ +

note

The last item in the array is 0; the array is owned by the FT_Face object but can be overwritten or released on the next call to a FreeType function.

-
-
since
+ +

since

2.3.6

-
-
-
- - -
[Index][TOC]
- -
-

FT_Face_GetVariantsOfChar

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
+
+ + +
+

FT_Face_GetVariantsOfChar

+

Defined in FT_FREETYPE_H (freetype.h).

+
   FT_EXPORT( FT_UInt32* )
   FT_Face_GetVariantsOfChar( FT_Face   face,
                              FT_ULong  charcode );
+
-

-

Return a zero-terminated list of Unicode variant selectors found for the specified character code.

-

-
input
-

- -
face + +

input

+ + -
face

A handle to the source face object.

charcode +
charcode

The character codepoint in Unicode.

-
-
return
+ +

return

A pointer to an array of variant selector code points that are active for the given character, or NULL if the corresponding list is empty.

-
-
note
+ +

note

The last item in the array is 0; the array is owned by the FT_Face object but can be overwritten or released on the next call to a FreeType function.

-
-
since
+ +

since

2.3.6

-
-
-
- - -
[Index][TOC]
- -
-

FT_Face_GetCharsOfVariant

-
-Defined in FT_FREETYPE_H (freetype.h). -

-
 
+
+ + +
+

FT_Face_GetCharsOfVariant

+

Defined in FT_FREETYPE_H (freetype.h).

+
   FT_EXPORT( FT_UInt32* )
   FT_Face_GetCharsOfVariant( FT_Face   face,
                              FT_ULong  variantSelector );
+
-

-

Return a zero-terminated list of Unicode character codes found for the specified variant selector.

-

-
input
-

- -
face + +

input

+ + -
face

A handle to the source face object.

variantSelector +
variantSelector

The variant selector code point in Unicode.

-
-
return
+ +

return

A list of all the code points that are specified by this selector (both default and non-default codes are returned) or NULL if there is no valid cmap or the variant selector is invalid.

-
-
note
+ +

note

The last item in the array is 0; the array is owned by the FT_Face object but can be overwritten or released on the next call to a FreeType function.

-
-
since
+ +

since

2.3.6

-
-
-
- - -
[Index][TOC]
+ +
+ diff --git a/freetype/docs/reference/ft2-gx_validation.html b/freetype/docs/reference/ft2-gx_validation.html index 9a1f1c22b..ff2eef6ac 100644 --- a/freetype/docs/reference/ft2-gx_validation.html +++ b/freetype/docs/reference/ft2-gx_validation.html @@ -3,354 +3,360 @@ -FreeType-2.5.3 API Reference +FreeType-2.5.5 API Reference - - -
[Index][TOC]
-

FreeType-2.5.3 API Reference

+ +

FreeType-2.5.5 API Reference

-

-TrueTypeGX/AAT Validation -

+

TrueTypeGX/AAT Validation

Synopsis

- - - - -
FT_VALIDATE_GX_LENGTHFT_TrueTypeGX_FreeFT_ClassicKern_Free
FT_VALIDATE_GXXXXFT_VALIDATE_CKERNXXX
FT_TrueTypeGX_ValidateFT_ClassicKern_Validate


- -
-

This section contains the declaration of functions to validate some TrueTypeGX tables (feat, mort, morx, bsln, just, kern, opbd, trak, prop, lcar).

-

-
-

FT_VALIDATE_GX_LENGTH

-
-Defined in FT_GX_VALIDATE_H (ftgxval.h). -

-
+
+
+
+
+
FT_TrueTypeGX_ValidateFT_ClassicKern_ValidateFT_VALIDATE_GX_LENGTH
FT_TrueTypeGX_FreeFT_ClassicKern_FreeFT_VALIDATE_GXXXX
  FT_VALIDATE_CKERNXXX
-#define FT_VALIDATE_GX_LENGTH (FT_VALIDATE_GX_LAST_INDEX + 1) -

-
-

The number of tables checked in this module. Use it as a parameter for the ‘table-length’ argument of function FT_TrueTypeGX_Validate.

-

-
-
- - -
[Index][TOC]
- -
-

FT_VALIDATE_GXXXX

-
-Defined in FT_GX_VALIDATE_H (ftgxval.h). -

-
-
-#define FT_VALIDATE_feat  FT_VALIDATE_GX_BITFIELD( feat )
-#define FT_VALIDATE_mort  FT_VALIDATE_GX_BITFIELD( mort )
-#define FT_VALIDATE_morx  FT_VALIDATE_GX_BITFIELD( morx )
-#define FT_VALIDATE_bsln  FT_VALIDATE_GX_BITFIELD( bsln )
-#define FT_VALIDATE_just  FT_VALIDATE_GX_BITFIELD( just )
-#define FT_VALIDATE_kern  FT_VALIDATE_GX_BITFIELD( kern )
-#define FT_VALIDATE_opbd  FT_VALIDATE_GX_BITFIELD( opbd )
-#define FT_VALIDATE_trak  FT_VALIDATE_GX_BITFIELD( trak )
-#define FT_VALIDATE_prop  FT_VALIDATE_GX_BITFIELD( prop )
-#define FT_VALIDATE_lcar  FT_VALIDATE_GX_BITFIELD( lcar )
-
-#define FT_VALIDATE_GX  ( FT_VALIDATE_feat | \
-                          FT_VALIDATE_mort | \
-                          FT_VALIDATE_morx | \
-                          FT_VALIDATE_bsln | \
-                          FT_VALIDATE_just | \
-                          FT_VALIDATE_kern | \
-                          FT_VALIDATE_opbd | \
-                          FT_VALIDATE_trak | \
-                          FT_VALIDATE_prop | \
-                          FT_VALIDATE_lcar )
-
-

-
-

A list of bit-field constants used with FT_TrueTypeGX_Validate to indicate which TrueTypeGX/AAT Type tables should be validated.

-

-
values
-

- - - - - - - - - - - - -
FT_VALIDATE_feat -

Validate ‘feat’ table.

-
FT_VALIDATE_mort -

Validate ‘mort’ table.

-
FT_VALIDATE_morx -

Validate ‘morx’ table.

-
FT_VALIDATE_bsln -

Validate ‘bsln’ table.

-
FT_VALIDATE_just -

Validate ‘just’ table.

-
FT_VALIDATE_kern -

Validate ‘kern’ table.

-
FT_VALIDATE_opbd -

Validate ‘opbd’ table.

-
FT_VALIDATE_trak -

Validate ‘trak’ table.

-
FT_VALIDATE_prop -

Validate ‘prop’ table.

-
FT_VALIDATE_lcar -

Validate ‘lcar’ table.

-
FT_VALIDATE_GX -

Validate all TrueTypeGX tables (feat, mort, morx, bsln, just, kern, opbd, trak, prop and lcar).

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_TrueTypeGX_Validate

-
-Defined in FT_GX_VALIDATE_H (ftgxval.h). -

-
+

This section contains the declaration of functions to validate some TrueTypeGX tables (feat, mort, morx, bsln, just, kern, opbd, trak, prop, lcar).

+
+

FT_TrueTypeGX_Validate

+

Defined in FT_GX_VALIDATE_H (ftgxval.h).

+
   FT_EXPORT( FT_Error )
   FT_TrueTypeGX_Validate( FT_Face   face,
                           FT_UInt   validation_flags,
                           FT_Bytes  tables[FT_VALIDATE_GX_LENGTH],
                           FT_UInt   table_length );
+
-

-

Validate various TrueTypeGX tables to assure that all offsets and indices are valid. The idea is that a higher-level library that actually does the text layout can access those tables without error checking (which can be quite time consuming).

-

-
input
-

- -
face + +

input

+ + - -
face

A handle to the input face.

validation_flags +
validation_flags

A bit field that specifies the tables to be validated. See FT_VALIDATE_GXXXX for possible values.

table_length +
table_length

The size of the ‘tables’ array. Normally, FT_VALIDATE_GX_LENGTH should be passed.

-
-
output
-

- -
tables + +

output

+ +
tables

The array where all validated sfnt tables are stored. The array itself must be allocated by a client.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

This function only works with TrueTypeGX fonts, returning an error otherwise.

After use, the application should deallocate the buffers pointed to by each ‘tables’ element, by calling FT_TrueTypeGX_Free. A NULL value indicates that the table either doesn't exist in the font, the application hasn't asked for validation, or the validator doesn't have the ability to validate the sfnt table.

-
-
-
- - -
[Index][TOC]
- -
-

FT_TrueTypeGX_Free

-
-Defined in FT_GX_VALIDATE_H (ftgxval.h). -

-
 
+
+ + +
+

FT_TrueTypeGX_Free

+

Defined in FT_GX_VALIDATE_H (ftgxval.h).

+
   FT_EXPORT( void )
   FT_TrueTypeGX_Free( FT_Face   face,
                       FT_Bytes  table );
+
-

-

Free the buffer allocated by TrueTypeGX validator.

-

-
input
-

- -
face + +

input

+ + -
face

A handle to the input face.

table +
table

The pointer to the buffer allocated by FT_TrueTypeGX_Validate.

-
-
note
+ +

note

This function must be used to free the buffer allocated by FT_TrueTypeGX_Validate only.

-
-
-
- - -
[Index][TOC]
- -
-

FT_VALIDATE_CKERNXXX

-
-Defined in FT_GX_VALIDATE_H (ftgxval.h). -

-
-
-#define FT_VALIDATE_MS     ( FT_VALIDATE_GX_START << 0 )
-#define FT_VALIDATE_APPLE  ( FT_VALIDATE_GX_START << 1 )
-
-#define FT_VALIDATE_CKERN  ( FT_VALIDATE_MS | FT_VALIDATE_APPLE )
-
-

-
-

A list of bit-field constants used with FT_ClassicKern_Validate to indicate the classic kern dialect or dialects. If the selected type doesn't fit, FT_ClassicKern_Validate regards the table as invalid.

-

-
values
-

- - - - -
FT_VALIDATE_MS -

Handle the ‘kern’ table as a classic Microsoft kern table.

-
FT_VALIDATE_APPLE -

Handle the ‘kern’ table as a classic Apple kern table.

-
FT_VALIDATE_CKERN -

Handle the ‘kern’ as either classic Apple or Microsoft kern table.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_ClassicKern_Validate

-
-Defined in FT_GX_VALIDATE_H (ftgxval.h). -

-
 
+
+ + +
+

FT_ClassicKern_Validate

+

Defined in FT_GX_VALIDATE_H (ftgxval.h).

+
   FT_EXPORT( FT_Error )
   FT_ClassicKern_Validate( FT_Face    face,
                            FT_UInt    validation_flags,
                            FT_Bytes  *ckern_table );
+
-

-

Validate classic (16-bit format) kern table to assure that the offsets and indices are valid. The idea is that a higher-level library that actually does the text layout can access those tables without error checking (which can be quite time consuming).

The ‘kern’ table validator in FT_TrueTypeGX_Validate deals with both the new 32-bit format and the classic 16-bit format, while FT_ClassicKern_Validate only supports the classic 16-bit format.

-

-
input
-

- -
face + +

input

+ + -
face

A handle to the input face.

validation_flags +
validation_flags

A bit field that specifies the dialect to be validated. See FT_VALIDATE_CKERNXXX for possible values.

-
-
output
-

- -
ckern_table + +

output

+ +
ckern_table

A pointer to the kern table.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

After use, the application should deallocate the buffers pointed to by ‘ckern_table’, by calling FT_ClassicKern_Free. A NULL value indicates that the table doesn't exist in the font.

-
-
-
- - -
[Index][TOC]
- -
-

FT_ClassicKern_Free

-
-Defined in FT_GX_VALIDATE_H (ftgxval.h). -

-
 
+
+ + +
+

FT_ClassicKern_Free

+

Defined in FT_GX_VALIDATE_H (ftgxval.h).

+
   FT_EXPORT( void )
   FT_ClassicKern_Free( FT_Face   face,
                        FT_Bytes  table );
+
-

-

Free the buffer allocated by classic Kern validator.

-

-
input
-

- -
face + +

input

+ + -
face

A handle to the input face.

table +
table

The pointer to the buffer that is allocated by FT_ClassicKern_Validate.

-
-
note
+ +

note

This function must be used to free the buffer allocated by FT_ClassicKern_Validate only.

-
-
-
- - -
[Index][TOC]
+ +
+ + +
+

FT_VALIDATE_GX_LENGTH

+

Defined in FT_GX_VALIDATE_H (ftgxval.h).

+
+#define FT_VALIDATE_GX_LENGTH     (FT_VALIDATE_GX_LAST_INDEX + 1)
+
+ +

The number of tables checked in this module. Use it as a parameter for the ‘table-length’ argument of function FT_TrueTypeGX_Validate.

+ +
+
+ +
+

FT_VALIDATE_GXXXX

+

Defined in FT_GX_VALIDATE_H (ftgxval.h).

+
+#define FT_VALIDATE_feat  FT_VALIDATE_GX_BITFIELD( feat )
+#define FT_VALIDATE_mort  FT_VALIDATE_GX_BITFIELD( mort )
+#define FT_VALIDATE_morx  FT_VALIDATE_GX_BITFIELD( morx )
+#define FT_VALIDATE_bsln  FT_VALIDATE_GX_BITFIELD( bsln )
+#define FT_VALIDATE_just  FT_VALIDATE_GX_BITFIELD( just )
+#define FT_VALIDATE_kern  FT_VALIDATE_GX_BITFIELD( kern )
+#define FT_VALIDATE_opbd  FT_VALIDATE_GX_BITFIELD( opbd )
+#define FT_VALIDATE_trak  FT_VALIDATE_GX_BITFIELD( trak )
+#define FT_VALIDATE_prop  FT_VALIDATE_GX_BITFIELD( prop )
+#define FT_VALIDATE_lcar  FT_VALIDATE_GX_BITFIELD( lcar )
+
+#define FT_VALIDATE_GX  ( FT_VALIDATE_feat | \
+                          FT_VALIDATE_mort | \
+                          FT_VALIDATE_morx | \
+                          FT_VALIDATE_bsln | \
+                          FT_VALIDATE_just | \
+                          FT_VALIDATE_kern | \
+                          FT_VALIDATE_opbd | \
+                          FT_VALIDATE_trak | \
+                          FT_VALIDATE_prop | \
+                          FT_VALIDATE_lcar )
+
+ +

A list of bit-field constants used with FT_TrueTypeGX_Validate to indicate which TrueTypeGX/AAT Type tables should be validated.

+ +

values

+ + + + + + + + + + + + +
FT_VALIDATE_feat +

Validate ‘feat’ table.

+
FT_VALIDATE_mort +

Validate ‘mort’ table.

+
FT_VALIDATE_morx +

Validate ‘morx’ table.

+
FT_VALIDATE_bsln +

Validate ‘bsln’ table.

+
FT_VALIDATE_just +

Validate ‘just’ table.

+
FT_VALIDATE_kern +

Validate ‘kern’ table.

+
FT_VALIDATE_opbd +

Validate ‘opbd’ table.

+
FT_VALIDATE_trak +

Validate ‘trak’ table.

+
FT_VALIDATE_prop +

Validate ‘prop’ table.

+
FT_VALIDATE_lcar +

Validate ‘lcar’ table.

+
FT_VALIDATE_GX +

Validate all TrueTypeGX tables (feat, mort, morx, bsln, just, kern, opbd, trak, prop and lcar).

+
+ +
+
+ +
+

FT_VALIDATE_CKERNXXX

+

Defined in FT_GX_VALIDATE_H (ftgxval.h).

+
+#define FT_VALIDATE_MS     ( FT_VALIDATE_GX_START << 0 )
+#define FT_VALIDATE_APPLE  ( FT_VALIDATE_GX_START << 1 )
+
+#define FT_VALIDATE_CKERN  ( FT_VALIDATE_MS | FT_VALIDATE_APPLE )
+
+ +

A list of bit-field constants used with FT_ClassicKern_Validate to indicate the classic kern dialect or dialects. If the selected type doesn't fit, FT_ClassicKern_Validate regards the table as invalid.

+ +

values

+ + + + +
FT_VALIDATE_MS +

Handle the ‘kern’ table as a classic Microsoft kern table.

+
FT_VALIDATE_APPLE +

Handle the ‘kern’ table as a classic Apple kern table.

+
FT_VALIDATE_CKERN +

Handle the ‘kern’ as either classic Apple or Microsoft kern table.

+
+ +
+
diff --git a/freetype/docs/reference/ft2-gzip.html b/freetype/docs/reference/ft2-gzip.html index 6a0c6d249..c7e5a84f3 100644 --- a/freetype/docs/reference/ft2-gzip.html +++ b/freetype/docs/reference/ft2-gzip.html @@ -3,152 +3,197 @@ -FreeType-2.5.3 API Reference +FreeType-2.5.5 API Reference - - -
[Index][TOC]
-

FreeType-2.5.3 API Reference

+ +

FreeType-2.5.5 API Reference

-

-GZIP Streams -

+

GZIP Streams

Synopsis

- - -
FT_Stream_OpenGzipFT_Gzip_Uncompress


+ + +
FT_Stream_OpenGzipFT_Gzip_Uncompress
+ -

This section contains the declaration of Gzip-specific functions.

-

-
-

FT_Stream_OpenGzip

-
-Defined in FT_GZIP_H (ftgzip.h). -

-
 
+
+

FT_Stream_OpenGzip

+

Defined in FT_GZIP_H (ftgzip.h).

+
   FT_EXPORT( FT_Error )
   FT_Stream_OpenGzip( FT_Stream  stream,
                       FT_Stream  source );
+
-

-

Open a new stream to parse gzip-compressed font files. This is mainly used to support the compressed ‘*.pcf.gz’ fonts that come with XFree86.

-

-
input
-

- -
stream + +

input

+ + -
stream

The target embedding stream.

source +
source

The source stream.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

The source stream must be opened before calling this function.

Calling the internal function ‘FT_Stream_Close’ on the new stream will not call ‘FT_Stream_Close’ on the source stream. None of the stream objects will be released to the heap.

The stream implementation is very basic and resets the decompression process each time seeking backwards is needed within the stream.

In certain builds of the library, gzip compression recognition is automatically handled when calling FT_New_Face or FT_Open_Face. This means that if no font driver is capable of handling the raw compressed file, the library will try to open a gzipped stream from it and re-open the face with it.

This function may return ‘FT_Err_Unimplemented_Feature’ if your build of FreeType was not compiled with zlib support.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Gzip_Uncompress

-
-Defined in FT_GZIP_H (ftgzip.h). -

-
 
+
+ + +
+

FT_Gzip_Uncompress

+

Defined in FT_GZIP_H (ftgzip.h).

+
   FT_EXPORT( FT_Error )
   FT_Gzip_Uncompress( FT_Memory       memory,
                       FT_Byte*        output,
                       FT_ULong*       output_len,
                       const FT_Byte*  input,
                       FT_ULong        input_len );
+
-

-

Decompress a zipped input buffer into an output buffer. This function is modeled after zlib's ‘uncompress’ function.

-

-
input
-

- -
memory + +

input

+ + - -
memory

A FreeType memory handle.

input +
input

The input buffer.

input_len +
input_len

The length of the input buffer.

-
-
output
-

- -
output + +

output

+ +
output

The output buffer.

-
-
inout
-

- -
output_len + +

inout

+ +
output_len

Before calling the function, this is the the total size of the output buffer, which must be large enough to hold the entire uncompressed data (so the size of the uncompressed data must be known in advance). After calling the function, ‘output_len’ is the size of the used data in ‘output’.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

This function may return ‘FT_Err_Unimplemented_Feature’ if your build of FreeType was not compiled with zlib support.

-
-
-
- - -
[Index][TOC]
+ +
+ diff --git a/freetype/docs/reference/ft2-header_file_macros.html b/freetype/docs/reference/ft2-header_file_macros.html index d703415de..35954db9a 100644 --- a/freetype/docs/reference/ft2-header_file_macros.html +++ b/freetype/docs/reference/ft2-header_file_macros.html @@ -3,73 +3,136 @@ -FreeType-2.5.3 API Reference +FreeType-2.5.5 API Reference - - -
[Index][TOC]
-

FreeType-2.5.3 API Reference

+ +

FreeType-2.5.5 API Reference

-

-Header File Macros -

+

Header File Macros

Synopsis

- - - - - - - - - - - - - - - - - - - - - - - - - - -
FT_CONFIG_CONFIG_HFT_LZW_H
FT_CONFIG_STANDARD_LIBRARY_HFT_BZIP2_H
FT_CONFIG_OPTIONS_HFT_WINFONTS_H
FT_CONFIG_MODULES_HFT_GLYPH_H
FT_FREETYPE_HFT_BITMAP_H
FT_ERRORS_HFT_BBOX_H
FT_MODULE_ERRORS_HFT_CACHE_H
FT_SYSTEM_HFT_CACHE_IMAGE_H
FT_IMAGE_HFT_CACHE_SMALL_BITMAPS_H
FT_TYPES_HFT_CACHE_CHARMAP_H
FT_LIST_HFT_MAC_H
FT_OUTLINE_HFT_MULTIPLE_MASTERS_H
FT_SIZES_HFT_SFNT_NAMES_H
FT_MODULE_HFT_OPENTYPE_VALIDATE_H
FT_RENDER_HFT_GX_VALIDATE_H
FT_AUTOHINTER_HFT_PFR_H
FT_CFF_DRIVER_HFT_STROKER_H
FT_TRUETYPE_DRIVER_HFT_SYNTHESIS_H
FT_TYPE1_TABLES_HFT_XFREE86_H
FT_TRUETYPE_IDS_HFT_TRIGONOMETRY_H
FT_TRUETYPE_TABLES_HFT_LCD_FILTER_H
FT_TRUETYPE_TAGS_HFT_UNPATENTED_HINTING_H
FT_BDF_HFT_INCREMENTAL_H
FT_CID_HFT_GASP_H
FT_GZIP_HFT_ADVANCES_H


- -
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
FT_CONFIG_CONFIG_HFT_LZW_H
FT_CONFIG_STANDARD_LIBRARY_HFT_BZIP2_H
FT_CONFIG_OPTIONS_HFT_WINFONTS_H
FT_CONFIG_MODULES_HFT_GLYPH_H
FT_FREETYPE_HFT_BITMAP_H
FT_ERRORS_HFT_BBOX_H
FT_MODULE_ERRORS_HFT_CACHE_H
FT_SYSTEM_HFT_CACHE_IMAGE_H
FT_IMAGE_HFT_CACHE_SMALL_BITMAPS_H
FT_TYPES_HFT_CACHE_CHARMAP_H
FT_LIST_HFT_MAC_H
FT_OUTLINE_HFT_MULTIPLE_MASTERS_H
FT_SIZES_HFT_SFNT_NAMES_H
FT_MODULE_HFT_OPENTYPE_VALIDATE_H
FT_RENDER_HFT_GX_VALIDATE_H
FT_AUTOHINTER_HFT_PFR_H
FT_CFF_DRIVER_HFT_STROKER_H
FT_TRUETYPE_DRIVER_HFT_SYNTHESIS_H
FT_TYPE1_TABLES_HFT_XFREE86_H
FT_TRUETYPE_IDS_HFT_TRIGONOMETRY_H
FT_TRUETYPE_TABLES_HFT_LCD_FILTER_H
FT_TRUETYPE_TAGS_HFT_UNPATENTED_HINTING_H
FT_BDF_HFT_INCREMENTAL_H
FT_CID_HFT_GASP_H
FT_GZIP_HFT_ADVANCES_H
+ +

The following macros are defined to the name of specific FreeType 2 header files. They can be used directly in #include statements as in:

   #include FT_FREETYPE_H                                           
@@ -78,825 +141,575 @@ Header File Macros
 

There are several reasons why we are now using macros to name public header files. The first one is that such macros are not limited to the infamous 8.3 naming rule required by DOS (and ‘FT_MULTIPLE_MASTERS_H’ is a lot more meaningful than ‘ftmm.h’).

The second reason is that it allows for more flexibility in the way FreeType 2 is installed on a given system.

-

-
-

FT_CONFIG_CONFIG_H

-
 
+
+

FT_CONFIG_CONFIG_H

+
 #ifndef FT_CONFIG_CONFIG_H
 #define FT_CONFIG_CONFIG_H  <config/ftconfig.h>
 #endif
+
-

-

A macro used in #include statements to name the file containing FreeType 2 configuration data.

-

-
-
- - -
[Index][TOC]
-
-

FT_CONFIG_STANDARD_LIBRARY_H

-
+
+ +
+

FT_CONFIG_STANDARD_LIBRARY_H

+
 #ifndef FT_CONFIG_STANDARD_LIBRARY_H
 #define FT_CONFIG_STANDARD_LIBRARY_H  <config/ftstdlib.h>
 #endif
+
-

-

A macro used in #include statements to name the file containing FreeType 2 interface to the standard C library functions.

-

-
-
- - -
[Index][TOC]
-
-

FT_CONFIG_OPTIONS_H

-
+
+ +
+

FT_CONFIG_OPTIONS_H

+
 #ifndef FT_CONFIG_OPTIONS_H
 #define FT_CONFIG_OPTIONS_H  <config/ftoption.h>
 #endif
+
-

-

A macro used in #include statements to name the file containing FreeType 2 project-specific configuration options.

-

-
-
- - -
[Index][TOC]
-
-

FT_CONFIG_MODULES_H

-
+
+ +
+

FT_CONFIG_MODULES_H

+
 #ifndef FT_CONFIG_MODULES_H
 #define FT_CONFIG_MODULES_H  <config/ftmodule.h>
 #endif
+
-

-

A macro used in #include statements to name the file containing the list of FreeType 2 modules that are statically linked to new library instances in FT_Init_FreeType.

-

-
-
- - -
[Index][TOC]
-
-

FT_FREETYPE_H

-
+
+ +
+

FT_FREETYPE_H

+
 #define FT_FREETYPE_H  <freetype.h>
+
-

-

A macro used in #include statements to name the file containing the base FreeType 2 API.

-

-
-
- - -
[Index][TOC]
-
-

FT_ERRORS_H

-
+
+ +
+

FT_ERRORS_H

+
 #define FT_ERRORS_H  <fterrors.h>
+
-

-

A macro used in #include statements to name the file containing the list of FreeType 2 error codes (and messages).

It is included by FT_FREETYPE_H.

-

-
-
- - -
[Index][TOC]
-
-

FT_MODULE_ERRORS_H

-
+
+ +
+

FT_MODULE_ERRORS_H

+
 #define FT_MODULE_ERRORS_H  <ftmoderr.h>
+
-

-

A macro used in #include statements to name the file containing the list of FreeType 2 module error offsets (and messages).

-

-
-
- - -
[Index][TOC]
-
-

FT_SYSTEM_H

-
+
+ +
+

FT_SYSTEM_H

+
 #define FT_SYSTEM_H  <ftsystem.h>
+
-

-

A macro used in #include statements to name the file containing the FreeType 2 interface to low-level operations (i.e., memory management and stream i/o).

It is included by FT_FREETYPE_H.

-

-
-
- - -
[Index][TOC]
-
-

FT_IMAGE_H

-
+
+ +
+

FT_IMAGE_H

+
 #define FT_IMAGE_H  <ftimage.h>
+
-

-

A macro used in #include statements to name the file containing type definitions related to glyph images (i.e., bitmaps, outlines, scan-converter parameters).

It is included by FT_FREETYPE_H.

-

-
-
- - -
[Index][TOC]
-
-

FT_TYPES_H

-
+
+ +
+

FT_TYPES_H

+
 #define FT_TYPES_H  <fttypes.h>
+
-

-

A macro used in #include statements to name the file containing the basic data types defined by FreeType 2.

It is included by FT_FREETYPE_H.

-

-
-
- - -
[Index][TOC]
-
-

FT_LIST_H

-
+
+ +
+

FT_LIST_H

+
 #define FT_LIST_H  <ftlist.h>
+
-

-

A macro used in #include statements to name the file containing the list management API of FreeType 2.

(Most applications will never need to include this file.)

-

-
-
- - -
[Index][TOC]
-
-

FT_OUTLINE_H

-
+
+ +
+

FT_OUTLINE_H

+
 #define FT_OUTLINE_H  <ftoutln.h>
+
-

-

A macro used in #include statements to name the file containing the scalable outline management API of FreeType 2.

-

-
-
- - -
[Index][TOC]
-
-

FT_SIZES_H

-
+
+ +
+

FT_SIZES_H

+
 #define FT_SIZES_H  <ftsizes.h>
+
-

-

A macro used in #include statements to name the file containing the API which manages multiple FT_Size objects per face.

-

-
-
- - -
[Index][TOC]
-
-

FT_MODULE_H

-
+
+ +
+

FT_MODULE_H

+
 #define FT_MODULE_H  <ftmodapi.h>
+
-

-

A macro used in #include statements to name the file containing the module management API of FreeType 2.

-

-
-
- - -
[Index][TOC]
-
-

FT_RENDER_H

-
+
+ +
+

FT_RENDER_H

+
 #define FT_RENDER_H  <ftrender.h>
+
-

-

A macro used in #include statements to name the file containing the renderer module management API of FreeType 2.

-

-
-
- - -
[Index][TOC]
-
-

FT_AUTOHINTER_H

-
+
+ +
+

FT_AUTOHINTER_H

+
 #define FT_AUTOHINTER_H  <ftautoh.h>
+
-

-

A macro used in #include statements to name the file containing structures and macros related to the auto-hinting module.

-

-
-
- - -
[Index][TOC]
-
-

FT_CFF_DRIVER_H

-
+
+ +
+

FT_CFF_DRIVER_H

+
 #define FT_CFF_DRIVER_H  <ftcffdrv.h>
+
-

-

A macro used in #include statements to name the file containing structures and macros related to the CFF driver module.

-

-
-
- - -
[Index][TOC]
-
-

FT_TRUETYPE_DRIVER_H

-
+
+ +
+

FT_TRUETYPE_DRIVER_H

+
 #define FT_TRUETYPE_DRIVER_H  <ftttdrv.h>
+
-

-

A macro used in #include statements to name the file containing structures and macros related to the TrueType driver module.

-

-
-
- - -
[Index][TOC]
-
-

FT_TYPE1_TABLES_H

-
+
+ +
+

FT_TYPE1_TABLES_H

+
 #define FT_TYPE1_TABLES_H  <t1tables.h>
+
-

-

A macro used in #include statements to name the file containing the types and API specific to the Type 1 format.

-

-
-
- - -
[Index][TOC]
-
-

FT_TRUETYPE_IDS_H

-
+
+ +
+

FT_TRUETYPE_IDS_H

+
 #define FT_TRUETYPE_IDS_H  <ttnameid.h>
+
-

-

A macro used in #include statements to name the file containing the enumeration values which identify name strings, languages, encodings, etc. This file really contains a large set of constant macro definitions, taken from the TrueType and OpenType specifications.

-

-
-
- - -
[Index][TOC]
-
-

FT_TRUETYPE_TABLES_H

-
+
+ +
+

FT_TRUETYPE_TABLES_H

+
 #define FT_TRUETYPE_TABLES_H  <tttables.h>
+
-

-

A macro used in #include statements to name the file containing the types and API specific to the TrueType (as well as OpenType) format.

-

-
-
- - -
[Index][TOC]
-
-

FT_TRUETYPE_TAGS_H

-
+
+ +
+

FT_TRUETYPE_TAGS_H

+
 #define FT_TRUETYPE_TAGS_H  <tttags.h>
+
-

-

A macro used in #include statements to name the file containing the definitions of TrueType four-byte ‘tags’ which identify blocks in SFNT-based font formats (i.e., TrueType and OpenType).

-

-
-
- - -
[Index][TOC]
-
-

FT_BDF_H

-
+
+ +
+

FT_BDF_H

+
 #define FT_BDF_H  <ftbdf.h>
+
-

-

A macro used in #include statements to name the file containing the definitions of an API which accesses BDF-specific strings from a face.

-

-
-
- - -
[Index][TOC]
-
-

FT_CID_H

-
+
+ +
+

FT_CID_H

+
 #define FT_CID_H  <ftcid.h>
+
-

-

A macro used in #include statements to name the file containing the definitions of an API which access CID font information from a face.

-

-
-
- - -
[Index][TOC]
-
-

FT_GZIP_H

-
+
+ +
+

FT_GZIP_H

+
 #define FT_GZIP_H  <ftgzip.h>
+
-

-

A macro used in #include statements to name the file containing the definitions of an API which supports gzip-compressed files.

-

-
-
- - -
[Index][TOC]
-
-

FT_LZW_H

-
+
+ +
+

FT_LZW_H

+
 #define FT_LZW_H  <ftlzw.h>
+
-

-

A macro used in #include statements to name the file containing the definitions of an API which supports LZW-compressed files.

-

-
-
- - -
[Index][TOC]
-
-

FT_BZIP2_H

-
+
+ +
+

FT_BZIP2_H

+
 #define FT_BZIP2_H  <ftbzip2.h>
+
-

-

A macro used in #include statements to name the file containing the definitions of an API which supports bzip2-compressed files.

-

-
-
- - -
[Index][TOC]
-
-

FT_WINFONTS_H

-
+
+ +
+

FT_WINFONTS_H

+
 #define FT_WINFONTS_H   <ftwinfnt.h>
+
-

-

A macro used in #include statements to name the file containing the definitions of an API which supports Windows FNT files.

-

-
-
- - -
[Index][TOC]
-
-

FT_GLYPH_H

-
+
+ +
+

FT_GLYPH_H

+
 #define FT_GLYPH_H  <ftglyph.h>
+
-

-

A macro used in #include statements to name the file containing the API of the optional glyph management component.

-

-
-
- - -
[Index][TOC]
-
-

FT_BITMAP_H

-
+
+ +
+

FT_BITMAP_H

+
 #define FT_BITMAP_H  <ftbitmap.h>
+
-

-

A macro used in #include statements to name the file containing the API of the optional bitmap conversion component.

-

-
-
- - -
[Index][TOC]
-
-

FT_BBOX_H

-
+
+ +
+

FT_BBOX_H

+
 #define FT_BBOX_H  <ftbbox.h>
+
-

-

A macro used in #include statements to name the file containing the API of the optional exact bounding box computation routines.

-

-
-
- - -
[Index][TOC]
-
-

FT_CACHE_H

-
+
+ +
+

FT_CACHE_H

+
 #define FT_CACHE_H  <ftcache.h>
+
-

-

A macro used in #include statements to name the file containing the API of the optional FreeType 2 cache sub-system.

-

-
-
- - -
[Index][TOC]
-
-

FT_CACHE_IMAGE_H

-
+
+ +
+

FT_CACHE_IMAGE_H

+
 #define FT_CACHE_IMAGE_H  FT_CACHE_H
+
-

-

A macro used in #include statements to name the file containing the ‘glyph image’ API of the FreeType 2 cache sub-system.

It is used to define a cache for FT_Glyph elements. You can also use the API defined in FT_CACHE_SMALL_BITMAPS_H if you only need to store small glyph bitmaps, as it will use less memory.

This macro is deprecated. Simply include FT_CACHE_H to have all glyph image-related cache declarations.

-

-
-
- - -
[Index][TOC]
-
-

FT_CACHE_SMALL_BITMAPS_H

-
+
+ +
+

FT_CACHE_SMALL_BITMAPS_H

+
 #define FT_CACHE_SMALL_BITMAPS_H  FT_CACHE_H
+
-

-

A macro used in #include statements to name the file containing the ‘small bitmaps’ API of the FreeType 2 cache sub-system.

It is used to define a cache for small glyph bitmaps in a relatively memory-efficient way. You can also use the API defined in FT_CACHE_IMAGE_H if you want to cache arbitrary glyph images, including scalable outlines.

This macro is deprecated. Simply include FT_CACHE_H to have all small bitmaps-related cache declarations.

-

-
-
- - -
[Index][TOC]
-
-

FT_CACHE_CHARMAP_H

-
+
+ +
+

FT_CACHE_CHARMAP_H

+
 #define FT_CACHE_CHARMAP_H  FT_CACHE_H
+
-

-

A macro used in #include statements to name the file containing the ‘charmap’ API of the FreeType 2 cache sub-system.

This macro is deprecated. Simply include FT_CACHE_H to have all charmap-based cache declarations.

-

-
-
- - -
[Index][TOC]
-
-

FT_MAC_H

-
+
+ +
+

FT_MAC_H

+
 #define FT_MAC_H  <ftmac.h>
+
-

-

A macro used in #include statements to name the file containing the Macintosh-specific FreeType 2 API. The latter is used to access fonts embedded in resource forks.

This header file must be explicitly included by client applications compiled on the Mac (note that the base API still works though).

-

-
-
- - -
[Index][TOC]
-
-

FT_MULTIPLE_MASTERS_H

-
+
+ +
+

FT_MULTIPLE_MASTERS_H

+
 #define FT_MULTIPLE_MASTERS_H  <ftmm.h>
+
-

-

A macro used in #include statements to name the file containing the optional multiple-masters management API of FreeType 2.

-

-
-
- - -
[Index][TOC]
-
-

FT_SFNT_NAMES_H

-
+
+ +
+

FT_SFNT_NAMES_H

+
 #define FT_SFNT_NAMES_H  <ftsnames.h>
+
-

-

A macro used in #include statements to name the file containing the optional FreeType 2 API which accesses embedded ‘name’ strings in SFNT-based font formats (i.e., TrueType and OpenType).

-

-
-
- - -
[Index][TOC]
-
-

FT_OPENTYPE_VALIDATE_H

-
+
+ +
+

FT_OPENTYPE_VALIDATE_H

+
 #define FT_OPENTYPE_VALIDATE_H  <ftotval.h>
+
-

-

A macro used in #include statements to name the file containing the optional FreeType 2 API which validates OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF).

-

-
-
- - -
[Index][TOC]
-
-

FT_GX_VALIDATE_H

-
+
+ +
+

FT_GX_VALIDATE_H

+
 #define FT_GX_VALIDATE_H  <ftgxval.h>
+
-

-

A macro used in #include statements to name the file containing the optional FreeType 2 API which validates TrueTypeGX/AAT tables (feat, mort, morx, bsln, just, kern, opbd, trak, prop).

-

-
-
- - -
[Index][TOC]
-
-

FT_PFR_H

-
+
+ +
+

FT_PFR_H

+
 #define FT_PFR_H  <ftpfr.h>
+
-

-

A macro used in #include statements to name the file containing the FreeType 2 API which accesses PFR-specific data.

-

-
-
- - -
[Index][TOC]
-
-

FT_STROKER_H

-
+
+ +
+

FT_STROKER_H

+
 #define FT_STROKER_H  <ftstroke.h>
+
-

-

A macro used in #include statements to name the file containing the FreeType 2 API which provides functions to stroke outline paths.

-

-
-
- - -
[Index][TOC]
-
-

FT_SYNTHESIS_H

-
+
+ +
+

FT_SYNTHESIS_H

+
 #define FT_SYNTHESIS_H  <ftsynth.h>
+
-

-

A macro used in #include statements to name the file containing the FreeType 2 API which performs artificial obliquing and emboldening.

-

-
-
- - -
[Index][TOC]
-
-

FT_XFREE86_H

-
+
+ +
+

FT_XFREE86_H

+
 #define FT_XFREE86_H  <ftxf86.h>
+
-

-

A macro used in #include statements to name the file containing the FreeType 2 API which provides functions specific to the XFree86 and X.Org X11 servers.

-

-
-
- - -
[Index][TOC]
-
-

FT_TRIGONOMETRY_H

-
+
+ +
+

FT_TRIGONOMETRY_H

+
 #define FT_TRIGONOMETRY_H  <fttrigon.h>
+
-

-

A macro used in #include statements to name the file containing the FreeType 2 API which performs trigonometric computations (e.g., cosines and arc tangents).

-

-
-
- - -
[Index][TOC]
-
-

FT_LCD_FILTER_H

-
+
+ +
+

FT_LCD_FILTER_H

+
 #define FT_LCD_FILTER_H  <ftlcdfil.h>
+
-

-

A macro used in #include statements to name the file containing the FreeType 2 API which performs color filtering for subpixel rendering.

-

-
-
- - -
[Index][TOC]
-
-

FT_UNPATENTED_HINTING_H

-
+
+ +
+

FT_UNPATENTED_HINTING_H

+
 #define FT_UNPATENTED_HINTING_H  <ttunpat.h>
+
-

-

A macro used in #include statements to name the file containing the FreeType 2 API which performs color filtering for subpixel rendering.

-

-
-
- - -
[Index][TOC]
-
-

FT_INCREMENTAL_H

-
+
+ +
+

FT_INCREMENTAL_H

+
 #define FT_INCREMENTAL_H  <ftincrem.h>
+
-

-

A macro used in #include statements to name the file containing the FreeType 2 API which performs color filtering for subpixel rendering.

-

-
-
- - -
[Index][TOC]
-
-

FT_GASP_H

-
+
+ +
+

FT_GASP_H

+
 #define FT_GASP_H  <ftgasp.h>
+
-

-

A macro used in #include statements to name the file containing the FreeType 2 API which returns entries from the TrueType GASP table.

-

-
-
- - -
[Index][TOC]
-
-

FT_ADVANCES_H

-
+
+ +
+

FT_ADVANCES_H

+
 #define FT_ADVANCES_H  <ftadvanc.h>
+
-

-

A macro used in #include statements to name the file containing the FreeType 2 API which returns individual and ranged glyph advances.

-

-
-
- - -
[Index][TOC]
+ +
+ diff --git a/freetype/docs/reference/ft2-header_inclusion.html b/freetype/docs/reference/ft2-header_inclusion.html index 5ca09dcf7..4171decb0 100644 --- a/freetype/docs/reference/ft2-header_inclusion.html +++ b/freetype/docs/reference/ft2-header_inclusion.html @@ -3,44 +3,107 @@ -FreeType-2.5.3 API Reference +FreeType-2.5.5 API Reference - - -
[Index][TOC]
-

FreeType-2.5.3 API Reference

+ +

FreeType-2.5.5 API Reference

+ +

FreeType's header inclusion scheme

-

-FreeType's header inclusion scheme -

-

To be as flexible as possible (and for historical reasons), FreeType uses a very special inclusion scheme to load header files, for example

   #include <ft2build.h>                                            
@@ -49,6 +112,6 @@ FreeType's header inclusion scheme
   #include FT_OUTLINE_H                                            
 

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.

-

+ diff --git a/freetype/docs/reference/ft2-incremental.html b/freetype/docs/reference/ft2-incremental.html index 423aa0bb3..26225c255 100644 --- a/freetype/docs/reference/ft2-incremental.html +++ b/freetype/docs/reference/ft2-incremental.html @@ -3,87 +3,140 @@ -FreeType-2.5.3 API Reference +FreeType-2.5.5 API Reference - - -
[Index][TOC]
-

FreeType-2.5.3 API Reference

+ +

FreeType-2.5.5 API Reference

-

-Incremental Loading -

+

Incremental Loading

Synopsis

- - - - - - -
FT_IncrementalFT_Incremental_GetGlyphMetricsFunc
FT_Incremental_MetricsRecFT_Incremental_FuncsRec
FT_Incremental_MetricsFT_Incremental_InterfaceRec
FT_Incremental_GetGlyphDataFuncFT_Incremental_Interface
FT_Incremental_FreeGlyphDataFuncFT_PARAM_TAG_INCREMENTAL


- -
-

This section contains various functions used to perform so-called ‘incremental’ glyph loading. This is a mode where all glyphs loaded from a given FT_Face are provided by the client application,

+ + + + + + +
FT_IncrementalFT_Incremental_GetGlyphMetricsFunc
FT_Incremental_MetricsRecFT_Incremental_FuncsRec
FT_Incremental_MetricsFT_Incremental_InterfaceRec
FT_Incremental_GetGlyphDataFuncFT_Incremental_Interface
FT_Incremental_FreeGlyphDataFuncFT_PARAM_TAG_INCREMENTAL
+ + +

This section contains various functions used to perform so-called ‘incremental’ glyph loading. This is a mode where all glyphs loaded from a given FT_Face are provided by the client application.

Apart from that, all other tables are loaded normally from the font file. This mode is useful when FreeType is used within another engine, e.g., a PostScript Imaging Processor.

To enable this mode, you must use FT_Open_Face, passing an FT_Parameter with the FT_PARAM_TAG_INCREMENTAL tag and an FT_Incremental_Interface value. See the comments for FT_Incremental_InterfaceRec for an example.

-

-
-

FT_Incremental

-
-Defined in FT_INCREMENTAL_H (ftincrem.h). -

-
 
+
+

FT_Incremental

+

Defined in FT_INCREMENTAL_H (ftincrem.h).

+
   typedef struct FT_IncrementalRec_*  FT_Incremental;
+
-

-

An opaque type describing a user-provided object used to implement ‘incremental’ glyph loading within FreeType. This is used to support embedded fonts in certain environments (e.g., PostScript interpreters), where the glyph data isn't in the font file, or must be overridden by different values.

-

-
note
+ +

note

It is up to client applications to create and implement FT_Incremental objects, as long as they provide implementations for the methods FT_Incremental_GetGlyphDataFunc, FT_Incremental_FreeGlyphDataFunc and FT_Incremental_GetGlyphMetricsFunc.

See the description of FT_Incremental_InterfaceRec to understand how to use incremental objects with FreeType.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Incremental_MetricsRec

-
-Defined in FT_INCREMENTAL_H (ftincrem.h). -

-
 
+
+ + +
+

FT_Incremental_MetricsRec

+

Defined in FT_INCREMENTAL_H (ftincrem.h).

+
   typedef struct  FT_Incremental_MetricsRec_
   {
     FT_Long  bearing_x;
@@ -92,193 +145,152 @@ Defined in FT_INCREMENTAL_H (ftincrem.h).
     FT_Long  advance_v;     /* since 2.3.12 */
 
   } FT_Incremental_MetricsRec;
+
-

-

A small structure used to contain the basic glyph metrics returned by the FT_Incremental_GetGlyphMetricsFunc method.

-

-
fields
-

- -
bearing_x + +

fields

+ + - - -
bearing_x

Left bearing, in font units.

bearing_y +
bearing_y

Top bearing, in font units.

advance +
advance

Horizontal component of glyph advance, in font units.

advance_v +
advance_v

Vertical component of glyph advance, in font units.

-
-
note
+ +

note

These correspond to horizontal or vertical metrics depending on the value of the ‘vertical’ argument to the function FT_Incremental_GetGlyphMetricsFunc.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Incremental_Metrics

-
-Defined in FT_INCREMENTAL_H (ftincrem.h). -

-
 
+
+ + +
+

FT_Incremental_Metrics

+

Defined in FT_INCREMENTAL_H (ftincrem.h).

+
    typedef struct FT_Incremental_MetricsRec_*  FT_Incremental_Metrics;
+
-

-

A handle to an FT_Incremental_MetricsRec structure.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Incremental_GetGlyphDataFunc

-
-Defined in FT_INCREMENTAL_H (ftincrem.h). -

-
 
+
+ + +
+

FT_Incremental_GetGlyphDataFunc

+

Defined in FT_INCREMENTAL_H (ftincrem.h).

+
   typedef FT_Error
   (*FT_Incremental_GetGlyphDataFunc)( FT_Incremental  incremental,
                                       FT_UInt         glyph_index,
                                       FT_Data*        adata );
+
-

-

A function called by FreeType to access a given glyph's data bytes during FT_Load_Glyph or FT_Load_Char if incremental loading is enabled.

Note that the format of the glyph's data bytes depends on the font file format. For TrueType, it must correspond to the raw bytes within the ‘glyf’ table. For PostScript formats, it must correspond to the unencrypted charstring bytes, without any ‘lenIV’ header. It is undefined for any other format.

-

-
input
-

- -
incremental + +

input

+ + -
incremental

Handle to an opaque FT_Incremental handle provided by the client application.

glyph_index +
glyph_index

Index of relevant glyph.

-
-
output
-

- -
adata + +

output

+ +
adata

A structure describing the returned glyph data bytes (which will be accessed as a read-only byte block).

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

If this function returns successfully the method FT_Incremental_FreeGlyphDataFunc will be called later to release the data bytes.

Nested calls to FT_Incremental_GetGlyphDataFunc can happen for compound glyphs.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Incremental_FreeGlyphDataFunc

-
-Defined in FT_INCREMENTAL_H (ftincrem.h). -

-
 
+
+ + +
+

FT_Incremental_FreeGlyphDataFunc

+

Defined in FT_INCREMENTAL_H (ftincrem.h).

+
   typedef void
   (*FT_Incremental_FreeGlyphDataFunc)( FT_Incremental  incremental,
                                        FT_Data*        data );
+
-

-

A function used to release the glyph data bytes returned by a successful call to FT_Incremental_GetGlyphDataFunc.

-

-
input
-

- -
incremental + +

input

+ + -
incremental

A handle to an opaque FT_Incremental handle provided by the client application.

data +
data

A structure describing the glyph data bytes (which will be accessed as a read-only byte block).

-
-
-
- - -
[Index][TOC]
- -
-

FT_Incremental_GetGlyphMetricsFunc

-
-Defined in FT_INCREMENTAL_H (ftincrem.h). -

-
 
+
+ + +
+

FT_Incremental_GetGlyphMetricsFunc

+

Defined in FT_INCREMENTAL_H (ftincrem.h).

+
   typedef FT_Error
   (*FT_Incremental_GetGlyphMetricsFunc)
                       ( FT_Incremental              incremental,
                         FT_UInt                     glyph_index,
                         FT_Bool                     vertical,
                         FT_Incremental_MetricsRec  *ametrics );
+
-

-

A function used to retrieve the basic metrics of a given glyph index before accessing its data. This is necessary because, in certain formats like TrueType, the metrics are stored in a different place from the glyph images proper.

-

-
input
-

- -
incremental + +

input

+ + - - -
incremental

A handle to an opaque FT_Incremental handle provided by the client application.

glyph_index +
glyph_index

Index of relevant glyph.

vertical +
vertical

If true, return vertical metrics.

ametrics +
ametrics

This parameter is used for both input and output. The original glyph metrics, if any, in font units. If metrics are not available all the values must be set to zero.

-
-
output
-

- -
ametrics + +

output

+ +
ametrics

The replacement glyph metrics in font units.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Incremental_FuncsRec

-
-Defined in FT_INCREMENTAL_H (ftincrem.h). -

-
 
+
+ + +
+

FT_Incremental_FuncsRec

+

Defined in FT_INCREMENTAL_H (ftincrem.h).

+
   typedef struct  FT_Incremental_FuncsRec_
   {
     FT_Incremental_GetGlyphDataFunc     get_glyph_data;
@@ -286,47 +298,38 @@ Defined in FT_INCREMENTAL_H (ftincrem.h).
     FT_Incremental_GetGlyphMetricsFunc  get_glyph_metrics;
 
   } FT_Incremental_FuncsRec;
+
-

-

A table of functions for accessing fonts that load data incrementally. Used in FT_Incremental_InterfaceRec.

-

-
fields
-

- -
get_glyph_data + +

fields

+ + - -
get_glyph_data

The function to get glyph data. Must not be null.

free_glyph_data +
free_glyph_data

The function to release glyph data. Must not be null.

get_glyph_metrics +
get_glyph_metrics

The function to get glyph metrics. May be null if the font does not provide overriding glyph metrics.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Incremental_InterfaceRec

-
-Defined in FT_INCREMENTAL_H (ftincrem.h). -

-
 
+
+ + +
+

FT_Incremental_InterfaceRec

+

Defined in FT_INCREMENTAL_H (ftincrem.h).

+
   typedef struct  FT_Incremental_InterfaceRec_
   {
     const FT_Incremental_FuncsRec*  funcs;
     FT_Incremental                  object;
 
   } FT_Incremental_InterfaceRec;
+
-

-

A structure to be used with FT_Open_Face to indicate that the user wants to support incremental glyph loading. You should use it with FT_PARAM_TAG_INCREMENTAL as in the following example:

   FT_Incremental_InterfaceRec  inc_int;
@@ -352,50 +355,33 @@ Defined in FT_INCREMENTAL_H (ftincrem.h).
   error = FT_Open_Face( library, &open_args, index, &face );
   ...
 
-

-
-
- - -
[Index][TOC]
- -
-

FT_Incremental_Interface

-
-Defined in FT_INCREMENTAL_H (ftincrem.h). -

-
 
+
+ + +
+

FT_Incremental_Interface

+

Defined in FT_INCREMENTAL_H (ftincrem.h).

+
   typedef FT_Incremental_InterfaceRec*   FT_Incremental_Interface;
+
-

-

A pointer to an FT_Incremental_InterfaceRec structure.

-

-
-
- - -
[Index][TOC]
- -
-

FT_PARAM_TAG_INCREMENTAL

-
-Defined in FT_INCREMENTAL_H (ftincrem.h). -

-
 
+
+ + +
+

FT_PARAM_TAG_INCREMENTAL

+

Defined in FT_INCREMENTAL_H (ftincrem.h).

+
 #define FT_PARAM_TAG_INCREMENTAL  FT_MAKE_TAG( 'i', 'n', 'c', 'r' )
+
-

-

A constant used as the tag of FT_Parameter structures to indicate an incremental loading object to be used by FreeType.

-

-
-
- - -
[Index][TOC]
+ +
+ diff --git a/freetype/docs/reference/ft2-index.html b/freetype/docs/reference/ft2-index.html index ebe3c2d21..2e16e94a0 100644 --- a/freetype/docs/reference/ft2-index.html +++ b/freetype/docs/reference/ft2-index.html @@ -3,303 +3,379 @@ -FreeType-2.5.3 API Reference +FreeType-2.5.5 API Reference - -
[TOC]
-

FreeType-2.5.3 API Reference

+ +

FreeType-2.5.5 API Reference

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
BDF_PROPERTY_TYPE_ATOMFT_LCD_FILTER_DEFAULTFT_Stroker_New
BDF_PROPERTY_TYPE_CARDINALFT_LCD_FILTER_HFT_Stroker_ParseOutline
BDF_PROPERTY_TYPE_INTEGERFT_LCD_FILTER_LEGACYFT_Stroker_Rewind
BDF_PROPERTY_TYPE_NONEFT_LCD_FILTER_LIGHTFT_Stroker_Set
BDF_PropertyFT_LCD_FILTER_NONEFT_StrokerBorder
BDF_PropertyRecFT_LcdFilterFT_SUBGLYPH_FLAG_2X2
CID_FaceDictFT_LIST_HFT_SUBGLYPH_FLAG_ARGS_ARE_WORDS
CID_FaceDictRecFT_LibraryFT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES
CID_FaceInfoFT_Library_SetLcdFilterFT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID
CID_FaceInfoRecFT_Library_SetLcdFilterWeightsFT_SUBGLYPH_FLAG_SCALE
CID_InfoFT_Library_VersionFT_SUBGLYPH_FLAG_USE_MY_METRICS
darkening-parametersFT_ListFT_SUBGLYPH_FLAG_XXX
default-scriptFT_List_AddFT_SUBGLYPH_FLAG_XY_SCALE
FREETYPE_MAJORFT_List_DestructorFT_SubGlyph
FREETYPE_MINORFT_List_FinalizeFT_SYNTHESIS_H
FREETYPE_PATCHFT_List_FindFT_SYSTEM_H
FREETYPE_XXXFT_List_InsertFT_Tag
FT_Activate_SizeFT_List_IterateFT_Tan
FT_ADVANCE_FLAG_FAST_ONLYFT_List_IteratorFT_TRIGONOMETRY_H
FT_ADVANCES_HFT_List_RemoveFT_TRUETYPE_DRIVER_H
FT_Add_Default_ModulesFT_List_UpFT_TRUETYPE_ENGINE_TYPE_NONE
FT_Add_ModuleFT_ListNodeFT_TRUETYPE_ENGINE_TYPE_PATENTED
FT_Alloc_FuncFT_ListNodeRecFT_TRUETYPE_ENGINE_TYPE_UNPATENTED
FT_ANGLE_2PIFT_ListRecFT_TRUETYPE_IDS_H
FT_ANGLE_PIFT_LOAD_COLORFT_TRUETYPE_TABLES_H
FT_ANGLE_PI2FT_LOAD_CROP_BITMAPFT_TRUETYPE_TAGS_H
FT_ANGLE_PI4FT_LOAD_DEFAULTFT_TrueTypeEngineType
FT_AngleFT_LOAD_FORCE_AUTOHINTFT_TrueTypeGX_Free
FT_Angle_DiffFT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTHFT_TrueTypeGX_Validate
FT_Atan2FT_LOAD_IGNORE_TRANSFORMFT_TYPE1_TABLES_H
FT_Attach_FileFT_LOAD_LINEAR_DESIGNFT_TYPES_H
FT_Attach_StreamFT_LOAD_MONOCHROMEFT_UFWord
FT_AUTOHINTER_HFT_LOAD_NO_AUTOHINTFT_UInt
FT_AUTOHINTER_SCRIPT_CJKFT_LOAD_NO_BITMAPFT_UInt16
FT_AUTOHINTER_SCRIPT_INDICFT_LOAD_NO_HINTINGFT_UInt32
FT_AUTOHINTER_SCRIPT_LATINFT_LOAD_NO_RECURSEFT_UInt64
FT_AUTOHINTER_SCRIPT_NONEFT_LOAD_NO_SCALEFT_ULong
FT_AUTOHINTER_SCRIPT_XXXFT_LOAD_PEDANTICFT_UNPATENTED_HINTING_H
FT_BBOX_HFT_LOAD_RENDERFT_UnitVector
FT_BBoxFT_LOAD_TARGET_LCDFT_UShort
FT_BDF_HFT_LOAD_TARGET_LCD_VFT_VALIDATE_APPLE
FT_BITMAP_HFT_LOAD_TARGET_LIGHTFT_VALIDATE_BASE
FT_BitmapFT_LOAD_TARGET_MODEFT_VALIDATE_bsln
FT_Bitmap_ConvertFT_LOAD_TARGET_MONOFT_VALIDATE_CKERN
FT_Bitmap_CopyFT_LOAD_TARGET_NORMALFT_VALIDATE_CKERNXXX
FT_Bitmap_DoneFT_LOAD_TARGET_XXXFT_VALIDATE_feat
FT_Bitmap_EmboldenFT_LOAD_VERTICAL_LAYOUTFT_VALIDATE_GDEF
FT_Bitmap_NewFT_LOAD_XXXFT_VALIDATE_GPOS
FT_Bitmap_SizeFT_Load_CharFT_VALIDATE_GSUB
FT_BitmapGlyphFT_Load_GlyphFT_VALIDATE_GX
FT_BitmapGlyphRecFT_Load_Sfnt_TableFT_VALIDATE_GX_LENGTH
FT_BoolFT_LongFT_VALIDATE_GXXXX
FT_ByteFT_LZW_HFT_VALIDATE_JSTF
FT_BytesFT_MAC_HFT_VALIDATE_just
FT_BZIP2_HFT_MAKE_TAGFT_VALIDATE_kern
FT_CACHE_CHARMAP_HFT_MatrixFT_VALIDATE_lcar
FT_CACHE_HFT_Matrix_InvertFT_VALIDATE_MATH
FT_CACHE_IMAGE_HFT_Matrix_MultiplyFT_VALIDATE_MS
FT_CACHE_SMALL_BITMAPS_HFT_MemoryFT_VALIDATE_mort
FT_CeilFixFT_MemoryRecFT_VALIDATE_morx
FT_CFF_DRIVER_HFT_MM_AxisFT_VALIDATE_OT
FT_CFF_HINTING_ADOBEFT_MM_VarFT_VALIDATE_OTXXX
FT_CFF_HINTING_FREETYPEFT_MODULE_ERRORS_HFT_VALIDATE_opbd
FT_CFF_HINTING_XXXFT_MODULE_HFT_VALIDATE_prop
FT_CharFT_ModuleFT_VALIDATE_trak
FT_CharMapFT_Module_ClassFT_Var_Axis
FT_CharMapRecFT_Module_ConstructorFT_Var_Named_Style
FT_CID_HFT_Module_DestructorFT_Vector
FT_ClassicKern_FreeFT_Module_RequesterFT_Vector_From_Polar
FT_ClassicKern_ValidateFT_MULTIPLE_MASTERS_HFT_Vector_Length
FT_CONFIG_CONFIG_HFT_MulDivFT_Vector_Polarize
FT_CONFIG_MODULES_HFT_MulFixFT_Vector_Rotate
FT_CONFIG_OPTIONS_HFT_Multi_MasterFT_Vector_Transform
FT_CONFIG_STANDARD_LIBRARY_HFT_New_FaceFT_Vector_Unit
FT_CosFT_New_Face_From_FONDFT_WINFONTS_H
FT_DataFT_New_Face_From_FSRefFT_WinFNT_Header
FT_DivFixFT_New_Face_From_FSSpecFT_WinFNT_HeaderRec
FT_Done_FaceFT_New_LibraryFT_WinFNT_ID_CP1250
FT_Done_FreeTypeFT_New_Memory_FaceFT_WinFNT_ID_CP1251
FT_Done_GlyphFT_New_SizeFT_WinFNT_ID_CP1252
FT_Done_LibraryFT_OffsetFT_WinFNT_ID_CP1253
FT_Done_SizeFT_OPEN_DRIVERFT_WinFNT_ID_CP1254
FT_DriverFT_OPEN_MEMORYFT_WinFNT_ID_CP1255
FT_ENC_TAGFT_OPEN_PARAMSFT_WinFNT_ID_CP1256
FT_ENCODING_ADOBE_CUSTOMFT_OPEN_PATHNAMEFT_WinFNT_ID_CP1257
FT_ENCODING_ADOBE_EXPERTFT_OPEN_STREAMFT_WinFNT_ID_CP1258
FT_ENCODING_ADOBE_LATIN_1FT_OPEN_XXXFT_WinFNT_ID_CP1361
FT_ENCODING_ADOBE_STANDARDFT_OPENTYPE_VALIDATE_HFT_WinFNT_ID_CP874
FT_ENCODING_APPLE_ROMANFT_Open_ArgsFT_WinFNT_ID_CP932
FT_ENCODING_BIG5FT_Open_FaceFT_WinFNT_ID_CP936
FT_ENCODING_GB2312FT_OpenType_FreeFT_WinFNT_ID_CP949
FT_ENCODING_JOHABFT_OpenType_ValidateFT_WinFNT_ID_CP950
FT_ENCODING_MS_BIG5FT_ORIENTATION_FILL_LEFTFT_WinFNT_ID_DEFAULT
FT_ENCODING_MS_GB2312FT_ORIENTATION_FILL_RIGHTFT_WinFNT_ID_MAC
FT_ENCODING_MS_JOHABFT_ORIENTATION_NONEFT_WinFNT_ID_OEM
FT_ENCODING_MS_SJISFT_ORIENTATION_POSTSCRIPTFT_WinFNT_ID_SYMBOL
FT_ENCODING_MS_SYMBOLFT_ORIENTATION_TRUETYPEFT_WinFNT_ID_XXX
FT_ENCODING_MS_WANSUNGFT_OrientationFT_XFREE86_H
FT_ENCODING_NONEFT_OUTLINE_EVEN_ODD_FILLFTC_CMapCache
FT_ENCODING_OLD_LATIN_2FT_OUTLINE_FLAGSFTC_CMapCache_Lookup
FT_ENCODING_SJISFT_OUTLINE_HFTC_CMapCache_New
FT_ENCODING_UNICODEFT_OUTLINE_HIGH_PRECISIONFTC_Face_Requester
FT_ENCODING_WANSUNGFT_OUTLINE_IGNORE_DROPOUTSFTC_FaceID
FT_EncodingFT_OUTLINE_INCLUDE_STUBSFTC_ImageCache
FT_ERRORS_HFT_OUTLINE_NONEFTC_ImageCache_Lookup
FT_ErrorFT_OUTLINE_OWNERFTC_ImageCache_LookupScaler
FT_F26Dot6FT_OUTLINE_REVERSE_FILLFTC_ImageCache_New
FT_F2Dot14FT_OUTLINE_SINGLE_PASSFTC_ImageType
FT_FACE_FLAG_CID_KEYEDFT_OUTLINE_SMART_DROPOUTSFTC_ImageTypeRec
FT_FACE_FLAG_COLORFT_OutlineFTC_Manager
FT_FACE_FLAG_EXTERNAL_STREAMFT_Outline_CheckFTC_Manager_Done
FT_FACE_FLAG_FAST_GLYPHSFT_Outline_ConicToFuncFTC_Manager_LookupFace
FT_FACE_FLAG_FIXED_SIZESFT_Outline_CopyFTC_Manager_LookupSize
FT_FACE_FLAG_FIXED_WIDTHFT_Outline_CubicToFuncFTC_Manager_New
FT_FACE_FLAG_GLYPH_NAMESFT_Outline_DecomposeFTC_Manager_RemoveFaceID
FT_FACE_FLAG_HINTERFT_Outline_DoneFTC_Manager_Reset
FT_FACE_FLAG_HORIZONTALFT_Outline_EmboldenFTC_Node
FT_FACE_FLAG_KERNINGFT_Outline_EmboldenXYFTC_Node_Unref
FT_FACE_FLAG_MULTIPLE_MASTERSFT_Outline_FuncsFTC_SBit
FT_FACE_FLAG_SCALABLEFT_Outline_Get_BBoxFTC_SBitCache
FT_FACE_FLAG_SFNTFT_Outline_Get_BitmapFTC_SBitCache_Lookup
FT_FACE_FLAG_TRICKYFT_Outline_Get_CBoxFTC_SBitCache_LookupScaler
FT_FACE_FLAG_VERTICALFT_Outline_Get_OrientationFTC_SBitCache_New
FT_FACE_FLAG_XXXFT_Outline_GetInsideBorderFTC_SBitRec
FT_FaceFT_Outline_GetOutsideBorderFTC_Scaler
FT_Face_CheckTrueTypePatentsFT_Outline_LineToFuncFTC_ScalerRec
FT_Face_GetCharsOfVariantFT_Outline_MoveToFuncfallback-script
FT_Face_GetCharVariantIndexFT_Outline_Newft_encoding_xxx
FT_Face_GetCharVariantIsDefaultFT_Outline_Renderft_glyph_bbox_gridfit
FT_Face_GetVariantSelectorsFT_Outline_Reverseft_glyph_bbox_pixels
FT_Face_GetVariantsOfCharFT_Outline_Transformft_glyph_bbox_subpixels
FT_Face_InternalFT_Outline_Translateft_glyph_bbox_truncate
FT_Face_SetUnpatentedHintingFT_OutlineGlyphft_glyph_bbox_unscaled
FT_FaceRecFT_OutlineGlyphRecft_glyph_bbox_xxx
FT_FixedFT_PARAM_TAG_IGNORE_PREFERRED_FAMILYft_glyph_format_bitmap
FT_FloorFixFT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILYft_glyph_format_composite
FT_FREETYPE_HFT_PARAM_TAG_INCREMENTALft_glyph_format_none
FT_Free_FuncFT_PARAM_TAG_UNPATENTED_HINTINGft_glyph_format_outline
FT_FSTYPE_BITMAP_EMBEDDING_ONLYFT_Palette_Modeft_glyph_format_plotter
FT_FSTYPE_EDITABLE_EMBEDDINGFT_Parameterft_glyph_format_xxx
FT_FSTYPE_INSTALLABLE_EMBEDDINGFT_PFR_Hft_kerning_default
FT_FSTYPE_NO_SUBSETTINGFT_PIXEL_MODE_BGRAft_kerning_unfitted
FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDINGFT_PIXEL_MODE_GRAYft_kerning_unscaled
FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDINGFT_PIXEL_MODE_GRAY2ft_open_driver
FT_FSTYPE_XXXFT_PIXEL_MODE_GRAY4ft_open_memory
FT_FWordFT_PIXEL_MODE_LCDft_open_params
FT_GASP_DO_GRAYFT_PIXEL_MODE_LCD_Vft_open_pathname
FT_GASP_DO_GRIDFITFT_PIXEL_MODE_MONOft_open_stream
FT_GASP_HFT_PIXEL_MODE_NONEft_outline_even_odd_fill
FT_GASP_NO_TABLEFT_Pixel_Modeft_outline_flags
FT_GASP_SYMMETRIC_GRIDFITFT_Pointerft_outline_high_precision
FT_GASP_SYMMETRIC_SMOOTHINGFT_Posft_outline_ignore_dropouts
FT_GASP_XXXFT_Prop_GlyphToScriptMapft_outline_none
FT_GenericFT_Prop_IncreaseXHeightft_outline_owner
FT_Generic_FinalizerFT_Property_Getft_outline_reverse_fill
FT_Get_AdvanceFT_Property_Setft_outline_single_pass
FT_Get_AdvancesFT_PropertyTypeft_palette_mode_rgb
FT_Get_BDF_Charset_IDFT_PtrDistft_palette_mode_rgba
FT_Get_BDF_PropertyFT_RASTER_FLAG_AAft_pixel_mode_grays
FT_Get_Char_IndexFT_RASTER_FLAG_CLIPft_pixel_mode_mono
FT_Get_Charmap_IndexFT_RASTER_FLAG_DEFAULTft_pixel_mode_none
FT_Get_CID_From_Glyph_IndexFT_RASTER_FLAG_DIRECTft_pixel_mode_pal2
FT_Get_CID_Is_Internally_CID_KeyedFT_RASTER_FLAG_XXXft_pixel_mode_pal4
FT_Get_CID_Registry_Ordering_SupplementFT_Rasterft_pixel_mode_xxx
FT_Get_CMap_FormatFT_Raster_BitSet_Funcft_render_mode_mono
FT_Get_CMap_Language_IDFT_Raster_BitTest_Funcft_render_mode_normal
FT_Get_First_CharFT_Raster_DoneFuncft_render_mode_xxx
FT_Get_FSType_FlagsFT_Raster_Funcsglyph-to-script-map
FT_Get_GaspFT_Raster_NewFunchinting-engine
FT_Get_GlyphFT_Raster_Paramsincrease-x-height
FT_Get_Glyph_NameFT_Raster_RenderFuncinterpreter-version
FT_Get_KerningFT_Raster_ResetFuncno-stem-darkening
FT_Get_MM_VarFT_Raster_SetModeFuncPS_Dict_Keys
FT_Get_ModuleFT_RENDER_HPS_FontInfo
FT_Get_Multi_MasterFT_RENDER_MODE_LCDPS_FontInfoRec
FT_Get_Name_IndexFT_RENDER_MODE_LCD_VPS_Private
FT_Get_Next_CharFT_RENDER_MODE_LIGHTPS_PrivateRec
FT_Get_PFR_AdvanceFT_RENDER_MODE_MONOT1_Blend_Flags
FT_Get_PFR_KerningFT_RENDER_MODE_NORMALT1_EncodingType
FT_Get_PFR_MetricsFT_Realloc_FuncT1_FontInfo
FT_Get_Postscript_NameFT_Reference_FaceT1_Private
FT_Get_PS_Font_InfoFT_Reference_LibraryTT_ADOBE_ID_CUSTOM
FT_Get_PS_Font_PrivateFT_Remove_ModuleTT_ADOBE_ID_EXPERT
FT_Get_PS_Font_ValueFT_Render_GlyphTT_ADOBE_ID_LATIN_1
FT_Get_RendererFT_Render_ModeTT_ADOBE_ID_STANDARD
FT_Get_Sfnt_NameFT_RendererTT_ADOBE_ID_XXX
FT_Get_Sfnt_Name_CountFT_Renderer_ClassTT_APPLE_ID_DEFAULT
FT_Get_Sfnt_TableFT_Request_SizeTT_APPLE_ID_ISO_10646
FT_Get_SubGlyph_InfoFT_RoundFixTT_APPLE_ID_UNICODE_1_1
FT_Get_Track_KerningFT_Select_CharmapTT_APPLE_ID_UNICODE_2_0
FT_Get_TrueType_Engine_TypeFT_Select_SizeTT_APPLE_ID_UNICODE_32
FT_Get_WinFNT_HeaderFT_Set_Char_SizeTT_APPLE_ID_VARIANT_SELECTOR
FT_Get_X11_Font_FormatFT_Set_CharmapTT_APPLE_ID_XXX
FT_GetFile_From_Mac_ATS_NameFT_Set_Debug_HookTT_Header
FT_GetFile_From_Mac_NameFT_Set_MM_Blend_CoordinatesTT_HoriHeader
FT_GetFilePath_From_Mac_ATS_NameFT_Set_MM_Design_CoordinatesTT_INTERPRETER_VERSION_35
FT_GLYPH_BBOX_GRIDFITFT_Set_Pixel_SizesTT_INTERPRETER_VERSION_38
FT_GLYPH_BBOX_PIXELSFT_Set_RendererTT_INTERPRETER_VERSION_XXX
FT_GLYPH_BBOX_SUBPIXELSFT_Set_TransformTT_ISO_ID_10646
FT_GLYPH_BBOX_TRUNCATEFT_Set_Var_Blend_CoordinatesTT_ISO_ID_7BIT_ASCII
FT_GLYPH_BBOX_UNSCALEDFT_Set_Var_Design_CoordinatesTT_ISO_ID_8859_1
FT_GLYPH_FORMAT_BITMAPFT_SFNT_NAMES_HTT_ISO_ID_XXX
FT_GLYPH_FORMAT_COMPOSITEFT_Sfnt_Table_InfoTT_MAC_ID_ARABIC
FT_GLYPH_FORMAT_NONEFT_Sfnt_TagTT_MAC_ID_ARMENIAN
FT_GLYPH_FORMAT_OUTLINEFT_SfntNameTT_MAC_ID_BENGALI
FT_GLYPH_FORMAT_PLOTTERFT_ShortTT_MAC_ID_BURMESE
FT_GLYPH_HFT_SIZE_REQUEST_TYPE_BBOXTT_MAC_ID_DEVANAGARI
FT_GlyphFT_SIZE_REQUEST_TYPE_CELLTT_MAC_ID_GEEZ
FT_Glyph_BBox_ModeFT_SIZE_REQUEST_TYPE_NOMINALTT_MAC_ID_GEORGIAN
FT_Glyph_CopyFT_SIZE_REQUEST_TYPE_REAL_DIMTT_MAC_ID_GREEK
FT_Glyph_FormatFT_SIZE_REQUEST_TYPE_SCALESTT_MAC_ID_GUJARATI
FT_Glyph_Get_CBoxFT_SIZES_HTT_MAC_ID_GURMUKHI
FT_Glyph_MetricsFT_SinTT_MAC_ID_HEBREW
FT_Glyph_StrokeFT_SizeTT_MAC_ID_JAPANESE
FT_Glyph_StrokeBorderFT_Size_InternalTT_MAC_ID_KANNADA
FT_Glyph_To_BitmapFT_Size_MetricsTT_MAC_ID_KHMER
FT_Glyph_TransformFT_Size_RequestTT_MAC_ID_KOREAN
FT_GlyphRecFT_Size_Request_TypeTT_MAC_ID_LAOTIAN
FT_GlyphSlotFT_Size_RequestRecTT_MAC_ID_MALAYALAM
FT_GlyphSlot_Own_BitmapFT_SizeRecTT_MAC_ID_MALDIVIAN
FT_GlyphSlotRecFT_Slot_InternalTT_MAC_ID_MONGOLIAN
FT_GX_VALIDATE_HFT_SpanTT_MAC_ID_ORIYA
FT_GZIP_HFT_SpanFuncTT_MAC_ID_ROMAN
FT_Gzip_UncompressFT_STROKER_BORDER_LEFTTT_MAC_ID_RSYMBOL
FT_HAS_COLORFT_STROKER_BORDER_RIGHTTT_MAC_ID_RUSSIAN
FT_HAS_FAST_GLYPHSFT_STROKER_HTT_MAC_ID_SIMPLIFIED_CHINESE
FT_HAS_FIXED_SIZESFT_STROKER_LINECAP_BUTTTT_MAC_ID_SINDHI
FT_HAS_GLYPH_NAMESFT_STROKER_LINECAP_ROUNDTT_MAC_ID_SINHALESE
FT_HAS_HORIZONTALFT_STROKER_LINECAP_SQUARETT_MAC_ID_SLAVIC
FT_HAS_KERNINGFT_STROKER_LINEJOIN_BEVELTT_MAC_ID_TAMIL
FT_HAS_MULTIPLE_MASTERSFT_STROKER_LINEJOIN_MITERTT_MAC_ID_TELUGU
FT_HAS_VERTICALFT_STROKER_LINEJOIN_MITER_FIXEDTT_MAC_ID_THAI
FT_Has_PS_Glyph_NamesFT_STROKER_LINEJOIN_MITER_VARIABLETT_MAC_ID_TIBETAN
FT_IMAGE_HFT_STROKER_LINEJOIN_ROUNDTT_MAC_ID_TRADITIONAL_CHINESE
FT_IMAGE_TAGFT_STYLE_FLAG_BOLDTT_MAC_ID_UNINTERP
FT_INCREMENTAL_HFT_STYLE_FLAG_ITALICTT_MAC_ID_VIETNAMESE
FT_IncrementalFT_STYLE_FLAG_XXXTT_MAC_ID_XXX
FT_Incremental_FreeGlyphDataFuncFT_StreamTT_MaxProfile
FT_Incremental_FuncsRecFT_Stream_CloseFuncTT_MS_ID_BIG_5
FT_Incremental_GetGlyphDataFuncFT_Stream_IoFuncTT_MS_ID_GB2312
FT_Incremental_GetGlyphMetricsFuncFT_Stream_OpenBzip2TT_MS_ID_JOHAB
FT_Incremental_InterfaceFT_Stream_OpenGzipTT_MS_ID_SJIS
FT_Incremental_InterfaceRecFT_Stream_OpenLZWTT_MS_ID_SYMBOL_CS
FT_Incremental_MetricsFT_StreamDescTT_MS_ID_UCS_4
FT_Incremental_MetricsRecFT_StreamRecTT_MS_ID_UNICODE_CS
FT_Init_FreeTypeFT_StringTT_MS_ID_WANSUNG
FT_IntFT_StrokerTT_MS_ID_XXX
FT_Int16FT_Stroker_BeginSubPathTT_OS2
FT_Int32FT_Stroker_ConicToTT_PCLT
FT_Int64FT_Stroker_CubicToTT_PLATFORM_ADOBE
FT_IS_CID_KEYEDFT_Stroker_DoneTT_PLATFORM_APPLE_UNICODE
FT_IS_FIXED_WIDTHFT_Stroker_EndSubPathTT_PLATFORM_CUSTOM
FT_IS_SCALABLEFT_Stroker_ExportTT_PLATFORM_ISO
FT_IS_SFNTFT_Stroker_ExportBorderTT_PLATFORM_MACINTOSH
FT_IS_TRICKYFT_Stroker_GetBorderCountsTT_PLATFORM_MICROSOFT
FT_KERNING_DEFAULTFT_Stroker_GetCountsTT_PLATFORM_XXX
FT_KERNING_UNFITTEDFT_Stroker_LineCapTT_Postscript
FT_KERNING_UNSCALEDFT_Stroker_LineJoinTT_VertHeader
FT_Kerning_ModeFT_Stroker_LineTo
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BDF_PROPERTY_TYPE_ATOMFT_Library_SetLcdFilterWeightsFT_SYSTEM_H
BDF_PROPERTY_TYPE_CARDINALFT_Library_VersionFT_Tag
BDF_PROPERTY_TYPE_INTEGERFT_ListFT_Tan
BDF_PROPERTY_TYPE_NONEFT_List_AddFT_TRIGONOMETRY_H
BDF_PropertyFT_List_DestructorFT_TRUETYPE_DRIVER_H
BDF_PropertyRecFT_List_FinalizeFT_TRUETYPE_ENGINE_TYPE_NONE
BDF_PropertyTypeFT_List_FindFT_TRUETYPE_ENGINE_TYPE_PATENTED
CID_FaceDictFT_List_InsertFT_TRUETYPE_ENGINE_TYPE_UNPATENTED
CID_FaceDictRecFT_List_IterateFT_TRUETYPE_IDS_H
CID_FaceInfoFT_List_IteratorFT_TRUETYPE_TABLES_H
CID_FaceInfoRecFT_List_RemoveFT_TRUETYPE_TAGS_H
CID_FontDictFT_List_UpFT_TrueTypeEngineType
CID_InfoFT_ListNodeFT_TrueTypeGX_Free
darkening-parametersFT_ListNodeRecFT_TrueTypeGX_Validate
default-scriptFT_ListRecFT_TYPE1_TABLES_H
FREETYPE_MAJORFT_LOAD_COLORFT_TYPES_H
FREETYPE_MINORFT_LOAD_CROP_BITMAPFT_UFWord
FREETYPE_PATCHFT_LOAD_DEFAULTFT_UInt
FREETYPE_XXXFT_LOAD_FORCE_AUTOHINTFT_UInt16
FT_Activate_SizeFT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTHFT_UInt32
FT_ADVANCE_FLAG_FAST_ONLYFT_LOAD_IGNORE_TRANSFORMFT_UInt64
FT_ADVANCES_HFT_LOAD_LINEAR_DESIGNFT_ULong
FT_Add_Default_ModulesFT_LOAD_MONOCHROMEFT_UNPATENTED_HINTING_H
FT_Add_ModuleFT_LOAD_NO_AUTOHINTFT_UnitVector
FT_Alloc_FuncFT_LOAD_NO_BITMAPFT_UShort
FT_ANGLE_2PIFT_LOAD_NO_HINTINGFT_VALIDATE_APPLE
FT_ANGLE_PIFT_LOAD_NO_RECURSEFT_VALIDATE_BASE
FT_ANGLE_PI2FT_LOAD_NO_SCALEFT_VALIDATE_bsln
FT_ANGLE_PI4FT_LOAD_PEDANTICFT_VALIDATE_CKERN
FT_AngleFT_LOAD_RENDERFT_VALIDATE_CKERNXXX
FT_Angle_DiffFT_LOAD_TARGET_LCDFT_VALIDATE_feat
FT_Atan2FT_LOAD_TARGET_LCD_VFT_VALIDATE_GDEF
FT_Attach_FileFT_LOAD_TARGET_LIGHTFT_VALIDATE_GPOS
FT_Attach_StreamFT_LOAD_TARGET_MODEFT_VALIDATE_GSUB
FT_AUTOHINTER_HFT_LOAD_TARGET_MONOFT_VALIDATE_GX
FT_AUTOHINTER_SCRIPT_CJKFT_LOAD_TARGET_NORMALFT_VALIDATE_GX_LENGTH
FT_AUTOHINTER_SCRIPT_INDICFT_LOAD_TARGET_XXXFT_VALIDATE_GXXXX
FT_AUTOHINTER_SCRIPT_LATINFT_LOAD_VERTICAL_LAYOUTFT_VALIDATE_JSTF
FT_AUTOHINTER_SCRIPT_NONEFT_LOAD_XXXFT_VALIDATE_just
FT_AUTOHINTER_SCRIPT_XXXFT_Load_CharFT_VALIDATE_kern
FT_BBOX_HFT_Load_GlyphFT_VALIDATE_lcar
FT_BBoxFT_Load_Sfnt_TableFT_VALIDATE_MATH
FT_BDF_HFT_LongFT_VALIDATE_MS
FT_BITMAP_HFT_LZW_HFT_VALIDATE_mort
FT_BitmapFT_MAC_HFT_VALIDATE_morx
FT_Bitmap_ConvertFT_MAKE_TAGFT_VALIDATE_OT
FT_Bitmap_CopyFT_MatrixFT_VALIDATE_OTXXX
FT_Bitmap_DoneFT_Matrix_InvertFT_VALIDATE_opbd
FT_Bitmap_EmboldenFT_Matrix_MultiplyFT_VALIDATE_prop
FT_Bitmap_NewFT_MemoryFT_VALIDATE_trak
FT_Bitmap_SizeFT_MemoryRecFT_Var_Axis
FT_BitmapGlyphFT_MM_AxisFT_Var_Named_Style
FT_BitmapGlyphRecFT_MM_VarFT_Vector
FT_BoolFT_MODULE_ERRORS_HFT_Vector_From_Polar
FT_ByteFT_MODULE_HFT_Vector_Length
FT_BytesFT_ModuleFT_Vector_Polarize
FT_BZIP2_HFT_Module_ClassFT_Vector_Rotate
FT_CACHE_CHARMAP_HFT_Module_ConstructorFT_Vector_Transform
FT_CACHE_HFT_Module_DestructorFT_Vector_Unit
FT_CACHE_IMAGE_HFT_Module_RequesterFT_WINFONTS_H
FT_CACHE_SMALL_BITMAPS_HFT_MULTIPLE_MASTERS_HFT_WinFNT_Header
FT_CeilFixFT_MulDivFT_WinFNT_HeaderRec
FT_CFF_DRIVER_HFT_MulFixFT_WinFNT_ID_CP1250
FT_CFF_HINTING_ADOBEFT_Multi_MasterFT_WinFNT_ID_CP1251
FT_CFF_HINTING_FREETYPEFT_New_FaceFT_WinFNT_ID_CP1252
FT_CFF_HINTING_XXXFT_New_Face_From_FONDFT_WinFNT_ID_CP1253
FT_CharFT_New_Face_From_FSRefFT_WinFNT_ID_CP1254
FT_CharMapFT_New_Face_From_FSSpecFT_WinFNT_ID_CP1255
FT_CharMapRecFT_New_LibraryFT_WinFNT_ID_CP1256
FT_CID_HFT_New_Memory_FaceFT_WinFNT_ID_CP1257
FT_ClassicKern_FreeFT_New_SizeFT_WinFNT_ID_CP1258
FT_ClassicKern_ValidateFT_OffsetFT_WinFNT_ID_CP1361
FT_CONFIG_CONFIG_HFT_OPEN_DRIVERFT_WinFNT_ID_CP874
FT_CONFIG_MODULES_HFT_OPEN_MEMORYFT_WinFNT_ID_CP932
FT_CONFIG_OPTIONS_HFT_OPEN_PARAMSFT_WinFNT_ID_CP936
FT_CONFIG_STANDARD_LIBRARY_HFT_OPEN_PATHNAMEFT_WinFNT_ID_CP949
FT_CosFT_OPEN_STREAMFT_WinFNT_ID_CP950
FT_DataFT_OPEN_XXXFT_WinFNT_ID_DEFAULT
FT_DivFixFT_OPENTYPE_VALIDATE_HFT_WinFNT_ID_MAC
FT_Done_FaceFT_Open_ArgsFT_WinFNT_ID_OEM
FT_Done_FreeTypeFT_Open_FaceFT_WinFNT_ID_SYMBOL
FT_Done_GlyphFT_OpenType_FreeFT_WinFNT_ID_XXX
FT_Done_LibraryFT_OpenType_ValidateFT_XFREE86_H
FT_Done_SizeFT_ORIENTATION_FILL_LEFTFTC_CMapCache
FT_DriverFT_ORIENTATION_FILL_RIGHTFTC_CMapCache_Lookup
FT_ENC_TAGFT_ORIENTATION_NONEFTC_CMapCache_New
FT_ENCODING_ADOBE_CUSTOMFT_ORIENTATION_POSTSCRIPTFTC_Face_Requester
FT_ENCODING_ADOBE_EXPERTFT_ORIENTATION_TRUETYPEFTC_FaceID
FT_ENCODING_ADOBE_LATIN_1FT_OrientationFTC_ImageCache
FT_ENCODING_ADOBE_STANDARDFT_OUTLINE_EVEN_ODD_FILLFTC_ImageCache_Lookup
FT_ENCODING_APPLE_ROMANFT_OUTLINE_HFTC_ImageCache_LookupScaler
FT_ENCODING_BIG5FT_OUTLINE_HIGH_PRECISIONFTC_ImageCache_New
FT_ENCODING_GB2312FT_OUTLINE_IGNORE_DROPOUTSFTC_ImageType
FT_ENCODING_JOHABFT_OUTLINE_INCLUDE_STUBSFTC_ImageTypeRec
FT_ENCODING_MS_BIG5FT_OUTLINE_NONEFTC_Manager
FT_ENCODING_MS_GB2312FT_OUTLINE_OWNERFTC_Manager_Done
FT_ENCODING_MS_JOHABFT_OUTLINE_REVERSE_FILLFTC_Manager_LookupFace
FT_ENCODING_MS_SJISFT_OUTLINE_SINGLE_PASSFTC_Manager_LookupSize
FT_ENCODING_MS_SYMBOLFT_OUTLINE_SMART_DROPOUTSFTC_Manager_New
FT_ENCODING_MS_WANSUNGFT_OUTLINE_XXXFTC_Manager_RemoveFaceID
FT_ENCODING_NONEFT_OutlineFTC_Manager_Reset
FT_ENCODING_OLD_LATIN_2FT_Outline_CheckFTC_Node
FT_ENCODING_SJISFT_Outline_ConicToFuncFTC_Node_Unref
FT_ENCODING_UNICODEFT_Outline_CopyFTC_SBit
FT_ENCODING_WANSUNGFT_Outline_CubicToFuncFTC_SBitCache
FT_EncodingFT_Outline_DecomposeFTC_SBitCache_Lookup
FT_ERRORS_HFT_Outline_DoneFTC_SBitCache_LookupScaler
FT_ErrorFT_Outline_EmboldenFTC_SBitCache_New
FT_F26Dot6FT_Outline_EmboldenXYFTC_SBitRec
FT_F2Dot14FT_Outline_FuncsFTC_Scaler
FT_FACE_FLAG_CID_KEYEDFT_Outline_Get_BBoxFTC_ScalerRec
FT_FACE_FLAG_COLORFT_Outline_Get_Bitmapfallback-script
FT_FACE_FLAG_EXTERNAL_STREAMFT_Outline_Get_CBoxglyph-to-script-map
FT_FACE_FLAG_FAST_GLYPHSFT_Outline_Get_Orientationhinting-engine
FT_FACE_FLAG_FIXED_SIZESFT_Outline_GetInsideBorderincrease-x-height
FT_FACE_FLAG_FIXED_WIDTHFT_Outline_GetOutsideBorderinterpreter-version
FT_FACE_FLAG_GLYPH_NAMESFT_Outline_LineToFuncno-stem-darkening
FT_FACE_FLAG_HINTERFT_Outline_MoveToFuncPS_DICT_BLUE_FUZZ
FT_FACE_FLAG_HORIZONTALFT_Outline_NewPS_DICT_BLUE_SCALE
FT_FACE_FLAG_KERNINGFT_Outline_RenderPS_DICT_BLUE_SHIFT
FT_FACE_FLAG_MULTIPLE_MASTERSFT_Outline_ReversePS_DICT_BLUE_VALUE
FT_FACE_FLAG_SCALABLEFT_Outline_TransformPS_DICT_CHAR_STRING
FT_FACE_FLAG_SFNTFT_Outline_TranslatePS_DICT_CHAR_STRING_KEY
FT_FACE_FLAG_TRICKYFT_OutlineGlyphPS_DICT_ENCODING_ENTRY
FT_FACE_FLAG_VERTICALFT_OutlineGlyphRecPS_DICT_ENCODING_TYPE
FT_FACE_FLAG_XXXFT_PARAM_TAG_IGNORE_PREFERRED_FAMILYPS_DICT_FAMILY_BLUE
FT_FaceFT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILYPS_DICT_FAMILY_NAME
FT_Face_CheckTrueTypePatentsFT_PARAM_TAG_INCREMENTALPS_DICT_FAMILY_OTHER_BLUE
FT_Face_GetCharsOfVariantFT_PARAM_TAG_UNPATENTED_HINTINGPS_DICT_FONT_BBOX
FT_Face_GetCharVariantIndexFT_ParameterPS_DICT_FONT_MATRIX
FT_Face_GetCharVariantIsDefaultFT_PFR_HPS_DICT_FONT_NAME
FT_Face_GetVariantSelectorsFT_PIXEL_MODE_BGRAPS_DICT_FONT_TYPE
FT_Face_GetVariantsOfCharFT_PIXEL_MODE_GRAYPS_DICT_FORCE_BOLD
FT_Face_InternalFT_PIXEL_MODE_GRAY2PS_DICT_FS_TYPE
FT_Face_SetUnpatentedHintingFT_PIXEL_MODE_GRAY4PS_DICT_FULL_NAME
FT_FaceRecFT_PIXEL_MODE_LCDPS_DICT_IS_FIXED_PITCH
FT_FixedFT_PIXEL_MODE_LCD_VPS_DICT_ITALIC_ANGLE
FT_FloorFixFT_PIXEL_MODE_MONOPS_DICT_LANGUAGE_GROUP
FT_FREETYPE_HFT_PIXEL_MODE_NONEPS_DICT_LEN_IV
FT_Free_FuncFT_Pixel_ModePS_DICT_MIN_FEATURE
FT_FSTYPE_BITMAP_EMBEDDING_ONLYFT_PointerPS_DICT_NOTICE
FT_FSTYPE_EDITABLE_EMBEDDINGFT_PosPS_DICT_NUM_BLUE_VALUES
FT_FSTYPE_INSTALLABLE_EMBEDDINGFT_Prop_GlyphToScriptMapPS_DICT_NUM_CHAR_STRINGS
FT_FSTYPE_NO_SUBSETTINGFT_Prop_IncreaseXHeightPS_DICT_NUM_FAMILY_BLUES
FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDINGFT_Property_GetPS_DICT_NUM_FAMILY_OTHER_BLUES
FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDINGFT_Property_SetPS_DICT_NUM_OTHER_BLUES
FT_FSTYPE_XXXFT_PtrDistPS_DICT_NUM_STEM_SNAP_H
FT_FWordFT_RASTER_FLAG_AAPS_DICT_NUM_STEM_SNAP_V
FT_GASP_DO_GRAYFT_RASTER_FLAG_CLIPPS_DICT_NUM_SUBRS
FT_GASP_DO_GRIDFITFT_RASTER_FLAG_DEFAULTPS_DICT_OTHER_BLUE
FT_GASP_HFT_RASTER_FLAG_DIRECTPS_DICT_PAINT_TYPE
FT_GASP_NO_TABLEFT_RASTER_FLAG_XXXPS_DICT_PASSWORD
FT_GASP_SYMMETRIC_GRIDFITFT_RasterPS_DICT_RND_STEM_UP
FT_GASP_SYMMETRIC_SMOOTHINGFT_Raster_BitSet_FuncPS_DICT_STD_HW
FT_GASP_XXXFT_Raster_BitTest_FuncPS_DICT_STD_VW
FT_GenericFT_Raster_DoneFuncPS_DICT_STEM_SNAP_H
FT_Generic_FinalizerFT_Raster_FuncsPS_DICT_STEM_SNAP_V
FT_Get_AdvanceFT_Raster_NewFuncPS_DICT_SUBR
FT_Get_AdvancesFT_Raster_ParamsPS_DICT_UNDERLINE_POSITION
FT_Get_BDF_Charset_IDFT_Raster_RenderFuncPS_DICT_UNDERLINE_THICKNESS
FT_Get_BDF_PropertyFT_Raster_ResetFuncPS_DICT_UNIQUE_ID
FT_Get_Char_IndexFT_Raster_SetModeFuncPS_DICT_VERSION
FT_Get_Charmap_IndexFT_RENDER_HPS_DICT_WEIGHT
FT_Get_CID_From_Glyph_IndexFT_RENDER_MODE_LCDPS_Dict_Keys
FT_Get_CID_Is_Internally_CID_KeyedFT_RENDER_MODE_LCD_VPS_FontInfo
FT_Get_CID_Registry_Ordering_SupplementFT_RENDER_MODE_LIGHTPS_FontInfoRec
FT_Get_CMap_FormatFT_RENDER_MODE_MONOPS_Private
FT_Get_CMap_Language_IDFT_RENDER_MODE_NORMALPS_PrivateRec
FT_Get_First_CharFT_Realloc_FuncT1_BLEND_BLUE_SCALE
FT_Get_FSType_FlagsFT_Reference_FaceT1_BLEND_BLUE_SHIFT
FT_Get_GaspFT_Reference_LibraryT1_BLEND_BLUE_VALUES
FT_Get_GlyphFT_Remove_ModuleT1_BLEND_FAMILY_BLUES
FT_Get_Glyph_NameFT_Render_GlyphT1_BLEND_FAMILY_OTHER_BLUES
FT_Get_KerningFT_Render_ModeT1_BLEND_FORCE_BOLD
FT_Get_MM_VarFT_RendererT1_BLEND_ITALIC_ANGLE
FT_Get_ModuleFT_Renderer_ClassT1_BLEND_OTHER_BLUES
FT_Get_Multi_MasterFT_Request_SizeT1_BLEND_STANDARD_HEIGHT
FT_Get_Name_IndexFT_RoundFixT1_BLEND_STANDARD_WIDTH
FT_Get_Next_CharFT_Select_CharmapT1_BLEND_STEM_SNAP_HEIGHTS
FT_Get_PFR_AdvanceFT_Select_SizeT1_BLEND_STEM_SNAP_WIDTHS
FT_Get_PFR_KerningFT_Set_Char_SizeT1_BLEND_UNDERLINE_POSITION
FT_Get_PFR_MetricsFT_Set_CharmapT1_BLEND_UNDERLINE_THICKNESS
FT_Get_Postscript_NameFT_Set_Debug_HookT1_Blend_Flags
FT_Get_PS_Font_InfoFT_Set_MM_Blend_CoordinatesT1_ENCODING_TYPE_ARRAY
FT_Get_PS_Font_PrivateFT_Set_MM_Design_CoordinatesT1_ENCODING_TYPE_EXPERT
FT_Get_PS_Font_ValueFT_Set_Pixel_SizesT1_ENCODING_TYPE_ISOLATIN1
FT_Get_RendererFT_Set_RendererT1_ENCODING_TYPE_NONE
FT_Get_Sfnt_NameFT_Set_TransformT1_ENCODING_TYPE_STANDARD
FT_Get_Sfnt_Name_CountFT_Set_Var_Blend_CoordinatesT1_EncodingType
FT_Get_Sfnt_TableFT_Set_Var_Design_CoordinatesT1_FontInfo
FT_Get_SubGlyph_InfoFT_SFNT_HEADT1_Private
FT_Get_Track_KerningFT_SFNT_HHEATT_ADOBE_ID_CUSTOM
FT_Get_TrueType_Engine_TypeFT_SFNT_MAXPTT_ADOBE_ID_EXPERT
FT_Get_WinFNT_HeaderFT_SFNT_NAMES_HTT_ADOBE_ID_LATIN_1
FT_Get_X11_Font_FormatFT_SFNT_OS2TT_ADOBE_ID_STANDARD
FT_GetFile_From_Mac_ATS_NameFT_SFNT_PCLTTT_ADOBE_ID_XXX
FT_GetFile_From_Mac_NameFT_SFNT_POSTTT_APPLE_ID_DEFAULT
FT_GetFilePath_From_Mac_ATS_NameFT_SFNT_VHEATT_APPLE_ID_ISO_10646
FT_GLYPH_BBOX_GRIDFITFT_Sfnt_Table_InfoTT_APPLE_ID_UNICODE_1_1
FT_GLYPH_BBOX_PIXELSFT_Sfnt_TagTT_APPLE_ID_UNICODE_2_0
FT_GLYPH_BBOX_SUBPIXELSFT_SfntNameTT_APPLE_ID_UNICODE_32
FT_GLYPH_BBOX_TRUNCATEFT_ShortTT_APPLE_ID_VARIANT_SELECTOR
FT_GLYPH_BBOX_UNSCALEDFT_SIZE_REQUEST_TYPE_BBOXTT_APPLE_ID_XXX
FT_GLYPH_FORMAT_BITMAPFT_SIZE_REQUEST_TYPE_CELLTT_Header
FT_GLYPH_FORMAT_COMPOSITEFT_SIZE_REQUEST_TYPE_NOMINALTT_HoriHeader
FT_GLYPH_FORMAT_NONEFT_SIZE_REQUEST_TYPE_REAL_DIMTT_INTERPRETER_VERSION_35
FT_GLYPH_FORMAT_OUTLINEFT_SIZE_REQUEST_TYPE_SCALESTT_INTERPRETER_VERSION_38
FT_GLYPH_FORMAT_PLOTTERFT_SIZES_HTT_INTERPRETER_VERSION_XXX
FT_GLYPH_HFT_SinTT_ISO_ID_10646
FT_GlyphFT_SizeTT_ISO_ID_7BIT_ASCII
FT_Glyph_BBox_ModeFT_Size_InternalTT_ISO_ID_8859_1
FT_Glyph_CopyFT_Size_MetricsTT_ISO_ID_XXX
FT_Glyph_FormatFT_Size_RequestTT_MAC_ID_ARABIC
FT_Glyph_Get_CBoxFT_Size_Request_TypeTT_MAC_ID_ARMENIAN
FT_Glyph_MetricsFT_Size_RequestRecTT_MAC_ID_BENGALI
FT_Glyph_StrokeFT_SizeRecTT_MAC_ID_BURMESE
FT_Glyph_StrokeBorderFT_Slot_InternalTT_MAC_ID_DEVANAGARI
FT_Glyph_To_BitmapFT_SpanTT_MAC_ID_GEEZ
FT_Glyph_TransformFT_SpanFuncTT_MAC_ID_GEORGIAN
FT_GlyphRecFT_STROKER_BORDER_LEFTTT_MAC_ID_GREEK
FT_GlyphSlotFT_STROKER_BORDER_RIGHTTT_MAC_ID_GUJARATI
FT_GlyphSlot_Own_BitmapFT_STROKER_HTT_MAC_ID_GURMUKHI
FT_GlyphSlotRecFT_STROKER_LINECAP_BUTTTT_MAC_ID_HEBREW
FT_GX_VALIDATE_HFT_STROKER_LINECAP_ROUNDTT_MAC_ID_JAPANESE
FT_GZIP_HFT_STROKER_LINECAP_SQUARETT_MAC_ID_KANNADA
FT_Gzip_UncompressFT_STROKER_LINEJOIN_BEVELTT_MAC_ID_KHMER
FT_HAS_COLORFT_STROKER_LINEJOIN_MITERTT_MAC_ID_KOREAN
FT_HAS_FAST_GLYPHSFT_STROKER_LINEJOIN_MITER_FIXEDTT_MAC_ID_LAOTIAN
FT_HAS_FIXED_SIZESFT_STROKER_LINEJOIN_MITER_VARIABLETT_MAC_ID_MALAYALAM
FT_HAS_GLYPH_NAMESFT_STROKER_LINEJOIN_ROUNDTT_MAC_ID_MALDIVIAN
FT_HAS_HORIZONTALFT_STYLE_FLAG_BOLDTT_MAC_ID_MONGOLIAN
FT_HAS_KERNINGFT_STYLE_FLAG_ITALICTT_MAC_ID_ORIYA
FT_HAS_MULTIPLE_MASTERSFT_STYLE_FLAG_XXXTT_MAC_ID_ROMAN
FT_HAS_VERTICALFT_StreamTT_MAC_ID_RSYMBOL
FT_Has_PS_Glyph_NamesFT_Stream_CloseFuncTT_MAC_ID_RUSSIAN
FT_IMAGE_HFT_Stream_IoFuncTT_MAC_ID_SIMPLIFIED_CHINESE
FT_IMAGE_TAGFT_Stream_OpenBzip2TT_MAC_ID_SINDHI
FT_INCREMENTAL_HFT_Stream_OpenGzipTT_MAC_ID_SINHALESE
FT_IncrementalFT_Stream_OpenLZWTT_MAC_ID_SLAVIC
FT_Incremental_FreeGlyphDataFuncFT_StreamDescTT_MAC_ID_TAMIL
FT_Incremental_FuncsRecFT_StreamRecTT_MAC_ID_TELUGU
FT_Incremental_GetGlyphDataFuncFT_StringTT_MAC_ID_THAI
FT_Incremental_GetGlyphMetricsFuncFT_StrokerTT_MAC_ID_TIBETAN
FT_Incremental_InterfaceFT_Stroker_BeginSubPathTT_MAC_ID_TRADITIONAL_CHINESE
FT_Incremental_InterfaceRecFT_Stroker_ConicToTT_MAC_ID_UNINTERP
FT_Incremental_MetricsFT_Stroker_CubicToTT_MAC_ID_VIETNAMESE
FT_Incremental_MetricsRecFT_Stroker_DoneTT_MAC_ID_XXX
FT_Init_FreeTypeFT_Stroker_EndSubPathTT_MaxProfile
FT_IntFT_Stroker_ExportTT_MS_ID_BIG_5
FT_Int16FT_Stroker_ExportBorderTT_MS_ID_GB2312
FT_Int32FT_Stroker_GetBorderCountsTT_MS_ID_JOHAB
FT_Int64FT_Stroker_GetCountsTT_MS_ID_SJIS
FT_IS_CID_KEYEDFT_Stroker_LineCapTT_MS_ID_SYMBOL_CS
FT_IS_FIXED_WIDTHFT_Stroker_LineJoinTT_MS_ID_UCS_4
FT_IS_SCALABLEFT_Stroker_LineToTT_MS_ID_UNICODE_CS
FT_IS_SFNTFT_Stroker_NewTT_MS_ID_WANSUNG
FT_IS_TRICKYFT_Stroker_ParseOutlineTT_MS_ID_XXX
FT_KERNING_DEFAULTFT_Stroker_RewindTT_OS2
FT_KERNING_UNFITTEDFT_Stroker_SetTT_PCLT
FT_KERNING_UNSCALEDFT_StrokerBorderTT_PLATFORM_ADOBE
FT_Kerning_ModeFT_SUBGLYPH_FLAG_2X2TT_PLATFORM_APPLE_UNICODE
FT_LCD_FILTER_DEFAULTFT_SUBGLYPH_FLAG_ARGS_ARE_WORDSTT_PLATFORM_CUSTOM
FT_LCD_FILTER_HFT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUESTT_PLATFORM_ISO
FT_LCD_FILTER_LEGACYFT_SUBGLYPH_FLAG_ROUND_XY_TO_GRIDTT_PLATFORM_MACINTOSH
FT_LCD_FILTER_LIGHTFT_SUBGLYPH_FLAG_SCALETT_PLATFORM_MICROSOFT
FT_LCD_FILTER_NONEFT_SUBGLYPH_FLAG_USE_MY_METRICSTT_PLATFORM_XXX
FT_LcdFilterFT_SUBGLYPH_FLAG_XXXTT_Postscript
FT_LIST_HFT_SUBGLYPH_FLAG_XY_SCALETT_VertHeader
FT_LibraryFT_SubGlyph
FT_Library_SetLcdFilterFT_SYNTHESIS_H

- -
[TOC]
+ -
generated on Thu Mar 6 23:13:44 2014
+
generated on Tue Dec 30 21:42:54 2014
diff --git a/freetype/docs/reference/ft2-lcd_filtering.html b/freetype/docs/reference/ft2-lcd_filtering.html index ca3df8d85..768fbf02c 100644 --- a/freetype/docs/reference/ft2-lcd_filtering.html +++ b/freetype/docs/reference/ft2-lcd_filtering.html @@ -3,53 +3,116 @@ -FreeType-2.5.3 API Reference +FreeType-2.5.5 API Reference - - -
[Index][TOC]
-

FreeType-2.5.3 API Reference

+ +

FreeType-2.5.5 API Reference

-

-LCD Filtering -

+

LCD Filtering

Synopsis

- - - -
FT_LcdFilterFT_Library_SetLcdFilterWeights
FT_Library_SetLcdFilter


+ + + +
FT_LcdFilterFT_Library_SetLcdFilterWeights
FT_Library_SetLcdFilter
+ -

The FT_Library_SetLcdFilter API can be used to specify a low-pass filter, which is then applied to LCD-optimized bitmaps generated through FT_Render_Glyph. This is useful to reduce color fringes that would occur with unfiltered rendering.

Note that no filter is active by default, and that this function is not implemented in default builds of the library. You need to #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING in your ‘ftoption.h’ file in order to activate it.

-

FreeType generates alpha coverage maps, which are linear by nature. For instance, the value 0x80 in bitmap representation means that (within numerical precision) 0x80/0xff fraction of that pixel is covered by the glyph's outline. The blending function for placing text over a background is

+

FreeType generates alpha coverage maps, which are linear by nature. For instance, the value 0x80 in bitmap representation means that (within numerical precision) 0x80/0xFF fraction of that pixel is covered by the glyph's outline. The blending function for placing text over a background is

   dst = alpha * src + (1 - alpha) * dst    ,
 
@@ -63,144 +126,120 @@ LCD Filtering [0x10, 0x50, 0x60, 0x50, 0x10] ,

where ‘a’ has value 0x30 and ‘b’ value 0x20. The weights in filter may have a sum larger than 0x100, which increases coloration slightly but also improves contrast.

-

-
-

FT_LcdFilter

-
-Defined in FT_LCD_FILTER_H (ftlcdfil.h). -

-
 
+
+

FT_LcdFilter

+

Defined in FT_LCD_FILTER_H (ftlcdfil.h).

+
   typedef enum  FT_LcdFilter_
   {
-    FT_LCD_FILTER_NONE    = 0,
-    FT_LCD_FILTER_DEFAULT = 1,
-    FT_LCD_FILTER_LIGHT   = 2,
-    FT_LCD_FILTER_LEGACY  = 16,
+    FT_LCD_FILTER_NONE    = 0,
+    FT_LCD_FILTER_DEFAULT = 1,
+    FT_LCD_FILTER_LIGHT   = 2,
+    FT_LCD_FILTER_LEGACY  = 16,
 
     FT_LCD_FILTER_MAX   /* do not remove */
 
   } FT_LcdFilter;
+
-

-

A list of values to identify various types of LCD filters.

-

-
values
-

- -
FT_LCD_FILTER_NONE + +

values

+ + - - -
FT_LCD_FILTER_NONE

Do not perform filtering. When used with subpixel rendering, this results in sometimes severe color fringes.

FT_LCD_FILTER_DEFAULT +
FT_LCD_FILTER_DEFAULT

The default filter reduces color fringes considerably, at the cost of a slight blurriness in the output.

FT_LCD_FILTER_LIGHT +
FT_LCD_FILTER_LIGHT

The light filter is a variant that produces less blurriness at the cost of slightly more color fringes than the default one. It might be better, depending on taste, your monitor, or your personal vision.

FT_LCD_FILTER_LEGACY +
FT_LCD_FILTER_LEGACY

This filter corresponds to the original libXft color filter. It provides high contrast output but can exhibit really bad color fringes if glyphs are not extremely well hinted to the pixel grid. In other words, it only works well if the TrueType bytecode interpreter is enabled and high-quality hinted fonts are used.

This filter is only provided for comparison purposes, and might be disabled or stay unsupported in the future.

-
-
since
+ +

since

2.3.0

-
-
-
- - -
[Index][TOC]
- -
-

FT_Library_SetLcdFilter

-
-Defined in FT_LCD_FILTER_H (ftlcdfil.h). -

-
 
+
+ + +
+

FT_Library_SetLcdFilter

+

Defined in FT_LCD_FILTER_H (ftlcdfil.h).

+
   FT_EXPORT( FT_Error )
   FT_Library_SetLcdFilter( FT_Library    library,
                            FT_LcdFilter  filter );
+
-

-

This function is used to apply color filtering to LCD decimated bitmaps, like the ones used when calling FT_Render_Glyph with FT_RENDER_MODE_LCD or FT_RENDER_MODE_LCD_V.

-

-
input
-

- -
library + +

input

+ + -
library

A handle to the target library instance.

filter +
filter

The filter type.

You can use FT_LCD_FILTER_NONE here to disable this feature, or FT_LCD_FILTER_DEFAULT to use a default filter that should work well on most LCD screens.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

This feature is always disabled by default. Clients must make an explicit call to this function with a ‘filter’ value other than FT_LCD_FILTER_NONE in order to enable it.

Due to PATENTS covering subpixel rendering, this function doesn't do anything except returning ‘FT_Err_Unimplemented_Feature’ if the configuration macro FT_CONFIG_OPTION_SUBPIXEL_RENDERING is not defined in your build of the library, which should correspond to all default builds of FreeType.

The filter affects glyph bitmaps rendered through FT_Render_Glyph, FT_Outline_Get_Bitmap, FT_Load_Glyph, and FT_Load_Char.

It does not affect the output of FT_Outline_Render and FT_Outline_Get_Bitmap.

If this feature is activated, the dimensions of LCD glyph bitmaps are either larger or taller than the dimensions of the corresponding outline with regards to the pixel grid. For example, for FT_RENDER_MODE_LCD, the filter adds up to 3 pixels to the left, and up to 3 pixels to the right.

The bitmap offset values are adjusted correctly, so clients shouldn't need to modify their layout and glyph positioning code when enabling the filter.

-
-
since
+ +

since

2.3.0

-
-
-
- - -
[Index][TOC]
- -
-

FT_Library_SetLcdFilterWeights

-
-Defined in FT_LCD_FILTER_H (ftlcdfil.h). -

-
 
+
+ + +
+

FT_Library_SetLcdFilterWeights

+

Defined in FT_LCD_FILTER_H (ftlcdfil.h).

+
   FT_EXPORT( FT_Error )
   FT_Library_SetLcdFilterWeights( FT_Library      library,
                                   unsigned char  *weights );
+
-

-

Use this function to override the filter weights selected by FT_Library_SetLcdFilter. By default, FreeType uses the quintuple (0x00, 0x55, 0x56, 0x55, 0x00) for FT_LCD_FILTER_LIGHT, and (0x10, 0x40, 0x70, 0x40, 0x10) for FT_LCD_FILTER_DEFAULT and FT_LCD_FILTER_LEGACY.

-

-
input
-

- -
library + +

input

+ + -
library

A handle to the target library instance.

weights +
weights

A pointer to an array; the function copies the first five bytes and uses them to specify the filter weights.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

Due to PATENTS covering subpixel rendering, this function doesn't do anything except returning ‘FT_Err_Unimplemented_Feature’ if the configuration macro FT_CONFIG_OPTION_SUBPIXEL_RENDERING is not defined in your build of the library, which should correspond to all default builds of FreeType.

This function must be called after FT_Library_SetLcdFilter to have any effect.

-
-
since
+ +

since

2.4.0

-
-
-
- - -
[Index][TOC]
+ +
+ diff --git a/freetype/docs/reference/ft2-list_processing.html b/freetype/docs/reference/ft2-list_processing.html index cf8ad8cbe..2617e504f 100644 --- a/freetype/docs/reference/ft2-list_processing.html +++ b/freetype/docs/reference/ft2-list_processing.html @@ -3,135 +3,173 @@ -FreeType-2.5.3 API Reference +FreeType-2.5.5 API Reference - - -
[Index][TOC]
-

FreeType-2.5.3 API Reference

+ +

FreeType-2.5.5 API Reference

-

-List Processing -

+

List Processing

Synopsis

- - - - - - -
FT_ListFT_List_AddFT_List_Iterate
FT_ListNodeFT_List_InsertFT_List_Destructor
FT_ListRecFT_List_RemoveFT_List_Finalize
FT_ListNodeRecFT_List_Up
FT_List_FindFT_List_Iterator


- -
+ + + + + + +
FT_ListFT_List_AddFT_List_Iterate
FT_ListNodeFT_List_InsertFT_List_Iterator
FT_ListRecFT_List_FindFT_List_Finalize
FT_ListNodeRecFT_List_RemoveFT_List_Destructor
 FT_List_Up
+ +

This section contains various definitions related to list processing using doubly-linked nodes.

-

-
-

FT_List

-
-Defined in FT_TYPES_H (fttypes.h). -

-
 
+
+

FT_List

+

Defined in FT_TYPES_H (fttypes.h).

+
   typedef struct FT_ListRec_*  FT_List;
+
-

-

A handle to a list record (see FT_ListRec).

-

-
-
- - -
[Index][TOC]
- -
-

FT_ListNode

-
-Defined in FT_TYPES_H (fttypes.h). -

-
 
+
+ + +
+

FT_ListNode

+

Defined in FT_TYPES_H (fttypes.h).

+
   typedef struct FT_ListNodeRec_*  FT_ListNode;
+
-

-

Many elements and objects in FreeType are listed through an FT_List record (see FT_ListRec). As its name suggests, an FT_ListNode is a handle to a single list element.

-

-
-
- - -
[Index][TOC]
- -
-

FT_ListRec

-
-Defined in FT_TYPES_H (fttypes.h). -

-
 
+
+ + +
+

FT_ListRec

+

Defined in FT_TYPES_H (fttypes.h).

+
   typedef struct  FT_ListRec_
   {
     FT_ListNode  head;
     FT_ListNode  tail;
 
   } FT_ListRec;
+
-

-

A structure used to hold a simple doubly-linked list. These are used in many parts of FreeType.

-

-
fields
-

- -
head + +

fields

+ + -

The head (first element) of doubly-linked list.

tail +
tail

The tail (last element) of doubly-linked list.

-
-
-
- - -
[Index][TOC]
- -
-

FT_ListNodeRec

-
-Defined in FT_TYPES_H (fttypes.h). -

-
 
+
+ + +
+

FT_ListNodeRec

+

Defined in FT_TYPES_H (fttypes.h).

+
   typedef struct  FT_ListNodeRec_
   {
     FT_ListNode  prev;
@@ -139,348 +177,270 @@ Defined in FT_TYPES_H (fttypes.h).
     void*        data;
 
   } FT_ListNodeRec;
+
-

-

A structure used to hold a single list element.

-

-
fields
-

- -
prev + +

fields

+ + - -
prev

The previous element in the list. NULL if first.

next +
next

The next element in the list. NULL if last.

data +
data

A typeless pointer to the listed object.

-
-
-
- - -
[Index][TOC]
- -
-

FT_List_Find

-
-Defined in FT_LIST_H (ftlist.h). -

-
 
-  FT_EXPORT( FT_ListNode )
-  FT_List_Find( FT_List  list,
-                void*    data );
-
-

-
-

Find the list node for a given listed object.

-

-
input
-

- - - -
list -

A pointer to the parent list.

-
data -

The address of the listed object.

-
-
-
return
-

List node. NULL if it wasn't found.

-
-
-
- - -
[Index][TOC]
- -
-

FT_List_Add

-
-Defined in FT_LIST_H (ftlist.h). -

-
+
+ +
+

FT_List_Add

+

Defined in FT_LIST_H (ftlist.h).

+
   FT_EXPORT( void )
   FT_List_Add( FT_List      list,
                FT_ListNode  node );
+
-

-

Append an element to the end of a list.

-

-
inout
-

- -
list + +

inout

+ + -
list

A pointer to the parent list.

node +
node

The node to append.

-
-
-
- - -
[Index][TOC]
- -
-

FT_List_Insert

-
-Defined in FT_LIST_H (ftlist.h). -

-
 
+
+ + +
+

FT_List_Insert

+

Defined in FT_LIST_H (ftlist.h).

+
   FT_EXPORT( void )
   FT_List_Insert( FT_List      list,
                   FT_ListNode  node );
+
-

-

Insert an element at the head of a list.

-

-
inout
-

- -
list + +

inout

+ + -
list

A pointer to parent list.

node +
node

The node to insert.

-
-
-
- - -
[Index][TOC]
- -
-

FT_List_Remove

-
-Defined in FT_LIST_H (ftlist.h). -

-
 
+
+ + +
+

FT_List_Find

+

Defined in FT_LIST_H (ftlist.h).

+
+  FT_EXPORT( FT_ListNode )
+  FT_List_Find( FT_List  list,
+                void*    data );
+
+ +

Find the list node for a given listed object.

+ +

input

+ + + +
list +

A pointer to the parent list.

+
data +

The address of the listed object.

+
+ +

return

+

List node. NULL if it wasn't found.

+ +
+
+ +
+

FT_List_Remove

+

Defined in FT_LIST_H (ftlist.h).

+
   FT_EXPORT( void )
   FT_List_Remove( FT_List      list,
                   FT_ListNode  node );
+
-

-

Remove a node from a list. This function doesn't check whether the node is in the list!

-

-
input
-

- -
node + +

input

+ +
node

The node to remove.

-
-
inout
-

- -
list + +

inout

+ +
list

A pointer to the parent list.

-
-
-
- - -
[Index][TOC]
- -
-

FT_List_Up

-
-Defined in FT_LIST_H (ftlist.h). -

-
 
+
+ + +
+

FT_List_Up

+

Defined in FT_LIST_H (ftlist.h).

+
   FT_EXPORT( void )
   FT_List_Up( FT_List      list,
               FT_ListNode  node );
+
-

-

Move a node to the head/top of a list. Used to maintain LRU lists.

-

-
inout
-

- -
list + +

inout

+ + -
list

A pointer to the parent list.

node +
node

The node to move.

-
-
-
- - -
[Index][TOC]
- -
-

FT_List_Iterator

-
-Defined in FT_LIST_H (ftlist.h). -

-
 
-  typedef FT_Error
-  (*FT_List_Iterator)( FT_ListNode  node,
-                       void*        user );
-
-

-
-

An FT_List iterator function that is called during a list parse by FT_List_Iterate.

-

-
input
-

- - - -
node -

The current iteration list node.

-
user -

A typeless pointer passed to FT_List_Iterate. Can be used to point to the iteration's state.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_List_Iterate

-
-Defined in FT_LIST_H (ftlist.h). -

-
+
+ +
+

FT_List_Iterate

+

Defined in FT_LIST_H (ftlist.h).

+
   FT_EXPORT( FT_Error )
   FT_List_Iterate( FT_List           list,
                    FT_List_Iterator  iterator,
                    void*             user );
+
-

-

Parse a list and calls a given iterator function on each element. Note that parsing is stopped as soon as one of the iterator calls returns a non-zero value.

-

-
input
-

- -
list + +

input

+ + - -
list

A handle to the list.

iterator +
iterator

An iterator function, called on each node of the list.

user +
user

A user-supplied field that is passed as the second argument to the iterator.

-
-
return
+ +

return

The result (a FreeType error code) of the last iterator call.

-
-
-
- - -
[Index][TOC]
- -
-

FT_List_Destructor

-
-Defined in FT_LIST_H (ftlist.h). -

-
 
-  typedef void
-  (*FT_List_Destructor)( FT_Memory  memory,
-                         void*      data,
-                         void*      user );
+
+ -

-
-

An FT_List iterator function that is called during a list finalization by FT_List_Finalize to destroy all elements in a given list.

-

-
input
-

- - -
system -

The current system object.

-
data -

The current object to destroy.

+
+

FT_List_Iterator

+

Defined in FT_LIST_H (ftlist.h).

+
+  typedef FT_Error
+  (*FT_List_Iterator)( FT_ListNode  node,
+                       void*        user );
+
+ +

An FT_List iterator function that is called during a list parse by FT_List_Iterate.

+ +

input

+ + -
node +

The current iteration list node.

user -

A typeless pointer passed to FT_List_Iterate. It can be used to point to the iteration's state.

+
user +

A typeless pointer passed to FT_List_Iterate. Can be used to point to the iteration's state.

-
-
-
- - -
[Index][TOC]
- -
-

FT_List_Finalize

-
-Defined in FT_LIST_H (ftlist.h). -

-
 
+
+ + +
+

FT_List_Finalize

+

Defined in FT_LIST_H (ftlist.h).

+
   FT_EXPORT( void )
   FT_List_Finalize( FT_List             list,
                     FT_List_Destructor  destroy,
                     FT_Memory           memory,
                     void*               user );
+
-

-

Destroy all elements in the list as well as the list itself.

-

-
input
-

- -
list + +

input

+ + - - -
list

A handle to the list.

destroy -

A list destructor that will be applied to each element of the list.

+
destroy +

A list destructor that will be applied to each element of the list. Set this to NULL if not needed.

memory +
memory

The current memory object that handles deallocation.

user +
user

A user-supplied field that is passed as the last argument to the destructor.

-
-
note
+ +

note

This function expects that all nodes added by FT_List_Add or FT_List_Insert have been dynamically allocated.

-
-
-
- - -
[Index][TOC]
+ +
+ + +
+

FT_List_Destructor

+

Defined in FT_LIST_H (ftlist.h).

+
+  typedef void
+  (*FT_List_Destructor)( FT_Memory  memory,
+                         void*      data,
+                         void*      user );
+
+ +

An FT_List iterator function that is called during a list finalization by FT_List_Finalize to destroy all elements in a given list.

+ +

input

+ + + + +
system +

The current system object.

+
data +

The current object to destroy.

+
user +

A typeless pointer passed to FT_List_Iterate. It can be used to point to the iteration's state.

+
+ +
+
diff --git a/freetype/docs/reference/ft2-lzw.html b/freetype/docs/reference/ft2-lzw.html index b45f8d814..5f500e643 100644 --- a/freetype/docs/reference/ft2-lzw.html +++ b/freetype/docs/reference/ft2-lzw.html @@ -3,92 +3,147 @@ -FreeType-2.5.3 API Reference +FreeType-2.5.5 API Reference - - -
[Index][TOC]
-

FreeType-2.5.3 API Reference

+ +

FreeType-2.5.5 API Reference

-

-LZW Streams -

+

LZW Streams

Synopsis

- - -
FT_Stream_OpenLZW


+ + +
FT_Stream_OpenLZW
+ -

This section contains the declaration of LZW-specific functions.

-

-
-

FT_Stream_OpenLZW

-
-Defined in FT_LZW_H (ftlzw.h). -

-
 
+
+

FT_Stream_OpenLZW

+

Defined in FT_LZW_H (ftlzw.h).

+
   FT_EXPORT( FT_Error )
   FT_Stream_OpenLZW( FT_Stream  stream,
                      FT_Stream  source );
+
-

-

Open a new stream to parse LZW-compressed font files. This is mainly used to support the compressed ‘*.pcf.Z’ fonts that come with XFree86.

-

-
input
-

- -
stream + +

input

+ + -
stream

The target embedding stream.

source +
source

The source stream.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

The source stream must be opened before calling this function.

Calling the internal function ‘FT_Stream_Close’ on the new stream will not call ‘FT_Stream_Close’ on the source stream. None of the stream objects will be released to the heap.

The stream implementation is very basic and resets the decompression process each time seeking backwards is needed within the stream

In certain builds of the library, LZW compression recognition is automatically handled when calling FT_New_Face or FT_Open_Face. This means that if no font driver is capable of handling the raw compressed file, the library will try to open a LZW stream from it and re-open the face with it.

This function may return ‘FT_Err_Unimplemented_Feature’ if your build of FreeType was not compiled with LZW support.

-
-
-
- - -
[Index][TOC]
+ +
+ diff --git a/freetype/docs/reference/ft2-mac_specific.html b/freetype/docs/reference/ft2-mac_specific.html index 7b62628e2..ca66af63b 100644 --- a/freetype/docs/reference/ft2-mac_specific.html +++ b/freetype/docs/reference/ft2-mac_specific.html @@ -3,366 +3,372 @@ -FreeType-2.5.3 API Reference +FreeType-2.5.5 API Reference - - -
[Index][TOC]
-

FreeType-2.5.3 API Reference

+ +

FreeType-2.5.5 API Reference

-

-Mac Specific Interface -

+

Mac Specific Interface

Synopsis

- - - - -
FT_New_Face_From_FONDFT_GetFilePath_From_Mac_ATS_Name
FT_GetFile_From_Mac_NameFT_New_Face_From_FSSpec
FT_GetFile_From_Mac_ATS_NameFT_New_Face_From_FSRef


+ + + + +
FT_New_Face_From_FONDFT_GetFilePath_From_Mac_ATS_Name
FT_GetFile_From_Mac_NameFT_New_Face_From_FSSpec
FT_GetFile_From_Mac_ATS_NameFT_New_Face_From_FSRef
+ -

The following definitions are only available if FreeType is compiled on a Macintosh.

-

-
-

FT_New_Face_From_FOND

-
-Defined in FT_MAC_H (ftmac.h). -

-
 
+
+

FT_New_Face_From_FOND

+

Defined in FT_MAC_H (ftmac.h).

+
   FT_EXPORT( FT_Error )
   FT_New_Face_From_FOND( FT_Library  library,
                          Handle      fond,
                          FT_Long     face_index,
                          FT_Face    *aface )
                        FT_DEPRECATED_ATTRIBUTE;
+
-

-

Create a new face object from a FOND resource.

-

-
inout
-

- -
library + +

inout

+ +
library

A handle to the library resource.

-
-
input
-

- -
fond + +

input

+ + -
fond

A FOND resource.

face_index +
face_index

Only supported for the -1 ‘sanity check’ special case.

-
-
output
-

- -
aface + +

output

+ +
aface

A handle to a new face object.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
notes
+ +

notes

This function can be used to create FT_Face objects from fonts that are installed in the system as follows.

   fond = GetResource( 'FOND', fontName );                          
   error = FT_New_Face_From_FOND( library, fond, 0, &face );        
 
-
-
-
- - -
[Index][TOC]
- -
-

FT_GetFile_From_Mac_Name

-
-Defined in FT_MAC_H (ftmac.h). -

-
 
+
+ + +
+

FT_GetFile_From_Mac_Name

+

Defined in FT_MAC_H (ftmac.h).

+
   FT_EXPORT( FT_Error )
   FT_GetFile_From_Mac_Name( const char*  fontName,
                             FSSpec*      pathSpec,
                             FT_Long*     face_index )
                           FT_DEPRECATED_ATTRIBUTE;
+
-

-

Return an FSSpec for the disk file containing the named font.

-

-
input
-

- -
fontName + +

input

+ +
fontName

Mac OS name of the font (e.g., Times New Roman Bold).

-
-
output
-

- -
pathSpec + +

output

+ + -
pathSpec

FSSpec to the file. For passing to FT_New_Face_From_FSSpec.

face_index +
face_index

Index of the face. For passing to FT_New_Face_From_FSSpec.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_GetFile_From_Mac_ATS_Name

-
-Defined in FT_MAC_H (ftmac.h). -

-
 
+
+ + +
+

FT_GetFile_From_Mac_ATS_Name

+

Defined in FT_MAC_H (ftmac.h).

+
   FT_EXPORT( FT_Error )
   FT_GetFile_From_Mac_ATS_Name( const char*  fontName,
                                 FSSpec*      pathSpec,
                                 FT_Long*     face_index )
                               FT_DEPRECATED_ATTRIBUTE;
+
-

-

Return an FSSpec for the disk file containing the named font.

-

-
input
-

- -
fontName + +

input

+ +
fontName

Mac OS name of the font in ATS framework.

-
-
output
-

- -
pathSpec + +

output

+ + -
pathSpec

FSSpec to the file. For passing to FT_New_Face_From_FSSpec.

face_index +
face_index

Index of the face. For passing to FT_New_Face_From_FSSpec.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_GetFilePath_From_Mac_ATS_Name

-
-Defined in FT_MAC_H (ftmac.h). -

-
 
+
+ + +
+

FT_GetFilePath_From_Mac_ATS_Name

+

Defined in FT_MAC_H (ftmac.h).

+
   FT_EXPORT( FT_Error )
   FT_GetFilePath_From_Mac_ATS_Name( const char*  fontName,
                                     UInt8*       path,
                                     UInt32       maxPathSize,
                                     FT_Long*     face_index )
                                   FT_DEPRECATED_ATTRIBUTE;
+
-

-

Return a pathname of the disk file and face index for given font name that is handled by ATS framework.

-

-
input
-

- -
fontName + +

input

+ +
fontName

Mac OS name of the font in ATS framework.

-
-
output
-

- -
path + +

output

+ + - -
path

Buffer to store pathname of the file. For passing to FT_New_Face. The client must allocate this buffer before calling this function.

maxPathSize +
maxPathSize

Lengths of the buffer ‘path’ that client allocated.

face_index +
face_index

Index of the face. For passing to FT_New_Face.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_New_Face_From_FSSpec

-
-Defined in FT_MAC_H (ftmac.h). -

-
 
+
+ + +
+

FT_New_Face_From_FSSpec

+

Defined in FT_MAC_H (ftmac.h).

+
   FT_EXPORT( FT_Error )
   FT_New_Face_From_FSSpec( FT_Library     library,
                            const FSSpec  *spec,
                            FT_Long        face_index,
                            FT_Face       *aface )
                          FT_DEPRECATED_ATTRIBUTE;
+
-

-

Create a new face object from a given resource and typeface index using an FSSpec to the font file.

-

-
inout
-

- -
library + +

inout

+ +
library

A handle to the library resource.

-
-
input
-

- -
spec + +

input

+ + -
spec

FSSpec to the font file.

face_index +
face_index

The index of the face within the resource. The first face has index 0.

-
-
output
-

- -
aface + +

output

+ +
aface

A handle to a new face object.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

FT_New_Face_From_FSSpec is identical to FT_New_Face except it accepts an FSSpec instead of a path.

-
-
-
- - -
[Index][TOC]
- -
-

FT_New_Face_From_FSRef

-
-Defined in FT_MAC_H (ftmac.h). -

-
 
+
+ + +
+

FT_New_Face_From_FSRef

+

Defined in FT_MAC_H (ftmac.h).

+
   FT_EXPORT( FT_Error )
   FT_New_Face_From_FSRef( FT_Library    library,
                           const FSRef  *ref,
                           FT_Long       face_index,
                           FT_Face      *aface )
                         FT_DEPRECATED_ATTRIBUTE;
+
-

-

Create a new face object from a given resource and typeface index using an FSRef to the font file.

-

-
inout
-

- -
library + +

inout

+ +
library

A handle to the library resource.

-
-
input
-

- -
spec + +

input

+ + -
spec

FSRef to the font file.

face_index +
face_index

The index of the face within the resource. The first face has index 0.

-
-
output
-

- -
aface + +

output

+ +
aface

A handle to a new face object.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

FT_New_Face_From_FSRef is identical to FT_New_Face except it accepts an FSRef instead of a path.

-
-
-
- - -
[Index][TOC]
+ +
+ diff --git a/freetype/docs/reference/ft2-module_management.html b/freetype/docs/reference/ft2-module_management.html index 754a648bf..a836715e2 100644 --- a/freetype/docs/reference/ft2-module_management.html +++ b/freetype/docs/reference/ft2-module_management.html @@ -3,54 +3,120 @@ -FreeType-2.5.3 API Reference +FreeType-2.5.5 API Reference - - -
[Index][TOC]
-

FreeType-2.5.3 API Reference

+ +

FreeType-2.5.5 API Reference

-

-Module Management -

+

Module Management

Synopsis

- - - - - - - -
FT_Module_ConstructorFT_Remove_ModuleFT_Set_Debug_Hook
FT_Module_DestructorFT_Property_SetFT_Add_Default_Modules
FT_Module_RequesterFT_Property_GetFT_Renderer_Class
FT_Module_ClassFT_Reference_LibraryFT_Get_Renderer
FT_Add_ModuleFT_New_LibraryFT_Set_Renderer
FT_Get_ModuleFT_Done_Library


- -
+ + + + + + + + + + +
FT_ModuleFT_Add_Default_ModulesFT_Renderer
FT_Module_Constructor FT_Renderer_Class
FT_Module_DestructorFT_Property_Set 
FT_Module_RequesterFT_Property_GetFT_Get_Renderer
FT_Module_Class FT_Set_Renderer
 FT_New_Library 
FT_Add_ModuleFT_Done_LibraryFT_Set_Debug_Hook
FT_Get_ModuleFT_Reference_Library 
FT_Remove_Module FT_Driver
+ +

The definitions below are used to manage modules within FreeType. Modules can be added, upgraded, and removed at runtime. Additionally, some module properties can be controlled also.

Here is a list of possible values of the ‘module_name’ field in the FT_Module_Class structure.

@@ -74,102 +140,87 @@ Module Management
   winfonts                                                         
 

Note that the FreeType Cache sub-system is not a FreeType module.

-

-
-

FT_Module_Constructor

-
-Defined in FT_MODULE_H (ftmodapi.h). -

-
 
+
+

FT_Module

+

Defined in FT_FREETYPE_H (freetype.h).

+
+  typedef struct FT_ModuleRec_*  FT_Module;
+
+ +

A handle to a given FreeType module object. Each module can be a font driver, a renderer, or anything else that provides services to the formers.

+ +
+
+ +
+

FT_Module_Constructor

+

Defined in FT_MODULE_H (ftmodapi.h).

+
   typedef FT_Error
-  (*FT_Module_Constructor)( FT_Module  module );
+  (*FT_Module_Constructor)( FT_Module  module );
+
-

-

A function used to initialize (not create) a new module object.

-

-
input
-

- -
module + +

input

+ +
module

The module to initialize.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Module_Destructor

-
-Defined in FT_MODULE_H (ftmodapi.h). -

-
 
+
+ + +
+

FT_Module_Destructor

+

Defined in FT_MODULE_H (ftmodapi.h).

+
   typedef void
-  (*FT_Module_Destructor)( FT_Module  module );
+  (*FT_Module_Destructor)( FT_Module  module );
+
-

-

A function used to finalize (not destroy) a given module object.

-

-
input
-

- -
module + +

input

+ +
module

The module to finalize.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Module_Requester

-
-Defined in FT_MODULE_H (ftmodapi.h). -

-
 
+
+ + +
+

FT_Module_Requester

+

Defined in FT_MODULE_H (ftmodapi.h).

+
   typedef FT_Module_Interface
-  (*FT_Module_Requester)( FT_Module    module,
+  (*FT_Module_Requester)( FT_Module    module,
                           const char*  name );
+
-

-

A function used to query a given module for a specific interface.

-

-
input
-

- -
module + +

input

+ + -
module

The module to be searched.

name +
name

The name of the interface in the module.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Module_Class

-
-Defined in FT_MODULE_H (ftmodapi.h). -

-
 
+
+ + +
+

FT_Module_Class

+

Defined in FT_MODULE_H (ftmodapi.h).

+
   typedef struct  FT_Module_Class_
   {
     FT_ULong               module_flags;
@@ -185,209 +236,193 @@ Defined in FT_MODULE_H (ftmodapi.h).
     FT_Module_Requester    get_interface;
 
   } FT_Module_Class;
+
-

-

The module class descriptor.

-

-
fields
-

- -
module_flags + +

fields

+ + - - - - - - -
module_flags

Bit flags describing the module.

module_size +
module_size

The size of one module object/instance in bytes.

module_name +
module_name

The name of the module.

module_version +
module_version

The version, as a 16.16 fixed number (major.minor).

module_requires +
module_requires

The version of FreeType this module requires, as a 16.16 fixed number (major.minor). Starts at version 2.0, i.e., 0x20000.

module_init +
module_init

The initializing function.

module_done +
module_done

The finalizing function.

get_interface +
get_interface

The interface requesting function.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Add_Module

-
-Defined in FT_MODULE_H (ftmodapi.h). -

-
 
+
+ + +
+

FT_Add_Module

+

Defined in FT_MODULE_H (ftmodapi.h).

+
   FT_EXPORT( FT_Error )
   FT_Add_Module( FT_Library              library,
                  const FT_Module_Class*  clazz );
+
-

-

Add a new module to a given library instance.

-

-
inout
-

- -
library + +

inout

+ +
library

A handle to the library object.

-
-
input
-

- -
clazz + +

input

+ +
clazz

A pointer to class descriptor for the module.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

An error will be returned if a module already exists by that name, or if the module requires a version of FreeType that is too great.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_Module

-
-Defined in FT_MODULE_H (ftmodapi.h). -

-
-
-  FT_EXPORT( FT_Module )
+
+
+ + +
+

FT_Get_Module

+

Defined in FT_MODULE_H (ftmodapi.h).

+
+  FT_EXPORT( FT_Module )
   FT_Get_Module( FT_Library   library,
                  const char*  module_name );
+
-

-

Find a module by its name.

-

-
input
-

- -
library + +

input

+ + -
library

A handle to the library object.

module_name +
module_name

The module's name (as an ASCII string).

-
-
return
+ +

return

A module handle. 0 if none was found.

-
-
note
+ +

note

FreeType's internal modules aren't documented very well, and you should look up the source code for details.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Remove_Module

-
-Defined in FT_MODULE_H (ftmodapi.h). -

-
 
+
+ + +
+

FT_Remove_Module

+

Defined in FT_MODULE_H (ftmodapi.h).

+
   FT_EXPORT( FT_Error )
   FT_Remove_Module( FT_Library  library,
-                    FT_Module   module );
+                    FT_Module   module );
+
-

-

Remove a given module from a library instance.

-

-
inout
-

- -
library + +

inout

+ +
library

A handle to a library object.

-
-
input
-

- -
module + +

input

+ +
module

A handle to a module object.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

The module object is destroyed by the function in case of success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Property_Set

-
-Defined in FT_MODULE_H (ftmodapi.h). -

-
 
+
+ + +
+

FT_Add_Default_Modules

+

Defined in FT_MODULE_H (ftmodapi.h).

+
+  FT_EXPORT( void )
+  FT_Add_Default_Modules( FT_Library  library );
+
+ +

Add the set of default drivers to a given library object. This is only useful when you create a library object with FT_New_Library (usually to plug a custom memory manager).

+ +

inout

+ + +
library +

A handle to a new library object.

+
+ +
+
+ +
+

FT_Property_Set

+

Defined in FT_MODULE_H (ftmodapi.h).

+
   FT_EXPORT( FT_Error )
   FT_Property_Set( FT_Library        library,
                    const FT_String*  module_name,
                    const FT_String*  property_name,
                    const void*       value );
+
-

-

Set a property for a given module.

-

-
input
-

- -
library + +

input

+ + - - -
library

A handle to the library the module is part of.

module_name +
module_name

The module name.

property_name +
property_name

The property name. Properties are described in the ‘Synopsis’ subsection of the module's documentation.

Note that only a few modules have properties.

value +
value

A generic pointer to a variable or structure that gives the new value of the property. The exact definition of ‘value’ is dependent on the property; see the ‘Synopsis’ subsection of the module's documentation.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

If ‘module_name’ isn't a valid module name, or ‘property_name’ doesn't specify a valid property, or if ‘value’ doesn't represent a valid value for the given property, an error is returned.

The following example sets property ‘bar’ (a simple integer) in module ‘foo’ to value 1.

@@ -399,59 +434,50 @@ Defined in FT_MODULE_H (ftmodapi.h).
 

Note that the FreeType Cache sub-system doesn't recognize module property changes. To avoid glyph lookup confusion within the cache you should call FTC_Manager_Reset to completely flush the cache if a module property gets changed after FTC_Manager_New has been called.

It is not possible to set properties of the FreeType Cache sub-system itself with FT_Property_Set; use ?FTC_Property_Set? instead.

-
-
since
+ +

since

2.4.11

-
-
-
- - -
[Index][TOC]
- -
-

FT_Property_Get

-
-Defined in FT_MODULE_H (ftmodapi.h). -

-
 
+
+ + +
+

FT_Property_Get

+

Defined in FT_MODULE_H (ftmodapi.h).

+
   FT_EXPORT( FT_Error )
   FT_Property_Get( FT_Library        library,
                    const FT_String*  module_name,
                    const FT_String*  property_name,
                    void*             value );
+
-

-

Get a module's property value.

-

-
input
-

- -
library + +

input

+ + - -
library

A handle to the library the module is part of.

module_name +
module_name

The module name.

property_name +
property_name

The property name. Properties are described in the ‘Synopsis’ subsection of the module's documentation.

-
-
inout
-

- -
value + +

inout

+ +
value

A generic pointer to a variable or structure that gives the value of the property. The exact definition of ‘value’ is dependent on the property; see the ‘Synopsis’ subsection of the module's documentation.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

If ‘module_name’ isn't a valid module name, or ‘property_name’ doesn't specify a valid property, or if ‘value’ doesn't represent a valid value for the given property, an error is returned.

The following example gets property ‘baz’ (a range) in module ‘foo’.

@@ -468,210 +494,118 @@ Defined in FT_MODULE_H (ftmodapi.h).
   FT_Property_Get( library, "foo", "baz", &baz );
 

It is not possible to retrieve properties of the FreeType Cache sub-system with FT_Property_Get; use ?FTC_Property_Get? instead.

-
-
since
-

2.4.11

-
-
-
- - -
[Index][TOC]
- -
-

FT_Reference_Library

-
-Defined in FT_MODULE_H (ftmodapi.h). -

-
 
-  FT_EXPORT( FT_Error )
-  FT_Reference_Library( FT_Library  library );
+

since

+

2.4.11

-

-
-

A counter gets initialized to 1 at the time an FT_Library structure is created. This function increments the counter. FT_Done_Library then only destroys a library if the counter is 1, otherwise it simply decrements the counter.

-

This function helps in managing life-cycles of structures that reference FT_Library objects.

-

-
input
-

- - -
library -

A handle to a target library object.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
since
-

2.4.2

-
-
-
- - -
[Index][TOC]
- -
-

FT_New_Library

-
-Defined in FT_MODULE_H (ftmodapi.h). -

-
+
+ +
+

FT_New_Library

+

Defined in FT_MODULE_H (ftmodapi.h).

+
   FT_EXPORT( FT_Error )
   FT_New_Library( FT_Memory    memory,
                   FT_Library  *alibrary );
+
-

-

This function is used to create a new FreeType library instance from a given memory object. It is thus possible to use libraries with distinct memory allocators within the same program.

Normally, you would call this function (followed by a call to FT_Add_Default_Modules or a series of calls to FT_Add_Module) instead of FT_Init_FreeType to initialize the FreeType library.

Don't use FT_Done_FreeType but FT_Done_Library to destroy a library instance.

-

-
input
-

- -
memory + +

input

+ +
memory

A handle to the original memory object.

-
-
output
-

- -
alibrary + +

output

+ +
alibrary

A pointer to handle of a new library object.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

See the discussion of reference counters in the description of FT_Reference_Library.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Done_Library

-
-Defined in FT_MODULE_H (ftmodapi.h). -

-
 
+
+ + +
+

FT_Done_Library

+

Defined in FT_MODULE_H (ftmodapi.h).

+
   FT_EXPORT( FT_Error )
   FT_Done_Library( FT_Library  library );
+
-

-

Discard a given library object. This closes all drivers and discards all resource objects.

-

-
input
-

- -
library + +

input

+ +
library

A handle to the target library.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

See the discussion of reference counters in the description of FT_Reference_Library.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Set_Debug_Hook

-
-Defined in FT_MODULE_H (ftmodapi.h). -

-
 
-  FT_EXPORT( void )
-  FT_Set_Debug_Hook( FT_Library         library,
-                     FT_UInt            hook_index,
-                     FT_DebugHook_Func  debug_hook );
+
+ -

-
-

Set a debug hook function for debugging the interpreter of a font format.

-

-
inout
-

- - -
library -

A handle to the library object.

-
-
-
input
-

- - - -
hook_index -

The index of the debug hook. You should use the values defined in ‘ftobjs.h’, e.g., ‘FT_DEBUG_HOOK_TRUETYPE’.

-
debug_hook -

The function used to debug the interpreter.

-
-
-
note
-

Currently, four debug hook slots are available, but only two (for the TrueType and the Type 1 interpreter) are defined.

-

Since the internal headers of FreeType are no longer installed, the symbol ‘FT_DEBUG_HOOK_TRUETYPE’ isn't available publicly. This is a bug and will be fixed in a forthcoming release.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Add_Default_Modules

-
-Defined in FT_MODULE_H (ftmodapi.h). -

-
+
+

FT_Reference_Library

+

Defined in FT_MODULE_H (ftmodapi.h).

+
+  FT_EXPORT( FT_Error )
+  FT_Reference_Library( FT_Library  library );
+
- FT_EXPORT( void ) - FT_Add_Default_Modules( FT_Library library ); +

A counter gets initialized to 1 at the time an FT_Library structure is created. This function increments the counter. FT_Done_Library then only destroys a library if the counter is 1, otherwise it simply decrements the counter.

+

This function helps in managing life-cycles of structures that reference FT_Library objects.

-

-
-

Add the set of default drivers to a given library object. This is only useful when you create a library object with FT_New_Library (usually to plug a custom memory manager).

-

-
inout
-

- -
library -

A handle to a new library object.

+

input

+ +
library +

A handle to a target library object.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Renderer_Class

-
-Defined in FT_RENDER_H (ftrender.h). -

-
 
+

return

+

FreeType error code. 0 means success.

+ +

since

+

2.4.2

+ +
+ + +
+

FT_Renderer

+

Defined in FT_FREETYPE_H (freetype.h).

+
+  typedef struct FT_RendererRec_*  FT_Renderer;
+
+ +

A handle to a given FreeType renderer. A renderer is a special module in charge of converting a glyph image to a bitmap, when necessary. Each renderer supports a given glyph image format, and one or more target surface depths.

+ +
+
+ +
+

FT_Renderer_Class

+

Defined in FT_RENDER_H (ftrender.h).

+
   typedef struct  FT_Renderer_Class_
   {
     FT_Module_Class            root;
@@ -686,134 +620,160 @@ Defined in FT_RENDER_H (ftrender.h).
     FT_Raster_Funcs*           raster_class;
 
   } FT_Renderer_Class;
+
-

-

The renderer module class descriptor.

-

-
fields
-

- -
root + +

fields

+ + - - - - - -
root

The root FT_Module_Class fields.

glyph_format +
glyph_format

The glyph image format this renderer handles.

render_glyph +
render_glyph

A method used to render the image that is in a given glyph slot into a bitmap.

transform_glyph +
transform_glyph

A method used to transform the image that is in a given glyph slot.

get_glyph_cbox +
get_glyph_cbox

A method used to access the glyph's cbox.

set_mode +
set_mode

A method used to pass additional parameters.

raster_class +
raster_class

For FT_GLYPH_FORMAT_OUTLINE renderers only. This is a pointer to its raster's class.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_Renderer

-
-Defined in FT_RENDER_H (ftrender.h). -

-
-
-  FT_EXPORT( FT_Renderer )
+
+
+ + +
+

FT_Get_Renderer

+

Defined in FT_RENDER_H (ftrender.h).

+
+  FT_EXPORT( FT_Renderer )
   FT_Get_Renderer( FT_Library       library,
                    FT_Glyph_Format  format );
+
-

-

Retrieve the current renderer for a given glyph format.

-

-
input
-

- -
library + +

input

+ + -
library

A handle to the library object.

format +
format

The glyph format.

-
-
return
+ +

return

A renderer handle. 0 if none found.

-
-
note
+ +

note

An error will be returned if a module already exists by that name, or if the module requires a version of FreeType that is too great.

To add a new renderer, simply use FT_Add_Module. To retrieve a renderer by its name, use FT_Get_Module.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Set_Renderer

-
-Defined in FT_RENDER_H (ftrender.h). -

-
 
+
+ + +
+

FT_Set_Renderer

+

Defined in FT_RENDER_H (ftrender.h).

+
   FT_EXPORT( FT_Error )
   FT_Set_Renderer( FT_Library     library,
-                   FT_Renderer    renderer,
+                   FT_Renderer    renderer,
                    FT_UInt        num_params,
                    FT_Parameter*  parameters );
+
-

-

Set the current renderer to use, and set additional mode.

-

-
inout
-

- -
library + +

inout

+ +
library

A handle to the library object.

-
-
input
-

- -
renderer + +

input

+ + - -
renderer

A handle to the renderer object.

num_params +
num_params

The number of additional parameters.

parameters +
parameters

Additional parameters.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

In case of success, the renderer will be used to convert glyph images in the renderer's known format into bitmaps.

This doesn't change the current renderer for other formats.

Currently, only the B/W renderer, if compiled with FT_RASTER_OPTION_ANTI_ALIASING (providing a 5-levels anti-aliasing mode; this option must be set directly in ‘ftraster.c’ and is undefined by default) accepts a single tag ‘pal5’ to set its gray palette as a character string with 5 elements. Consequently, the third and fourth argument are zero normally.

-
-
-
- - -
[Index][TOC]
+ +
+ + +
+

FT_Set_Debug_Hook

+

Defined in FT_MODULE_H (ftmodapi.h).

+
+  FT_EXPORT( void )
+  FT_Set_Debug_Hook( FT_Library         library,
+                     FT_UInt            hook_index,
+                     FT_DebugHook_Func  debug_hook );
+
+ +

Set a debug hook function for debugging the interpreter of a font format.

+ +

inout

+ + +
library +

A handle to the library object.

+
+ +

input

+ + + +
hook_index +

The index of the debug hook. You should use the values defined in ‘ftobjs.h’, e.g., ‘FT_DEBUG_HOOK_TRUETYPE’.

+
debug_hook +

The function used to debug the interpreter.

+
+ +

note

+

Currently, four debug hook slots are available, but only two (for the TrueType and the Type 1 interpreter) are defined.

+

Since the internal headers of FreeType are no longer installed, the symbol ‘FT_DEBUG_HOOK_TRUETYPE’ isn't available publicly. This is a bug and will be fixed in a forthcoming release.

+ +
+
+ +
+

FT_Driver

+

Defined in FT_FREETYPE_H (freetype.h).

+
+  typedef struct FT_DriverRec_*  FT_Driver;
+
+ +

A handle to a given FreeType font driver object. Each font driver is a special module capable of creating faces from font files.

+ +
+
diff --git a/freetype/docs/reference/ft2-multiple_masters.html b/freetype/docs/reference/ft2-multiple_masters.html index efb630aa7..ba5115b81 100644 --- a/freetype/docs/reference/ft2-multiple_masters.html +++ b/freetype/docs/reference/ft2-multiple_masters.html @@ -3,64 +3,124 @@ -FreeType-2.5.3 API Reference +FreeType-2.5.5 API Reference - - -
[Index][TOC]
-

FreeType-2.5.3 API Reference

+ +

FreeType-2.5.5 API Reference

-

-Multiple Masters -

+

Multiple Masters

Synopsis

- - - - - - - -
FT_MM_AxisFT_Get_MM_Var
FT_Multi_MasterFT_Set_MM_Design_Coordinates
FT_Var_AxisFT_Set_Var_Design_Coordinates
FT_Var_Named_StyleFT_Set_MM_Blend_Coordinates
FT_MM_VarFT_Set_Var_Blend_Coordinates
FT_Get_Multi_Master


- -
+ + + + + + + +
FT_MM_AxisFT_Get_MM_Var
FT_Multi_MasterFT_Set_MM_Design_Coordinates
FT_Var_AxisFT_Set_Var_Design_Coordinates
FT_Var_Named_StyleFT_Set_MM_Blend_Coordinates
FT_MM_VarFT_Set_Var_Blend_Coordinates
FT_Get_Multi_Master
+ +

The following types and functions are used to manage Multiple Master fonts, i.e., the selection of specific design instances by setting design axis coordinates.

George Williams has extended this interface to make it work with both Type 1 Multiple Masters fonts and GX distortable (var) fonts. Some of these routines only work with MM fonts, others will work with both types. They are similar enough that a consistent interface makes sense.

-

-
-

FT_MM_Axis

-
-Defined in FT_MULTIPLE_MASTERS_H (ftmm.h). -

-
 
+
+

FT_MM_Axis

+

Defined in FT_MULTIPLE_MASTERS_H (ftmm.h).

+
   typedef struct  FT_MM_Axis_
   {
     FT_String*  name;
@@ -68,39 +128,31 @@ Defined in FT_MULTIPLE_MASTERS_H (ftmm.h).
     FT_Long     maximum;
 
   } FT_MM_Axis;
+
-

-

A simple structure used to model a given axis in design space for Multiple Masters fonts.

This structure can't be used for GX var fonts.

-

-
fields
-

- -
name + +

fields

+ + - -
name

The axis's name.

minimum +
minimum

The axis's minimum design coordinate.

maximum +
maximum

The axis's maximum design coordinate.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Multi_Master

-
-Defined in FT_MULTIPLE_MASTERS_H (ftmm.h). -

-
 
+
+ + +
+

FT_Multi_Master

+

Defined in FT_MULTIPLE_MASTERS_H (ftmm.h).

+
   typedef struct  FT_Multi_Master_
   {
     FT_UInt     num_axis;
@@ -108,39 +160,31 @@ Defined in FT_MULTIPLE_MASTERS_H (ftmm.h).
     FT_MM_Axis  axis[T1_MAX_MM_AXIS];
 
   } FT_Multi_Master;
+
-

-

A structure used to model the axes and space of a Multiple Masters font.

This structure can't be used for GX var fonts.

-

-
fields
-

- -
num_axis + +

fields

+ + - -
num_axis

Number of axes. Cannot exceed 4.

num_designs +
num_designs

Number of designs; should be normally 2^num_axis even though the Type 1 specification strangely allows for intermediate designs to be present. This number cannot exceed 16.

axis +
axis

A table of axis descriptors.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Var_Axis

-
-Defined in FT_MULTIPLE_MASTERS_H (ftmm.h). -

-
 
+
+ + +
+

FT_Var_Axis

+

Defined in FT_MULTIPLE_MASTERS_H (ftmm.h).

+
   typedef struct  FT_Var_Axis_
   {
     FT_String*  name;
@@ -153,83 +197,67 @@ Defined in FT_MULTIPLE_MASTERS_H (ftmm.h).
     FT_UInt     strid;
 
   } FT_Var_Axis;
+
-

-

A simple structure used to model a given axis in design space for Multiple Masters and GX var fonts.

-

-
fields
-

- -
name + +

fields

+ + - - - - -
name

The axis's name. Not always meaningful for GX.

minimum +
minimum

The axis's minimum design coordinate.

def +
def

The axis's default design coordinate. FreeType computes meaningful default values for MM; it is then an integer value, not in 16.16 format.

maximum +
maximum

The axis's maximum design coordinate.

tag +
tag

The axis's tag (the GX equivalent to ‘name’). FreeType provides default values for MM if possible.

strid +
strid

The entry in ‘name’ table (another GX version of ‘name’). Not meaningful for MM.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Var_Named_Style

-
-Defined in FT_MULTIPLE_MASTERS_H (ftmm.h). -

-
 
+
+ + +
+

FT_Var_Named_Style

+

Defined in FT_MULTIPLE_MASTERS_H (ftmm.h).

+
   typedef struct  FT_Var_Named_Style_
   {
     FT_Fixed*  coords;
     FT_UInt    strid;
 
   } FT_Var_Named_Style;
+
-

-

A simple structure used to model a named style in a GX var font.

This structure can't be used for MM fonts.

-

-
fields
-

- -
coords + +

fields

+ + -
coords

The design coordinates for this style. This is an array with one entry for each axis.

strid +
strid

The entry in ‘name’ table identifying this style.

-
-
-
- - -
[Index][TOC]
- -
-

FT_MM_Var

-
-Defined in FT_MULTIPLE_MASTERS_H (ftmm.h). -

-
 
+
+ + +
+

FT_MM_Var

+

Defined in FT_MULTIPLE_MASTERS_H (ftmm.h).

+
   typedef struct  FT_MM_Var_
   {
     FT_UInt              num_axis;
@@ -239,273 +267,216 @@ Defined in FT_MULTIPLE_MASTERS_H (ftmm.h).
     FT_Var_Named_Style*  namedstyle;
 
   } FT_MM_Var;
+
-

-

A structure used to model the axes and space of a Multiple Masters or GX var distortable font.

Some fields are specific to one format and not to the other.

-

-
fields
-

- -
num_axis + +

fields

+ + - - - -
num_axis

The number of axes. The maximum value is 4 for MM; no limit in GX.

num_designs +
num_designs

The number of designs; should be normally 2^num_axis for MM fonts. Not meaningful for GX (where every glyph could have a different number of designs).

num_namedstyles +
num_namedstyles

The number of named styles; only meaningful for GX that allows certain design coordinates to have a string ID (in the ‘name’ table) associated with them. The font can tell the user that, for example, Weight=1.5 is ‘Bold’.

axis +
axis

A table of axis descriptors. GX fonts contain slightly more data than MM.

namedstyles +
namedstyles

A table of named styles. Only meaningful with GX.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_Multi_Master

-
-Defined in FT_MULTIPLE_MASTERS_H (ftmm.h). -

-
 
+
+ + +
+

FT_Get_Multi_Master

+

Defined in FT_MULTIPLE_MASTERS_H (ftmm.h).

+
   FT_EXPORT( FT_Error )
   FT_Get_Multi_Master( FT_Face           face,
                        FT_Multi_Master  *amaster );
+
-

-

Retrieve the Multiple Master descriptor of a given font.

This function can't be used with GX fonts.

-

-
input
-

- -
face + +

input

+ +
face

A handle to the source face.

-
-
output
-

- -
amaster + +

output

+ +
amaster

The Multiple Masters descriptor.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_MM_Var

-
-Defined in FT_MULTIPLE_MASTERS_H (ftmm.h). -

-
 
+
+ + +
+

FT_Get_MM_Var

+

Defined in FT_MULTIPLE_MASTERS_H (ftmm.h).

+
   FT_EXPORT( FT_Error )
   FT_Get_MM_Var( FT_Face      face,
                  FT_MM_Var*  *amaster );
+
-

-

Retrieve the Multiple Master/GX var descriptor of a given font.

-

-
input
-

- -
face + +

input

+ +
face

A handle to the source face.

-
-
output
-

- -
amaster + +

output

+ +
amaster

The Multiple Masters/GX var descriptor. Allocates a data structure, which the user must free.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Set_MM_Design_Coordinates

-
-Defined in FT_MULTIPLE_MASTERS_H (ftmm.h). -

-
 
+
+ + +
+

FT_Set_MM_Design_Coordinates

+

Defined in FT_MULTIPLE_MASTERS_H (ftmm.h).

+
   FT_EXPORT( FT_Error )
   FT_Set_MM_Design_Coordinates( FT_Face   face,
                                 FT_UInt   num_coords,
                                 FT_Long*  coords );
+
-

-

For Multiple Masters fonts, choose an interpolated font design through design coordinates.

This function can't be used with GX fonts.

-

-
inout
-

- -
face + +

inout

+ +
face

A handle to the source face.

-
-
input
-

- -
num_coords + +

input

+ + -
num_coords

The number of design coordinates (must be equal to the number of axes in the font).

coords +
coords

An array of design coordinates.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Set_Var_Design_Coordinates

-
-Defined in FT_MULTIPLE_MASTERS_H (ftmm.h). -

-
 
+
+ + +
+

FT_Set_Var_Design_Coordinates

+

Defined in FT_MULTIPLE_MASTERS_H (ftmm.h).

+
   FT_EXPORT( FT_Error )
   FT_Set_Var_Design_Coordinates( FT_Face    face,
                                  FT_UInt    num_coords,
                                  FT_Fixed*  coords );
+
-

-

For Multiple Master or GX Var fonts, choose an interpolated font design through design coordinates.

-

-
inout
-

- -
face + +

inout

+ +
face

A handle to the source face.

-
-
input
-

- -
num_coords + +

input

+ + -
num_coords

The number of design coordinates (must be equal to the number of axes in the font).

coords +
coords

An array of design coordinates.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Set_MM_Blend_Coordinates

-
-Defined in FT_MULTIPLE_MASTERS_H (ftmm.h). -

-
 
+
+ + +
+

FT_Set_MM_Blend_Coordinates

+

Defined in FT_MULTIPLE_MASTERS_H (ftmm.h).

+
   FT_EXPORT( FT_Error )
   FT_Set_MM_Blend_Coordinates( FT_Face    face,
                                FT_UInt    num_coords,
                                FT_Fixed*  coords );
+
-

-

For Multiple Masters and GX var fonts, choose an interpolated font design through normalized blend coordinates.

-

-
inout
-

- -
face + +

inout

+ +
face

A handle to the source face.

-
-
input
-

- -
num_coords + +

input

+ + -
num_coords

The number of design coordinates (must be equal to the number of axes in the font).

coords +
coords

The design coordinates array (each element must be between 0 and 1.0).

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Set_Var_Blend_Coordinates

-
-Defined in FT_MULTIPLE_MASTERS_H (ftmm.h). -

-
 
+
+ + +
+

FT_Set_Var_Blend_Coordinates

+

Defined in FT_MULTIPLE_MASTERS_H (ftmm.h).

+
   FT_EXPORT( FT_Error )
   FT_Set_Var_Blend_Coordinates( FT_Face    face,
                                 FT_UInt    num_coords,
                                 FT_Fixed*  coords );
+
-

-

This is another name of FT_Set_MM_Blend_Coordinates.

-

-
-
- - -
[Index][TOC]
+ +
+ diff --git a/freetype/docs/reference/ft2-ot_validation.html b/freetype/docs/reference/ft2-ot_validation.html index 1d9be98de..a4988e183 100644 --- a/freetype/docs/reference/ft2-ot_validation.html +++ b/freetype/docs/reference/ft2-ot_validation.html @@ -3,115 +3,119 @@ -FreeType-2.5.3 API Reference +FreeType-2.5.5 API Reference - - -
[Index][TOC]
-

FreeType-2.5.3 API Reference

+ +

FreeType-2.5.5 API Reference

-

-OpenType Validation -

+

OpenType Validation

Synopsis

- - -
FT_VALIDATE_OTXXXFT_OpenType_ValidateFT_OpenType_Free


+ + + +
FT_OpenType_Validate 
FT_OpenType_FreeFT_VALIDATE_OTXXX
+ -

This section contains the declaration of functions to validate some OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF, MATH).

-

-
-

FT_VALIDATE_OTXXX

-
-Defined in FT_OPENTYPE_VALIDATE_H (ftotval.h). -

-
-
-#define FT_VALIDATE_BASE  0x0100
-#define FT_VALIDATE_GDEF  0x0200
-#define FT_VALIDATE_GPOS  0x0400
-#define FT_VALIDATE_GSUB  0x0800
-#define FT_VALIDATE_JSTF  0x1000
-#define FT_VALIDATE_MATH  0x2000
-
-#define FT_VALIDATE_OT  FT_VALIDATE_BASE | \
-                        FT_VALIDATE_GDEF | \
-                        FT_VALIDATE_GPOS | \
-                        FT_VALIDATE_GSUB | \
-                        FT_VALIDATE_JSTF | \
-                        FT_VALIDATE_MATH
-
-

-
-

A list of bit-field constants used with FT_OpenType_Validate to indicate which OpenType tables should be validated.

-

-
values
-

- - - - - - - - -
FT_VALIDATE_BASE -

Validate BASE table.

-
FT_VALIDATE_GDEF -

Validate GDEF table.

-
FT_VALIDATE_GPOS -

Validate GPOS table.

-
FT_VALIDATE_GSUB -

Validate GSUB table.

-
FT_VALIDATE_JSTF -

Validate JSTF table.

-
FT_VALIDATE_MATH -

Validate MATH table.

-
FT_VALIDATE_OT -

Validate all OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF, MATH).

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_OpenType_Validate

-
-Defined in FT_OPENTYPE_VALIDATE_H (ftotval.h). -

-
 
+
+

FT_OpenType_Validate

+

Defined in FT_OPENTYPE_VALIDATE_H (ftotval.h).

+
   FT_EXPORT( FT_Error )
   FT_OpenType_Validate( FT_Face    face,
                         FT_UInt    validation_flags,
@@ -120,89 +124,124 @@ Defined in FT_OPENTYPE_VALIDATE_H (ftotval.h).
                         FT_Bytes  *GPOS_table,
                         FT_Bytes  *GSUB_table,
                         FT_Bytes  *JSTF_table );
+
-

-

Validate various OpenType tables to assure that all offsets and indices are valid. The idea is that a higher-level library that actually does the text layout can access those tables without error checking (which can be quite time consuming).

-

-
input
-

- -
face + +

input

+ + -
face

A handle to the input face.

validation_flags +
validation_flags

A bit field that specifies the tables to be validated. See FT_VALIDATE_OTXXX for possible values.

-
-
output
-

- -
BASE_table + +

output

+ + - - - -
BASE_table

A pointer to the BASE table.

GDEF_table +
GDEF_table

A pointer to the GDEF table.

GPOS_table +
GPOS_table

A pointer to the GPOS table.

GSUB_table +
GSUB_table

A pointer to the GSUB table.

JSTF_table +
JSTF_table

A pointer to the JSTF table.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

This function only works with OpenType fonts, returning an error otherwise.

After use, the application should deallocate the five tables with FT_OpenType_Free. A NULL value indicates that the table either doesn't exist in the font, or the application hasn't asked for validation.

-
-
-
- - -
[Index][TOC]
- -
-

FT_OpenType_Free

-
-Defined in FT_OPENTYPE_VALIDATE_H (ftotval.h). -

-
 
+
+ + +
+

FT_OpenType_Free

+

Defined in FT_OPENTYPE_VALIDATE_H (ftotval.h).

+
   FT_EXPORT( void )
   FT_OpenType_Free( FT_Face   face,
                     FT_Bytes  table );
+
-

-

Free the buffer allocated by OpenType validator.

-

-
input
-

- -
face + +

input

+ + -
face

A handle to the input face.

table +
table

The pointer to the buffer that is allocated by FT_OpenType_Validate.

-
-
note
+ +

note

This function must be used to free the buffer allocated by FT_OpenType_Validate only.

-
-
-
- - -
[Index][TOC]
+ +
+ + +
+

FT_VALIDATE_OTXXX

+

Defined in FT_OPENTYPE_VALIDATE_H (ftotval.h).

+
+#define FT_VALIDATE_BASE  0x0100
+#define FT_VALIDATE_GDEF  0x0200
+#define FT_VALIDATE_GPOS  0x0400
+#define FT_VALIDATE_GSUB  0x0800
+#define FT_VALIDATE_JSTF  0x1000
+#define FT_VALIDATE_MATH  0x2000
+
+#define FT_VALIDATE_OT  FT_VALIDATE_BASE | \
+                        FT_VALIDATE_GDEF | \
+                        FT_VALIDATE_GPOS | \
+                        FT_VALIDATE_GSUB | \
+                        FT_VALIDATE_JSTF | \
+                        FT_VALIDATE_MATH
+
+ +

A list of bit-field constants used with FT_OpenType_Validate to indicate which OpenType tables should be validated.

+ +

values

+ + + + + + + + +
FT_VALIDATE_BASE +

Validate BASE table.

+
FT_VALIDATE_GDEF +

Validate GDEF table.

+
FT_VALIDATE_GPOS +

Validate GPOS table.

+
FT_VALIDATE_GSUB +

Validate GSUB table.

+
FT_VALIDATE_JSTF +

Validate JSTF table.

+
FT_VALIDATE_MATH +

Validate MATH table.

+
FT_VALIDATE_OT +

Validate all OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF, MATH).

+
+ +
+
diff --git a/freetype/docs/reference/ft2-outline_processing.html b/freetype/docs/reference/ft2-outline_processing.html index 0c5fc09a6..323efc916 100644 --- a/freetype/docs/reference/ft2-outline_processing.html +++ b/freetype/docs/reference/ft2-outline_processing.html @@ -3,69 +3,131 @@ -FreeType-2.5.3 API Reference +FreeType-2.5.5 API Reference - - -
[Index][TOC]
-

FreeType-2.5.3 API Reference

+ +

FreeType-2.5.5 API Reference

-

-Outline Processing -

+

Outline Processing

Synopsis

- - - - - - - - - - - - - -
FT_Outlineft_outline_flags
FT_OUTLINE_FLAGSFT_Outline_MoveToFunc
FT_Outline_NewFT_Outline_LineToFunc
FT_Outline_DoneFT_Outline_ConicToFunc
FT_Outline_CopyFT_Outline_CubicToFunc
FT_Outline_TranslateFT_Outline_Funcs
FT_Outline_TransformFT_Outline_Decompose
FT_Outline_EmboldenFT_Outline_Get_CBox
FT_Outline_EmboldenXYFT_Outline_Get_Bitmap
FT_Outline_ReverseFT_Outline_Render
FT_Outline_CheckFT_Orientation
FT_Outline_Get_BBoxFT_Outline_Get_Orientation


- -
+ + + + + + + + + + + + + + + +
FT_OutlineFT_Outline_Get_Bitmap
FT_Outline_NewFT_Outline_Render
FT_Outline_DoneFT_Outline_Decompose
FT_Outline_CopyFT_Outline_Funcs
FT_Outline_TranslateFT_Outline_MoveToFunc
FT_Outline_TransformFT_Outline_LineToFunc
FT_Outline_EmboldenFT_Outline_ConicToFunc
FT_Outline_EmboldenXYFT_Outline_CubicToFunc
FT_Outline_Reverse 
FT_Outline_CheckFT_Orientation
 FT_Outline_Get_Orientation
FT_Outline_Get_CBox 
FT_Outline_Get_BBoxFT_OUTLINE_XXX
 
+ +

This section contains routines used to create and destroy scalable glyph images known as ‘outlines’. These can also be measured, transformed, and converted into bitmaps and pixmaps.

-

-
-

FT_Outline

-
-Defined in FT_IMAGE_H (ftimage.h). -

-
 
+
+

FT_Outline

+

Defined in FT_IMAGE_H (ftimage.h).

+
   typedef struct  FT_Outline_
   {
     short       n_contours;      /* number of contours in glyph        */
@@ -78,130 +140,46 @@ Defined in FT_IMAGE_H (ftimage.h).
     int         flags;           /* outline masks                      */
 
   } FT_Outline;
+
- /* Following limits must be consistent with */ - /* FT_Outline.{n_contours,n_points} */ -#define FT_OUTLINE_CONTOURS_MAX SHRT_MAX -#define FT_OUTLINE_POINTS_MAX SHRT_MAX - -

-

This structure is used to describe an outline to the scan-line converter.

-

-
fields
-

- -
n_contours + +

fields

+ + - - - - - -
n_contours

The number of contours in the outline.

n_points +
n_points

The number of points in the outline.

points +
points

A pointer to an array of ‘n_points’ FT_Vector elements, giving the outline's point coordinates.

tags +
tags

A pointer to an array of ‘n_points’ chars, giving each outline point's type.

If bit 0 is unset, the point is ‘off’ the curve, i.e., a Bézier control point, while it is ‘on’ if set.

Bit 1 is meaningful for ‘off’ points only. If set, it indicates a third-order Bézier arc control point; and a second-order control point if unset.

If bit 2 is set, bits 5-7 contain the drop-out mode (as defined in the OpenType specification; the value is the same as the argument to the SCANMODE instruction).

Bits 3 and 4 are reserved for internal purposes.

contours +
contours

An array of ‘n_contours’ shorts, giving the end point of each contour within the outline. For example, the first contour is defined by the points ‘0’ to ‘contours[0]’, the second one is defined by the points ‘contours[0]+1’ to ‘contours[1]’, etc.

flags -

A set of bit flags used to characterize the outline and give hints to the scan-converter and hinter on how to convert/grid-fit it. See FT_OUTLINE_FLAGS.

-
-
-
note
-

The B/W rasterizer only checks bit 2 in the ‘tags’ array for the first point of each contour. The drop-out mode as given with FT_OUTLINE_IGNORE_DROPOUTS, FT_OUTLINE_SMART_DROPOUTS, and FT_OUTLINE_INCLUDE_STUBS in ‘flags’ is then overridden.

-
-
-
- - -
[Index][TOC]
- -
-

FT_OUTLINE_FLAGS

-
-Defined in FT_IMAGE_H (ftimage.h). -

-
-
-#define FT_OUTLINE_NONE             0x0
-#define FT_OUTLINE_OWNER            0x1
-#define FT_OUTLINE_EVEN_ODD_FILL    0x2
-#define FT_OUTLINE_REVERSE_FILL     0x4
-#define FT_OUTLINE_IGNORE_DROPOUTS  0x8
-#define FT_OUTLINE_SMART_DROPOUTS   0x10
-#define FT_OUTLINE_INCLUDE_STUBS    0x20
-
-#define FT_OUTLINE_HIGH_PRECISION   0x100
-#define FT_OUTLINE_SINGLE_PASS      0x200
-
-

-
-

A list of bit-field constants use for the flags in an outline's ‘flags’ field.

-

-
values
-

- - - - - - - - - - - - - - - -
FT_OUTLINE_NONE -

Value 0 is reserved.

-
FT_OUTLINE_OWNER -

If set, this flag indicates that the outline's field arrays (i.e., ‘points’, ‘flags’, and ‘contours’) are ‘owned’ by the outline object, and should thus be freed when it is destroyed.

-
FT_OUTLINE_EVEN_ODD_FILL
-

By default, outlines are filled using the non-zero winding rule. If set to 1, the outline will be filled using the even-odd fill rule (only works with the smooth rasterizer).

-
FT_OUTLINE_REVERSE_FILL
-

By default, outside contours of an outline are oriented in clock-wise direction, as defined in the TrueType specification. This flag is set if the outline uses the opposite direction (typically for Type 1 fonts). This flag is ignored by the scan converter.

-
FT_OUTLINE_IGNORE_DROPOUTS
-

By default, the scan converter will try to detect drop-outs in an outline and correct the glyph bitmap to ensure consistent shape continuity. If set, this flag hints the scan-line converter to ignore such cases. See below for more information.

-
FT_OUTLINE_SMART_DROPOUTS
-

Select smart dropout control. If unset, use simple dropout control. Ignored if FT_OUTLINE_IGNORE_DROPOUTS is set. See below for more information.

-
FT_OUTLINE_INCLUDE_STUBS
-

If set, turn pixels on for ‘stubs’, otherwise exclude them. Ignored if FT_OUTLINE_IGNORE_DROPOUTS is set. See below for more information.

-
FT_OUTLINE_HIGH_PRECISION
-

This flag indicates that the scan-line converter should try to convert this outline to bitmaps with the highest possible quality. It is typically set for small character sizes. Note that this is only a hint that might be completely ignored by a given scan-converter.

-
FT_OUTLINE_SINGLE_PASS -

This flag is set to force a given scan-converter to only use a single pass over the outline to render a bitmap glyph image. Normally, it is set for very large character sizes. It is only a hint that might be completely ignored by a given scan-converter.

+
flags +

A set of bit flags used to characterize the outline and give hints to the scan-converter and hinter on how to convert/grid-fit it. See FT_OUTLINE_XXX.

-
-
note
-

The flags FT_OUTLINE_IGNORE_DROPOUTS, FT_OUTLINE_SMART_DROPOUTS, and FT_OUTLINE_INCLUDE_STUBS are ignored by the smooth rasterizer.

-

There exists a second mechanism to pass the drop-out mode to the B/W rasterizer; see the ‘tags’ field in FT_Outline.

-

Please refer to the description of the ‘SCANTYPE’ instruction in the OpenType specification (in file ‘ttinst1.doc’) how simple drop-outs, smart drop-outs, and stubs are defined.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Outline_New

-
-Defined in FT_OUTLINE_H (ftoutln.h). -

-
 
+

note

+

The B/W rasterizer only checks bit 2 in the ‘tags’ array for the first point of each contour. The drop-out mode as given with FT_OUTLINE_IGNORE_DROPOUTS, FT_OUTLINE_SMART_DROPOUTS, and FT_OUTLINE_INCLUDE_STUBS in ‘flags’ is then overridden.

+ +
+ + +
+

FT_Outline_New

+

Defined in FT_OUTLINE_H (ftoutln.h).

+
   FT_EXPORT( FT_Error )
   FT_Outline_New( FT_Library   library,
                   FT_UInt      numPoints,
@@ -214,52 +192,43 @@ Defined in FT_OUTLINE_H (ftoutln.h).
                            FT_UInt      numPoints,
                            FT_Int       numContours,
                            FT_Outline  *anoutline );
+
-

-

Create a new outline of a given size.

-

-
input
-

- -
library + +

input

+ + - -
library

A handle to the library object from where the outline is allocated. Note however that the new outline will not necessarily be freed, when destroying the library, by FT_Done_FreeType.

numPoints +
numPoints

The maximum number of points within the outline. Must be smaller than or equal to 0xFFFF (65535).

numContours +
numContours

The maximum number of contours within the outline. This value must be in the range 0 to ‘numPoints’.

-
-
output
-

- -
anoutline + +

output

+ +
anoutline

A handle to the new outline.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

The reason why this function takes a ‘library’ parameter is simply to use the library's memory allocator.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Outline_Done

-
-Defined in FT_OUTLINE_H (ftoutln.h). -

-
 
+
+ + +
+

FT_Outline_Done

+

Defined in FT_OUTLINE_H (ftoutln.h).

+
   FT_EXPORT( FT_Error )
   FT_Outline_Done( FT_Library   library,
                    FT_Outline*  outline );
@@ -268,192 +237,154 @@ Defined in FT_OUTLINE_H (ftoutln.h).
   FT_EXPORT( FT_Error )
   FT_Outline_Done_Internal( FT_Memory    memory,
                             FT_Outline*  outline );
+
-

-

Destroy an outline created with FT_Outline_New.

-

-
input
-

- -
library + +

input

+ + -
library

A handle of the library object used to allocate the outline.

outline +
outline

A pointer to the outline object to be discarded.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

If the outline's ‘owner’ field is not set, only the outline descriptor will be released.

The reason why this function takes an ‘library’ parameter is simply to use ft_mem_free().

-
-
-
- - -
[Index][TOC]
- -
-

FT_Outline_Copy

-
-Defined in FT_OUTLINE_H (ftoutln.h). -

-
 
+
+ + +
+

FT_Outline_Copy

+

Defined in FT_OUTLINE_H (ftoutln.h).

+
   FT_EXPORT( FT_Error )
   FT_Outline_Copy( const FT_Outline*  source,
                    FT_Outline        *target );
+
-

-

Copy an outline into another one. Both objects must have the same sizes (number of points & number of contours) when this function is called.

-

-
input
-

- -
source + +

input

+ +
source

A handle to the source outline.

-
-
output
-

- -
target + +

output

+ +
target

A handle to the target outline.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Outline_Translate

-
-Defined in FT_OUTLINE_H (ftoutln.h). -

-
 
+
+ + +
+

FT_Outline_Translate

+

Defined in FT_OUTLINE_H (ftoutln.h).

+
   FT_EXPORT( void )
   FT_Outline_Translate( const FT_Outline*  outline,
                         FT_Pos             xOffset,
                         FT_Pos             yOffset );
+
-

-

Apply a simple translation to the points of an outline.

-

-
inout
-

- -
outline + +

inout

+ +
outline

A pointer to the target outline descriptor.

-
-
input
-

- -
xOffset + +

input

+ + -
xOffset

The horizontal offset.

yOffset +
yOffset

The vertical offset.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Outline_Transform

-
-Defined in FT_OUTLINE_H (ftoutln.h). -

-
 
+
+ + +
+

FT_Outline_Transform

+

Defined in FT_OUTLINE_H (ftoutln.h).

+
   FT_EXPORT( void )
   FT_Outline_Transform( const FT_Outline*  outline,
                         const FT_Matrix*   matrix );
+
-

-

Apply a simple 2x2 matrix to all of an outline's points. Useful for applying rotations, slanting, flipping, etc.

-

-
inout
-

- -
outline + +

inout

+ +
outline

A pointer to the target outline descriptor.

-
-
input
-

- -
matrix + +

input

+ +
matrix

A pointer to the transformation matrix.

-
-
note
+ +

note

You can use FT_Outline_Translate if you need to translate the outline's points.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Outline_Embolden

-
-Defined in FT_OUTLINE_H (ftoutln.h). -

-
 
+
+ + +
+

FT_Outline_Embolden

+

Defined in FT_OUTLINE_H (ftoutln.h).

+
   FT_EXPORT( FT_Error )
   FT_Outline_Embolden( FT_Outline*  outline,
                        FT_Pos       strength );
+
-

-

Embolden an outline. The new outline will be at most 4 times ‘strength’ pixels wider and higher. You may think of the left and bottom borders as unchanged.

Negative ‘strength’ values to reduce the outline thickness are possible also.

-

-
inout
-

- -
outline + +

inout

+ +
outline

A handle to the target outline.

-
-
input
-

- -
strength + +

input

+ +
strength

How strong the glyph is emboldened. Expressed in 26.6 pixel format.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

The used algorithm to increase or decrease the thickness of the glyph doesn't change the number of points; this means that certain situations like acute angles or intersections are sometimes handled incorrectly.

If you need ‘better’ metrics values you should call FT_Outline_Get_CBox or FT_Outline_Get_BBox.

Example call:

@@ -463,367 +394,260 @@ Defined in FT_OUTLINE_H (ftoutln.h). FT_Outline_Embolden( &face->slot->outline, strength );

To get meaningful results, font scaling values must be set with functions like FT_Set_Char_Size before calling FT_Render_Glyph.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Outline_EmboldenXY

-
-Defined in FT_OUTLINE_H (ftoutln.h). -

-
 
+
+ + +
+

FT_Outline_EmboldenXY

+

Defined in FT_OUTLINE_H (ftoutln.h).

+
   FT_EXPORT( FT_Error )
   FT_Outline_EmboldenXY( FT_Outline*  outline,
                          FT_Pos       xstrength,
                          FT_Pos       ystrength );
+
-

-

Embolden an outline. The new outline will be ‘xstrength’ pixels wider and ‘ystrength’ pixels higher. Otherwise, it is similar to FT_Outline_Embolden, which uses the same strength in both directions.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Outline_Reverse

-
-Defined in FT_OUTLINE_H (ftoutln.h). -

-
 
+
+ + +
+

FT_Outline_Reverse

+

Defined in FT_OUTLINE_H (ftoutln.h).

+
   FT_EXPORT( void )
   FT_Outline_Reverse( FT_Outline*  outline );
+
-

-

Reverse the drawing direction of an outline. This is used to ensure consistent fill conventions for mirrored glyphs.

-

-
inout
-

- -
outline + +

inout

+ +
outline

A pointer to the target outline descriptor.

-
-
note
-

This function toggles the bit flag FT_OUTLINE_REVERSE_FILL in the outline's ‘flags’ field.

+ +

note

+

This function toggles the bit flag FT_OUTLINE_REVERSE_FILL in the outline's ‘flags’ field.

It shouldn't be used by a normal client application, unless it knows what it is doing.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Outline_Check

-
-Defined in FT_OUTLINE_H (ftoutln.h). -

-
 
+
+ + +
+

FT_Outline_Check

+

Defined in FT_OUTLINE_H (ftoutln.h).

+
   FT_EXPORT( FT_Error )
   FT_Outline_Check( FT_Outline*  outline );
+
-

-

Check the contents of an outline descriptor.

-

-
input
-

- -
outline + +

input

+ +
outline

A handle to a source outline.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Outline_Get_BBox

-
-Defined in FT_BBOX_H (ftbbox.h). -

-
 
+
+ + +
+

FT_Outline_Get_CBox

+

Defined in FT_OUTLINE_H (ftoutln.h).

+
+  FT_EXPORT( void )
+  FT_Outline_Get_CBox( const FT_Outline*  outline,
+                       FT_BBox           *acbox );
+
+ +

Return an outline's ‘control box’. The control box encloses all the outline's points, including Bézier control points. Though it coincides with the exact bounding box for most glyphs, it can be slightly larger in some situations (like when rotating an outline that contains Bézier outside arcs).

+

Computing the control box is very fast, while getting the bounding box can take much more time as it needs to walk over all segments and arcs in the outline. To get the latter, you can use the ‘ftbbox’ component, which is dedicated to this single task.

+ +

input

+ + +
outline +

A pointer to the source outline descriptor.

+
+ +

output

+ + +
acbox +

The outline's control box.

+
+ +

note

+

See FT_Glyph_Get_CBox for a discussion of tricky fonts.

+ +
+
+ +
+

FT_Outline_Get_BBox

+

Defined in FT_BBOX_H (ftbbox.h).

+
   FT_EXPORT( FT_Error )
   FT_Outline_Get_BBox( FT_Outline*  outline,
                        FT_BBox     *abbox );
+
-

-

Compute the exact bounding box of an outline. This is slower than computing the control box. However, it uses an advanced algorithm that returns very quickly when the two boxes coincide. Otherwise, the outline Bézier arcs are traversed to extract their extrema.

-

-
input
-

- -
outline + +

input

+ +
outline

A pointer to the source outline.

-
-
output
-

- -
abbox + +

output

+ +
abbox

The outline's exact bounding box.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

If the font is tricky and the glyph has been loaded with FT_LOAD_NO_SCALE, the resulting BBox is meaningless. To get reasonable values for the BBox it is necessary to load the glyph at a large ppem value (so that the hinting instructions can properly shift and scale the subglyphs), then extracting the BBox, which can be eventually converted back to font units.

-
-
-
- - -
[Index][TOC]
- -
-

ft_outline_flags

-
-Defined in FT_IMAGE_H (ftimage.h). -

-
-
-#define ft_outline_none             FT_OUTLINE_NONE
-#define ft_outline_owner            FT_OUTLINE_OWNER
-#define ft_outline_even_odd_fill    FT_OUTLINE_EVEN_ODD_FILL
-#define ft_outline_reverse_fill     FT_OUTLINE_REVERSE_FILL
-#define ft_outline_ignore_dropouts  FT_OUTLINE_IGNORE_DROPOUTS
-#define ft_outline_high_precision   FT_OUTLINE_HIGH_PRECISION
-#define ft_outline_single_pass      FT_OUTLINE_SINGLE_PASS
-
-

-
-

These constants are deprecated. Please use the corresponding FT_OUTLINE_FLAGS values.

-

-
values
-

- - - - - - - - - - - - -
ft_outline_none -

See FT_OUTLINE_NONE.

-
ft_outline_owner -

See FT_OUTLINE_OWNER.

-
ft_outline_even_odd_fill
-

See FT_OUTLINE_EVEN_ODD_FILL.

-
ft_outline_reverse_fill
-

See FT_OUTLINE_REVERSE_FILL.

-
ft_outline_ignore_dropouts
-

See FT_OUTLINE_IGNORE_DROPOUTS.

-
ft_outline_high_precision
-

See FT_OUTLINE_HIGH_PRECISION.

-
ft_outline_single_pass -

See FT_OUTLINE_SINGLE_PASS.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_Outline_MoveToFunc

-
-Defined in FT_IMAGE_H (ftimage.h). -

-
 
-  typedef int
-  (*FT_Outline_MoveToFunc)( const FT_Vector*  to,
-                            void*             user );
+
+ -#define FT_Outline_MoveTo_Func FT_Outline_MoveToFunc +
+

FT_Outline_Get_Bitmap

+

Defined in FT_OUTLINE_H (ftoutln.h).

+
+  FT_EXPORT( FT_Error )
+  FT_Outline_Get_Bitmap( FT_Library        library,
+                         FT_Outline*       outline,
+                         const FT_Bitmap  *abitmap );
+
-

-
-

A function pointer type used to describe the signature of a ‘move to’ function during outline walking/decomposition.

-

A ‘move to’ is emitted to start a new contour in an outline.

-

-
input
-

- -
to -

A pointer to the target point of the ‘move to’.

+

Render an outline within a bitmap. The outline's image is simply OR-ed to the target bitmap.

+ +

input

+ + -
library +

A handle to a FreeType library object.

user -

A typeless pointer, which is passed from the caller of the decomposition function.

+
outline +

A pointer to the source outline descriptor.

-
-
return
-

Error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Outline_LineToFunc

-
-Defined in FT_IMAGE_H (ftimage.h). -

-
 
-  typedef int
-  (*FT_Outline_LineToFunc)( const FT_Vector*  to,
-                            void*             user );
-
-#define FT_Outline_LineTo_Func  FT_Outline_LineToFunc
-
-

-
-

A function pointer type used to describe the signature of a ‘line to’ function during outline walking/decomposition.

-

A ‘line to’ is emitted to indicate a segment in the outline.

-

-
input
-

- - -
to -

A pointer to the target point of the ‘line to’.

-
user -

A typeless pointer, which is passed from the caller of the decomposition function.

+

inout

+ +
abitmap +

A pointer to the target bitmap descriptor.

-
-
return
-

Error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Outline_ConicToFunc

-
-Defined in FT_IMAGE_H (ftimage.h). -

-
 
-  typedef int
-  (*FT_Outline_ConicToFunc)( const FT_Vector*  control,
-                             const FT_Vector*  to,
-                             void*             user );
+

return

+

FreeType error code. 0 means success.

-#define FT_Outline_ConicTo_Func FT_Outline_ConicToFunc +

note

+

This function does NOT CREATE the bitmap, it only renders an outline image within the one you pass to it! Consequently, the various fields in ‘abitmap’ should be set accordingly.

+

It will use the raster corresponding to the default glyph format.

+

The value of the ‘num_grays’ field in ‘abitmap’ is ignored. If you select the gray-level rasterizer, and you want less than 256 gray levels, you have to use FT_Outline_Render directly.

-

-
-

A function pointer type used to describe the signature of a ‘conic to’ function during outline walking or decomposition.

-

A ‘conic to’ is emitted to indicate a second-order Bézier arc in the outline.

-

-
input
-

- -
control -

An intermediate control point between the last position and the new target in ‘to’.

+
+ + +
+

FT_Outline_Render

+

Defined in FT_OUTLINE_H (ftoutln.h).

+
+  FT_EXPORT( FT_Error )
+  FT_Outline_Render( FT_Library         library,
+                     FT_Outline*        outline,
+                     FT_Raster_Params*  params );
+
+ +

Render an outline within a bitmap using the current scan-convert. This function uses an FT_Raster_Params structure as an argument, allowing advanced features like direct composition, translucency, etc.

+ +

input

+ + - -
library +

A handle to a FreeType library object.

to -

A pointer to the target end point of the conic arc.

+
outline +

A pointer to the source outline descriptor.

user -

A typeless pointer, which is passed from the caller of the decomposition function.

+
+ +

inout

+ +
params +

A pointer to an FT_Raster_Params structure used to describe the rendering operation.

-
-
return
-

Error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Outline_CubicToFunc

-
-Defined in FT_IMAGE_H (ftimage.h). -

-
 
-  typedef int
-  (*FT_Outline_CubicToFunc)( const FT_Vector*  control1,
-                             const FT_Vector*  control2,
-                             const FT_Vector*  to,
-                             void*             user );
+

return

+

FreeType error code. 0 means success.

-#define FT_Outline_CubicTo_Func FT_Outline_CubicToFunc +

note

+

You should know what you are doing and how FT_Raster_Params works to use this function.

+

The field ‘params.source’ will be set to ‘outline’ before the scan converter is called, which means that the value you give to it is actually ignored.

+

The gray-level rasterizer always uses 256 gray levels. If you want less gray levels, you have to provide your own span callback. See the FT_RASTER_FLAG_DIRECT value of the ‘flags’ field in the FT_Raster_Params structure for more details.

-

-
-

A function pointer type used to describe the signature of a ‘cubic to’ function during outline walking or decomposition.

-

A ‘cubic to’ is emitted to indicate a third-order Bézier arc.

-

-
input
-

- - -
control1 -

A pointer to the first Bézier control point.

-
control2 -

A pointer to the second Bézier control point.

+
+ + +
+

FT_Outline_Decompose

+

Defined in FT_OUTLINE_H (ftoutln.h).

+
+  FT_EXPORT( FT_Error )
+  FT_Outline_Decompose( FT_Outline*              outline,
+                        const FT_Outline_Funcs*  func_interface,
+                        void*                    user );
+
+ +

Walk over an outline's structure to decompose it into individual segments and Bézier arcs. This function also emits ‘move to’ operations to indicate the start of new contours in the outline.

+ +

input

+ + - -
outline +

A pointer to the source target.

to -

A pointer to the target end point.

+
func_interface +

A table of ‘emitters’, i.e., function pointers called during decomposition to indicate path operations.

user -

A typeless pointer, which is passed from the caller of the decomposition function.

+
+ +

inout

+ +
user +

A typeless pointer that is passed to each emitter during the decomposition. It can be used to store the state during the decomposition.

-
-
return
-

Error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Outline_Funcs

-
-Defined in FT_IMAGE_H (ftimage.h). -

-
 
+

return

+

FreeType error code. 0 means success.

+ +

note

+

A contour that contains a single point only is represented by a ‘move to’ operation followed by ‘line to’ to the same point. In most cases, it is best to filter this out before using the outline for stroking purposes (otherwise it would result in a visible dot when round caps are used).

+ +
+ + +
+

FT_Outline_Funcs

+

Defined in FT_IMAGE_H (ftimage.h).

+
   typedef struct  FT_Outline_Funcs_
   {
     FT_Outline_MoveToFunc   move_to;
@@ -835,317 +659,306 @@ Defined in FT_IMAGE_H (ftimage.h).
     FT_Pos                  delta;
 
   } FT_Outline_Funcs;
+
-

-

A structure to hold various function pointers used during outline decomposition in order to emit segments, conic, and cubic Béziers.

-

-
fields
-

- -
move_to + +

fields

+ + - - - - -
move_to

The ‘move to’ emitter.

line_to +
line_to

The segment emitter.

conic_to +
conic_to

The second-order Bézier arc emitter.

cubic_to +
cubic_to

The third-order Bézier arc emitter.

shift +
shift

The shift that is applied to coordinates before they are sent to the emitter.

delta +
delta

The delta that is applied to coordinates before they are sent to the emitter, but after the shift.

-
-
note
+ +

note

The point coordinates sent to the emitters are the transformed version of the original coordinates (this is important for high accuracy during scan-conversion). The transformation is simple:

   x' = (x << shift) - delta                                        
   y' = (x << shift) - delta                                        
 

Set the values of ‘shift’ and ‘delta’ to 0 to get the original point coordinates.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Outline_Decompose

-
-Defined in FT_OUTLINE_H (ftoutln.h). -

-
 
-  FT_EXPORT( FT_Error )
-  FT_Outline_Decompose( FT_Outline*              outline,
-                        const FT_Outline_Funcs*  func_interface,
-                        void*                    user );
+
+ -

-
-

Walk over an outline's structure to decompose it into individual segments and Bézier arcs. This function also emits ‘move to’ operations to indicate the start of new contours in the outline.

-

-
input
-

- - -
outline -

A pointer to the source target.

-
func_interface -

A table of ‘emitters’, i.e., function pointers called during decomposition to indicate path operations.

+
+

FT_Outline_MoveToFunc

+

Defined in FT_IMAGE_H (ftimage.h).

+
+  typedef int
+  (*FT_Outline_MoveToFunc)( const FT_Vector*  to,
+                            void*             user );
+
+#define FT_Outline_MoveTo_Func  FT_Outline_MoveToFunc
+
+ +

A function pointer type used to describe the signature of a ‘move to’ function during outline walking/decomposition.

+

A ‘move to’ is emitted to start a new contour in an outline.

+ +

input

+ + -
to +

A pointer to the target point of the ‘move to’.

-
-
inout
-

- -
user -

A typeless pointer that is passed to each emitter during the decomposition. It can be used to store the state during the decomposition.

+
user +

A typeless pointer, which is passed from the caller of the decomposition function.

-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

A contour that contains a single point only is represented by a ‘move to’ operation followed by ‘line to’ to the same point. In most cases, it is best to filter this out before using the outline for stroking purposes (otherwise it would result in a visible dot when round caps are used).

-
-
-
- - -
[Index][TOC]
- -
-

FT_Outline_Get_CBox

-
-Defined in FT_OUTLINE_H (ftoutln.h). -

-
 
-  FT_EXPORT( void )
-  FT_Outline_Get_CBox( const FT_Outline*  outline,
-                       FT_BBox           *acbox );
+

return

+

Error code. 0 means success.

-

-
-

Return an outline's ‘control box’. The control box encloses all the outline's points, including Bézier control points. Though it coincides with the exact bounding box for most glyphs, it can be slightly larger in some situations (like when rotating an outline that contains Bézier outside arcs).

-

Computing the control box is very fast, while getting the bounding box can take much more time as it needs to walk over all segments and arcs in the outline. To get the latter, you can use the ‘ftbbox’ component, which is dedicated to this single task.

-

-
input
-

- -
outline -

A pointer to the source outline descriptor.

+
+ + +
+

FT_Outline_LineToFunc

+

Defined in FT_IMAGE_H (ftimage.h).

+
+  typedef int
+  (*FT_Outline_LineToFunc)( const FT_Vector*  to,
+                            void*             user );
+
+#define FT_Outline_LineTo_Func  FT_Outline_LineToFunc
+
+ +

A function pointer type used to describe the signature of a ‘line to’ function during outline walking/decomposition.

+

A ‘line to’ is emitted to indicate a segment in the outline.

+ +

input

+ + -
to +

A pointer to the target point of the ‘line to’.

-
-
output
-

- -
acbox -

The outline's control box.

+
user +

A typeless pointer, which is passed from the caller of the decomposition function.

-
-
note
-

See FT_Glyph_Get_CBox for a discussion of tricky fonts.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Outline_Get_Bitmap

-
-Defined in FT_OUTLINE_H (ftoutln.h). -

-
 
-  FT_EXPORT( FT_Error )
-  FT_Outline_Get_Bitmap( FT_Library        library,
-                         FT_Outline*       outline,
-                         const FT_Bitmap  *abitmap );
+

return

+

Error code. 0 means success.

-

-
-

Render an outline within a bitmap. The outline's image is simply OR-ed to the target bitmap.

-

-
input
-

- -
library -

A handle to a FreeType library object.

+
+ + +
+

FT_Outline_ConicToFunc

+

Defined in FT_IMAGE_H (ftimage.h).

+
+  typedef int
+  (*FT_Outline_ConicToFunc)( const FT_Vector*  control,
+                             const FT_Vector*  to,
+                             void*             user );
+
+#define FT_Outline_ConicTo_Func  FT_Outline_ConicToFunc
+
+ +

A function pointer type used to describe the signature of a ‘conic to’ function during outline walking or decomposition.

+

A ‘conic to’ is emitted to indicate a second-order Bézier arc in the outline.

+ +

input

+ + - -
control +

An intermediate control point between the last position and the new target in ‘to’.

outline -

A pointer to the source outline descriptor.

+
to +

A pointer to the target end point of the conic arc.

-
-
inout
-

- -
abitmap -

A pointer to the target bitmap descriptor.

+
user +

A typeless pointer, which is passed from the caller of the decomposition function.

-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

This function does NOT CREATE the bitmap, it only renders an outline image within the one you pass to it! Consequently, the various fields in ‘abitmap’ should be set accordingly.

-

It will use the raster corresponding to the default glyph format.

-

The value of the ‘num_grays’ field in ‘abitmap’ is ignored. If you select the gray-level rasterizer, and you want less than 256 gray levels, you have to use FT_Outline_Render directly.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Outline_Render

-
-Defined in FT_OUTLINE_H (ftoutln.h). -

-
 
-  FT_EXPORT( FT_Error )
-  FT_Outline_Render( FT_Library         library,
-                     FT_Outline*        outline,
-                     FT_Raster_Params*  params );
+

return

+

Error code. 0 means success.

-

-
-

Render an outline within a bitmap using the current scan-convert. This function uses an FT_Raster_Params structure as an argument, allowing advanced features like direct composition, translucency, etc.

-

-
input
-

- -
library -

A handle to a FreeType library object.

+
+ + +
+

FT_Outline_CubicToFunc

+

Defined in FT_IMAGE_H (ftimage.h).

+
+  typedef int
+  (*FT_Outline_CubicToFunc)( const FT_Vector*  control1,
+                             const FT_Vector*  control2,
+                             const FT_Vector*  to,
+                             void*             user );
+
+#define FT_Outline_CubicTo_Func  FT_Outline_CubicToFunc
+
+ +

A function pointer type used to describe the signature of a ‘cubic to’ function during outline walking or decomposition.

+

A ‘cubic to’ is emitted to indicate a third-order Bézier arc.

+ +

input

+ + - -
control1 +

A pointer to the first Bézier control point.

outline -

A pointer to the source outline descriptor.

+
control2 +

A pointer to the second Bézier control point.

-
-
inout
-

- - +
params -

A pointer to an FT_Raster_Params structure used to describe the rendering operation.

+
to +

A pointer to the target end point.

+
user +

A typeless pointer, which is passed from the caller of the decomposition function.

-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

You should know what you are doing and how FT_Raster_Params works to use this function.

-

The field ‘params.source’ will be set to ‘outline’ before the scan converter is called, which means that the value you give to it is actually ignored.

-

The gray-level rasterizer always uses 256 gray levels. If you want less gray levels, you have to provide your own span callback. See the FT_RASTER_FLAG_DIRECT value of the ‘flags’ field in the FT_Raster_Params structure for more details.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Orientation

-
-Defined in FT_OUTLINE_H (ftoutln.h). -

-
 
+

return

+

Error code. 0 means success.

+ +
+ + +

-

A list of values used to describe an outline's contour orientation.

The TrueType and PostScript specifications use different conventions to determine whether outline contours should be filled or unfilled.

-

-
values
-

- - -
FT_ORIENTATION_TRUETYPE
+ +

values

+ + - - - - - - -
FT_ORIENTATION_TRUETYPE

According to the TrueType specification, clockwise contours must be filled, and counter-clockwise ones must be unfilled.

FT_ORIENTATION_POSTSCRIPT
+
FT_ORIENTATION_POSTSCRIPT

According to the PostScript specification, counter-clockwise contours must be filled, and clockwise ones must be unfilled.

FT_ORIENTATION_FILL_RIGHT
+
FT_ORIENTATION_FILL_RIGHT

This is identical to FT_ORIENTATION_TRUETYPE, but is used to remember that in TrueType, everything that is to the right of the drawing direction of a contour must be filled.

FT_ORIENTATION_FILL_LEFT
+
FT_ORIENTATION_FILL_LEFT

This is identical to FT_ORIENTATION_POSTSCRIPT, but is used to remember that in PostScript, everything that is to the left of the drawing direction of a contour must be filled.

FT_ORIENTATION_NONE +
FT_ORIENTATION_NONE

The orientation cannot be determined. That is, different parts of the glyph have different orientation.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Outline_Get_Orientation

-
-Defined in FT_OUTLINE_H (ftoutln.h). -

-
 
+
+ + +
+

FT_Outline_Get_Orientation

+

Defined in FT_OUTLINE_H (ftoutln.h).

+
   FT_EXPORT( FT_Orientation )
   FT_Outline_Get_Orientation( FT_Outline*  outline );
+
-

-

This function analyzes a glyph outline and tries to compute its fill orientation (see FT_Orientation). This is done by integrating the total area covered by the outline. The positive integral corresponds to the clockwise orientation and FT_ORIENTATION_POSTSCRIPT is returned. The negative integral corresponds to the counter-clockwise orientation and FT_ORIENTATION_TRUETYPE is returned.

Note that this will return FT_ORIENTATION_TRUETYPE for empty outlines.

-

-
input
-

- -
outline + +

input

+ +
outline

A handle to the source outline.

-
-
return
+ +

return

The orientation.

-
-
-
- - -
[Index][TOC]
+ +
+ + +
+

FT_OUTLINE_XXX

+

Defined in FT_IMAGE_H (ftimage.h).

+
+#define FT_OUTLINE_NONE             0x0
+#define FT_OUTLINE_OWNER            0x1
+#define FT_OUTLINE_EVEN_ODD_FILL    0x2
+#define FT_OUTLINE_REVERSE_FILL     0x4
+#define FT_OUTLINE_IGNORE_DROPOUTS  0x8
+#define FT_OUTLINE_SMART_DROPOUTS   0x10
+#define FT_OUTLINE_INCLUDE_STUBS    0x20
+
+#define FT_OUTLINE_HIGH_PRECISION   0x100
+#define FT_OUTLINE_SINGLE_PASS      0x200
+
+
+  /* these constants are deprecated; use the corresponding */
+  /* `FT_OUTLINE_XXX' values instead                       */
+#define ft_outline_none             FT_OUTLINE_NONE
+#define ft_outline_owner            FT_OUTLINE_OWNER
+#define ft_outline_even_odd_fill    FT_OUTLINE_EVEN_ODD_FILL
+#define ft_outline_reverse_fill     FT_OUTLINE_REVERSE_FILL
+#define ft_outline_ignore_dropouts  FT_OUTLINE_IGNORE_DROPOUTS
+#define ft_outline_high_precision   FT_OUTLINE_HIGH_PRECISION
+#define ft_outline_single_pass      FT_OUTLINE_SINGLE_PASS
+
+ +

A list of bit-field constants use for the flags in an outline's ‘flags’ field.

+ +

values

+ + + + + + + + + + +
FT_OUTLINE_NONE +

Value 0 is reserved.

+
FT_OUTLINE_OWNER +

If set, this flag indicates that the outline's field arrays (i.e., ‘points’, ‘flags’, and ‘contours’) are ‘owned’ by the outline object, and should thus be freed when it is destroyed.

+
FT_OUTLINE_EVEN_ODD_FILL +

By default, outlines are filled using the non-zero winding rule. If set to 1, the outline will be filled using the even-odd fill rule (only works with the smooth rasterizer).

+
FT_OUTLINE_REVERSE_FILL +

By default, outside contours of an outline are oriented in clock-wise direction, as defined in the TrueType specification. This flag is set if the outline uses the opposite direction (typically for Type 1 fonts). This flag is ignored by the scan converter.

+
FT_OUTLINE_IGNORE_DROPOUTS +

By default, the scan converter will try to detect drop-outs in an outline and correct the glyph bitmap to ensure consistent shape continuity. If set, this flag hints the scan-line converter to ignore such cases. See below for more information.

+
FT_OUTLINE_SMART_DROPOUTS +

Select smart dropout control. If unset, use simple dropout control. Ignored if FT_OUTLINE_IGNORE_DROPOUTS is set. See below for more information.

+
FT_OUTLINE_INCLUDE_STUBS +

If set, turn pixels on for ‘stubs’, otherwise exclude them. Ignored if FT_OUTLINE_IGNORE_DROPOUTS is set. See below for more information.

+
FT_OUTLINE_HIGH_PRECISION +

This flag indicates that the scan-line converter should try to convert this outline to bitmaps with the highest possible quality. It is typically set for small character sizes. Note that this is only a hint that might be completely ignored by a given scan-converter.

+
FT_OUTLINE_SINGLE_PASS +

This flag is set to force a given scan-converter to only use a single pass over the outline to render a bitmap glyph image. Normally, it is set for very large character sizes. It is only a hint that might be completely ignored by a given scan-converter.

+
+ +

note

+

The flags FT_OUTLINE_IGNORE_DROPOUTS, FT_OUTLINE_SMART_DROPOUTS, and FT_OUTLINE_INCLUDE_STUBS are ignored by the smooth rasterizer.

+

There exists a second mechanism to pass the drop-out mode to the B/W rasterizer; see the ‘tags’ field in FT_Outline.

+

Please refer to the description of the ‘SCANTYPE’ instruction in the OpenType specification (in file ‘ttinst1.doc’) how simple drop-outs, smart drop-outs, and stubs are defined.

+ +
+
diff --git a/freetype/docs/reference/ft2-pfr_fonts.html b/freetype/docs/reference/ft2-pfr_fonts.html index c29bdd6b9..8f3cb8ab1 100644 --- a/freetype/docs/reference/ft2-pfr_fonts.html +++ b/freetype/docs/reference/ft2-pfr_fonts.html @@ -3,204 +3,240 @@ -FreeType-2.5.3 API Reference +FreeType-2.5.5 API Reference - - -
[Index][TOC]
-

FreeType-2.5.3 API Reference

+ +

FreeType-2.5.5 API Reference

-

-PFR Fonts -

+

PFR Fonts

Synopsis

- - -
FT_Get_PFR_MetricsFT_Get_PFR_KerningFT_Get_PFR_Advance


+ + +
FT_Get_PFR_MetricsFT_Get_PFR_KerningFT_Get_PFR_Advance
+ -

This section contains the declaration of PFR-specific functions.

-

-
-

FT_Get_PFR_Metrics

-
-Defined in FT_PFR_H (ftpfr.h). -

-
 
+
+

FT_Get_PFR_Metrics

+

Defined in FT_PFR_H (ftpfr.h).

+
   FT_EXPORT( FT_Error )
   FT_Get_PFR_Metrics( FT_Face    face,
                       FT_UInt   *aoutline_resolution,
                       FT_UInt   *ametrics_resolution,
                       FT_Fixed  *ametrics_x_scale,
                       FT_Fixed  *ametrics_y_scale );
+
-

-

Return the outline and metrics resolutions of a given PFR face.

-

-
input
-

- -
face + +

input

+ +
face

Handle to the input face. It can be a non-PFR face.

-
-
output
-

- -
aoutline_resolution + +

output

+ + - - -
aoutline_resolution

Outline resolution. This is equivalent to ‘face->units_per_EM’ for non-PFR fonts. Optional (parameter can be NULL).

ametrics_resolution +
ametrics_resolution

Metrics resolution. This is equivalent to ‘outline_resolution’ for non-PFR fonts. Optional (parameter can be NULL).

ametrics_x_scale +
ametrics_x_scale

A 16.16 fixed-point number used to scale distance expressed in metrics units to device sub-pixels. This is equivalent to ‘face->size->x_scale’, but for metrics only. Optional (parameter can be NULL).

ametrics_y_scale +
ametrics_y_scale

Same as ‘ametrics_x_scale’ but for the vertical direction. optional (parameter can be NULL).

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

If the input face is not a PFR, this function will return an error. However, in all cases, it will return valid values.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_PFR_Kerning

-
-Defined in FT_PFR_H (ftpfr.h). -

-
 
+
+ + +
+

FT_Get_PFR_Kerning

+

Defined in FT_PFR_H (ftpfr.h).

+
   FT_EXPORT( FT_Error )
   FT_Get_PFR_Kerning( FT_Face     face,
                       FT_UInt     left,
                       FT_UInt     right,
                       FT_Vector  *avector );
+
-

-

Return the kerning pair corresponding to two glyphs in a PFR face. The distance is expressed in metrics units, unlike the result of FT_Get_Kerning.

-

-
input
-

- -
face + +

input

+ + - -
face

A handle to the input face.

left +
left

Index of the left glyph.

right +

Index of the right glyph.

-
-
output
-

- -
avector + +

output

+ +
avector

A kerning vector.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

This function always return distances in original PFR metrics units. This is unlike FT_Get_Kerning with the FT_KERNING_UNSCALED mode, which always returns distances converted to outline units.

You can use the value of the ‘x_scale’ and ‘y_scale’ parameters returned by FT_Get_PFR_Metrics to scale these to device sub-pixels.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_PFR_Advance

-
-Defined in FT_PFR_H (ftpfr.h). -

-
 
+
+ + +
+

FT_Get_PFR_Advance

+

Defined in FT_PFR_H (ftpfr.h).

+
   FT_EXPORT( FT_Error )
   FT_Get_PFR_Advance( FT_Face   face,
                       FT_UInt   gindex,
                       FT_Pos   *aadvance );
+
-

-

Return a given glyph advance, expressed in original metrics units, from a PFR font.

-

-
input
-

- -
face + +

input

+ + -
face

A handle to the input face.

gindex +
gindex

The glyph index.

-
-
output
-

- -
aadvance + +

output

+ +
aadvance

The glyph advance in metrics units.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

You can use the ‘x_scale’ or ‘y_scale’ results of FT_Get_PFR_Metrics to convert the advance to device sub-pixels (i.e., 1/64th of pixels).

-
-
-
- - -
[Index][TOC]
+ +
+ diff --git a/freetype/docs/reference/ft2-quick_advance.html b/freetype/docs/reference/ft2-quick_advance.html index 4ae19fd09..4cffbf837 100644 --- a/freetype/docs/reference/ft2-quick_advance.html +++ b/freetype/docs/reference/ft2-quick_advance.html @@ -3,184 +3,222 @@ -FreeType-2.5.3 API Reference +FreeType-2.5.5 API Reference - - -
[Index][TOC]
-

FreeType-2.5.3 API Reference

+ +

FreeType-2.5.5 API Reference

-

-Quick retrieval of advance values -

+

Quick retrieval of advance values

Synopsis

- - - -
FT_ADVANCE_FLAG_FAST_ONLYFT_Get_Advances
FT_Get_Advance


- -
-

This section contains functions to quickly extract advance values without handling glyph outlines, if possible.

-

-
-

FT_ADVANCE_FLAG_FAST_ONLY

-
-Defined in FT_ADVANCES_H (ftadvanc.h). -

-
+
+
+
+
FT_Get_Advance 
FT_Get_AdvancesFT_ADVANCE_FLAG_FAST_ONLY
-#define FT_ADVANCE_FLAG_FAST_ONLY 0x20000000UL -

-
-

A bit-flag to be OR-ed with the ‘flags’ parameter of the FT_Get_Advance and FT_Get_Advances functions.

-

If set, it indicates that you want these functions to fail if the corresponding hinting mode or font driver doesn't allow for very quick advance computation.

-

Typically, glyphs that are either unscaled, unhinted, bitmapped, or light-hinted can have their advance width computed very quickly.

-

Normal and bytecode hinted modes that require loading, scaling, and hinting of the glyph outline, are extremely slow by comparison.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Get_Advance

-
-Defined in FT_ADVANCES_H (ftadvanc.h). -

-
+

This section contains functions to quickly extract advance values without handling glyph outlines, if possible.

+
+

FT_Get_Advance

+

Defined in FT_ADVANCES_H (ftadvanc.h).

+
   FT_EXPORT( FT_Error )
   FT_Get_Advance( FT_Face    face,
                   FT_UInt    gindex,
                   FT_Int32   load_flags,
                   FT_Fixed  *padvance );
+
-

-

Retrieve the advance value of a given glyph outline in an FT_Face.

-

-
input
-

- -
face + +

input

+ + - -
face

The source FT_Face handle.

gindex +
gindex

The glyph index.

load_flags +
load_flags

A set of bit flags similar to those used when calling FT_Load_Glyph, used to determine what kind of advances you need.

-
-
output
-

- -
padvance + +

output

+ +
padvance

The advance value. If scaling is performed (based on the value of ‘load_flags’), the advance value is in 16.16 format. Otherwise, it is in font units.

If FT_LOAD_VERTICAL_LAYOUT is set, this is the vertical advance corresponding to a vertical layout. Otherwise, it is the horizontal advance in a horizontal layout.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

This function may fail if you use FT_ADVANCE_FLAG_FAST_ONLY and if the corresponding font backend doesn't have a quick way to retrieve the advances.

A scaled advance is returned in 16.16 format but isn't transformed by the affine transformation specified by FT_Set_Transform.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_Advances

-
-Defined in FT_ADVANCES_H (ftadvanc.h). -

-
 
+
+ + +
+

FT_Get_Advances

+

Defined in FT_ADVANCES_H (ftadvanc.h).

+
   FT_EXPORT( FT_Error )
   FT_Get_Advances( FT_Face    face,
                    FT_UInt    start,
                    FT_UInt    count,
                    FT_Int32   load_flags,
                    FT_Fixed  *padvances );
+
-

-

Retrieve the advance values of several glyph outlines in an FT_Face.

-

-
input
-

- -
face + +

input

+ + - - -
face

The source FT_Face handle.

start +
start

The first glyph index.

count +
count

The number of advance values you want to retrieve.

load_flags +
load_flags

A set of bit flags similar to those used when calling FT_Load_Glyph.

-
-
output
-

- -
padvance + +

output

+ +
padvance

The advance values. This array, to be provided by the caller, must contain at least ‘count’ elements.

If scaling is performed (based on the value of ‘load_flags’), the advance values are in 16.16 format. Otherwise, they are in font units.

If FT_LOAD_VERTICAL_LAYOUT is set, these are the vertical advances corresponding to a vertical layout. Otherwise, they are the horizontal advances in a horizontal layout.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

This function may fail if you use FT_ADVANCE_FLAG_FAST_ONLY and if the corresponding font backend doesn't have a quick way to retrieve the advances.

Scaled advances are returned in 16.16 format but aren't transformed by the affine transformation specified by FT_Set_Transform.

-
-
-
- - -
[Index][TOC]
+ +
+ + +
+

FT_ADVANCE_FLAG_FAST_ONLY

+

Defined in FT_ADVANCES_H (ftadvanc.h).

+
+#define FT_ADVANCE_FLAG_FAST_ONLY  0x20000000UL
+
+ +

A bit-flag to be OR-ed with the ‘flags’ parameter of the FT_Get_Advance and FT_Get_Advances functions.

+

If set, it indicates that you want these functions to fail if the corresponding hinting mode or font driver doesn't allow for very quick advance computation.

+

Typically, glyphs that are either unscaled, unhinted, bitmapped, or light-hinted can have their advance width computed very quickly.

+

Normal and bytecode hinted modes that require loading, scaling, and hinting of the glyph outline, are extremely slow by comparison.

+ +
+
diff --git a/freetype/docs/reference/ft2-raster.html b/freetype/docs/reference/ft2-raster.html index b94ef6541..3d4062124 100644 --- a/freetype/docs/reference/ft2-raster.html +++ b/freetype/docs/reference/ft2-raster.html @@ -3,81 +3,135 @@ -FreeType-2.5.3 API Reference +FreeType-2.5.5 API Reference - - -
[Index][TOC]
-

FreeType-2.5.3 API Reference

+ +

FreeType-2.5.5 API Reference

-

-Scanline Converter -

+

Scanline Converter

Synopsis

- - - - - - -
FT_RasterFT_RASTER_FLAG_XXXFT_Raster_SetModeFunc
FT_SpanFT_Raster_ParamsFT_Raster_RenderFunc
FT_SpanFuncFT_Raster_NewFuncFT_Raster_Funcs
FT_Raster_BitTest_FuncFT_Raster_DoneFunc
FT_Raster_BitSet_FuncFT_Raster_ResetFunc


- -
+ + + + + + + +
FT_Raster FT_Raster_Funcs
FT_SpanFT_Raster_NewFunc 
FT_SpanFuncFT_Raster_DoneFuncFT_Raster_BitTest_Func
 FT_Raster_ResetFuncFT_Raster_BitSet_Func
FT_Raster_ParamsFT_Raster_SetModeFunc
FT_RASTER_FLAG_XXXFT_Raster_RenderFunc
+ +

This section contains technical definitions.

-

-
-

FT_Raster

-
-Defined in FT_IMAGE_H (ftimage.h). -

-
 
+
+

FT_Raster

+

Defined in FT_IMAGE_H (ftimage.h).

+
   typedef struct FT_RasterRec_*  FT_Raster;
+
+ +

An opaque handle (pointer) to a raster object. Each object can be used independently to convert an outline into a bitmap or pixmap.

-

-
-

A handle (pointer) to a raster object. Each object can be used independently to convert an outline into a bitmap or pixmap.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Span

-
-Defined in FT_IMAGE_H (ftimage.h). -

-
+
+ +
+

FT_Span

+

Defined in FT_IMAGE_H (ftimage.h).

+
   typedef struct  FT_Span_
   {
     short           x;
@@ -85,42 +139,34 @@ Defined in FT_IMAGE_H (ftimage.h).
     unsigned char   coverage;
 
   } FT_Span;
+
-

-
-

A structure used to model a single span of gray (or black) pixels when rendering a monochrome or anti-aliased bitmap.

-

-
fields
-

- -
x +

A structure used to model a single span of gray pixels when rendering an anti-aliased bitmap.

+ +

fields

+ + - -
x

The span's horizontal start position.

len +
len

The span's length in pixels.

coverage -

The span color/coverage, ranging from 0 (background) to 255 (foreground). Only used for anti-aliased rendering.

+
coverage +

The span color/coverage, ranging from 0 (background) to 255 (foreground).

-
-
note
+ +

note

This structure is used by the span drawing callback type named FT_SpanFunc that takes the y coordinate of the span as a parameter.

The coverage value is always between 0 and 255. If you want less gray values, the callback function has to reduce them.

-
-
-
- - -
[Index][TOC]
- -
-

FT_SpanFunc

-
-Defined in FT_IMAGE_H (ftimage.h). -

-
 
+
+ + +
+

FT_SpanFunc

+

Defined in FT_IMAGE_H (ftimage.h).

+
   typedef void
   (*FT_SpanFunc)( int             y,
                   int             count,
@@ -128,439 +174,294 @@ Defined in FT_IMAGE_H (ftimage.h).
                   void*           user );
 
 #define FT_Raster_Span_Func  FT_SpanFunc
+
-

-

A function used as a call-back by the anti-aliased renderer in order to let client applications draw themselves the gray pixel spans on each scan line.

-

-
input
-

- -
y + +

input

+ + - - -
y

The scanline's y coordinate.

count +
count

The number of spans to draw on this scanline.

spans +
spans

A table of ‘count’ spans to draw on the scanline.

user +
user

User-supplied data that is passed to the callback.

-
-
note
+ +

note

This callback allows client applications to directly render the gray spans of the anti-aliased bitmap to any kind of surfaces.

This can be used to write anti-aliased outlines directly to a given background bitmap, and even perform translucency.

Note that the ‘count’ field cannot be greater than a fixed value defined by the ‘FT_MAX_GRAY_SPANS’ configuration macro in ‘ftoption.h’. By default, this value is set to 32, which means that if there are more than 32 spans on a given scanline, the callback is called several times with the same ‘y’ parameter in order to draw all callbacks.

Otherwise, the callback is only called once per scan-line, and only for those scanlines that do have ‘gray’ pixels on them.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Raster_BitTest_Func

-
-Defined in FT_IMAGE_H (ftimage.h). -

-
 
-  typedef int
-  (*FT_Raster_BitTest_Func)( int    y,
-                             int    x,
-                             void*  user );
-
-

-
-

THIS TYPE IS DEPRECATED. DO NOT USE IT.

-

A function used as a call-back by the monochrome scan-converter to test whether a given target pixel is already set to the drawing ‘color’. These tests are crucial to implement drop-out control per-se the TrueType spec.

-

-
input
-

- - - - -
y -

The pixel's y coordinate.

-
x -

The pixel's x coordinate.

-
user -

User-supplied data that is passed to the callback.

-
-
-
return
-

1 if the pixel is ‘set’, 0 otherwise.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Raster_BitSet_Func

-
-Defined in FT_IMAGE_H (ftimage.h). -

-
-
-  typedef void
-  (*FT_Raster_BitSet_Func)( int    y,
-                            int    x,
-                            void*  user );
-
-

-
-

THIS TYPE IS DEPRECATED. DO NOT USE IT.

-

A function used as a call-back by the monochrome scan-converter to set an individual target pixel. This is crucial to implement drop-out control according to the TrueType specification.

-

-
input
-

- - - - -
y -

The pixel's y coordinate.

-
x -

The pixel's x coordinate.

-
user -

User-supplied data that is passed to the callback.

-
-
-
return
-

1 if the pixel is ‘set’, 0 otherwise.

-
-
-
- - -
[Index][TOC]
- -
-

FT_RASTER_FLAG_XXX

-
-Defined in FT_IMAGE_H (ftimage.h). -

-
-
-#define FT_RASTER_FLAG_DEFAULT  0x0
-#define FT_RASTER_FLAG_AA       0x1
-#define FT_RASTER_FLAG_DIRECT   0x2
-#define FT_RASTER_FLAG_CLIP     0x4
-
-  /* deprecated */
-#define ft_raster_flag_default  FT_RASTER_FLAG_DEFAULT
-#define ft_raster_flag_aa       FT_RASTER_FLAG_AA
-#define ft_raster_flag_direct   FT_RASTER_FLAG_DIRECT
-#define ft_raster_flag_clip     FT_RASTER_FLAG_CLIP
-
-

-
-

A list of bit flag constants as used in the ‘flags’ field of a FT_Raster_Params structure.

-

-
values
-

- - - - - -
FT_RASTER_FLAG_DEFAULT -

This value is 0.

-
FT_RASTER_FLAG_AA -

This flag is set to indicate that an anti-aliased glyph image should be generated. Otherwise, it will be monochrome (1-bit).

-
FT_RASTER_FLAG_DIRECT -

This flag is set to indicate direct rendering. In this mode, client applications must provide their own span callback. This lets them directly draw or compose over an existing bitmap. If this bit is not set, the target pixmap's buffer must be zeroed before rendering.

-

Note that for now, direct rendering is only possible with anti-aliased glyphs.

-
FT_RASTER_FLAG_CLIP -

This flag is only used in direct rendering mode. If set, the output will be clipped to a box specified in the ‘clip_box’ field of the FT_Raster_Params structure.

-

Note that by default, the glyph bitmap is clipped to the target pixmap, except in direct rendering mode where all spans are generated if no clipping box is set.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_Raster_Params

-
-Defined in FT_IMAGE_H (ftimage.h). -

-
+
+ +
+

FT_Raster_Params

+

Defined in FT_IMAGE_H (ftimage.h).

+
   typedef struct  FT_Raster_Params_
   {
     const FT_Bitmap*        target;
     const void*             source;
     int                     flags;
     FT_SpanFunc             gray_spans;
-    FT_SpanFunc             black_spans;  /* doesn't work! */
-    FT_Raster_BitTest_Func  bit_test;     /* doesn't work! */
-    FT_Raster_BitSet_Func   bit_set;      /* doesn't work! */
+    FT_SpanFunc             black_spans;  /* unused */
+    FT_Raster_BitTest_Func  bit_test;     /* unused */
+    FT_Raster_BitSet_Func   bit_set;      /* unused */
     void*                   user;
     FT_BBox                 clip_box;
 
   } FT_Raster_Params;
+
-

-

A structure to hold the arguments used by a raster's render function.

-

-
fields
-

- -
target + +

fields

+ + - - - - - - - -
target

The target bitmap.

source +
source

A pointer to the source glyph image (e.g., an FT_Outline).

flags +
flags

The rendering flags.

gray_spans +
gray_spans

The gray span drawing callback.

black_spans -

The black span drawing callback. UNIMPLEMENTED!

+
black_spans +

Unused.

bit_test -

The bit test callback. UNIMPLEMENTED!

+
bit_test +

Unused.

bit_set -

The bit set callback. UNIMPLEMENTED!

+
bit_set +

Unused.

user +
user

User-supplied data that is passed to each drawing callback.

clip_box +
clip_box

An optional clipping box. It is only used in direct rendering mode. Note that coordinates here should be expressed in integer pixels (and not in 26.6 fixed-point units).

-
-
note
+ +

note

An anti-aliased glyph bitmap is drawn if the FT_RASTER_FLAG_AA bit flag is set in the ‘flags’ field, otherwise a monochrome bitmap is generated.

-

If the FT_RASTER_FLAG_DIRECT bit flag is set in ‘flags’, the raster will call the ‘gray_spans’ callback to draw gray pixel spans, in the case of an aa glyph bitmap, it will call ‘black_spans’, and ‘bit_test’ and ‘bit_set’ in the case of a monochrome bitmap. This allows direct composition over a pre-existing bitmap through user-provided callbacks to perform the span drawing/composition.

-

Note that the ‘bit_test’ and ‘bit_set’ callbacks are required when rendering a monochrome bitmap, as they are crucial to implement correct drop-out control as defined in the TrueType specification.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Raster_NewFunc

-
-Defined in FT_IMAGE_H (ftimage.h). -

-
+

If the FT_RASTER_FLAG_DIRECT bit flag is set in ‘flags’, the raster will call the ‘gray_spans’ callback to draw gray pixel spans. This allows direct composition over a pre-existing bitmap through user-provided callbacks to perform the span drawing and composition. Not supported by the monochrome rasterizer.

+ +
+ + +
+

FT_RASTER_FLAG_XXX

+

Defined in FT_IMAGE_H (ftimage.h).

+
+#define FT_RASTER_FLAG_DEFAULT  0x0
+#define FT_RASTER_FLAG_AA       0x1
+#define FT_RASTER_FLAG_DIRECT   0x2
+#define FT_RASTER_FLAG_CLIP     0x4
+
+  /* these constants are deprecated; use the corresponding */
+  /* `FT_RASTER_FLAG_XXX' values instead                   */
+#define ft_raster_flag_default  FT_RASTER_FLAG_DEFAULT
+#define ft_raster_flag_aa       FT_RASTER_FLAG_AA
+#define ft_raster_flag_direct   FT_RASTER_FLAG_DIRECT
+#define ft_raster_flag_clip     FT_RASTER_FLAG_CLIP
+
+ +

A list of bit flag constants as used in the ‘flags’ field of a FT_Raster_Params structure.

+ +

values

+ + + + + +
FT_RASTER_FLAG_DEFAULT +

This value is 0.

+
FT_RASTER_FLAG_AA +

This flag is set to indicate that an anti-aliased glyph image should be generated. Otherwise, it will be monochrome (1-bit).

+
FT_RASTER_FLAG_DIRECT +

This flag is set to indicate direct rendering. In this mode, client applications must provide their own span callback. This lets them directly draw or compose over an existing bitmap. If this bit is not set, the target pixmap's buffer must be zeroed before rendering.

+

Direct rendering is only possible with anti-aliased glyphs.

+
FT_RASTER_FLAG_CLIP +

This flag is only used in direct rendering mode. If set, the output will be clipped to a box specified in the ‘clip_box’ field of the FT_Raster_Params structure.

+

Note that by default, the glyph bitmap is clipped to the target pixmap, except in direct rendering mode where all spans are generated if no clipping box is set.

+
+
+
+ +
+

FT_Raster_NewFunc

+

Defined in FT_IMAGE_H (ftimage.h).

+
   typedef int
   (*FT_Raster_NewFunc)( void*       memory,
                         FT_Raster*  raster );
 
 #define FT_Raster_New_Func  FT_Raster_NewFunc
+
-

-

A function used to create a new raster object.

-

-
input
-

- -
memory + +

input

+ +
memory

A handle to the memory allocator.

-
-
output
-

- -
raster + +

output

+ +
raster

A handle to the new raster object.

-
-
return
+ +

return

Error code. 0 means success.

-
-
note
+ +

note

The ‘memory’ parameter is a typeless pointer in order to avoid un-wanted dependencies on the rest of the FreeType code. In practice, it is an FT_Memory object, i.e., a handle to the standard FreeType memory allocator. However, this field can be completely ignored by a given raster implementation.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Raster_DoneFunc

-
-Defined in FT_IMAGE_H (ftimage.h). -

-
 
+
+ + +
+

FT_Raster_DoneFunc

+

Defined in FT_IMAGE_H (ftimage.h).

+
   typedef void
   (*FT_Raster_DoneFunc)( FT_Raster  raster );
 
 #define FT_Raster_Done_Func  FT_Raster_DoneFunc
+
-

-

A function used to destroy a given raster object.

-

-
input
-

- -
raster + +

input

+ +
raster

A handle to the raster object.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Raster_ResetFunc

-
-Defined in FT_IMAGE_H (ftimage.h). -

-
 
+
+ + +
+

FT_Raster_ResetFunc

+

Defined in FT_IMAGE_H (ftimage.h).

+
   typedef void
   (*FT_Raster_ResetFunc)( FT_Raster       raster,
                           unsigned char*  pool_base,
                           unsigned long   pool_size );
 
 #define FT_Raster_Reset_Func  FT_Raster_ResetFunc
+
-

-

FreeType provides an area of memory called the ‘render pool’, available to all registered rasters. This pool can be freely used during a given scan-conversion but is shared by all rasters. Its content is thus transient.

This function is called each time the render pool changes, or just after a new raster object is created.

-

-
input
-

- -
raster + +

input

+ + - -
raster

A handle to the new raster object.

pool_base +
pool_base

The address in memory of the render pool.

pool_size +
pool_size

The size in bytes of the render pool.

-
-
note
+ +

note

Rasters can ignore the render pool and rely on dynamic memory allocation if they want to (a handle to the memory allocator is passed to the raster constructor). However, this is not recommended for efficiency purposes.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Raster_SetModeFunc

-
-Defined in FT_IMAGE_H (ftimage.h). -

-
 
+
+ + +
+

FT_Raster_SetModeFunc

+

Defined in FT_IMAGE_H (ftimage.h).

+
   typedef int
   (*FT_Raster_SetModeFunc)( FT_Raster      raster,
                             unsigned long  mode,
                             void*          args );
 
 #define FT_Raster_Set_Mode_Func  FT_Raster_SetModeFunc
+
-

-

This function is a generic facility to change modes or attributes in a given raster. This can be used for debugging purposes, or simply to allow implementation-specific ‘features’ in a given raster module.

-

-
input
-

- -
raster + +

input

+ + - -
raster

A handle to the new raster object.

mode +
mode

A 4-byte tag used to name the mode or property.

args +
args

A pointer to the new mode/property to use.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Raster_RenderFunc

-
-Defined in FT_IMAGE_H (ftimage.h). -

-
 
+
+ + +
+

FT_Raster_RenderFunc

+

Defined in FT_IMAGE_H (ftimage.h).

+
   typedef int
   (*FT_Raster_RenderFunc)( FT_Raster                raster,
                            const FT_Raster_Params*  params );
 
 #define FT_Raster_Render_Func  FT_Raster_RenderFunc
+
-

-

Invoke a given raster to scan-convert a given glyph image into a target bitmap.

-

-
input
-

- -
raster + +

input

+ + -
raster

A handle to the raster object.

params +
params

A pointer to an FT_Raster_Params structure used to store the rendering parameters.

-
-
return
+ +

return

Error code. 0 means success.

-
-
note
+ +

note

The exact format of the source image depends on the raster's glyph format defined in its FT_Raster_Funcs structure. It can be an FT_Outline or anything else in order to support a large array of glyph formats.

Note also that the render function can fail and return a ‘FT_Err_Unimplemented_Feature’ error code if the raster used does not support direct composition.

XXX: For now, the standard raster doesn't support direct composition but this should change for the final release (see the files ‘demos/src/ftgrays.c’ and ‘demos/src/ftgrays2.c’ for examples of distinct implementations that support direct composition).

-
-
-
- - -
[Index][TOC]
- -
-

FT_Raster_Funcs

-
-Defined in FT_IMAGE_H (ftimage.h). -

-
 
+
+ + +
+

FT_Raster_Funcs

+

Defined in FT_IMAGE_H (ftimage.h).

+
   typedef struct  FT_Raster_Funcs_
   {
     FT_Glyph_Format        glyph_format;
@@ -571,36 +472,61 @@ Defined in FT_IMAGE_H (ftimage.h).
     FT_Raster_DoneFunc     raster_done;
 
   } FT_Raster_Funcs;
+
-

-

A structure used to describe a given raster class to the library.

-

-
fields
-

- -
glyph_format + +

fields

+ + - - - -
glyph_format

The supported glyph format for this raster.

raster_new +
raster_new

The raster constructor.

raster_reset +
raster_reset

Used to reset the render pool within the raster.

raster_render +
raster_render

A function to render a glyph into a given bitmap.

raster_done +
raster_done

The raster destructor.

-
-
-
- - -
[Index][TOC]
+ +
+ + +
+

FT_Raster_BitTest_Func

+

Defined in FT_IMAGE_H (ftimage.h).

+
+  typedef int
+  (*FT_Raster_BitTest_Func)( int    y,
+                             int    x,
+                             void*  user );
+
+ +

Deprecated, unimplemented.

+ +
+
+ +
+

FT_Raster_BitSet_Func

+

Defined in FT_IMAGE_H (ftimage.h).

+
+  typedef void
+  (*FT_Raster_BitSet_Func)( int    y,
+                            int    x,
+                            void*  user );
+
+ +

Deprecated, unimplemented.

+ +
+
diff --git a/freetype/docs/reference/ft2-sfnt_names.html b/freetype/docs/reference/ft2-sfnt_names.html index a1720b137..3bd918d3e 100644 --- a/freetype/docs/reference/ft2-sfnt_names.html +++ b/freetype/docs/reference/ft2-sfnt_names.html @@ -3,64 +3,124 @@ -FreeType-2.5.3 API Reference +FreeType-2.5.5 API Reference - - -
[Index][TOC]
-

FreeType-2.5.3 API Reference

+ +

FreeType-2.5.5 API Reference

-

-SFNT Names -

+

SFNT Names

Synopsis

- - - - - - -
FT_SfntName
FT_Get_Sfnt_Name_Count
FT_Get_Sfnt_Name
FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY
FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY


- -
+ + + + + + +
FT_SfntName
FT_Get_Sfnt_Name_Count
FT_Get_Sfnt_Name
FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY
FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY
+ +

The TrueType and OpenType specifications allow the inclusion of a special ‘names table’ in font files. This table contains textual (and internationalized) information regarding the font, like family name, copyright, version, etc.

The definitions below are used to access them if available.

Note that this has nothing to do with glyph names!

-

-
-

FT_SfntName

-
-Defined in FT_SFNT_NAMES_H (ftsnames.h). -

-
 
+
+

FT_SfntName

+

Defined in FT_SFNT_NAMES_H (ftsnames.h).

+
   typedef struct  FT_SfntName_
   {
     FT_UShort  platform_id;
@@ -72,161 +132,125 @@ Defined in FT_SFNT_NAMES_H (ftsnames.h).
     FT_UInt    string_len;  /* in bytes */
 
   } FT_SfntName;
+
-

-

A structure used to model an SFNT ‘name’ table entry.

-

-
fields
-

- -
platform_id + +

fields

+ + - - - - -
platform_id

The platform ID for ‘string’.

encoding_id +
encoding_id

The encoding ID for ‘string’.

language_id +
language_id

The language ID for ‘string’.

name_id +
name_id

An identifier for ‘string’.

string +
string

The ‘name’ string. Note that its format differs depending on the (platform,encoding) pair. It can be a Pascal String, a UTF-16 one, etc.

Generally speaking, the string is not zero-terminated. Please refer to the TrueType specification for details.

string_len +
string_len

The length of ‘string’ in bytes.

-
-
note
+ +

note

Possible values for ‘platform_id’, ‘encoding_id’, ‘language_id’, and ‘name_id’ are given in the file ‘ttnameid.h’. For details please refer to the TrueType or OpenType specification.

See also TT_PLATFORM_XXX, TT_APPLE_ID_XXX, TT_MAC_ID_XXX, TT_ISO_ID_XXX, and TT_MS_ID_XXX.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_Sfnt_Name_Count

-
-Defined in FT_SFNT_NAMES_H (ftsnames.h). -

-
 
+
+ + +
+

FT_Get_Sfnt_Name_Count

+

Defined in FT_SFNT_NAMES_H (ftsnames.h).

+
   FT_EXPORT( FT_UInt )
   FT_Get_Sfnt_Name_Count( FT_Face  face );
+
-

-

Retrieve the number of name strings in the SFNT ‘name’ table.

-

-
input
-

- -
face + +

input

+ +
face

A handle to the source face.

-
-
return
+ +

return

The number of strings in the ‘name’ table.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_Sfnt_Name

-
-Defined in FT_SFNT_NAMES_H (ftsnames.h). -

-
 
+
+ + +
+

FT_Get_Sfnt_Name

+

Defined in FT_SFNT_NAMES_H (ftsnames.h).

+
   FT_EXPORT( FT_Error )
   FT_Get_Sfnt_Name( FT_Face       face,
                     FT_UInt       idx,
                     FT_SfntName  *aname );
+
-

-

Retrieve a string of the SFNT ‘name’ table for a given index.

-

-
input
-

- -
face + +

input

+ + -
face

A handle to the source face.

idx +
idx

The index of the ‘name’ string.

-
-
output
-

- -
aname + +

output

+ +
aname

The indexed FT_SfntName structure.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

The ‘string’ array returned in the ‘aname’ structure is not null-terminated. The application should deallocate it if it is no longer in use.

Use FT_Get_Sfnt_Name_Count to get the total number of available ‘name’ table entries, then do a loop until you get the right platform, encoding, and name ID.

-
-
-
- - -
[Index][TOC]
- -
-

FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY

-
-Defined in FT_SFNT_NAMES_H (ftsnames.h). -

-
 
+
+ + +
+

FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY

+

Defined in FT_SFNT_NAMES_H (ftsnames.h).

+
 #define FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY  FT_MAKE_TAG( 'i', 'g', 'p', 'f' )
+
-

-

A constant used as the tag of FT_Parameter structures to make FT_Open_Face() ignore preferred family subfamily names in ‘name’ table since OpenType version 1.4. For backwards compatibility with legacy systems that have a 4-face-per-family restriction.

-

-
-
- - -
[Index][TOC]
- -
-

FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY

-
-Defined in FT_SFNT_NAMES_H (ftsnames.h). -

-
 
+
+ + +
+

FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY

+

Defined in FT_SFNT_NAMES_H (ftsnames.h).

+
 #define FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY  FT_MAKE_TAG( 'i', 'g', 'p', 's' )
+
-

-

A constant used as the tag of FT_Parameter structures to make FT_Open_Face() ignore preferred subfamily names in ‘name’ table since OpenType version 1.4. For backwards compatibility with legacy systems that have a 4-face-per-family restriction.

-

-
-
- - -
[Index][TOC]
+ +
+ diff --git a/freetype/docs/reference/ft2-sizes_management.html b/freetype/docs/reference/ft2-sizes_management.html index 698ef1c7b..50563eb5a 100644 --- a/freetype/docs/reference/ft2-sizes_management.html +++ b/freetype/docs/reference/ft2-sizes_management.html @@ -3,162 +3,200 @@ -FreeType-2.5.3 API Reference +FreeType-2.5.5 API Reference - - -
[Index][TOC]
-

FreeType-2.5.3 API Reference

+ +

FreeType-2.5.5 API Reference

-

-Size Management -

+

Size Management

Synopsis

- - -
FT_New_SizeFT_Done_SizeFT_Activate_Size


+ + +
FT_New_SizeFT_Done_SizeFT_Activate_Size
+ -

When creating a new face object (e.g., with FT_New_Face), an FT_Size object is automatically created and used to store all pixel-size dependent information, available in the ‘face->size’ field.

It is however possible to create more sizes for a given face, mostly in order to manage several character pixel sizes of the same font family and style. See FT_New_Size and FT_Done_Size.

Note that FT_Set_Pixel_Sizes and FT_Set_Char_Size only modify the contents of the current ‘active’ size; you thus need to use FT_Activate_Size to change it.

99% of applications won't need the functions provided here, especially if they use the caching sub-system, so be cautious when using these.

-

-
-

FT_New_Size

-
-Defined in FT_SIZES_H (ftsizes.h). -

-
 
+
+

FT_New_Size

+

Defined in FT_SIZES_H (ftsizes.h).

+
   FT_EXPORT( FT_Error )
   FT_New_Size( FT_Face   face,
                FT_Size*  size );
+
-

-

Create a new size object from a given face object.

-

-
input
-

- -
face + +

input

+ +
face

A handle to a parent face object.

-
-
output
-

- -
asize + +

output

+ +
asize

A handle to a new size object.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

You need to call FT_Activate_Size in order to select the new size for upcoming calls to FT_Set_Pixel_Sizes, FT_Set_Char_Size, FT_Load_Glyph, FT_Load_Char, etc.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Done_Size

-
-Defined in FT_SIZES_H (ftsizes.h). -

-
 
+
+ + +
+

FT_Done_Size

+

Defined in FT_SIZES_H (ftsizes.h).

+
   FT_EXPORT( FT_Error )
   FT_Done_Size( FT_Size  size );
+
-

-

Discard a given size object. Note that FT_Done_Face automatically discards all size objects allocated with FT_New_Size.

-

-
input
-

- -
size + +

input

+ +
size

A handle to a target size object.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Activate_Size

-
-Defined in FT_SIZES_H (ftsizes.h). -

-
 
+
+ + +
+

FT_Activate_Size

+

Defined in FT_SIZES_H (ftsizes.h).

+
   FT_EXPORT( FT_Error )
   FT_Activate_Size( FT_Size  size );
+
-

-

Even though it is possible to create several size objects for a given face (see FT_New_Size for details), functions like FT_Load_Glyph or FT_Load_Char only use the one that has been activated last to determine the ‘current character pixel size’.

This function can be used to ‘activate’ a previously created size object.

-

-
input
-

- -
size + +

input

+ +
size

A handle to a target size object.

-
-
return
+ +

return

FreeType error code. 0 means success.

-
-
note
+ +

note

If ‘face’ is the size's parent face object, this function changes the value of ‘face->size’ to the input size handle.

-
-
-
- - -
[Index][TOC]
+ +
+ diff --git a/freetype/docs/reference/ft2-system_interface.html b/freetype/docs/reference/ft2-system_interface.html index 05ce8320c..139cbc7f0 100644 --- a/freetype/docs/reference/ft2-system_interface.html +++ b/freetype/docs/reference/ft2-system_interface.html @@ -3,193 +3,222 @@ -FreeType-2.5.3 API Reference +FreeType-2.5.5 API Reference - - -
[Index][TOC]
-

FreeType-2.5.3 API Reference

+ +

FreeType-2.5.5 API Reference

-

-System Interface -

+

System Interface

Synopsis

- - - - - -
FT_MemoryFT_MemoryRecFT_Stream_CloseFunc
FT_Alloc_FuncFT_StreamFT_StreamRec
FT_Free_FuncFT_StreamDesc
FT_Realloc_FuncFT_Stream_IoFunc


- -
+ + + + + +
FT_MemoryFT_MemoryRecFT_Stream_CloseFunc
FT_Alloc_FuncFT_StreamFT_StreamRec
FT_Free_FuncFT_StreamDesc
FT_Realloc_FuncFT_Stream_IoFunc
+ +

This section contains various definitions related to memory management and i/o access. You need to understand this information if you want to use a custom memory manager or you own i/o streams.

-

-
-

FT_Memory

-
-Defined in FT_SYSTEM_H (ftsystem.h). -

-
 
+
+

FT_Memory

+

Defined in FT_SYSTEM_H (ftsystem.h).

+
   typedef struct FT_MemoryRec_*  FT_Memory;
+
-

-

A handle to a given memory manager object, defined with an FT_MemoryRec structure.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Alloc_Func

-
-Defined in FT_SYSTEM_H (ftsystem.h). -

-
 
+
+ + +
+

FT_Alloc_Func

+

Defined in FT_SYSTEM_H (ftsystem.h).

+
   typedef void*
   (*FT_Alloc_Func)( FT_Memory  memory,
                     long       size );
+
-

-

A function used to allocate ‘size’ bytes from ‘memory’.

-

-
input
-

- -
memory + +

input

+ + -
memory

A handle to the source memory manager.

size +
size

The size in bytes to allocate.

-
-
return
+ +

return

Address of new memory block. 0 in case of failure.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Free_Func

-
-Defined in FT_SYSTEM_H (ftsystem.h). -

-
 
+
+ + +
+

FT_Free_Func

+

Defined in FT_SYSTEM_H (ftsystem.h).

+
   typedef void
   (*FT_Free_Func)( FT_Memory  memory,
                    void*      block );
+
-

-

A function used to release a given block of memory.

-

-
input
-

- -
memory + +

input

+ + -
memory

A handle to the source memory manager.

block +
block

The address of the target memory block.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Realloc_Func

-
-Defined in FT_SYSTEM_H (ftsystem.h). -

-
 
+
+ + +
+

FT_Realloc_Func

+

Defined in FT_SYSTEM_H (ftsystem.h).

+
   typedef void*
   (*FT_Realloc_Func)( FT_Memory  memory,
                       long       cur_size,
                       long       new_size,
                       void*      block );
+
-

-

A function used to re-allocate a given block of memory.

-

-
input
-

- -
memory + +

input

+ + - - -
memory

A handle to the source memory manager.

cur_size +
cur_size

The block's current size in bytes.

new_size +
new_size

The block's requested new size.

block +
block

The block's current address.

-
-
return
+ +

return

New block address. 0 in case of memory shortage.

-
-
note
+ +

note

In case of error, the old block must still be available.

-
-
-
- - -
[Index][TOC]
- -
-

FT_MemoryRec

-
-Defined in FT_SYSTEM_H (ftsystem.h). -

-
 
+
+ + +
+

FT_MemoryRec

+

Defined in FT_SYSTEM_H (ftsystem.h).

+
   struct  FT_MemoryRec_
   {
     void*            user;
@@ -197,158 +226,123 @@ Defined in FT_SYSTEM_H (ftsystem.h).
     FT_Free_Func     free;
     FT_Realloc_Func  realloc;
   };
+
-

-

A structure used to describe a given memory manager to FreeType 2.

-

-
fields
-

- -
user + +

fields

+ + - - -
user

A generic typeless pointer for user data.

alloc +
alloc

A pointer type to an allocation function.

free +
free

A pointer type to an memory freeing function.

realloc +
realloc

A pointer type to a reallocation function.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Stream

-
-Defined in FT_SYSTEM_H (ftsystem.h). -

-
 
+
+ + +
+

FT_Stream

+

Defined in FT_SYSTEM_H (ftsystem.h).

+
   typedef struct FT_StreamRec_*  FT_Stream;
+
-

-

A handle to an input stream.

-

-
-
- - -
[Index][TOC]
- -
-

FT_StreamDesc

-
-Defined in FT_SYSTEM_H (ftsystem.h). -

-
 
+

also

+

See FT_StreamRec for the publicly accessible fields of a given stream object.

+ +
+ + +
+

FT_StreamDesc

+

Defined in FT_SYSTEM_H (ftsystem.h).

+
   typedef union  FT_StreamDesc_
   {
     long   value;
     void*  pointer;
 
   } FT_StreamDesc;
+
-

-

A union type used to store either a long or a pointer. This is used to store a file descriptor or a ‘FILE*’ in an input stream.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Stream_IoFunc

-
-Defined in FT_SYSTEM_H (ftsystem.h). -

-
 
+
+ + +
+

FT_Stream_IoFunc

+

Defined in FT_SYSTEM_H (ftsystem.h).

+
   typedef unsigned long
   (*FT_Stream_IoFunc)( FT_Stream       stream,
                        unsigned long   offset,
                        unsigned char*  buffer,
                        unsigned long   count );
+
-

-

A function used to seek and read data from a given input stream.

-

-
input
-

- -
stream + +

input

+ + - - -
stream

A handle to the source stream.

offset +
offset

The offset of read in stream (always from start).

buffer +
buffer

The address of the read buffer.

count +
count

The number of bytes to read from the stream.

-
-
return
+ +

return

The number of bytes effectively read by the stream.

-
-
note
+ +

note

This function might be called to perform a seek or skip operation with a ‘count’ of 0. A non-zero return value then indicates an error.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Stream_CloseFunc

-
-Defined in FT_SYSTEM_H (ftsystem.h). -

-
 
+
+ + +
+

FT_Stream_CloseFunc

+

Defined in FT_SYSTEM_H (ftsystem.h).

+
   typedef void
   (*FT_Stream_CloseFunc)( FT_Stream  stream );
+
-

-

A function used to close a given input stream.

-

-
input
-

- -
stream + +

input

+ +
stream

A handle to the target stream.

-
-
-
- - -
[Index][TOC]
- -
-

FT_StreamRec

-
-Defined in FT_SYSTEM_H (ftsystem.h). -

-
 
+
+ + +
+

FT_StreamRec

+

Defined in FT_SYSTEM_H (ftsystem.h).

+
   typedef struct  FT_StreamRec_
   {
     unsigned char*       base;
@@ -365,51 +359,47 @@ Defined in FT_SYSTEM_H (ftsystem.h).
     unsigned char*       limit;
 
   } FT_StreamRec;
+
-

-

A structure used to describe an input stream.

-

-
input
-

- -
base + +

input

+ + - - - - - - - - -
base

For memory-based streams, this is the address of the first stream byte in memory. This field should always be set to NULL for disk-based streams.

size +
size

The stream size in bytes.

+

In case of compressed streams where the size is unknown before actually doing the decompression, the value is set to 0x7FFFFFFF. (Note that this size value can occur for normal streams also; it is thus just a hint.)

pos +
pos

The current position within the stream.

descriptor +
descriptor

This field is a union that can hold an integer or a pointer. It is used by stream implementations to store file descriptors or ‘FILE*’ pointers.

pathname +
pathname

This field is completely ignored by FreeType. However, it is often useful during debugging to use it to store the stream's filename (where available).

read +
read

The stream's input function.

close +
close

The stream's close function.

memory +
memory

The memory manager to use to preload frames. This is set internally by FreeType and shouldn't be touched by stream implementations.

cursor +
cursor

This field is set and used internally by FreeType when parsing frames.

limit +
limit

This field is set and used internally by FreeType when parsing frames.

-
-
-
- - -
[Index][TOC]
+ +
+ diff --git a/freetype/docs/reference/ft2-toc.html b/freetype/docs/reference/ft2-toc.html index 560212a99..61098164d 100644 --- a/freetype/docs/reference/ft2-toc.html +++ b/freetype/docs/reference/ft2-toc.html @@ -3,237 +3,268 @@ -FreeType-2.5.3 API Reference +FreeType-2.5.5 API Reference - -
[Index]
-

FreeType-2.5.3 API Reference

+ +

FreeType-2.5.5 API Reference

-

Table of Contents

-

General Remarks

  • - -
    -FreeType's header inclusion scheme +

    Table of Contents

    +
    +

    General Remarks

    + + -

    How client applications should include FreeType header files.

    -User allocation +

    How client applications should allocate FreeType data structures.

    -
    -

    Core API

    • - -
      -FreeType Version + +
      +

      Core API

      + + - - - - - - -

      Functions and macros related to FreeType versions.

      -Basic Data Types +

      The basic data types defined by the library.

      -Base Interface +

      The FreeType 2 base font interface.

      -Glyph Variants +

      The FreeType 2 interface to Unicode Ideographic Variation Sequences (IVS), using the SFNT cmap format 14.

      -Glyph Management +

      Generic interface to manage individual glyph data.

      -Mac Specific Interface +

      Only available on the Macintosh.

      -Size Management +

      Managing multiple sizes per face.

      -Header File Macros +

      Macro definitions used to #include specific header files.

      -
      -

      Format-Specific API

      • - -
        -Multiple Masters + +
        +

        Format-Specific API

        + + - - - - - - - - -

        How to manage Multiple Masters fonts.

        -TrueType Tables +

        TrueType specific table types and functions.

        -Type 1 Tables +

        Type 1 (PostScript) specific font tables.

        -SFNT Names +

        Access the names embedded in TrueType and OpenType files.

        -BDF and PCF Files +

        BDF and PCF specific API.

        -CID Fonts +

        CID-keyed font specific API.

        -PFR Fonts +

        PFR/TrueDoc specific API.

        -Window FNT Files +

        Windows FNT specific API.

        -Font Formats +

        Getting the font format.

        -Gasp Table +

        Retrieving TrueType ‘gasp’ table entries.

        -
        -

        Controlling FreeType Modules

        • - -
          -The auto-hinter + +
          +

          Controlling FreeType Modules

          + + - -

          Controlling the auto-hinting module.

          -The CFF driver +

          Controlling the CFF driver module.

          -The TrueType driver +

          Controlling the TrueType driver module.

          -
          -

          Cache Sub-System

          • - -
            -Cache Sub-System + +
            +

            Cache Sub-System

            + +

            How to cache face, size, and glyph data with FreeType 2.

            -
            -

            Support API

            • - -
              -Computations + +
              +

              Support API

              + + - - - - - - - - - - - -

              Crunching fixed numbers and vectors.

              -List Processing +

              Simple management of lists.

              -Outline Processing +

              Functions to create, transform, and render vectorial glyph images.

              -Quick retrieval of advance values +

              Retrieve horizontal and vertical advance values without processing glyph outlines, if possible.

              -Bitmap Handling +

              Handling FT_Bitmap objects.

              -Scanline Converter +

              How vectorial outlines are converted into bitmaps and pixmaps.

              -Glyph Stroker +

              Generating bordered and stroked glyphs.

              -System Interface +

              How FreeType manages memory and i/o.

              -Module Management +

              How to add, upgrade, remove, and control modules from FreeType.

              -GZIP Streams +

              Using gzip-compressed font files.

              -LZW Streams +

              Using LZW-compressed font files.

              -BZIP2 Streams +

              Using bzip2-compressed font files.

              -LCD Filtering +

              Reduce color fringes of LCD-optimized bitmaps.

              -
              -

              Miscellaneous

              • - -
                -OpenType Validation + +
                +

                Miscellaneous

                + + - - -

                An API to validate OpenType tables.

                -Incremental Loading +

                Custom Glyph Loading.

                -The TrueType Engine +

                TrueType bytecode support.

                -TrueTypeGX/AAT Validation +

                An API to validate TrueTypeGX/AAT tables.

                -
                -

                Global Index

                + +
                - - -
                [Index]
                + -
                generated on Thu Mar 6 23:13:44 2014
                +
                generated on Tue Dec 30 21:42:54 2014
                diff --git a/freetype/docs/reference/ft2-truetype_engine.html b/freetype/docs/reference/ft2-truetype_engine.html index bc4d4e3c3..d0c467bd4 100644 --- a/freetype/docs/reference/ft2-truetype_engine.html +++ b/freetype/docs/reference/ft2-truetype_engine.html @@ -3,130 +3,174 @@ -FreeType-2.5.3 API Reference +FreeType-2.5.5 API Reference - - -
                [Index][TOC]
                -

                FreeType-2.5.3 API Reference

                + +

                FreeType-2.5.5 API Reference

                -

                -The TrueType Engine -

                +

                The TrueType Engine

                Synopsis

                - - -
                FT_TrueTypeEngineTypeFT_Get_TrueType_Engine_Type


                + + +
                FT_TrueTypeEngineTypeFT_Get_TrueType_Engine_Type
                + -

                This section contains a function used to query the level of TrueType bytecode support compiled in this version of the library.

                -

                -
                -

                FT_TrueTypeEngineType

                -
                -Defined in FT_MODULE_H (ftmodapi.h). -

                -
                 
                +
                +

                FT_TrueTypeEngineType

                +

                Defined in FT_MODULE_H (ftmodapi.h).

                +
                   typedef enum  FT_TrueTypeEngineType_
                   {
                -    FT_TRUETYPE_ENGINE_TYPE_NONE = 0,
                -    FT_TRUETYPE_ENGINE_TYPE_UNPATENTED,
                -    FT_TRUETYPE_ENGINE_TYPE_PATENTED
                +    FT_TRUETYPE_ENGINE_TYPE_NONE = 0,
                +    FT_TRUETYPE_ENGINE_TYPE_UNPATENTED,
                +    FT_TRUETYPE_ENGINE_TYPE_PATENTED
                 
                   } FT_TrueTypeEngineType;
                +
                -

                -

                A list of values describing which kind of TrueType bytecode engine is implemented in a given FT_Library instance. It is used by the FT_Get_TrueType_Engine_Type function.

                -

                -
                values
                -

                - - -
                FT_TRUETYPE_ENGINE_TYPE_NONE
                + +

                values

                + + - - - -
                FT_TRUETYPE_ENGINE_TYPE_NONE

                The library doesn't implement any kind of bytecode interpreter.

                FT_TRUETYPE_ENGINE_TYPE_UNPATENTED
                +
                FT_TRUETYPE_ENGINE_TYPE_UNPATENTED

                The library implements a bytecode interpreter that doesn't support the patented operations of the TrueType virtual machine.

                Its main use is to load certain Asian fonts that position and scale glyph components with bytecode instructions. It produces bad output for most other fonts.

                FT_TRUETYPE_ENGINE_TYPE_PATENTED
                +
                FT_TRUETYPE_ENGINE_TYPE_PATENTED

                The library implements a bytecode interpreter that covers the full instruction set of the TrueType virtual machine (this was governed by patents until May 2010, hence the name).

                -
                -
                since
                + +

                since

                2.2

                -
                -
                -
                - - -
                [Index][TOC]
                - -
                -

                FT_Get_TrueType_Engine_Type

                -
                -Defined in FT_MODULE_H (ftmodapi.h). -

                -
                 
                +
                + + +
                +

                FT_Get_TrueType_Engine_Type

                +

                Defined in FT_MODULE_H (ftmodapi.h).

                +
                   FT_EXPORT( FT_TrueTypeEngineType )
                   FT_Get_TrueType_Engine_Type( FT_Library  library );
                +
                -

                -

                Return an FT_TrueTypeEngineType value to indicate which level of the TrueType virtual machine a given library instance supports.

                -

                -
                input
                -

                - -
                library + +

                input

                + +
                library

                A library instance.

                -
                -
                return
                + +

                return

                A value indicating which level is supported.

                -
                -
                since
                + +

                since

                2.2

                -
                -
                -
                - - -
                [Index][TOC]
                + +
                + diff --git a/freetype/docs/reference/ft2-truetype_tables.html b/freetype/docs/reference/ft2-truetype_tables.html index 5da7a9579..9c63d67da 100644 --- a/freetype/docs/reference/ft2-truetype_tables.html +++ b/freetype/docs/reference/ft2-truetype_tables.html @@ -3,456 +3,129 @@ -FreeType-2.5.3 API Reference +FreeType-2.5.5 API Reference - - -
                [Index][TOC]
                -

                FreeType-2.5.3 API Reference

                + +

                FreeType-2.5.5 API Reference

                -

                -TrueType Tables -

                +

                TrueType Tables

                Synopsis

                - - - - - - - - - - - -
                TT_PLATFORM_XXXTT_Postscript
                TT_APPLE_ID_XXXTT_PCLT
                TT_MAC_ID_XXXTT_MaxProfile
                TT_ISO_ID_XXXFT_Sfnt_Tag
                TT_MS_ID_XXXFT_Get_Sfnt_Table
                TT_ADOBE_ID_XXXFT_Load_Sfnt_Table
                TT_HeaderFT_Sfnt_Table_Info
                TT_HoriHeaderFT_Get_CMap_Language_ID
                TT_VertHeaderFT_Get_CMap_Format
                TT_OS2FT_PARAM_TAG_UNPATENTED_HINTING


                - -
                -

                This section contains the definition of TrueType-specific tables as well as some routines used to access and process them.

                -

                -
                -

                TT_PLATFORM_XXX

                -
                -Defined in FT_TRUETYPE_IDS_H (ttnameid.h). -

                -
                -
                -#define TT_PLATFORM_APPLE_UNICODE  0
                -#define TT_PLATFORM_MACINTOSH      1
                -#define TT_PLATFORM_ISO            2 /* deprecated */
                -#define TT_PLATFORM_MICROSOFT      3
                -#define TT_PLATFORM_CUSTOM         4
                -#define TT_PLATFORM_ADOBE          7 /* artificial */
                -
                -

                -
                -

                A list of valid values for the ‘platform_id’ identifier code in FT_CharMapRec and FT_SfntName structures.

                -

                -
                values
                -

                - - - - - - - - -
                TT_PLATFORM_APPLE_UNICODE
                -

                Used by Apple to indicate a Unicode character map and/or name entry. See TT_APPLE_ID_XXX for corresponding ‘encoding_id’ values. Note that name entries in this format are coded as big-endian UCS-2 character codes only.

                -
                TT_PLATFORM_MACINTOSH -

                Used by Apple to indicate a MacOS-specific charmap and/or name entry. See TT_MAC_ID_XXX for corresponding ‘encoding_id’ values. Note that most TrueType fonts contain an Apple roman charmap to be usable on MacOS systems (even if they contain a Microsoft charmap as well).

                -
                TT_PLATFORM_ISO -

                This value was used to specify ISO/IEC 10646 charmaps. It is however now deprecated. See TT_ISO_ID_XXX for a list of corresponding ‘encoding_id’ values.

                -
                TT_PLATFORM_MICROSOFT -

                Used by Microsoft to indicate Windows-specific charmaps. See TT_MS_ID_XXX for a list of corresponding ‘encoding_id’ values. Note that most fonts contain a Unicode charmap using (TT_PLATFORM_MICROSOFT, TT_MS_ID_UNICODE_CS).

                -
                TT_PLATFORM_CUSTOM -

                Used to indicate application-specific charmaps.

                -
                TT_PLATFORM_ADOBE -

                This value isn't part of any font format specification, but is used by FreeType to report Adobe-specific charmaps in an FT_CharMapRec structure. See TT_ADOBE_ID_XXX.

                -
                -
                -
                -
                - - -
                [Index][TOC]
                - -
                -

                TT_APPLE_ID_XXX

                -
                -Defined in FT_TRUETYPE_IDS_H (ttnameid.h). -

                -
                -
                -#define TT_APPLE_ID_DEFAULT           0 /* Unicode 1.0 */
                -#define TT_APPLE_ID_UNICODE_1_1       1 /* specify Hangul at U+34xx */
                -#define TT_APPLE_ID_ISO_10646         2 /* deprecated */
                -#define TT_APPLE_ID_UNICODE_2_0       3 /* or later */
                -#define TT_APPLE_ID_UNICODE_32        4 /* 2.0 or later, full repertoire */
                -#define TT_APPLE_ID_VARIANT_SELECTOR  5 /* variation selector data */
                -
                -

                -
                -

                A list of valid values for the ‘encoding_id’ for TT_PLATFORM_APPLE_UNICODE charmaps and name entries.

                -

                -
                values
                -

                - - - - - - - - - - +
                TT_APPLE_ID_DEFAULT -

                Unicode version 1.0.

                -
                TT_APPLE_ID_UNICODE_1_1
                -

                Unicode 1.1; specifies Hangul characters starting at U+34xx.

                -
                TT_APPLE_ID_ISO_10646 -

                Deprecated (identical to preceding).

                -
                TT_APPLE_ID_UNICODE_2_0
                -

                Unicode 2.0 and beyond (UTF-16 BMP only).

                -
                TT_APPLE_ID_UNICODE_32 -

                Unicode 3.1 and beyond, using UTF-32.

                -
                TT_APPLE_ID_VARIANT_SELECTOR
                -

                From Adobe, not Apple. Not a normal cmap. Specifies variations on a real cmap.

                -
                + + + + + + + + + + + +
                TT_Header 
                TT_HoriHeaderFT_Get_CMap_Language_ID
                TT_VertHeaderFT_Get_CMap_Format
                TT_OS2 
                TT_PostscriptFT_PARAM_TAG_UNPATENTED_HINTING
                TT_PCLT 
                TT_MaxProfileTT_PLATFORM_XXX
                 TT_APPLE_ID_XXX
                FT_Sfnt_TagTT_MAC_ID_XXX
                FT_Get_Sfnt_TableTT_ISO_ID_XXX
                FT_Load_Sfnt_TableTT_MS_ID_XXX
                FT_Sfnt_Table_InfoTT_ADOBE_ID_XXX
                -
                -
                -
                - - -
                [Index][TOC]
                - -
                -

                TT_MAC_ID_XXX

                -
                -Defined in FT_TRUETYPE_IDS_H (ttnameid.h). -

                -
                -
                -#define TT_MAC_ID_ROMAN                 0
                -#define TT_MAC_ID_JAPANESE              1
                -#define TT_MAC_ID_TRADITIONAL_CHINESE   2
                -#define TT_MAC_ID_KOREAN                3
                -#define TT_MAC_ID_ARABIC                4
                -#define TT_MAC_ID_HEBREW                5
                -#define TT_MAC_ID_GREEK                 6
                -#define TT_MAC_ID_RUSSIAN               7
                -#define TT_MAC_ID_RSYMBOL               8
                -#define TT_MAC_ID_DEVANAGARI            9
                -#define TT_MAC_ID_GURMUKHI             10
                -#define TT_MAC_ID_GUJARATI             11
                -#define TT_MAC_ID_ORIYA                12
                -#define TT_MAC_ID_BENGALI              13
                -#define TT_MAC_ID_TAMIL                14
                -#define TT_MAC_ID_TELUGU               15
                -#define TT_MAC_ID_KANNADA              16
                -#define TT_MAC_ID_MALAYALAM            17
                -#define TT_MAC_ID_SINHALESE            18
                -#define TT_MAC_ID_BURMESE              19
                -#define TT_MAC_ID_KHMER                20
                -#define TT_MAC_ID_THAI                 21
                -#define TT_MAC_ID_LAOTIAN              22
                -#define TT_MAC_ID_GEORGIAN             23
                -#define TT_MAC_ID_ARMENIAN             24
                -#define TT_MAC_ID_MALDIVIAN            25
                -#define TT_MAC_ID_SIMPLIFIED_CHINESE   25
                -#define TT_MAC_ID_TIBETAN              26
                -#define TT_MAC_ID_MONGOLIAN            27
                -#define TT_MAC_ID_GEEZ                 28
                -#define TT_MAC_ID_SLAVIC               29
                -#define TT_MAC_ID_VIETNAMESE           30
                -#define TT_MAC_ID_SINDHI               31
                -#define TT_MAC_ID_UNINTERP             32
                -
                -

                -
                -

                A list of valid values for the ‘encoding_id’ for TT_PLATFORM_MACINTOSH charmaps and name entries.

                -

                -
                values
                -

                - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                TT_MAC_ID_ROMAN -

                -
                TT_MAC_ID_JAPANESE -

                -
                TT_MAC_ID_TRADITIONAL_CHINESE
                -

                -
                TT_MAC_ID_KOREAN -

                -
                TT_MAC_ID_ARABIC -

                -
                TT_MAC_ID_HEBREW -

                -
                TT_MAC_ID_GREEK -

                -
                TT_MAC_ID_RUSSIAN -

                -
                TT_MAC_ID_RSYMBOL -

                -
                TT_MAC_ID_DEVANAGARI -

                -
                TT_MAC_ID_GURMUKHI -

                -
                TT_MAC_ID_GUJARATI -

                -
                TT_MAC_ID_ORIYA -

                -
                TT_MAC_ID_BENGALI -

                -
                TT_MAC_ID_TAMIL -

                -
                TT_MAC_ID_TELUGU -

                -
                TT_MAC_ID_KANNADA -

                -
                TT_MAC_ID_MALAYALAM -

                -
                TT_MAC_ID_SINHALESE -

                -
                TT_MAC_ID_BURMESE -

                -
                TT_MAC_ID_KHMER -

                -
                TT_MAC_ID_THAI -

                -
                TT_MAC_ID_LAOTIAN -

                -
                TT_MAC_ID_GEORGIAN -

                -
                TT_MAC_ID_ARMENIAN -

                -
                TT_MAC_ID_MALDIVIAN -

                -
                TT_MAC_ID_SIMPLIFIED_CHINESE
                -

                -
                TT_MAC_ID_TIBETAN -

                -
                TT_MAC_ID_MONGOLIAN -

                -
                TT_MAC_ID_GEEZ -

                -
                TT_MAC_ID_SLAVIC -

                -
                TT_MAC_ID_VIETNAMESE -

                -
                TT_MAC_ID_SINDHI -

                -
                TT_MAC_ID_UNINTERP -

                -
                -
                -
                -
                - - -
                [Index][TOC]
                - -
                -

                TT_ISO_ID_XXX

                -
                -Defined in FT_TRUETYPE_IDS_H (ttnameid.h). -

                -
                -
                -#define TT_ISO_ID_7BIT_ASCII  0
                -#define TT_ISO_ID_10646       1
                -#define TT_ISO_ID_8859_1      2
                -
                -

                -
                -

                A list of valid values for the ‘encoding_id’ for TT_PLATFORM_ISO charmaps and name entries.

                -

                Their use is now deprecated.

                -

                -
                values
                -

                - - - - -
                TT_ISO_ID_7BIT_ASCII -

                ASCII.

                -
                TT_ISO_ID_10646 -

                ISO/10646.

                -
                TT_ISO_ID_8859_1 -

                Also known as Latin-1.

                -
                -
                -
                -
                - - -
                [Index][TOC]
                - -
                -

                TT_MS_ID_XXX

                -
                -Defined in FT_TRUETYPE_IDS_H (ttnameid.h). -

                -
                -
                -#define TT_MS_ID_SYMBOL_CS    0
                -#define TT_MS_ID_UNICODE_CS   1
                -#define TT_MS_ID_SJIS         2
                -#define TT_MS_ID_GB2312       3
                -#define TT_MS_ID_BIG_5        4
                -#define TT_MS_ID_WANSUNG      5
                -#define TT_MS_ID_JOHAB        6
                -#define TT_MS_ID_UCS_4       10
                -
                -

                -
                -

                A list of valid values for the ‘encoding_id’ for TT_PLATFORM_MICROSOFT charmaps and name entries.

                -

                -
                values
                -

                - - - - - - - - - -
                TT_MS_ID_SYMBOL_CS -

                Corresponds to Microsoft symbol encoding. See FT_ENCODING_MS_SYMBOL.

                -
                TT_MS_ID_UNICODE_CS -

                Corresponds to a Microsoft WGL4 charmap, matching Unicode. See FT_ENCODING_UNICODE.

                -
                TT_MS_ID_SJIS -

                Corresponds to SJIS Japanese encoding. See FT_ENCODING_SJIS.

                -
                TT_MS_ID_GB2312 -

                Corresponds to Simplified Chinese as used in Mainland China. See FT_ENCODING_GB2312.

                -
                TT_MS_ID_BIG_5 -

                Corresponds to Traditional Chinese as used in Taiwan and Hong Kong. See FT_ENCODING_BIG5.

                -
                TT_MS_ID_WANSUNG -

                Corresponds to Korean Wansung encoding. See FT_ENCODING_WANSUNG.

                -
                TT_MS_ID_JOHAB -

                Corresponds to Johab encoding. See FT_ENCODING_JOHAB.

                -
                TT_MS_ID_UCS_4 -

                Corresponds to UCS-4 or UTF-32 charmaps. This has been added to the OpenType specification version 1.4 (mid-2001.)

                -
                -
                -
                -
                - - -
                [Index][TOC]
                - -
                -

                TT_ADOBE_ID_XXX

                -
                -Defined in FT_TRUETYPE_IDS_H (ttnameid.h). -

                -
                -
                -#define TT_ADOBE_ID_STANDARD  0
                -#define TT_ADOBE_ID_EXPERT    1
                -#define TT_ADOBE_ID_CUSTOM    2
                -#define TT_ADOBE_ID_LATIN_1   3
                -
                -

                -
                -

                A list of valid values for the ‘encoding_id’ for TT_PLATFORM_ADOBE charmaps. This is a FreeType-specific extension!

                -

                -
                values
                -

                - - - - - -
                TT_ADOBE_ID_STANDARD -

                Adobe standard encoding.

                -
                TT_ADOBE_ID_EXPERT -

                Adobe expert encoding.

                -
                TT_ADOBE_ID_CUSTOM -

                Adobe custom encoding.

                -
                TT_ADOBE_ID_LATIN_1 -

                Adobe Latin 1 encoding.

                -
                -
                -
                -
                - - -
                [Index][TOC]
                - -
                -

                TT_Header

                -
                -Defined in FT_TRUETYPE_TABLES_H (tttables.h). -

                -
                 
                +
                +

                This section contains the definition of TrueType-specific tables as well as some routines used to access and process them.

                + +
                +

                TT_Header

                +

                Defined in FT_TRUETYPE_TABLES_H (tttables.h).

                +
                   typedef struct  TT_Header_
                   {
                     FT_Fixed   Table_Version;
                @@ -480,24 +153,17 @@ Defined in FT_TRUETYPE_TABLES_H (tttables.h).
                     FT_Short   Glyph_Data_Format;
                 
                   } TT_Header;
                +
                -

                -

                A structure used to model a TrueType font header table. All fields follow the TrueType specification.

                -

                -
                -
                - - -
                [Index][TOC]
                - -
                -

                TT_HoriHeader

                -
                -Defined in FT_TRUETYPE_TABLES_H (tttables.h). -

                -
                 
                +
                + + +
                +

                TT_HoriHeader

                +

                Defined in FT_TRUETYPE_TABLES_H (tttables.h).

                +
                   typedef struct  TT_HoriHeader_
                   {
                     FT_Fixed   Version;
                @@ -527,82 +193,74 @@ Defined in FT_TRUETYPE_TABLES_H (tttables.h).
                     void*      short_metrics;
                 
                   } TT_HoriHeader;
                +
                -

                -

                A structure used to model a TrueType horizontal header, the ‘hhea’ table, as well as the corresponding horizontal metrics table, i.e., the ‘hmtx’ table.

                -

                -
                fields
                -

                - -
                Version + +

                fields

                + + - - - - - - - - - - - - - -
                Version

                The table version.

                Ascender +
                Ascender

                The font's ascender, i.e., the distance from the baseline to the top-most of all glyph points found in the font.

                This value is invalid in many fonts, as it is usually set by the font designer, and often reflects only a portion of the glyphs found in the font (maybe ASCII).

                You should use the ‘sTypoAscender’ field of the OS/2 table instead if you want the correct one.

                Descender +
                Descender

                The font's descender, i.e., the distance from the baseline to the bottom-most of all glyph points found in the font. It is negative.

                This value is invalid in many fonts, as it is usually set by the font designer, and often reflects only a portion of the glyphs found in the font (maybe ASCII).

                You should use the ‘sTypoDescender’ field of the OS/2 table instead if you want the correct one.

                Line_Gap +
                Line_Gap

                The font's line gap, i.e., the distance to add to the ascender and descender to get the BTB, i.e., the baseline-to-baseline distance for the font.

                advance_Width_Max +
                advance_Width_Max

                This field is the maximum of all advance widths found in the font. It can be used to compute the maximum width of an arbitrary string of text.

                min_Left_Side_Bearing +
                min_Left_Side_Bearing

                The minimum left side bearing of all glyphs within the font.

                min_Right_Side_Bearing +
                min_Right_Side_Bearing

                The minimum right side bearing of all glyphs within the font.

                xMax_Extent +
                xMax_Extent

                The maximum horizontal extent (i.e., the ‘width’ of a glyph's bounding box) for all glyphs in the font.

                caret_Slope_Rise +
                caret_Slope_Rise

                The rise coefficient of the cursor's slope of the cursor (slope=rise/run).

                caret_Slope_Run +
                caret_Slope_Run

                The run coefficient of the cursor's slope.

                Reserved +
                Reserved

                8 reserved bytes.

                metric_Data_Format +
                metric_Data_Format

                Always 0.

                number_Of_HMetrics +
                number_Of_HMetrics

                Number of HMetrics entries in the ‘hmtx’ table -- this value can be smaller than the total number of glyphs in the font.

                long_metrics +
                long_metrics

                A pointer into the ‘hmtx’ table.

                short_metrics +
                short_metrics

                A pointer into the ‘hmtx’ table.

                -
                -
                note
                + +

                note

                IMPORTANT: The TT_HoriHeader and TT_VertHeader structures should be identical except for the names of their fields, which are different.

                This ensures that a single function in the ‘ttload’ module is able to read both the horizontal and vertical headers.

                -
                -
                -
                - - -
                [Index][TOC]
                - -
                -

                TT_VertHeader

                -
                -Defined in FT_TRUETYPE_TABLES_H (tttables.h). -

                -
                 
                +
                + + +
                +

                TT_VertHeader

                +

                Defined in FT_TRUETYPE_TABLES_H (tttables.h).

                +
                   typedef struct  TT_VertHeader_
                   {
                     FT_Fixed   Version;
                @@ -632,86 +290,77 @@ Defined in FT_TRUETYPE_TABLES_H (tttables.h).
                     void*      short_metrics;
                 
                   } TT_VertHeader;
                +
                -

                -

                A structure used to model a TrueType vertical header, the ‘vhea’ table, as well as the corresponding vertical metrics table, i.e., the ‘vmtx’ table.

                -

                -
                fields
                -

                - -
                Version + +

                fields

                + + - - - - - - - - - - - - - - - -
                Version

                The table version.

                Ascender +
                Ascender

                The font's ascender, i.e., the distance from the baseline to the top-most of all glyph points found in the font.

                This value is invalid in many fonts, as it is usually set by the font designer, and often reflects only a portion of the glyphs found in the font (maybe ASCII).

                You should use the ‘sTypoAscender’ field of the OS/2 table instead if you want the correct one.

                Descender +
                Descender

                The font's descender, i.e., the distance from the baseline to the bottom-most of all glyph points found in the font. It is negative.

                This value is invalid in many fonts, as it is usually set by the font designer, and often reflects only a portion of the glyphs found in the font (maybe ASCII).

                You should use the ‘sTypoDescender’ field of the OS/2 table instead if you want the correct one.

                Line_Gap +
                Line_Gap

                The font's line gap, i.e., the distance to add to the ascender and descender to get the BTB, i.e., the baseline-to-baseline distance for the font.

                advance_Height_Max +
                advance_Height_Max

                This field is the maximum of all advance heights found in the font. It can be used to compute the maximum height of an arbitrary string of text.

                min_Top_Side_Bearing +
                min_Top_Side_Bearing

                The minimum top side bearing of all glyphs within the font.

                min_Bottom_Side_Bearing
                +
                min_Bottom_Side_Bearing

                The minimum bottom side bearing of all glyphs within the font.

                yMax_Extent +
                yMax_Extent

                The maximum vertical extent (i.e., the ‘height’ of a glyph's bounding box) for all glyphs in the font.

                caret_Slope_Rise +
                caret_Slope_Rise

                The rise coefficient of the cursor's slope of the cursor (slope=rise/run).

                caret_Slope_Run +
                caret_Slope_Run

                The run coefficient of the cursor's slope.

                caret_Offset +
                caret_Offset

                The cursor's offset for slanted fonts. This value is ‘reserved’ in vmtx version 1.0.

                Reserved +
                Reserved

                8 reserved bytes.

                metric_Data_Format +
                metric_Data_Format

                Always 0.

                number_Of_HMetrics +
                number_Of_HMetrics

                Number of VMetrics entries in the ‘vmtx’ table -- this value can be smaller than the total number of glyphs in the font.

                long_metrics +
                long_metrics

                A pointer into the ‘vmtx’ table.

                short_metrics +
                short_metrics

                A pointer into the ‘vmtx’ table.

                -
                -
                note
                + +

                note

                IMPORTANT: The TT_HoriHeader and TT_VertHeader structures should be identical except for the names of their fields, which are different.

                This ensures that a single function in the ‘ttload’ module is able to read both the horizontal and vertical headers.

                -
                -
                -
                - - -
                [Index][TOC]
                - -
                -

                TT_OS2

                -
                -Defined in FT_TRUETYPE_TABLES_H (tttables.h). -

                -
                 
                +
                + + +
                +

                TT_OS2

                +

                Defined in FT_TRUETYPE_TABLES_H (tttables.h).

                +
                   typedef struct  TT_OS2_
                   {
                     FT_UShort  version;                /* 0x0001 - more or 0xFFFF */
                @@ -768,25 +417,18 @@ Defined in FT_TRUETYPE_TABLES_H (tttables.h).
                     FT_UShort  usUpperOpticalPointSize;       /* in twips (1/20th points) */
                 
                   } TT_OS2;
                +
                -

                -

                A structure used to model a TrueType OS/2 table. All fields comply to the OpenType specification.

                Note that we now support old Mac fonts that do not include an OS/2 table. In this case, the ‘version’ field is always set to 0xFFFF.

                -

                -
                -
                - - -
                [Index][TOC]
                - -
                -

                TT_Postscript

                -
                -Defined in FT_TRUETYPE_TABLES_H (tttables.h). -

                -
                 
                +
                + + +
                +

                TT_Postscript

                +

                Defined in FT_TRUETYPE_TABLES_H (tttables.h).

                +
                   typedef struct  TT_Postscript_
                   {
                     FT_Fixed  FormatType;
                @@ -803,24 +445,17 @@ Defined in FT_TRUETYPE_TABLES_H (tttables.h).
                     /* load them by default.  See the ttpost.c file.  */
                 
                   } TT_Postscript;
                +
                -

                -

                A structure used to model a TrueType PostScript table. All fields comply to the TrueType specification. This structure does not reference the PostScript glyph names, which can be nevertheless accessed with the ‘ttpost’ module.

                -

                -
                -
                - - -
                [Index][TOC]
                - -
                -

                TT_PCLT

                -
                -Defined in FT_TRUETYPE_TABLES_H (tttables.h). -

                -
                 
                +
                + + +
                +

                TT_PCLT

                +

                Defined in FT_TRUETYPE_TABLES_H (tttables.h).

                +
                   typedef struct  TT_PCLT_
                   {
                     FT_Fixed   Version;
                @@ -840,24 +475,17 @@ Defined in FT_TRUETYPE_TABLES_H (tttables.h).
                     FT_Byte    Reserved;
                 
                   } TT_PCLT;
                +
                -

                -

                A structure used to model a TrueType PCLT table. All fields comply to the TrueType specification.

                -

                -
                -
                - - -
                [Index][TOC]
                - -
                -

                TT_MaxProfile

                -
                -Defined in FT_TRUETYPE_TABLES_H (tttables.h). -

                -
                 
                +
                + + +
                +

                TT_MaxProfile

                +

                Defined in FT_TRUETYPE_TABLES_H (tttables.h).

                +
                   typedef struct  TT_MaxProfile_
                   {
                     FT_Fixed   version;
                @@ -877,132 +505,150 @@ Defined in FT_TRUETYPE_TABLES_H (tttables.h).
                     FT_UShort  maxComponentDepth;
                 
                   } TT_MaxProfile;
                +
                -

                -

                The maximum profile is a table containing many max values, which can be used to pre-allocate arrays. This ensures that no memory allocation occurs during a glyph load.

                -

                -
                fields
                -

                - -
                version + +

                fields

                + + - - - - - - - - - - - - - -
                version

                The version number.

                numGlyphs +
                numGlyphs

                The number of glyphs in this TrueType font.

                maxPoints +
                maxPoints

                The maximum number of points in a non-composite TrueType glyph. See also the structure element ‘maxCompositePoints’.

                maxContours +
                maxContours

                The maximum number of contours in a non-composite TrueType glyph. See also the structure element ‘maxCompositeContours’.

                maxCompositePoints +
                maxCompositePoints

                The maximum number of points in a composite TrueType glyph. See also the structure element ‘maxPoints’.

                maxCompositeContours +
                maxCompositeContours

                The maximum number of contours in a composite TrueType glyph. See also the structure element ‘maxContours’.

                maxZones +
                maxZones

                The maximum number of zones used for glyph hinting.

                maxTwilightPoints +
                maxTwilightPoints

                The maximum number of points in the twilight zone used for glyph hinting.

                maxStorage +
                maxStorage

                The maximum number of elements in the storage area used for glyph hinting.

                maxFunctionDefs +
                maxFunctionDefs

                The maximum number of function definitions in the TrueType bytecode for this font.

                maxInstructionDefs +
                maxInstructionDefs

                The maximum number of instruction definitions in the TrueType bytecode for this font.

                maxStackElements +
                maxStackElements

                The maximum number of stack elements used during bytecode interpretation.

                maxSizeOfInstructions +
                maxSizeOfInstructions

                The maximum number of TrueType opcodes used for glyph hinting.

                maxComponentElements +
                maxComponentElements

                The maximum number of simple (i.e., non- composite) glyphs in a composite glyph.

                maxComponentDepth +
                maxComponentDepth

                The maximum nesting depth of composite glyphs.

                -
                -
                note
                + +

                note

                This structure is only used during font loading.

                -
                -
                -
                - - -
                [Index][TOC]
                - -
                -

                FT_Sfnt_Tag

                -
                -Defined in FT_TRUETYPE_TABLES_H (tttables.h). -

                -
                 
                +
                + + +
                +

                FT_Sfnt_Tag

                +

                Defined in FT_TRUETYPE_TABLES_H (tttables.h).

                +
                   typedef enum  FT_Sfnt_Tag_
                   {
                -    ft_sfnt_head = 0,    /* TT_Header     */
                -    ft_sfnt_maxp = 1,    /* TT_MaxProfile */
                -    ft_sfnt_os2  = 2,    /* TT_OS2        */
                -    ft_sfnt_hhea = 3,    /* TT_HoriHeader */
                -    ft_sfnt_vhea = 4,    /* TT_VertHeader */
                -    ft_sfnt_post = 5,    /* TT_Postscript */
                -    ft_sfnt_pclt = 6,    /* TT_PCLT       */
                +    FT_SFNT_HEAD,
                +    FT_SFNT_MAXP,
                +    FT_SFNT_OS2,
                +    FT_SFNT_HHEA,
                +    FT_SFNT_VHEA,
                +    FT_SFNT_POST,
                +    FT_SFNT_PCLT,
                 
                -    sfnt_max   /* internal end mark */
                +    FT_SFNT_MAX
                 
                   } FT_Sfnt_Tag;
                 
                -

                -
                + /* these constants are deprecated; use the corresponding `FT_Sfnt_Tag' */ + /* values instead */ +#define ft_sfnt_head FT_SFNT_HEAD +#define ft_sfnt_maxp FT_SFNT_MAXP +#define ft_sfnt_os2 FT_SFNT_OS2 +#define ft_sfnt_hhea FT_SFNT_HHEA +#define ft_sfnt_vhea FT_SFNT_VHEA +#define ft_sfnt_post FT_SFNT_POST +#define ft_sfnt_pclt FT_SFNT_PCLT + +

                An enumeration used to specify the index of an SFNT table. Used in the FT_Get_Sfnt_Table API function.

                -

                -
                -
                - - -
                [Index][TOC]
                - -
                -

                FT_Get_Sfnt_Table

                -
                -Defined in FT_TRUETYPE_TABLES_H (tttables.h). -

                -
                 
                +

                values

                + + + + + + + + +
                FT_SFNT_HEAD +

                To access the font's TT_Header structure.

                +
                FT_SFNT_MAXP +

                To access the font's TT_MaxProfile structure.

                +
                FT_SFNT_OS2 +

                To access the font's TT_OS2 structure.

                +
                FT_SFNT_HHEA +

                To access the font's TT_HoriHeader structure.

                +
                FT_SFNT_VHEA +

                To access the font's TT_VertHeader struture.

                +
                FT_SFNT_POST +

                To access the font's TT_Postscript structure.

                +
                FT_SFNT_PCLT +

                To access the font's TT_PCLT structure.

                +
                + +
                + + +
                +

                FT_Get_Sfnt_Table

                +

                Defined in FT_TRUETYPE_TABLES_H (tttables.h).

                +
                   FT_EXPORT( void* )
                   FT_Get_Sfnt_Table( FT_Face      face,
                                      FT_Sfnt_Tag  tag );
                +
                -

                -

                Return a pointer to a given SFNT table within a face.

                -

                -
                input
                -

                - -
                face + +

                input

                + + -
                face

                A handle to the source.

                tag +
                tag

                The index of the SFNT table.

                -
                -
                return
                + +

                return

                A type-less pointer to the table. This will be 0 in case of error, or if the corresponding table was not found OR loaded from the file.

                Use a typecast according to ‘tag’ to access the structure elements.

                -
                -
                note
                + +

                note

                The table is owned by the face object and disappears with it.

                This function is only useful to access SFNT tables that are loaded by the sfnt, truetype, and opentype drivers. See FT_Sfnt_Tag for a list.

                Here an example how to access the ‘vhea’ table:

                @@ -1011,69 +657,59 @@ Defined in FT_TRUETYPE_TABLES_H (tttables.h). vert_header = - (TT_VertHeader*)FT_Get_Sfnt_Table( face, ft_sfnt_vhea ); + (TT_VertHeader*)FT_Get_Sfnt_Table( face, FT_SFNT_VHEA ); -
                -
                -
                - - -
                [Index][TOC]
                - -
                -

                FT_Load_Sfnt_Table

                -
                -Defined in FT_TRUETYPE_TABLES_H (tttables.h). -

                -
                 
                +
                + + +
                +

                FT_Load_Sfnt_Table

                +

                Defined in FT_TRUETYPE_TABLES_H (tttables.h).

                +
                   FT_EXPORT( FT_Error )
                   FT_Load_Sfnt_Table( FT_Face    face,
                                       FT_ULong   tag,
                                       FT_Long    offset,
                                       FT_Byte*   buffer,
                                       FT_ULong*  length );
                +
                -

                -

                Load any font table into client memory.

                -

                -
                input
                -

                - -
                face + +

                input

                + + - -
                face

                A handle to the source face.

                tag +
                tag

                The four-byte tag of the table to load. Use the value 0 if you want to access the whole font file. Otherwise, you can use one of the definitions found in the FT_TRUETYPE_TAGS_H file, or forge a new one with FT_MAKE_TAG.

                offset +
                offset

                The starting offset in the table (or file if tag == 0).

                -
                -
                output
                -

                - -
                buffer + +

                output

                + +
                buffer

                The target buffer address. The client must ensure that the memory array is big enough to hold the data.

                -
                -
                inout
                -

                - -
                length + +

                inout

                + +
                length

                If the ‘length’ parameter is NULL, then try to load the whole table. Return an error code if it fails.

                Else, if ‘*length’ is 0, exit immediately while returning the table's (or file) full size in it.

                Else the number of bytes to read from the table or file, from the starting offset.

                -
                -
                return
                + +

                return

                FreeType error code. 0 means success.

                -
                -
                note
                + +

                note

                If you need to determine the table's length you should first call this function with ‘*length’ set to 0, as in the following example:

                   FT_ULong  length = 0;
                @@ -1089,150 +725,449 @@ Defined in FT_TRUETYPE_TABLES_H (tttables.h).
                   if ( error ) { ... could not load table ... }
                 

                Note that structures like TT_Header or TT_OS2 can't be used with this function; they are limited to FT_Get_Sfnt_Table. Reason is that those structures depend on the processor architecture, with varying size (e.g. 32bit vs. 64bit) or order (big endian vs. little endian).

                -
                -
                -
                - - -
                [Index][TOC]
                - -
                -

                FT_Sfnt_Table_Info

                -
                -Defined in FT_TRUETYPE_TABLES_H (tttables.h). -

                -
                 
                +
                + + +
                +

                FT_Sfnt_Table_Info

                +

                Defined in FT_TRUETYPE_TABLES_H (tttables.h).

                +
                   FT_EXPORT( FT_Error )
                   FT_Sfnt_Table_Info( FT_Face    face,
                                       FT_UInt    table_index,
                                       FT_ULong  *tag,
                                       FT_ULong  *length );
                +
                -

                -

                Return information on an SFNT table.

                -

                -
                input
                -

                - -
                face + +

                input

                + + -
                face

                A handle to the source face.

                table_index +
                table_index

                The index of an SFNT table. The function returns FT_Err_Table_Missing for an invalid value.

                -
                -
                inout
                -

                - -
                tag + +

                inout

                + +
                tag

                The name tag of the SFNT table. If the value is NULL, ‘table_index’ is ignored, and ‘length’ returns the number of SFNT tables in the font.

                -
                -
                output
                -

                - -
                length + +

                output

                + +
                length

                The length of the SFNT table (or the number of SFNT tables, depending on ‘tag’).

                -
                -
                return
                + +

                return

                FreeType error code. 0 means success.

                -
                -
                note
                + +

                note

                While parsing fonts, FreeType handles SFNT tables with length zero as missing.

                -
                -
                -
                - - -
                [Index][TOC]
                - -
                -

                FT_Get_CMap_Language_ID

                -
                -Defined in FT_TRUETYPE_TABLES_H (tttables.h). -

                -
                 
                +
                + + +
                +

                FT_Get_CMap_Language_ID

                +

                Defined in FT_TRUETYPE_TABLES_H (tttables.h).

                +
                   FT_EXPORT( FT_ULong )
                   FT_Get_CMap_Language_ID( FT_CharMap  charmap );
                +
                -

                -

                Return TrueType/sfnt specific cmap language ID. Definitions of language ID values are in ‘ttnameid.h’.

                -

                -
                input
                -

                - -
                charmap + +

                input

                + +
                charmap

                The target charmap.

                -
                -
                return
                + +

                return

                The language ID of ‘charmap’. If ‘charmap’ doesn't belong to a TrueType/sfnt face, just return 0 as the default value.

                For a format 14 cmap (to access Unicode IVS), the return value is 0xFFFFFFFF.

                -
                -
                -
                - - -
                [Index][TOC]
                - -
                -

                FT_Get_CMap_Format

                -
                -Defined in FT_TRUETYPE_TABLES_H (tttables.h). -

                -
                 
                +
                + + +
                +

                FT_Get_CMap_Format

                +

                Defined in FT_TRUETYPE_TABLES_H (tttables.h).

                +
                   FT_EXPORT( FT_Long )
                   FT_Get_CMap_Format( FT_CharMap  charmap );
                +
                -

                -

                Return TrueType/sfnt specific cmap format.

                -

                -
                input
                -

                - -
                charmap + +

                input

                + +
                charmap

                The target charmap.

                -
                -
                return
                + +

                return

                The format of ‘charmap’. If ‘charmap’ doesn't belong to a TrueType/sfnt face, return -1.

                -
                -
                -
                - - -
                [Index][TOC]
                - -
                -

                FT_PARAM_TAG_UNPATENTED_HINTING

                -
                -Defined in FT_UNPATENTED_HINTING_H (ttunpat.h). -

                -
                 
                +
                + + +
                +

                FT_PARAM_TAG_UNPATENTED_HINTING

                +

                Defined in FT_UNPATENTED_HINTING_H (ttunpat.h).

                +
                 #define FT_PARAM_TAG_UNPATENTED_HINTING  FT_MAKE_TAG( 'u', 'n', 'p', 'a' )
                +
                -

                -

                A constant used as the tag of an FT_Parameter structure to indicate that unpatented methods only should be used by the TrueType bytecode interpreter for a typeface opened by FT_Open_Face.

                -

                -
                -
                - - -
                [Index][TOC]
                + +
                + + +
                +

                TT_PLATFORM_XXX

                +

                Defined in FT_TRUETYPE_IDS_H (ttnameid.h).

                +
                +#define TT_PLATFORM_APPLE_UNICODE  0
                +#define TT_PLATFORM_MACINTOSH      1
                +#define TT_PLATFORM_ISO            2 /* deprecated */
                +#define TT_PLATFORM_MICROSOFT      3
                +#define TT_PLATFORM_CUSTOM         4
                +#define TT_PLATFORM_ADOBE          7 /* artificial */
                +
                + +

                A list of valid values for the ‘platform_id’ identifier code in FT_CharMapRec and FT_SfntName structures.

                + +

                values

                + + + + + + + +
                TT_PLATFORM_APPLE_UNICODE +

                Used by Apple to indicate a Unicode character map and/or name entry. See TT_APPLE_ID_XXX for corresponding ‘encoding_id’ values. Note that name entries in this format are coded as big-endian UCS-2 character codes only.

                +
                TT_PLATFORM_MACINTOSH +

                Used by Apple to indicate a MacOS-specific charmap and/or name entry. See TT_MAC_ID_XXX for corresponding ‘encoding_id’ values. Note that most TrueType fonts contain an Apple roman charmap to be usable on MacOS systems (even if they contain a Microsoft charmap as well).

                +
                TT_PLATFORM_ISO +

                This value was used to specify ISO/IEC 10646 charmaps. It is however now deprecated. See TT_ISO_ID_XXX for a list of corresponding ‘encoding_id’ values.

                +
                TT_PLATFORM_MICROSOFT +

                Used by Microsoft to indicate Windows-specific charmaps. See TT_MS_ID_XXX for a list of corresponding ‘encoding_id’ values. Note that most fonts contain a Unicode charmap using (TT_PLATFORM_MICROSOFT, TT_MS_ID_UNICODE_CS).

                +
                TT_PLATFORM_CUSTOM +

                Used to indicate application-specific charmaps.

                +
                TT_PLATFORM_ADOBE +

                This value isn't part of any font format specification, but is used by FreeType to report Adobe-specific charmaps in an FT_CharMapRec structure. See TT_ADOBE_ID_XXX.

                +
                + +
                +
                + +
                +

                TT_APPLE_ID_XXX

                +

                Defined in FT_TRUETYPE_IDS_H (ttnameid.h).

                +
                +#define TT_APPLE_ID_DEFAULT           0 /* Unicode 1.0 */
                +#define TT_APPLE_ID_UNICODE_1_1       1 /* specify Hangul at U+34xx */
                +#define TT_APPLE_ID_ISO_10646         2 /* deprecated */
                +#define TT_APPLE_ID_UNICODE_2_0       3 /* or later */
                +#define TT_APPLE_ID_UNICODE_32        4 /* 2.0 or later, full repertoire */
                +#define TT_APPLE_ID_VARIANT_SELECTOR  5 /* variation selector data */
                +
                + +

                A list of valid values for the ‘encoding_id’ for TT_PLATFORM_APPLE_UNICODE charmaps and name entries.

                + +

                values

                + + + + + + + +
                TT_APPLE_ID_DEFAULT +

                Unicode version 1.0.

                +
                TT_APPLE_ID_UNICODE_1_1 +

                Unicode 1.1; specifies Hangul characters starting at U+34xx.

                +
                TT_APPLE_ID_ISO_10646 +

                Deprecated (identical to preceding).

                +
                TT_APPLE_ID_UNICODE_2_0 +

                Unicode 2.0 and beyond (UTF-16 BMP only).

                +
                TT_APPLE_ID_UNICODE_32 +

                Unicode 3.1 and beyond, using UTF-32.

                +
                TT_APPLE_ID_VARIANT_SELECTOR +

                From Adobe, not Apple. Not a normal cmap. Specifies variations on a real cmap.

                +
                + +
                +
                + +
                +

                TT_MAC_ID_XXX

                +

                Defined in FT_TRUETYPE_IDS_H (ttnameid.h).

                +
                +#define TT_MAC_ID_ROMAN                 0
                +#define TT_MAC_ID_JAPANESE              1
                +#define TT_MAC_ID_TRADITIONAL_CHINESE   2
                +#define TT_MAC_ID_KOREAN                3
                +#define TT_MAC_ID_ARABIC                4
                +#define TT_MAC_ID_HEBREW                5
                +#define TT_MAC_ID_GREEK                 6
                +#define TT_MAC_ID_RUSSIAN               7
                +#define TT_MAC_ID_RSYMBOL               8
                +#define TT_MAC_ID_DEVANAGARI            9
                +#define TT_MAC_ID_GURMUKHI             10
                +#define TT_MAC_ID_GUJARATI             11
                +#define TT_MAC_ID_ORIYA                12
                +#define TT_MAC_ID_BENGALI              13
                +#define TT_MAC_ID_TAMIL                14
                +#define TT_MAC_ID_TELUGU               15
                +#define TT_MAC_ID_KANNADA              16
                +#define TT_MAC_ID_MALAYALAM            17
                +#define TT_MAC_ID_SINHALESE            18
                +#define TT_MAC_ID_BURMESE              19
                +#define TT_MAC_ID_KHMER                20
                +#define TT_MAC_ID_THAI                 21
                +#define TT_MAC_ID_LAOTIAN              22
                +#define TT_MAC_ID_GEORGIAN             23
                +#define TT_MAC_ID_ARMENIAN             24
                +#define TT_MAC_ID_MALDIVIAN            25
                +#define TT_MAC_ID_SIMPLIFIED_CHINESE   25
                +#define TT_MAC_ID_TIBETAN              26
                +#define TT_MAC_ID_MONGOLIAN            27
                +#define TT_MAC_ID_GEEZ                 28
                +#define TT_MAC_ID_SLAVIC               29
                +#define TT_MAC_ID_VIETNAMESE           30
                +#define TT_MAC_ID_SINDHI               31
                +#define TT_MAC_ID_UNINTERP             32
                +
                + +

                A list of valid values for the ‘encoding_id’ for TT_PLATFORM_MACINTOSH charmaps and name entries.

                + +

                values

                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                TT_MAC_ID_ROMAN +

                +
                TT_MAC_ID_JAPANESE +

                +
                TT_MAC_ID_TRADITIONAL_CHINESE +

                +
                TT_MAC_ID_KOREAN +

                +
                TT_MAC_ID_ARABIC +

                +
                TT_MAC_ID_HEBREW +

                +
                TT_MAC_ID_GREEK +

                +
                TT_MAC_ID_RUSSIAN +

                +
                TT_MAC_ID_RSYMBOL +

                +
                TT_MAC_ID_DEVANAGARI +

                +
                TT_MAC_ID_GURMUKHI +

                +
                TT_MAC_ID_GUJARATI +

                +
                TT_MAC_ID_ORIYA +

                +
                TT_MAC_ID_BENGALI +

                +
                TT_MAC_ID_TAMIL +

                +
                TT_MAC_ID_TELUGU +

                +
                TT_MAC_ID_KANNADA +

                +
                TT_MAC_ID_MALAYALAM +

                +
                TT_MAC_ID_SINHALESE +

                +
                TT_MAC_ID_BURMESE +

                +
                TT_MAC_ID_KHMER +

                +
                TT_MAC_ID_THAI +

                +
                TT_MAC_ID_LAOTIAN +

                +
                TT_MAC_ID_GEORGIAN +

                +
                TT_MAC_ID_ARMENIAN +

                +
                TT_MAC_ID_MALDIVIAN +

                +
                TT_MAC_ID_SIMPLIFIED_CHINESE +

                +
                TT_MAC_ID_TIBETAN +

                +
                TT_MAC_ID_MONGOLIAN +

                +
                TT_MAC_ID_GEEZ +

                +
                TT_MAC_ID_SLAVIC +

                +
                TT_MAC_ID_VIETNAMESE +

                +
                TT_MAC_ID_SINDHI +

                +
                TT_MAC_ID_UNINTERP +

                +
                + +
                +
                + +
                +

                TT_ISO_ID_XXX

                +

                Defined in FT_TRUETYPE_IDS_H (ttnameid.h).

                +
                +#define TT_ISO_ID_7BIT_ASCII  0
                +#define TT_ISO_ID_10646       1
                +#define TT_ISO_ID_8859_1      2
                +
                + +

                A list of valid values for the ‘encoding_id’ for TT_PLATFORM_ISO charmaps and name entries.

                +

                Their use is now deprecated.

                + +

                values

                + + + + +
                TT_ISO_ID_7BIT_ASCII +

                ASCII.

                +
                TT_ISO_ID_10646 +

                ISO/10646.

                +
                TT_ISO_ID_8859_1 +

                Also known as Latin-1.

                +
                + +
                +
                + +
                +

                TT_MS_ID_XXX

                +

                Defined in FT_TRUETYPE_IDS_H (ttnameid.h).

                +
                +#define TT_MS_ID_SYMBOL_CS    0
                +#define TT_MS_ID_UNICODE_CS   1
                +#define TT_MS_ID_SJIS         2
                +#define TT_MS_ID_GB2312       3
                +#define TT_MS_ID_BIG_5        4
                +#define TT_MS_ID_WANSUNG      5
                +#define TT_MS_ID_JOHAB        6
                +#define TT_MS_ID_UCS_4       10
                +
                + +

                A list of valid values for the ‘encoding_id’ for TT_PLATFORM_MICROSOFT charmaps and name entries.

                + +

                values

                + + + + + + + + + +
                TT_MS_ID_SYMBOL_CS +

                Corresponds to Microsoft symbol encoding. See FT_ENCODING_MS_SYMBOL.

                +
                TT_MS_ID_UNICODE_CS +

                Corresponds to a Microsoft WGL4 charmap, matching Unicode. See FT_ENCODING_UNICODE.

                +
                TT_MS_ID_SJIS +

                Corresponds to SJIS Japanese encoding. See FT_ENCODING_SJIS.

                +
                TT_MS_ID_GB2312 +

                Corresponds to Simplified Chinese as used in Mainland China. See FT_ENCODING_GB2312.

                +
                TT_MS_ID_BIG_5 +

                Corresponds to Traditional Chinese as used in Taiwan and Hong Kong. See FT_ENCODING_BIG5.

                +
                TT_MS_ID_WANSUNG +

                Corresponds to Korean Wansung encoding. See FT_ENCODING_WANSUNG.

                +
                TT_MS_ID_JOHAB +

                Corresponds to Johab encoding. See FT_ENCODING_JOHAB.

                +
                TT_MS_ID_UCS_4 +

                Corresponds to UCS-4 or UTF-32 charmaps. This has been added to the OpenType specification version 1.4 (mid-2001.)

                +
                + +
                +
                + +
                +

                TT_ADOBE_ID_XXX

                +

                Defined in FT_TRUETYPE_IDS_H (ttnameid.h).

                +
                +#define TT_ADOBE_ID_STANDARD  0
                +#define TT_ADOBE_ID_EXPERT    1
                +#define TT_ADOBE_ID_CUSTOM    2
                +#define TT_ADOBE_ID_LATIN_1   3
                +
                + +

                A list of valid values for the ‘encoding_id’ for TT_PLATFORM_ADOBE charmaps. This is a FreeType-specific extension!

                + +

                values

                + + + + + +
                TT_ADOBE_ID_STANDARD +

                Adobe standard encoding.

                +
                TT_ADOBE_ID_EXPERT +

                Adobe expert encoding.

                +
                TT_ADOBE_ID_CUSTOM +

                Adobe custom encoding.

                +
                TT_ADOBE_ID_LATIN_1 +

                Adobe Latin 1 encoding.

                +
                + +
                +
                diff --git a/freetype/docs/reference/ft2-tt_driver.html b/freetype/docs/reference/ft2-tt_driver.html index 101828dfb..5d71829e4 100644 --- a/freetype/docs/reference/ft2-tt_driver.html +++ b/freetype/docs/reference/ft2-tt_driver.html @@ -3,55 +3,118 @@ -FreeType-2.5.3 API Reference +FreeType-2.5.5 API Reference - - -
                [Index][TOC]
                -

                FreeType-2.5.3 API Reference

                + +

                FreeType-2.5.5 API Reference

                -

                -The TrueType driver -

                +

                The TrueType driver

                Synopsis

                - - -
                interpreter-versionTT_INTERPRETER_VERSION_XXX


                + + +
                interpreter-versionTT_INTERPRETER_VERSION_XXX
                + -

                While FreeType's TrueType driver doesn't expose API functions by itself, it is possible to control its behaviour with FT_Property_Set and FT_Property_Get. The following lists the available properties together with the necessary macros and structures.

                The TrueType driver's module name is ‘truetype’.

                -

                -
                -

                interpreter-version

                -
                + +
                +

                interpreter-version

                +

                Currently, two versions are available, representing the bytecode interpreter with and without subpixel hinting support, respectively. The default is subpixel support if TT_CONFIG_OPTION_SUBPIXEL_HINTING is defined, and no subpixel support otherwise (since it isn't available then).

                If subpixel hinting is on, many TrueType bytecode instructions behave differently compared to B/W or grayscale rendering. The main idea is to render at a much increased horizontal resolution, then sampling down the created output to subpixel precision. However, many older fonts are not suited to this and must be specially taken care of by applying (hardcoded) font-specific tweaks.

                Details on subpixel hinting and some of the necessary tweaks can be found in Greg Hitchcock's whitepaper at ‘http://www.microsoft.com/typography/cleartype/truetypecleartype.aspx’.

                @@ -68,45 +131,35 @@ The TrueType driver "interpreter-version", &interpreter_version ); -

                -
                note
                + +

                note

                This property can be used with FT_Property_Get also.

                -
                -
                -
                - - -
                [Index][TOC]
                - -
                -

                TT_INTERPRETER_VERSION_XXX

                -
                -Defined in FT_TRUETYPE_DRIVER_H (ftttdrv.h). -

                -
                -
                -#define TT_INTERPRETER_VERSION_35  35
                -#define TT_INTERPRETER_VERSION_38  38
                -
                -

                -
                + +
                + + +
                +

                TT_INTERPRETER_VERSION_XXX

                +

                Defined in FT_TRUETYPE_DRIVER_H (ftttdrv.h).

                +
                +#define TT_INTERPRETER_VERSION_35  35
                +#define TT_INTERPRETER_VERSION_38  38
                +
                +

                A list of constants used for the interpreter-version property to select the hinting engine for Truetype fonts.

                The numeric value in the constant names represents the version number as returned by the ‘GETINFO’ bytecode instruction.

                -

                -
                values
                -

                - - -
                TT_INTERPRETER_VERSION_35
                + +

                values

                + + - -
                TT_INTERPRETER_VERSION_35

                Version 35 corresponds to MS rasterizer v.1.7 as used e.g. in Windows 98; only grayscale and B/W rasterizing is supported.

                TT_INTERPRETER_VERSION_38
                +
                TT_INTERPRETER_VERSION_38

                Version 38 corresponds to MS rasterizer v.1.9; it is roughly equivalent to the hinting provided by DirectWrite ClearType (as can be found, for example, in the Internet Explorer 9 running on Windows 7).

                -
                -
                note
                + +

                note

                This property controls the behaviour of the bytecode interpreter and thus how outlines get hinted. It does not control how glyph get rasterized! In particular, it does not control subpixel color filtering.

                If FreeType has not been compiled with configuration option FT_CONFIG_OPTION_SUBPIXEL_HINTING, selecting version 38 causes an ‘FT_Err_Unimplemented_Feature’ error.

                Depending on the graphics framework, Microsoft uses different bytecode engines. As a consequence, the version numbers returned by a call to the ‘GETINFO[1]’ bytecode instruction are more convoluted than desired.

                @@ -122,12 +175,9 @@ Defined in FT_TRUETYPE_DRIVER_H (ftttdrv.h). DWrite 8 and later 40

                Since FreeType doesn't provide all capabilities of DWrite ClearType, using version 38 seems justified.

                -
                -
                -
                - - -
                [Index][TOC]
                + +
                + diff --git a/freetype/docs/reference/ft2-type1_tables.html b/freetype/docs/reference/ft2-type1_tables.html index 199f3f57f..71355a9d8 100644 --- a/freetype/docs/reference/ft2-type1_tables.html +++ b/freetype/docs/reference/ft2-type1_tables.html @@ -3,63 +3,125 @@ -FreeType-2.5.3 API Reference +FreeType-2.5.5 API Reference - - -
                [Index][TOC]
                -

                FreeType-2.5.3 API Reference

                + +

                FreeType-2.5.5 API Reference

                -

                -Type 1 Tables -

                +

                Type 1 Tables

                Synopsis

                - - - - - - - -
                PS_FontInfoRecT1_Blend_FlagsFT_Has_PS_Glyph_Names
                PS_FontInfoCID_FaceDictRecFT_Get_PS_Font_Info
                T1_FontInfoCID_FaceDictFT_Get_PS_Font_Private
                PS_PrivateRecCID_FaceInfoRecT1_EncodingType
                PS_PrivateCID_FaceInfoPS_Dict_Keys
                T1_PrivateCID_InfoFT_Get_PS_Font_Value


                - -
                + + + + + + + + + +
                PS_FontInfoRecCID_FaceInfoT1_EncodingType
                PS_FontInfo PS_Dict_Keys
                PS_PrivateRecFT_Has_PS_Glyph_Names 
                PS_PrivateFT_Get_PS_Font_InfoT1_FontInfo
                 FT_Get_PS_Font_PrivateT1_Private
                CID_FaceDictRecFT_Get_PS_Font_ValueCID_FontDict
                CID_FaceDict CID_Info
                CID_FaceInfoRecT1_Blend_Flags
                + +

                This section contains the definition of Type 1-specific tables, including structures related to other PostScript font formats.

                -

                -
                -

                PS_FontInfoRec

                -
                -Defined in FT_TYPE1_TABLES_H (t1tables.h). -

                -
                 
                +
                +

                PS_FontInfoRec

                +

                Defined in FT_TYPE1_TABLES_H (t1tables.h).

                +
                   typedef struct  PS_FontInfoRec_
                   {
                     FT_String*  version;
                @@ -73,62 +135,29 @@ Defined in FT_TYPE1_TABLES_H (t1tables.h).
                     FT_UShort   underline_thickness;
                 
                   } PS_FontInfoRec;
                +
                -

                -

                A structure used to model a Type 1 or Type 2 FontInfo dictionary. Note that for Multiple Master fonts, each instance has its own FontInfo dictionary.

                -

                -
                -
                - - -
                [Index][TOC]
                - -
                -

                PS_FontInfo

                -
                -Defined in FT_TYPE1_TABLES_H (t1tables.h). -

                -
                 
                +
                + + +
                +

                PS_FontInfo

                +

                Defined in FT_TYPE1_TABLES_H (t1tables.h).

                +
                   typedef struct PS_FontInfoRec_*  PS_FontInfo;
                +
                -

                -

                A handle to a PS_FontInfoRec structure.

                -

                -
                -
                - - -
                [Index][TOC]
                - -
                -

                T1_FontInfo

                -
                -Defined in FT_TYPE1_TABLES_H (t1tables.h). -

                -
                 
                -  typedef PS_FontInfoRec  T1_FontInfo;
                -
                -

                -
                -

                This type is equivalent to PS_FontInfoRec. It is deprecated but kept to maintain source compatibility between various versions of FreeType.

                -

                -
                -
                - - -
                [Index][TOC]
                - -
                -

                PS_PrivateRec

                -
                -Defined in FT_TYPE1_TABLES_H (t1tables.h). -

                -
                +
                + +
                +

                PS_PrivateRec

                +

                Defined in FT_TYPE1_TABLES_H (t1tables.h).

                +
                   typedef struct  PS_PrivateRec_
                   {
                     FT_Int     unique_id;
                @@ -168,104 +197,29 @@ Defined in FT_TYPE1_TABLES_H (t1tables.h).
                     FT_Short   min_feature[2];
                 
                   } PS_PrivateRec;
                +
                -

                -

                A structure used to model a Type 1 or Type 2 private dictionary. Note that for Multiple Master fonts, each instance has its own Private dictionary.

                -

                -
                -
                - - -
                [Index][TOC]
                - -
                -

                PS_Private

                -
                -Defined in FT_TYPE1_TABLES_H (t1tables.h). -

                -
                 
                +
                + + +
                +

                PS_Private

                +

                Defined in FT_TYPE1_TABLES_H (t1tables.h).

                +
                   typedef struct PS_PrivateRec_*  PS_Private;
                +
                -

                -

                A handle to a PS_PrivateRec structure.

                -

                -
                -
                - - -
                [Index][TOC]
                - -
                -

                T1_Private

                -
                -Defined in FT_TYPE1_TABLES_H (t1tables.h). -

                -
                -
                -  typedef PS_PrivateRec  T1_Private;
                -
                -

                -
                -

                This type is equivalent to PS_PrivateRec. It is deprecated but kept to maintain source compatibility between various versions of FreeType.

                -

                -
                -
                - - -
                [Index][TOC]
                - -
                -

                T1_Blend_Flags

                -
                -Defined in FT_TYPE1_TABLES_H (t1tables.h). -

                -
                -
                -  typedef enum  T1_Blend_Flags_
                -  {
                -    /*# required fields in a FontInfo blend dictionary */
                -    T1_BLEND_UNDERLINE_POSITION = 0,
                -    T1_BLEND_UNDERLINE_THICKNESS,
                -    T1_BLEND_ITALIC_ANGLE,
                -
                -    /*# required fields in a Private blend dictionary */
                -    T1_BLEND_BLUE_VALUES,
                -    T1_BLEND_OTHER_BLUES,
                -    T1_BLEND_STANDARD_WIDTH,
                -    T1_BLEND_STANDARD_HEIGHT,
                -    T1_BLEND_STEM_SNAP_WIDTHS,
                -    T1_BLEND_STEM_SNAP_HEIGHTS,
                -    T1_BLEND_BLUE_SCALE,
                -    T1_BLEND_BLUE_SHIFT,
                -    T1_BLEND_FAMILY_BLUES,
                -    T1_BLEND_FAMILY_OTHER_BLUES,
                -    T1_BLEND_FORCE_BOLD,
                -
                -    /*# never remove */
                -    T1_BLEND_MAX
                -
                -  } T1_Blend_Flags;
                 
                -

                -
                -

                A set of flags used to indicate which fields are present in a given blend dictionary (font info or private). Used to support Multiple Masters fonts.

                -

                -
                -
                - - -
                [Index][TOC]
                - -
                -

                CID_FaceDictRec

                -
                -Defined in FT_TYPE1_TABLES_H (t1tables.h). -

                -
                +
                + +
                +

                CID_FaceDictRec

                +

                Defined in FT_TYPE1_TABLES_H (t1tables.h).

                +
                   typedef struct  CID_FaceDictRec_
                   {
                     PS_PrivateRec  private_dict;
                @@ -285,43 +239,29 @@ Defined in FT_TYPE1_TABLES_H (t1tables.h).
                     FT_Int         sd_bytes;
                 
                   } CID_FaceDictRec;
                +
                -

                -

                A structure used to represent data in a CID top-level dictionary.

                -

                -
                -
                - - -
                [Index][TOC]
                - -
                -

                CID_FaceDict

                -
                -Defined in FT_TYPE1_TABLES_H (t1tables.h). -

                -
                 
                +
                + + +
                +

                CID_FaceDict

                +

                Defined in FT_TYPE1_TABLES_H (t1tables.h).

                +
                   typedef struct CID_FaceDictRec_*  CID_FaceDict;
                +
                -

                -

                A handle to a CID_FaceDictRec structure.

                -

                -
                -
                - - -
                [Index][TOC]
                - -
                -

                CID_FaceInfoRec

                -
                -Defined in FT_TYPE1_TABLES_H (t1tables.h). -

                -
                 
                +
                + + +
                +

                CID_FaceInfoRec

                +

                Defined in FT_TYPE1_TABLES_H (t1tables.h).

                +
                   typedef struct  CID_FaceInfoRec_
                   {
                     FT_String*      cid_font_name;
                @@ -350,327 +290,163 @@ Defined in FT_TYPE1_TABLES_H (t1tables.h).
                     FT_ULong        data_offset;
                 
                   } CID_FaceInfoRec;
                +
                -

                -

                A structure used to represent CID Face information.

                -

                -
                -
                - - -
                [Index][TOC]
                - -
                -

                CID_FaceInfo

                -
                -Defined in FT_TYPE1_TABLES_H (t1tables.h). -

                -
                 
                +
                + + +
                +

                CID_FaceInfo

                +

                Defined in FT_TYPE1_TABLES_H (t1tables.h).

                +
                   typedef struct CID_FaceInfoRec_*  CID_FaceInfo;
                +
                -

                -

                A handle to a CID_FaceInfoRec structure.

                -

                -
                -
                - - -
                [Index][TOC]
                - -
                -

                CID_Info

                -
                -Defined in FT_TYPE1_TABLES_H (t1tables.h). -

                -
                 
                -  typedef CID_FaceInfoRec  CID_Info;
                -
                -

                -
                -

                This type is equivalent to CID_FaceInfoRec. It is deprecated but kept to maintain source compatibility between various versions of FreeType.

                -

                -
                -
                - - -
                [Index][TOC]
                - -
                -

                FT_Has_PS_Glyph_Names

                -
                -Defined in FT_TYPE1_TABLES_H (t1tables.h). -

                -
                +
                + +
                +

                FT_Has_PS_Glyph_Names

                +

                Defined in FT_TYPE1_TABLES_H (t1tables.h).

                +
                   FT_EXPORT( FT_Int )
                   FT_Has_PS_Glyph_Names( FT_Face  face );
                +
                -

                -

                Return true if a given face provides reliable PostScript glyph names. This is similar to using the FT_HAS_GLYPH_NAMES macro, except that certain fonts (mostly TrueType) contain incorrect glyph name tables.

                When this function returns true, the caller is sure that the glyph names returned by FT_Get_Glyph_Name are reliable.

                -

                -
                input
                -

                - -
                face + +

                input

                + +
                face

                face handle

                -
                -
                return
                + +

                return

                Boolean. True if glyph names are reliable.

                -
                -
                -
                - - -
                [Index][TOC]
                - -
                -

                FT_Get_PS_Font_Info

                -
                -Defined in FT_TYPE1_TABLES_H (t1tables.h). -

                -
                 
                +
                + + +
                +

                FT_Get_PS_Font_Info

                +

                Defined in FT_TYPE1_TABLES_H (t1tables.h).

                +
                   FT_EXPORT( FT_Error )
                   FT_Get_PS_Font_Info( FT_Face      face,
                                        PS_FontInfo  afont_info );
                +
                -

                -

                Retrieve the PS_FontInfoRec structure corresponding to a given PostScript font.

                -

                -
                input
                -

                - -
                face + +

                input

                + +
                face

                PostScript face handle.

                -
                -
                output
                -

                - -
                afont_info + +

                output

                + +
                afont_info

                Output font info structure pointer.

                -
                -
                return
                + +

                return

                FreeType error code. 0 means success.

                -
                -
                note
                + +

                note

                The string pointers within the font info structure are owned by the face and don't need to be freed by the caller.

                If the font's format is not PostScript-based, this function will return the ‘FT_Err_Invalid_Argument’ error code.

                -
                -
                -
                - - -
                [Index][TOC]
                - -
                -

                FT_Get_PS_Font_Private

                -
                -Defined in FT_TYPE1_TABLES_H (t1tables.h). -

                -
                 
                +
                + + +
                +

                FT_Get_PS_Font_Private

                +

                Defined in FT_TYPE1_TABLES_H (t1tables.h).

                +
                   FT_EXPORT( FT_Error )
                   FT_Get_PS_Font_Private( FT_Face     face,
                                           PS_Private  afont_private );
                +
                -

                -

                Retrieve the PS_PrivateRec structure corresponding to a given PostScript font.

                -

                -
                input
                -

                - -
                face + +

                input

                + +
                face

                PostScript face handle.

                -
                -
                output
                -

                - -
                afont_private + +

                output

                + +
                afont_private

                Output private dictionary structure pointer.

                -
                -
                return
                + +

                return

                FreeType error code. 0 means success.

                -
                -
                note
                + +

                note

                The string pointers within the PS_PrivateRec structure are owned by the face and don't need to be freed by the caller.

                If the font's format is not PostScript-based, this function returns the ‘FT_Err_Invalid_Argument’ error code.

                -
                -
                -
                - - -
                [Index][TOC]
                - -
                -

                T1_EncodingType

                -
                -Defined in FT_TYPE1_TABLES_H (t1tables.h). -

                -
                -
                -  typedef enum  T1_EncodingType_
                -  {
                -    T1_ENCODING_TYPE_NONE = 0,
                -    T1_ENCODING_TYPE_ARRAY,
                -    T1_ENCODING_TYPE_STANDARD,
                -    T1_ENCODING_TYPE_ISOLATIN1,
                -    T1_ENCODING_TYPE_EXPERT
                -
                -  } T1_EncodingType;
                -
                -

                -
                -

                An enumeration describing the ‘Encoding’ entry in a Type 1 dictionary.

                -

                -
                -
                - - -
                [Index][TOC]
                - -
                -

                PS_Dict_Keys

                -
                -Defined in FT_TYPE1_TABLES_H (t1tables.h). -

                -
                -
                -  typedef enum  PS_Dict_Keys_
                -  {
                -    /* conventionally in the font dictionary */
                -    PS_DICT_FONT_TYPE,              /* FT_Byte         */
                -    PS_DICT_FONT_MATRIX,            /* FT_Fixed        */
                -    PS_DICT_FONT_BBOX,              /* FT_Fixed        */
                -    PS_DICT_PAINT_TYPE,             /* FT_Byte         */
                -    PS_DICT_FONT_NAME,              /* FT_String*      */
                -    PS_DICT_UNIQUE_ID,              /* FT_Int          */
                -    PS_DICT_NUM_CHAR_STRINGS,       /* FT_Int          */
                -    PS_DICT_CHAR_STRING_KEY,        /* FT_String*      */
                -    PS_DICT_CHAR_STRING,            /* FT_String*      */
                -    PS_DICT_ENCODING_TYPE,          /* T1_EncodingType */
                -    PS_DICT_ENCODING_ENTRY,         /* FT_String*      */
                -
                -    /* conventionally in the font Private dictionary */
                -    PS_DICT_NUM_SUBRS,              /* FT_Int     */
                -    PS_DICT_SUBR,                   /* FT_String* */
                -    PS_DICT_STD_HW,                 /* FT_UShort  */
                -    PS_DICT_STD_VW,                 /* FT_UShort  */
                -    PS_DICT_NUM_BLUE_VALUES,        /* FT_Byte    */
                -    PS_DICT_BLUE_VALUE,             /* FT_Short   */
                -    PS_DICT_BLUE_FUZZ,              /* FT_Int     */
                -    PS_DICT_NUM_OTHER_BLUES,        /* FT_Byte    */
                -    PS_DICT_OTHER_BLUE,             /* FT_Short   */
                -    PS_DICT_NUM_FAMILY_BLUES,       /* FT_Byte    */
                -    PS_DICT_FAMILY_BLUE,            /* FT_Short   */
                -    PS_DICT_NUM_FAMILY_OTHER_BLUES, /* FT_Byte    */
                -    PS_DICT_FAMILY_OTHER_BLUE,      /* FT_Short   */
                -    PS_DICT_BLUE_SCALE,             /* FT_Fixed   */
                -    PS_DICT_BLUE_SHIFT,             /* FT_Int     */
                -    PS_DICT_NUM_STEM_SNAP_H,        /* FT_Byte    */
                -    PS_DICT_STEM_SNAP_H,            /* FT_Short   */
                -    PS_DICT_NUM_STEM_SNAP_V,        /* FT_Byte    */
                -    PS_DICT_STEM_SNAP_V,            /* FT_Short   */
                -    PS_DICT_FORCE_BOLD,             /* FT_Bool    */
                -    PS_DICT_RND_STEM_UP,            /* FT_Bool    */
                -    PS_DICT_MIN_FEATURE,            /* FT_Short   */
                -    PS_DICT_LEN_IV,                 /* FT_Int     */
                -    PS_DICT_PASSWORD,               /* FT_Long    */
                -    PS_DICT_LANGUAGE_GROUP,         /* FT_Long    */
                 
                -    /* conventionally in the font FontInfo dictionary */
                -    PS_DICT_VERSION,                /* FT_String* */
                -    PS_DICT_NOTICE,                 /* FT_String* */
                -    PS_DICT_FULL_NAME,              /* FT_String* */
                -    PS_DICT_FAMILY_NAME,            /* FT_String* */
                -    PS_DICT_WEIGHT,                 /* FT_String* */
                -    PS_DICT_IS_FIXED_PITCH,         /* FT_Bool    */
                -    PS_DICT_UNDERLINE_POSITION,     /* FT_Short   */
                -    PS_DICT_UNDERLINE_THICKNESS,    /* FT_UShort  */
                -    PS_DICT_FS_TYPE,                /* FT_UShort  */
                -    PS_DICT_ITALIC_ANGLE,           /* FT_Long    */
                -
                -    PS_DICT_MAX = PS_DICT_ITALIC_ANGLE
                -
                -  } PS_Dict_Keys;
                -
                -

                -
                -

                An enumeration used in calls to FT_Get_PS_Font_Value to identify the Type 1 dictionary entry to retrieve.

                -

                -
                -
                - - -
                [Index][TOC]
                - -
                -

                FT_Get_PS_Font_Value

                -
                -Defined in FT_TYPE1_TABLES_H (t1tables.h). -

                -
                +
                + +
                +

                FT_Get_PS_Font_Value

                +

                Defined in FT_TYPE1_TABLES_H (t1tables.h).

                +
                   FT_EXPORT( FT_Long )
                   FT_Get_PS_Font_Value( FT_Face       face,
                                         PS_Dict_Keys  key,
                                         FT_UInt       idx,
                                         void         *value,
                                         FT_Long       value_len );
                +
                -

                -

                Retrieve the value for the supplied key from a PostScript font.

                -

                -
                input
                -

                - -
                face + +

                input

                + + - - - -
                face

                PostScript face handle.

                key +
                key

                An enumeration value representing the dictionary key to retrieve.

                idx +
                idx

                For array values, this specifies the index to be returned.

                value +
                value

                A pointer to memory into which to write the value.

                valen_len +
                valen_len

                The size, in bytes, of the memory supplied for the value.

                -
                -
                output
                -

                - -
                value + +

                output

                + +
                value

                The value matching the above key, if it exists.

                -
                -
                return
                + +

                return

                The amount of memory (in bytes) required to hold the requested value (if it exists, -1 otherwise).

                -
                -
                note
                + +

                note

                The values returned are not pointers into the internal structures of the face, but are ‘fresh’ copies, so that the memory containing them belongs to the calling application. This also enforces the ‘read-only’ nature of these values, i.e., this function cannot be used to manipulate the face.

                ‘value’ is a void pointer because the values returned can be of various types.

                If either ‘value’ is NULL or ‘value_len’ is too small, just the required memory size for the requested entry is returned.

                @@ -678,12 +454,405 @@ Defined in FT_TYPE1_TABLES_H (t1tables.h).

                PS_DICT_BLUE_SCALE returns a value that is scaled up by 1000. To get the value as in the font stream, you need to divide by 65536000.0 (to remove the FT_Fixed scale, and the x1000 scale).

                IMPORTANT: Only key/value pairs read by the FreeType interpreter can be retrieved. So, for example, PostScript procedures such as NP, ND, and RD are not available. Arbitrary keys are, obviously, not be available either.

                If the font's format is not PostScript-based, this function returns the ‘FT_Err_Invalid_Argument’ error code.

                -
                -
                -
                - - -
                [Index][TOC]
                + +
                + + +
                +

                T1_Blend_Flags

                +

                Defined in FT_TYPE1_TABLES_H (t1tables.h).

                +
                +  typedef enum  T1_Blend_Flags_
                +  {
                +    /* required fields in a FontInfo blend dictionary */
                +    T1_BLEND_UNDERLINE_POSITION = 0,
                +    T1_BLEND_UNDERLINE_THICKNESS,
                +    T1_BLEND_ITALIC_ANGLE,
                +
                +    /* required fields in a Private blend dictionary */
                +    T1_BLEND_BLUE_VALUES,
                +    T1_BLEND_OTHER_BLUES,
                +    T1_BLEND_STANDARD_WIDTH,
                +    T1_BLEND_STANDARD_HEIGHT,
                +    T1_BLEND_STEM_SNAP_WIDTHS,
                +    T1_BLEND_STEM_SNAP_HEIGHTS,
                +    T1_BLEND_BLUE_SCALE,
                +    T1_BLEND_BLUE_SHIFT,
                +    T1_BLEND_FAMILY_BLUES,
                +    T1_BLEND_FAMILY_OTHER_BLUES,
                +    T1_BLEND_FORCE_BOLD,
                +
                +    T1_BLEND_MAX    /* do not remove */
                +
                +  } T1_Blend_Flags;
                +
                +
                +  /* these constants are deprecated; use the corresponding */
                +  /* `T1_Blend_Flags' values instead                       */
                +#define t1_blend_underline_position   T1_BLEND_UNDERLINE_POSITION
                +#define t1_blend_underline_thickness  T1_BLEND_UNDERLINE_THICKNESS
                +#define t1_blend_italic_angle         T1_BLEND_ITALIC_ANGLE
                +#define t1_blend_blue_values          T1_BLEND_BLUE_VALUES
                +#define t1_blend_other_blues          T1_BLEND_OTHER_BLUES
                +#define t1_blend_standard_widths      T1_BLEND_STANDARD_WIDTH
                +#define t1_blend_standard_height      T1_BLEND_STANDARD_HEIGHT
                +#define t1_blend_stem_snap_widths     T1_BLEND_STEM_SNAP_WIDTHS
                +#define t1_blend_stem_snap_heights    T1_BLEND_STEM_SNAP_HEIGHTS
                +#define t1_blend_blue_scale           T1_BLEND_BLUE_SCALE
                +#define t1_blend_blue_shift           T1_BLEND_BLUE_SHIFT
                +#define t1_blend_family_blues         T1_BLEND_FAMILY_BLUES
                +#define t1_blend_family_other_blues   T1_BLEND_FAMILY_OTHER_BLUES
                +#define t1_blend_force_bold           T1_BLEND_FORCE_BOLD
                +#define t1_blend_max                  T1_BLEND_MAX
                +
                + +

                A set of flags used to indicate which fields are present in a given blend dictionary (font info or private). Used to support Multiple Masters fonts.

                + +

                values

                + + + + + + + + + + + + + + + +
                T1_BLEND_UNDERLINE_POSITION +

                +
                T1_BLEND_UNDERLINE_THICKNESS +

                +
                T1_BLEND_ITALIC_ANGLE +

                +
                T1_BLEND_BLUE_VALUES +

                +
                T1_BLEND_OTHER_BLUES +

                +
                T1_BLEND_STANDARD_WIDTH +

                +
                T1_BLEND_STANDARD_HEIGHT +

                +
                T1_BLEND_STEM_SNAP_WIDTHS +

                +
                T1_BLEND_STEM_SNAP_HEIGHTS +

                +
                T1_BLEND_BLUE_SCALE +

                +
                T1_BLEND_BLUE_SHIFT +

                +
                T1_BLEND_FAMILY_BLUES +

                +
                T1_BLEND_FAMILY_OTHER_BLUES +

                +
                T1_BLEND_FORCE_BOLD +

                +
                + +
                +
                + +
                +

                T1_EncodingType

                +

                Defined in FT_TYPE1_TABLES_H (t1tables.h).

                +
                +  typedef enum  T1_EncodingType_
                +  {
                +    T1_ENCODING_TYPE_NONE = 0,
                +    T1_ENCODING_TYPE_ARRAY,
                +    T1_ENCODING_TYPE_STANDARD,
                +    T1_ENCODING_TYPE_ISOLATIN1,
                +    T1_ENCODING_TYPE_EXPERT
                +
                +  } T1_EncodingType;
                +
                + +

                An enumeration describing the ‘Encoding’ entry in a Type 1 dictionary.

                + +

                values

                + + + + + + +
                T1_ENCODING_TYPE_NONE +

                +
                T1_ENCODING_TYPE_ARRAY +

                +
                T1_ENCODING_TYPE_STANDARD +

                +
                T1_ENCODING_TYPE_ISOLATIN1 +

                +
                T1_ENCODING_TYPE_EXPERT +

                +
                + +
                +
                + +
                +

                PS_Dict_Keys

                +

                Defined in FT_TYPE1_TABLES_H (t1tables.h).

                +
                +  typedef enum  PS_Dict_Keys_
                +  {
                +    /* conventionally in the font dictionary */
                +    PS_DICT_FONT_TYPE,              /* FT_Byte         */
                +    PS_DICT_FONT_MATRIX,            /* FT_Fixed        */
                +    PS_DICT_FONT_BBOX,              /* FT_Fixed        */
                +    PS_DICT_PAINT_TYPE,             /* FT_Byte         */
                +    PS_DICT_FONT_NAME,              /* FT_String*      */
                +    PS_DICT_UNIQUE_ID,              /* FT_Int          */
                +    PS_DICT_NUM_CHAR_STRINGS,       /* FT_Int          */
                +    PS_DICT_CHAR_STRING_KEY,        /* FT_String*      */
                +    PS_DICT_CHAR_STRING,            /* FT_String*      */
                +    PS_DICT_ENCODING_TYPE,          /* T1_EncodingType */
                +    PS_DICT_ENCODING_ENTRY,         /* FT_String*      */
                +
                +    /* conventionally in the font Private dictionary */
                +    PS_DICT_NUM_SUBRS,              /* FT_Int     */
                +    PS_DICT_SUBR,                   /* FT_String* */
                +    PS_DICT_STD_HW,                 /* FT_UShort  */
                +    PS_DICT_STD_VW,                 /* FT_UShort  */
                +    PS_DICT_NUM_BLUE_VALUES,        /* FT_Byte    */
                +    PS_DICT_BLUE_VALUE,             /* FT_Short   */
                +    PS_DICT_BLUE_FUZZ,              /* FT_Int     */
                +    PS_DICT_NUM_OTHER_BLUES,        /* FT_Byte    */
                +    PS_DICT_OTHER_BLUE,             /* FT_Short   */
                +    PS_DICT_NUM_FAMILY_BLUES,       /* FT_Byte    */
                +    PS_DICT_FAMILY_BLUE,            /* FT_Short   */
                +    PS_DICT_NUM_FAMILY_OTHER_BLUES, /* FT_Byte    */
                +    PS_DICT_FAMILY_OTHER_BLUE,      /* FT_Short   */
                +    PS_DICT_BLUE_SCALE,             /* FT_Fixed   */
                +    PS_DICT_BLUE_SHIFT,             /* FT_Int     */
                +    PS_DICT_NUM_STEM_SNAP_H,        /* FT_Byte    */
                +    PS_DICT_STEM_SNAP_H,            /* FT_Short   */
                +    PS_DICT_NUM_STEM_SNAP_V,        /* FT_Byte    */
                +    PS_DICT_STEM_SNAP_V,            /* FT_Short   */
                +    PS_DICT_FORCE_BOLD,             /* FT_Bool    */
                +    PS_DICT_RND_STEM_UP,            /* FT_Bool    */
                +    PS_DICT_MIN_FEATURE,            /* FT_Short   */
                +    PS_DICT_LEN_IV,                 /* FT_Int     */
                +    PS_DICT_PASSWORD,               /* FT_Long    */
                +    PS_DICT_LANGUAGE_GROUP,         /* FT_Long    */
                +
                +    /* conventionally in the font FontInfo dictionary */
                +    PS_DICT_VERSION,                /* FT_String* */
                +    PS_DICT_NOTICE,                 /* FT_String* */
                +    PS_DICT_FULL_NAME,              /* FT_String* */
                +    PS_DICT_FAMILY_NAME,            /* FT_String* */
                +    PS_DICT_WEIGHT,                 /* FT_String* */
                +    PS_DICT_IS_FIXED_PITCH,         /* FT_Bool    */
                +    PS_DICT_UNDERLINE_POSITION,     /* FT_Short   */
                +    PS_DICT_UNDERLINE_THICKNESS,    /* FT_UShort  */
                +    PS_DICT_FS_TYPE,                /* FT_UShort  */
                +    PS_DICT_ITALIC_ANGLE,           /* FT_Long    */
                +
                +    PS_DICT_MAX = PS_DICT_ITALIC_ANGLE
                +
                +  } PS_Dict_Keys;
                +
                + +

                An enumeration used in calls to FT_Get_PS_Font_Value to identify the Type 1 dictionary entry to retrieve.

                + +

                values

                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                PS_DICT_FONT_TYPE +

                +
                PS_DICT_FONT_MATRIX +

                +
                PS_DICT_FONT_BBOX +

                +
                PS_DICT_PAINT_TYPE +

                +
                PS_DICT_FONT_NAME +

                +
                PS_DICT_UNIQUE_ID +

                +
                PS_DICT_NUM_CHAR_STRINGS +

                +
                PS_DICT_CHAR_STRING_KEY +

                +
                PS_DICT_CHAR_STRING +

                +
                PS_DICT_ENCODING_TYPE +

                +
                PS_DICT_ENCODING_ENTRY +

                +
                PS_DICT_NUM_SUBRS +

                +
                PS_DICT_SUBR +

                +
                PS_DICT_STD_HW +

                +
                PS_DICT_STD_VW +

                +
                PS_DICT_NUM_BLUE_VALUES +

                +
                PS_DICT_BLUE_VALUE +

                +
                PS_DICT_BLUE_FUZZ +

                +
                PS_DICT_NUM_OTHER_BLUES +

                +
                PS_DICT_OTHER_BLUE +

                +
                PS_DICT_NUM_FAMILY_BLUES +

                +
                PS_DICT_FAMILY_BLUE +

                +
                PS_DICT_NUM_FAMILY_OTHER_BLUES +

                +
                PS_DICT_FAMILY_OTHER_BLUE +

                +
                PS_DICT_BLUE_SCALE +

                +
                PS_DICT_BLUE_SHIFT +

                +
                PS_DICT_NUM_STEM_SNAP_H +

                +
                PS_DICT_STEM_SNAP_H +

                +
                PS_DICT_NUM_STEM_SNAP_V +

                +
                PS_DICT_STEM_SNAP_V +

                +
                PS_DICT_FORCE_BOLD +

                +
                PS_DICT_RND_STEM_UP +

                +
                PS_DICT_MIN_FEATURE +

                +
                PS_DICT_LEN_IV +

                +
                PS_DICT_PASSWORD +

                +
                PS_DICT_LANGUAGE_GROUP +

                +
                PS_DICT_VERSION +

                +
                PS_DICT_NOTICE +

                +
                PS_DICT_FULL_NAME +

                +
                PS_DICT_FAMILY_NAME +

                +
                PS_DICT_WEIGHT +

                +
                PS_DICT_IS_FIXED_PITCH +

                +
                PS_DICT_UNDERLINE_POSITION +

                +
                PS_DICT_UNDERLINE_THICKNESS +

                +
                PS_DICT_FS_TYPE +

                +
                PS_DICT_ITALIC_ANGLE +

                +
                + +
                +
                + +
                +

                T1_FontInfo

                +

                Defined in FT_TYPE1_TABLES_H (t1tables.h).

                +
                +  typedef PS_FontInfoRec  T1_FontInfo;
                +
                + +

                This type is equivalent to PS_FontInfoRec. It is deprecated but kept to maintain source compatibility between various versions of FreeType.

                + +
                +
                + +
                +

                T1_Private

                +

                Defined in FT_TYPE1_TABLES_H (t1tables.h).

                +
                +  typedef PS_PrivateRec  T1_Private;
                +
                + +

                This type is equivalent to PS_PrivateRec. It is deprecated but kept to maintain source compatibility between various versions of FreeType.

                + +
                +
                + +
                +

                CID_FontDict

                +

                Defined in FT_TYPE1_TABLES_H (t1tables.h).

                +
                +  typedef CID_FaceDictRec  CID_FontDict;
                +
                + +

                This type is equivalent to CID_FaceDictRec. It is deprecated but kept to maintain source compatibility between various versions of FreeType.

                + +
                +
                + +
                +

                CID_Info

                +

                Defined in FT_TYPE1_TABLES_H (t1tables.h).

                +
                +  typedef CID_FaceInfoRec  CID_Info;
                +
                + +

                This type is equivalent to CID_FaceInfoRec. It is deprecated but kept to maintain source compatibility between various versions of FreeType.

                + +
                +
                diff --git a/freetype/docs/reference/ft2-user_allocation.html b/freetype/docs/reference/ft2-user_allocation.html index 4875fb2b5..52bd6ec22 100644 --- a/freetype/docs/reference/ft2-user_allocation.html +++ b/freetype/docs/reference/ft2-user_allocation.html @@ -3,45 +3,108 @@ -FreeType-2.5.3 API Reference +FreeType-2.5.5 API Reference - - -
                [Index][TOC]
                -

                FreeType-2.5.3 API Reference

                + +

                FreeType-2.5.5 API Reference

                + +

                User allocation

                -

                -User allocation -

                -

                FreeType assumes that structures allocated by the user and passed as arguments are zeroed out except for the actual data. In other words, it is recommended to use ‘calloc’ (or variants of it) instead of ‘malloc’ for allocation.

                -

                + diff --git a/freetype/docs/reference/ft2-version.html b/freetype/docs/reference/ft2-version.html index 89d79a2ea..89e3dac90 100644 --- a/freetype/docs/reference/ft2-version.html +++ b/freetype/docs/reference/ft2-version.html @@ -3,217 +3,250 @@ -FreeType-2.5.3 API Reference +FreeType-2.5.5 API Reference - - -
                [Index][TOC]
                -

                FreeType-2.5.3 API Reference

                + +

                FreeType-2.5.5 API Reference

                -

                -FreeType Version -

                +

                FreeType Version

                Synopsis

                - - - -
                FREETYPE_XXXFT_Face_CheckTrueTypePatents
                FT_Library_VersionFT_Face_SetUnpatentedHinting


                + + + + + + +
                FT_Library_Version 
                 FT_Face_CheckTrueTypePatents
                FREETYPE_MAJORFT_Face_SetUnpatentedHinting
                FREETYPE_MINOR 
                FREETYPE_PATCHFREETYPE_XXX
                + -

                Note that those functions and macros are of limited use because even a new release of FreeType with only documentation changes increases the version number.

                -

                -
                -

                FREETYPE_XXX

                -
                -Defined in FT_FREETYPE_H (freetype.h). -

                -
                -
                -#define FREETYPE_MAJOR  2
                -#define FREETYPE_MINOR  5
                -#define FREETYPE_PATCH  3
                -
                -

                -
                -

                These three macros identify the FreeType source code version. Use FT_Library_Version to access them at runtime.

                -

                -
                values
                -

                - - - - -
                FREETYPE_MAJOR -

                The major version number.

                -
                FREETYPE_MINOR -

                The minor version number.

                -
                FREETYPE_PATCH -

                The patch level.

                -
                -
                -
                note
                -

                The version number of FreeType if built as a dynamic link library with the ‘libtool’ package is not controlled by these three macros.

                -
                -
                -
                - - -
                [Index][TOC]
                - -
                -

                FT_Library_Version

                -
                -Defined in FT_FREETYPE_H (freetype.h). -

                -
                 
                +
                +

                FT_Library_Version

                +

                Defined in FT_FREETYPE_H (freetype.h).

                +
                   FT_EXPORT( void )
                   FT_Library_Version( FT_Library   library,
                                       FT_Int      *amajor,
                                       FT_Int      *aminor,
                                       FT_Int      *apatch );
                +
                -

                -

                Return the version of the FreeType library being used. This is useful when dynamically linking to the library, since one cannot use the macros FREETYPE_MAJOR, FREETYPE_MINOR, and FREETYPE_PATCH.

                -

                -
                input
                -

                - -
                library + +

                input

                + +
                library

                A source library handle.

                -
                -
                output
                -

                - -
                amajor + +

                output

                + + - -
                amajor

                The major version number.

                aminor +
                aminor

                The minor version number.

                apatch +
                apatch

                The patch version number.

                -
                -
                note
                + +

                note

                The reason why this function takes a ‘library’ argument is because certain programs implement library initialization in a custom way that doesn't use FT_Init_FreeType.

                In such cases, the library version might not be available before the library object has been created.

                -
                -
                -
                - - -
                [Index][TOC]
                - -
                -

                FT_Face_CheckTrueTypePatents

                -
                -Defined in FT_FREETYPE_H (freetype.h). -

                -
                 
                +
                + + +
                +

                FT_Face_CheckTrueTypePatents

                +

                Defined in FT_FREETYPE_H (freetype.h).

                +
                   FT_EXPORT( FT_Bool )
                   FT_Face_CheckTrueTypePatents( FT_Face  face );
                +
                -

                -

                Parse all bytecode instructions of a TrueType font file to check whether any of the patented opcodes are used. This is only useful if you want to be able to use the unpatented hinter with fonts that do not use these opcodes.

                Note that this function parses all glyph instructions in the font file, which may be slow.

                -

                -
                input
                -

                - -
                face + +

                input

                + +
                face

                A face handle.

                -
                -
                return
                + +

                return

                1 if this is a TrueType font that uses one of the patented opcodes, 0 otherwise.

                -
                -
                note
                + +

                note

                Since May 2010, TrueType hinting is no longer patented.

                -
                -
                since
                + +

                since

                2.3.5

                -
                -
                -
                - - -
                [Index][TOC]
                - -
                -

                FT_Face_SetUnpatentedHinting

                -
                -Defined in FT_FREETYPE_H (freetype.h). -

                -
                 
                +
                + + +
                +

                FT_Face_SetUnpatentedHinting

                +

                Defined in FT_FREETYPE_H (freetype.h).

                +
                   FT_EXPORT( FT_Bool )
                   FT_Face_SetUnpatentedHinting( FT_Face  face,
                                                 FT_Bool  value );
                +
                -

                -

                Enable or disable the unpatented hinter for a given face. Only enable it if you have determined that the face doesn't use any patented opcodes (see FT_Face_CheckTrueTypePatents).

                -

                -
                input
                -

                - -
                face + +

                input

                + + -
                face

                A face handle.

                value +
                value

                New boolean setting.

                -
                -
                return
                + +

                return

                The old setting value. This will always be false if this is not an SFNT font, or if the unpatented hinter is not compiled in this instance of the library.

                -
                -
                note
                + +

                note

                Since May 2010, TrueType hinting is no longer patented.

                -
                -
                since
                + +

                since

                2.3.5

                -
                -
                -
                - - -
                [Index][TOC]
                + +
                + + +
                +

                FREETYPE_XXX

                +

                Defined in FT_FREETYPE_H (freetype.h).

                +
                +#define FREETYPE_MAJOR  2
                +#define FREETYPE_MINOR  5
                +#define FREETYPE_PATCH  5
                +
                + +

                These three macros identify the FreeType source code version. Use FT_Library_Version to access them at runtime.

                + +

                values

                + + + + +
                FREETYPE_MAJOR +

                The major version number.

                +
                FREETYPE_MINOR +

                The minor version number.

                +
                FREETYPE_PATCH +

                The patch level.

                +
                + +

                note

                +

                The version number of FreeType if built as a dynamic link library with the ‘libtool’ package is not controlled by these three macros.

                + +
                +
                diff --git a/freetype/docs/reference/ft2-winfnt_fonts.html b/freetype/docs/reference/ft2-winfnt_fonts.html index 792cd9e78..a17e350d2 100644 --- a/freetype/docs/reference/ft2-winfnt_fonts.html +++ b/freetype/docs/reference/ft2-winfnt_fonts.html @@ -3,96 +3,154 @@ -FreeType-2.5.3 API Reference +FreeType-2.5.5 API Reference - - -
                [Index][TOC]
                -

                FreeType-2.5.3 API Reference

                + +

                FreeType-2.5.5 API Reference

                -

                -Window FNT Files -

                +

                Window FNT Files

                Synopsis

                - - - -
                FT_WinFNT_ID_XXXFT_WinFNT_Header
                FT_WinFNT_HeaderRecFT_Get_WinFNT_Header


                + + + +
                FT_WinFNT_ID_XXXFT_WinFNT_Header
                FT_WinFNT_HeaderRecFT_Get_WinFNT_Header
                + -

                This section contains the declaration of Windows FNT specific functions.

                -

                -
                -

                FT_WinFNT_ID_XXX

                -
                -Defined in FT_WINFONTS_H (ftwinfnt.h). -

                -
                 
                -#define FT_WinFNT_ID_CP1252    0
                -#define FT_WinFNT_ID_DEFAULT   1
                -#define FT_WinFNT_ID_SYMBOL    2
                -#define FT_WinFNT_ID_MAC      77
                -#define FT_WinFNT_ID_CP932   128
                -#define FT_WinFNT_ID_CP949   129
                -#define FT_WinFNT_ID_CP1361  130
                -#define FT_WinFNT_ID_CP936   134
                -#define FT_WinFNT_ID_CP950   136
                -#define FT_WinFNT_ID_CP1253  161
                -#define FT_WinFNT_ID_CP1254  162
                -#define FT_WinFNT_ID_CP1258  163
                -#define FT_WinFNT_ID_CP1255  177
                -#define FT_WinFNT_ID_CP1256  178
                -#define FT_WinFNT_ID_CP1257  186
                -#define FT_WinFNT_ID_CP1251  204
                -#define FT_WinFNT_ID_CP874   222
                -#define FT_WinFNT_ID_CP1250  238
                -#define FT_WinFNT_ID_OEM     255
                +
                +

                FT_WinFNT_ID_XXX

                +

                Defined in FT_WINFONTS_H (ftwinfnt.h).

                +
                +#define FT_WinFNT_ID_CP1252    0
                +#define FT_WinFNT_ID_DEFAULT   1
                +#define FT_WinFNT_ID_SYMBOL    2
                +#define FT_WinFNT_ID_MAC      77
                +#define FT_WinFNT_ID_CP932   128
                +#define FT_WinFNT_ID_CP949   129
                +#define FT_WinFNT_ID_CP1361  130
                +#define FT_WinFNT_ID_CP936   134
                +#define FT_WinFNT_ID_CP950   136
                +#define FT_WinFNT_ID_CP1253  161
                +#define FT_WinFNT_ID_CP1254  162
                +#define FT_WinFNT_ID_CP1258  163
                +#define FT_WinFNT_ID_CP1255  177
                +#define FT_WinFNT_ID_CP1256  178
                +#define FT_WinFNT_ID_CP1257  186
                +#define FT_WinFNT_ID_CP1251  204
                +#define FT_WinFNT_ID_CP874   222
                +#define FT_WinFNT_ID_CP1250  238
                +#define FT_WinFNT_ID_OEM     255
                +
                -

                -

                A list of valid values for the ‘charset’ byte in FT_WinFNT_HeaderRec. Exact mapping tables for the various cpXXXX encodings (except for cp1361) can be found at ftp://ftp.unicode.org/public in the MAPPINGS/VENDORS/MICSFT/WINDOWS subdirectory. cp1361 is roughly a superset of MAPPINGS/OBSOLETE/EASTASIA/KSC/JOHAB.TXT.

                -

                -
                values
                -

                - -
                FT_WinFNT_ID_DEFAULT + +

                values

                + + - - - - - - - - - - - - - - - - - -
                FT_WinFNT_ID_DEFAULT

                This is used for font enumeration and font creation as a ‘don't care’ value. Valid font files don't contain this value. When querying for information about the character set of the font that is currently selected into a specified device context, this return value (of the related Windows API) simply denotes failure.

                FT_WinFNT_ID_SYMBOL +
                FT_WinFNT_ID_SYMBOL

                There is no known mapping table available.

                FT_WinFNT_ID_MAC +
                FT_WinFNT_ID_MAC

                Mac Roman encoding.

                FT_WinFNT_ID_OEM +
                FT_WinFNT_ID_OEM

                From Michael Pöttgen <michael@poettgen.de>:

                The ‘Windows Font Mapping’ article says that FT_WinFNT_ID_OEM is used for the charset of vector fonts, like ‘modern.fon’, ‘roman.fon’, and ‘script.fon’ on Windows.

                The ‘CreateFont’ documentation says: The FT_WinFNT_ID_OEM value specifies a character set that is operating-system dependent.

                @@ -101,66 +159,60 @@ Defined in FT_WINFONTS_H (ftwinfnt.h).

                http://www.microsoft.com/globaldev/reference/cphome.mspx,

                and is used for the ‘DOS boxes’, to support legacy applications. A German Windows version for example usually uses ANSI codepage 1252 and OEM codepage 850.

                FT_WinFNT_ID_CP874 +
                FT_WinFNT_ID_CP874

                A superset of Thai TIS 620 and ISO 8859-11.

                FT_WinFNT_ID_CP932 +
                FT_WinFNT_ID_CP932

                A superset of Japanese Shift-JIS (with minor deviations).

                FT_WinFNT_ID_CP936 +
                FT_WinFNT_ID_CP936

                A superset of simplified Chinese GB 2312-1980 (with different ordering and minor deviations).

                FT_WinFNT_ID_CP949 +
                FT_WinFNT_ID_CP949

                A superset of Korean Hangul KS C 5601-1987 (with different ordering and minor deviations).

                FT_WinFNT_ID_CP950 +
                FT_WinFNT_ID_CP950

                A superset of traditional Chinese Big 5 ETen (with different ordering and minor deviations).

                FT_WinFNT_ID_CP1250 +
                FT_WinFNT_ID_CP1250

                A superset of East European ISO 8859-2 (with slightly different ordering).

                FT_WinFNT_ID_CP1251 +
                FT_WinFNT_ID_CP1251

                A superset of Russian ISO 8859-5 (with different ordering).

                FT_WinFNT_ID_CP1252 +
                FT_WinFNT_ID_CP1252

                ANSI encoding. A superset of ISO 8859-1.

                FT_WinFNT_ID_CP1253 +
                FT_WinFNT_ID_CP1253

                A superset of Greek ISO 8859-7 (with minor modifications).

                FT_WinFNT_ID_CP1254 +
                FT_WinFNT_ID_CP1254

                A superset of Turkish ISO 8859-9.

                FT_WinFNT_ID_CP1255 +
                FT_WinFNT_ID_CP1255

                A superset of Hebrew ISO 8859-8 (with some modifications).

                FT_WinFNT_ID_CP1256 +
                FT_WinFNT_ID_CP1256

                A superset of Arabic ISO 8859-6 (with different ordering).

                FT_WinFNT_ID_CP1257 +
                FT_WinFNT_ID_CP1257

                A superset of Baltic ISO 8859-13 (with some deviations).

                FT_WinFNT_ID_CP1258 +
                FT_WinFNT_ID_CP1258

                For Vietnamese. This encoding doesn't cover all necessary characters.

                FT_WinFNT_ID_CP1361 +
                FT_WinFNT_ID_CP1361

                Korean (Johab).

                -
                -
                -
                - - -
                [Index][TOC]
                -
                -

                FT_WinFNT_HeaderRec

                -
                -Defined in FT_WINFONTS_H (ftwinfnt.h). -

                -
                +
                + +
                +

                FT_WinFNT_HeaderRec

                +

                Defined in FT_WINFONTS_H (ftwinfnt.h).

                +
                   typedef struct  FT_WinFNT_HeaderRec_
                   {
                     FT_UShort  version;
                @@ -201,78 +253,58 @@ Defined in FT_WINFONTS_H (ftwinfnt.h).
                     FT_ULong   reserved1[4];
                 
                   } FT_WinFNT_HeaderRec;
                +
                -

                -

                Windows FNT Header info.

                -

                -
                -
                - - -
                [Index][TOC]
                -
                -

                FT_WinFNT_Header

                -
                -Defined in FT_WINFONTS_H (ftwinfnt.h). -

                -
                +
                + +
                +

                FT_WinFNT_Header

                +

                Defined in FT_WINFONTS_H (ftwinfnt.h).

                +
                   typedef struct FT_WinFNT_HeaderRec_*  FT_WinFNT_Header;
                +
                -

                -

                A handle to an FT_WinFNT_HeaderRec structure.

                -

                -
                -
                - - -
                [Index][TOC]
                -
                -

                FT_Get_WinFNT_Header

                -
                -Defined in FT_WINFONTS_H (ftwinfnt.h). -

                -
                +
                + +
                +

                FT_Get_WinFNT_Header

                +

                Defined in FT_WINFONTS_H (ftwinfnt.h).

                +
                   FT_EXPORT( FT_Error )
                   FT_Get_WinFNT_Header( FT_Face               face,
                                         FT_WinFNT_HeaderRec  *aheader );
                +
                -

                -

                Retrieve a Windows FNT font info header.

                -

                -
                input
                -

                - -
                face + +

                input

                + +
                face

                A handle to the input face.

                -
                -
                output
                -

                - -
                aheader + +

                output

                + +
                aheader

                The WinFNT header.

                -
                -
                return
                + +

                return

                FreeType error code. 0 means success.

                -
                -
                note
                + +

                note

                This function only works with Windows FNT faces, returning an error otherwise.

                -
                -
                -
                - - -
                [Index][TOC]
                + +
                + -- cgit v1.2.3