< prev index next >
src/java.desktop/share/native/libfreetype/include/freetype/t1tables.h
Print this page
*** 1,22 ****
! /***************************************************************************/
! /* */
! /* t1tables.h */
! /* */
! /* Basic Type 1/Type 2 tables definitions and interface (specification */
! /* only). */
! /* */
! /* Copyright 1996-2018 by */
! /* David Turner, Robert Wilhelm, and Werner Lemberg. */
! /* */
! /* This file is part of the FreeType project, and may only be used, */
! /* modified, and distributed under the terms of the FreeType project */
! /* license, LICENSE.TXT. By continuing to use, modify, or distribute */
! /* this file you indicate that you have read the license and */
! /* understand and accept it fully. */
! /* */
! /***************************************************************************/
#ifndef T1TABLES_H_
#define T1TABLES_H_
--- 1,22 ----
! /****************************************************************************
! *
! * t1tables.h
! *
! * Basic Type 1/Type 2 tables definitions and interface (specification
! * only).
! *
! * Copyright (C) 1996-2019 by
! * David Turner, Robert Wilhelm, and Werner Lemberg.
! *
! * This file is part of the FreeType project, and may only be used,
! * modified, and distributed under the terms of the FreeType project
! * license, LICENSE.TXT. By continuing to use, modify, or distribute
! * this file you indicate that you have read the license and
! * understand and accept it fully.
! *
! */
#ifndef T1TABLES_H_
#define T1TABLES_H_
*** 32,93 ****
FT_BEGIN_HEADER
! /*************************************************************************/
! /* */
! /* <Section> */
! /* type1_tables */
! /* */
! /* <Title> */
! /* Type 1 Tables */
! /* */
! /* <Abstract> */
! /* Type~1 (PostScript) specific font tables. */
! /* */
! /* <Description> */
! /* This section contains the definition of Type 1-specific tables, */
! /* including structures related to other PostScript font formats. */
! /* */
! /* <Order> */
! /* PS_FontInfoRec */
! /* PS_FontInfo */
! /* PS_PrivateRec */
! /* PS_Private */
! /* */
! /* CID_FaceDictRec */
! /* CID_FaceDict */
! /* CID_FaceInfoRec */
! /* CID_FaceInfo */
! /* */
! /* FT_Has_PS_Glyph_Names */
! /* FT_Get_PS_Font_Info */
! /* FT_Get_PS_Font_Private */
! /* FT_Get_PS_Font_Value */
! /* */
! /* T1_Blend_Flags */
! /* T1_EncodingType */
! /* PS_Dict_Keys */
! /* */
! /*************************************************************************/
/* Note that we separate font data in PS_FontInfoRec and PS_PrivateRec */
/* structures in order to support Multiple Master fonts. */
! /*************************************************************************/
! /* */
! /* <Struct> */
! /* PS_FontInfoRec */
! /* */
! /* <Description> */
! /* 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. */
! /* */
typedef struct PS_FontInfoRec_
{
FT_String* version;
FT_String* notice;
FT_String* full_name;
--- 32,93 ----
FT_BEGIN_HEADER
! /**************************************************************************
! *
! * @section:
! * type1_tables
! *
! * @title:
! * Type 1 Tables
! *
! * @abstract:
! * Type~1-specific font tables.
! *
! * @description:
! * This section contains the definition of Type~1-specific tables,
! * including structures related to other PostScript font formats.
! *
! * @order:
! * PS_FontInfoRec
! * PS_FontInfo
! * PS_PrivateRec
! * PS_Private
! *
! * CID_FaceDictRec
! * CID_FaceDict
! * CID_FaceInfoRec
! * CID_FaceInfo
! *
! * FT_Has_PS_Glyph_Names
! * FT_Get_PS_Font_Info
! * FT_Get_PS_Font_Private
! * FT_Get_PS_Font_Value
! *
! * T1_Blend_Flags
! * T1_EncodingType
! * PS_Dict_Keys
! *
! */
/* Note that we separate font data in PS_FontInfoRec and PS_PrivateRec */
/* structures in order to support Multiple Master fonts. */
! /**************************************************************************
! *
! * @struct:
! * PS_FontInfoRec
! *
! * @description:
! * 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.
! */
typedef struct PS_FontInfoRec_
{
FT_String* version;
FT_String* notice;
FT_String* full_name;
*** 99,142 ****
FT_UShort underline_thickness;
} PS_FontInfoRec;
! /*************************************************************************/
! /* */
! /* <Struct> */
! /* PS_FontInfo */
! /* */
! /* <Description> */
! /* A handle to a @PS_FontInfoRec structure. */
! /* */
typedef struct PS_FontInfoRec_* PS_FontInfo;
! /*************************************************************************/
! /* */
! /* <Struct> */
! /* T1_FontInfo */
! /* */
! /* <Description> */
! /* This type is equivalent to @PS_FontInfoRec. It is deprecated but */
! /* kept to maintain source compatibility between various versions of */
! /* FreeType. */
! /* */
typedef PS_FontInfoRec T1_FontInfo;
! /*************************************************************************/
! /* */
! /* <Struct> */
! /* PS_PrivateRec */
! /* */
! /* <Description> */
! /* 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. */
! /* */
typedef struct PS_PrivateRec_
{
FT_Int unique_id;
FT_Int lenIV;
--- 99,141 ----
FT_UShort underline_thickness;
} PS_FontInfoRec;
! /**************************************************************************
! *
! * @struct:
! * PS_FontInfo
! *
! * @description:
! * A handle to a @PS_FontInfoRec structure.
! */
typedef struct PS_FontInfoRec_* PS_FontInfo;
! /**************************************************************************
! *
! * @struct:
! * T1_FontInfo
! *
! * @description:
! * This type is equivalent to @PS_FontInfoRec. It is deprecated but kept
! * to maintain source compatibility between various versions of FreeType.
! */
typedef PS_FontInfoRec T1_FontInfo;
! /**************************************************************************
! *
! * @struct:
! * PS_PrivateRec
! *
! * @description:
! * 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.
! */
typedef struct PS_PrivateRec_
{
FT_Int unique_id;
FT_Int lenIV;
*** 174,233 ****
FT_Short min_feature[2];
} PS_PrivateRec;
! /*************************************************************************/
! /* */
! /* <Struct> */
! /* PS_Private */
! /* */
! /* <Description> */
! /* A handle to a @PS_PrivateRec structure. */
! /* */
typedef struct PS_PrivateRec_* PS_Private;
! /*************************************************************************/
! /* */
! /* <Struct> */
! /* T1_Private */
! /* */
! /* <Description> */
! /* This type is equivalent to @PS_PrivateRec. It is deprecated but */
! /* kept to maintain source compatibility between various versions of */
! /* FreeType. */
! /* */
typedef PS_PrivateRec T1_Private;
! /*************************************************************************/
! /* */
! /* <Enum> */
! /* T1_Blend_Flags */
! /* */
! /* <Description> */
! /* 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 :: */
! /* */
typedef enum T1_Blend_Flags_
{
/* required fields in a FontInfo blend dictionary */
T1_BLEND_UNDERLINE_POSITION = 0,
T1_BLEND_UNDERLINE_THICKNESS,
--- 173,231 ----
FT_Short min_feature[2];
} PS_PrivateRec;
! /**************************************************************************
! *
! * @struct:
! * PS_Private
! *
! * @description:
! * A handle to a @PS_PrivateRec structure.
! */
typedef struct PS_PrivateRec_* PS_Private;
! /**************************************************************************
! *
! * @struct:
! * T1_Private
! *
! * @description:
! * This type is equivalent to @PS_PrivateRec. It is deprecated but kept
! * to maintain source compatibility between various versions of FreeType.
! */
typedef PS_PrivateRec T1_Private;
! /**************************************************************************
! *
! * @enum:
! * T1_Blend_Flags
! *
! * @description:
! * 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 ::
! */
typedef enum T1_Blend_Flags_
{
/* required fields in a FontInfo blend dictionary */
T1_BLEND_UNDERLINE_POSITION = 0,
T1_BLEND_UNDERLINE_THICKNESS,
*** 250,260 ****
} 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
--- 248,258 ----
} 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
*** 328,354 ****
/* backward compatible definition */
typedef PS_BlendRec T1_Blend;
! /*************************************************************************/
! /* */
! /* <Struct> */
! /* CID_FaceDictRec */
! /* */
! /* <Description> */
! /* A structure used to represent data in a CID top-level dictionary. */
! /* */
typedef struct CID_FaceDictRec_
{
PS_PrivateRec private_dict;
FT_UInt len_buildchar;
FT_Fixed forcebold_threshold;
FT_Pos stroke_width;
! FT_Fixed expansion_factor;
!
FT_Byte paint_type;
FT_Byte font_type;
FT_Matrix font_matrix;
FT_Vector font_offset;
--- 326,361 ----
/* backward compatible definition */
typedef PS_BlendRec T1_Blend;
! /**************************************************************************
! *
! * @struct:
! * CID_FaceDictRec
! *
! * @description:
! * A structure used to represent data in a CID top-level dictionary. In
! * most cases, they are part of the font's '/FDArray' array. Within a
! * CID font file, such (internal) subfont dictionaries are enclosed by
! * '%ADOBeginFontDict' and '%ADOEndFontDict' comments.
! *
! * Note that `CID_FaceDictRec` misses a field for the '/FontName'
! * keyword, specifying the subfont's name (the top-level font name is
! * given by the '/CIDFontName' keyword). This is an oversight, but it
! * doesn't limit the 'cid' font module's functionality because FreeType
! * neither needs this entry nor gives access to CID subfonts.
! */
typedef struct CID_FaceDictRec_
{
PS_PrivateRec private_dict;
FT_UInt len_buildchar;
FT_Fixed forcebold_threshold;
FT_Pos stroke_width;
! FT_Fixed expansion_factor; /* this is a duplicate of */
! /* `private_dict->expansion_factor' */
FT_Byte paint_type;
FT_Byte font_type;
FT_Matrix font_matrix;
FT_Vector font_offset;
*** 357,398 ****
FT_Int sd_bytes;
} CID_FaceDictRec;
! /*************************************************************************/
! /* */
! /* <Struct> */
! /* CID_FaceDict */
! /* */
! /* <Description> */
! /* A handle to a @CID_FaceDictRec structure. */
! /* */
typedef struct CID_FaceDictRec_* CID_FaceDict;
! /*************************************************************************/
! /* */
! /* <Struct> */
! /* CID_FontDict */
! /* */
! /* <Description> */
! /* This type is equivalent to @CID_FaceDictRec. It is deprecated but */
! /* kept to maintain source compatibility between various versions of */
! /* FreeType. */
! /* */
typedef CID_FaceDictRec CID_FontDict;
! /*************************************************************************/
! /* */
! /* <Struct> */
! /* CID_FaceInfoRec */
! /* */
! /* <Description> */
! /* A structure used to represent CID Face information. */
! /* */
typedef struct CID_FaceInfoRec_
{
FT_String* cid_font_name;
FT_Fixed cid_version;
FT_Int cid_font_type;
--- 364,405 ----
FT_Int sd_bytes;
} CID_FaceDictRec;
! /**************************************************************************
! *
! * @struct:
! * CID_FaceDict
! *
! * @description:
! * A handle to a @CID_FaceDictRec structure.
! */
typedef struct CID_FaceDictRec_* CID_FaceDict;
! /**************************************************************************
! *
! * @struct:
! * CID_FontDict
! *
! * @description:
! * This type is equivalent to @CID_FaceDictRec. It is deprecated but
! * kept to maintain source compatibility between various versions of
! * FreeType.
! */
typedef CID_FaceDictRec CID_FontDict;
! /**************************************************************************
! *
! * @struct:
! * CID_FaceInfoRec
! *
! * @description:
! * A structure used to represent CID Face information.
! */
typedef struct CID_FaceInfoRec_
{
FT_String* cid_font_name;
FT_Fixed cid_version;
FT_Int cid_font_type;
*** 419,462 ****
FT_ULong data_offset;
} CID_FaceInfoRec;
! /*************************************************************************/
! /* */
! /* <Struct> */
! /* CID_FaceInfo */
! /* */
! /* <Description> */
! /* A handle to a @CID_FaceInfoRec structure. */
! /* */
typedef struct CID_FaceInfoRec_* CID_FaceInfo;
! /*************************************************************************/
! /* */
! /* <Struct> */
! /* CID_Info */
! /* */
! /* <Description> */
! /* This type is equivalent to @CID_FaceInfoRec. It is deprecated but */
! /* kept to maintain source compatibility between various versions of */
! /* FreeType. */
! /* */
typedef CID_FaceInfoRec CID_Info;
! /************************************************************************
*
* @function:
* FT_Has_PS_Glyph_Names
*
* @description:
! * 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:
--- 426,467 ----
FT_ULong data_offset;
} CID_FaceInfoRec;
! /**************************************************************************
! *
! * @struct:
! * CID_FaceInfo
! *
! * @description:
! * A handle to a @CID_FaceInfoRec structure.
! */
typedef struct CID_FaceInfoRec_* CID_FaceInfo;
! /**************************************************************************
! *
! * @struct:
! * CID_Info
! *
! * @description:
! * This type is equivalent to @CID_FaceInfoRec. It is deprecated but kept
! * to maintain source compatibility between various versions of FreeType.
! */
typedef CID_FaceInfoRec CID_Info;
! /**************************************************************************
*
* @function:
* FT_Has_PS_Glyph_Names
*
* @description:
! * 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:
*** 469,479 ****
*/
FT_EXPORT( FT_Int )
FT_Has_PS_Glyph_Names( FT_Face face );
! /************************************************************************
*
* @function:
* FT_Get_PS_Font_Info
*
* @description:
--- 474,484 ----
*/
FT_EXPORT( FT_Int )
FT_Has_PS_Glyph_Names( FT_Face face );
! /**************************************************************************
*
* @function:
* FT_Get_PS_Font_Info
*
* @description:
*** 490,513 ****
*
* @return:
* FreeType error code. 0~means success.
*
* @note:
! * String pointers within the @PS_FontInfoRec structure are owned by
! * the face and don't need to be freed by the caller. Missing entries
! * in the font's FontInfo dictionary are represented by NULL pointers.
*
* If the font's format is not PostScript-based, this function will
! * return the `FT_Err_Invalid_Argument' error code.
*
*/
FT_EXPORT( FT_Error )
FT_Get_PS_Font_Info( FT_Face face,
PS_FontInfo afont_info );
! /************************************************************************
*
* @function:
* FT_Get_PS_Font_Private
*
* @description:
--- 495,518 ----
*
* @return:
* FreeType error code. 0~means success.
*
* @note:
! * String pointers within the @PS_FontInfoRec structure are owned by the
! * face and don't need to be freed by the caller. Missing entries in
! * the font's FontInfo dictionary are represented by `NULL` pointers.
*
* If the font's format is not PostScript-based, this function will
! * return the `FT_Err_Invalid_Argument` error code.
*
*/
FT_EXPORT( FT_Error )
FT_Get_PS_Font_Info( FT_Face face,
PS_FontInfo afont_info );
! /**************************************************************************
*
* @function:
* FT_Get_PS_Font_Private
*
* @description:
*** 528,564 ****
* @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.
*
*/
FT_EXPORT( FT_Error )
FT_Get_PS_Font_Private( FT_Face face,
PS_Private afont_private );
! /*************************************************************************/
! /* */
! /* <Enum> */
! /* T1_EncodingType */
! /* */
! /* <Description> */
! /* 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 :: */
! /* */
! /* <Since> */
! /* 2.4.8 */
! /* */
typedef enum T1_EncodingType_
{
T1_ENCODING_TYPE_NONE = 0,
T1_ENCODING_TYPE_ARRAY,
T1_ENCODING_TYPE_STANDARD,
--- 533,568 ----
* @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.
*
*/
FT_EXPORT( FT_Error )
FT_Get_PS_Font_Private( FT_Face face,
PS_Private afont_private );
! /**************************************************************************
! *
! * @enum:
! * T1_EncodingType
! *
! * @description:
! * 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 ::
! *
! * @since:
! * 2.4.8
! */
typedef enum T1_EncodingType_
{
T1_ENCODING_TYPE_NONE = 0,
T1_ENCODING_TYPE_ARRAY,
T1_ENCODING_TYPE_STANDARD,
*** 566,635 ****
T1_ENCODING_TYPE_EXPERT
} T1_EncodingType;
! /*************************************************************************/
! /* */
! /* <Enum> */
! /* PS_Dict_Keys */
! /* */
! /* <Description> */
! /* 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 :: */
! /* */
! /* <Since> */
! /* 2.4.8 */
! /* */
typedef enum PS_Dict_Keys_
{
/* conventionally in the font dictionary */
PS_DICT_FONT_TYPE, /* FT_Byte */
PS_DICT_FONT_MATRIX, /* FT_Fixed */
--- 570,639 ----
T1_ENCODING_TYPE_EXPERT
} T1_EncodingType;
! /**************************************************************************
! *
! * @enum:
! * PS_Dict_Keys
! *
! * @description:
! * 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 ::
! *
! * @since:
! * 2.4.8
! */
typedef enum PS_Dict_Keys_
{
/* conventionally in the font dictionary */
PS_DICT_FONT_TYPE, /* FT_Byte */
PS_DICT_FONT_MATRIX, /* FT_Fixed */
*** 685,695 ****
PS_DICT_MAX = PS_DICT_ITALIC_ANGLE
} PS_Dict_Keys;
! /************************************************************************
*
* @function:
* FT_Get_PS_Font_Value
*
* @description:
--- 689,699 ----
PS_DICT_MAX = PS_DICT_ITALIC_ANGLE
} PS_Dict_Keys;
! /**************************************************************************
*
* @function:
* FT_Get_PS_Font_Value
*
* @description:
*** 714,755 ****
* @output:
* value ::
* The value matching the above key, if it exists.
*
* @return:
! * The amount of memory (in bytes) required to hold the requested
! * value (if it exists, -1 otherwise).
*
* @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.
*
! * The `idx' parameter is used, not only to retrieve elements of, for
* example, the FontMatrix or FontBBox, but also to retrieve name keys
* from the CharStrings dictionary, and the charstrings themselves. It
* is ignored for atomic values.
*
! * 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.
*
* @since:
* 2.4.8
*
*/
--- 718,759 ----
* @output:
* value ::
* The value matching the above key, if it exists.
*
* @return:
! * The amount of memory (in bytes) required to hold the requested value
! * (if it exists, -1 otherwise).
*
* @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.
*
! * The `idx` parameter is used, not only to retrieve elements of, for
* example, the FontMatrix or FontBBox, but also to retrieve name keys
* from the CharStrings dictionary, and the charstrings themselves. It
* is ignored for atomic values.
*
! * `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.
*
* @since:
* 2.4.8
*
*/
< prev index next >