summaryrefslogtreecommitdiffstats
path: root/thirdparties/common/include/libfreetype/freetype2/freetype/t1tables.h
diff options
context:
space:
mode:
Diffstat (limited to 'thirdparties/common/include/libfreetype/freetype2/freetype/t1tables.h')
-rwxr-xr-xthirdparties/common/include/libfreetype/freetype2/freetype/t1tables.h747
1 files changed, 369 insertions, 378 deletions
diff --git a/thirdparties/common/include/libfreetype/freetype2/freetype/t1tables.h b/thirdparties/common/include/libfreetype/freetype2/freetype/t1tables.h
index a14255e..5a68750 100755
--- a/thirdparties/common/include/libfreetype/freetype2/freetype/t1tables.h
+++ b/thirdparties/common/include/libfreetype/freetype2/freetype/t1tables.h
@@ -34,40 +34,39 @@
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. */
- /* */
- /*************************************************************************/
-
-
- /* 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_
- {
+/*************************************************************************/
+/* */
+/* <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. */
+/* */
+/*************************************************************************/
+
+
+/* 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;
@@ -78,45 +77,44 @@ FT_BEGIN_HEADER
FT_Short underline_position;
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_
- {
+} 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;
@@ -153,45 +151,44 @@ FT_BEGIN_HEADER
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. */
- /* */
- typedef enum T1_Blend_Flags_
- {
+} 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. */
+/* */
+typedef enum T1_Blend_Flags_ {
/*# required fields in a FontInfo blend dictionary */
T1_BLEND_UNDERLINE_POSITION = 0,
T1_BLEND_UNDERLINE_THICKNESS,
@@ -213,12 +210,12 @@ FT_BEGIN_HEADER
/*# never remove */
T1_BLEND_MAX
- } T1_Blend_Flags;
+} T1_Blend_Flags;
- /* */
+/* */
- /*# backwards compatible definitions */
+/*# backwards compatible definitions */
#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
@@ -236,31 +233,29 @@ FT_BEGIN_HEADER
#define t1_blend_max T1_BLEND_MAX
- /* maximum number of Multiple Masters designs, as defined in the spec */
+/* maximum number of Multiple Masters designs, as defined in the spec */
#define T1_MAX_MM_DESIGNS 16
- /* maximum number of Multiple Masters axes, as defined in the spec */
+/* maximum number of Multiple Masters axes, as defined in the spec */
#define T1_MAX_MM_AXIS 4
- /* maximum number of elements in a design map */
+/* maximum number of elements in a design map */
#define T1_MAX_MM_MAP_POINTS 20
- /* this structure is used to store the BlendDesignMap entry for an axis */
- typedef struct PS_DesignMap_
- {
+/* this structure is used to store the BlendDesignMap entry for an axis */
+typedef struct PS_DesignMap_ {
FT_Byte num_points;
FT_Long* design_points;
FT_Fixed* blend_points;
- } PS_DesignMapRec, *PS_DesignMap;
+} PS_DesignMapRec, *PS_DesignMap;
- /* backwards-compatible definition */
- typedef PS_DesignMapRec T1_DesignMap;
+/* backwards-compatible definition */
+typedef PS_DesignMapRec T1_DesignMap;
- typedef struct PS_BlendRec_
- {
+typedef struct PS_BlendRec_ {
FT_UInt num_designs;
FT_UInt num_axis;
@@ -287,23 +282,22 @@ FT_BEGIN_HEADER
FT_UInt default_design_vector[T1_MAX_MM_DESIGNS];
FT_UInt num_default_design_vector;
- } PS_BlendRec, *PS_Blend;
+} PS_BlendRec, *PS_Blend;
- /* backwards-compatible definition */
- typedef PS_BlendRec T1_Blend;
+/* backwards-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_
- {
+/*************************************************************************/
+/* */
+/* <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;
@@ -320,36 +314,35 @@ FT_BEGIN_HEADER
FT_ULong subrmap_offset;
FT_Int sd_bytes;
- } CID_FaceDictRec;
+} CID_FaceDictRec;
- /*************************************************************************/
- /* */
- /* <Struct> */
- /* CID_FaceDict */
- /* */
- /* <Description> */
- /* A handle to a @CID_FaceDictRec structure. */
- /* */
- typedef struct CID_FaceDictRec_* CID_FaceDict;
+/*************************************************************************/
+/* */
+/* <Struct> */
+/* CID_FaceDict */
+/* */
+/* <Description> */
+/* A handle to a @CID_FaceDictRec structure. */
+/* */
+typedef struct CID_FaceDictRec_* CID_FaceDict;
- /* */
+/* */
- /* backwards-compatible definition */
- typedef CID_FaceDictRec CID_FontDict;
+/* backwards-compatible definition */
+typedef CID_FaceDictRec CID_FontDict;
- /*************************************************************************/
- /* */
- /* <Struct> */
- /* CID_FaceInfoRec */
- /* */
- /* <Description> */
- /* A structure used to represent CID Face information. */
- /* */
- typedef struct CID_FaceInfoRec_
- {
+/*************************************************************************/
+/* */
+/* <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;
@@ -375,156 +368,154 @@ FT_BEGIN_HEADER
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:
- * face ::
- * face handle
- *
- * @return:
- * Boolean. True if glyph names are reliable.
- *
- */
- FT_EXPORT( FT_Int )
- FT_Has_PS_Glyph_Names( FT_Face face );
-
-
- /************************************************************************
- *
- * @function:
- * FT_Get_PS_Font_Info
- *
- * @description:
- * Retrieve the @PS_FontInfoRec structure corresponding to a given
- * PostScript font.
- *
- * @input:
- * face ::
- * PostScript face handle.
- *
- * @output:
- * afont_info ::
- * Output font info structure pointer.
- *
- * @return:
- * FreeType error code. 0~means success.
- *
- * @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.
- *
- */
- FT_EXPORT( FT_Error )
- FT_Get_PS_Font_Info( FT_Face face,
- PS_FontInfo afont_info );
-
-
- /************************************************************************
- *
- * @function:
- * FT_Get_PS_Font_Private
- *
- * @description:
- * Retrieve the @PS_PrivateRec structure corresponding to a given
- * PostScript font.
- *
- * @input:
- * face ::
- * PostScript face handle.
- *
- * @output:
- * afont_private ::
- * Output private dictionary structure pointer.
- *
- * @return:
- * FreeType error code. 0~means success.
- *
- * @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. */
- /* */
- typedef enum T1_EncodingType_
- {
+} 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:
+ * face ::
+ * face handle
+ *
+ * @return:
+ * Boolean. True if glyph names are reliable.
+ *
+ */
+FT_EXPORT( FT_Int )
+FT_Has_PS_Glyph_Names( FT_Face face );
+
+
+/************************************************************************
+ *
+ * @function:
+ * FT_Get_PS_Font_Info
+ *
+ * @description:
+ * Retrieve the @PS_FontInfoRec structure corresponding to a given
+ * PostScript font.
+ *
+ * @input:
+ * face ::
+ * PostScript face handle.
+ *
+ * @output:
+ * afont_info ::
+ * Output font info structure pointer.
+ *
+ * @return:
+ * FreeType error code. 0~means success.
+ *
+ * @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.
+ *
+ */
+FT_EXPORT( FT_Error )
+FT_Get_PS_Font_Info( FT_Face face,
+ PS_FontInfo afont_info );
+
+
+/************************************************************************
+ *
+ * @function:
+ * FT_Get_PS_Font_Private
+ *
+ * @description:
+ * Retrieve the @PS_PrivateRec structure corresponding to a given
+ * PostScript font.
+ *
+ * @input:
+ * face ::
+ * PostScript face handle.
+ *
+ * @output:
+ * afont_private ::
+ * Output private dictionary structure pointer.
+ *
+ * @return:
+ * FreeType error code. 0~means success.
+ *
+ * @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. */
+/* */
+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;
+} 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. */
- /* */
- typedef enum PS_Dict_Keys_
- {
+/*************************************************************************/
+/* */
+/* <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. */
+/* */
+typedef enum PS_Dict_Keys_ {
/* conventionally in the font dictionary */
PS_DICT_FONT_TYPE, /* FT_Byte */
PS_DICT_FONT_MATRIX, /* FT_Fixed */
@@ -579,80 +570,80 @@ FT_BEGIN_HEADER
PS_DICT_MAX = PS_DICT_ITALIC_ANGLE
- } PS_Dict_Keys;
-
-
- /************************************************************************
- *
- * @function:
- * FT_Get_PS_Font_Value
- *
- * @description:
- * Retrieve the value for the supplied key from a PostScript font.
- *
- * @input:
- * face ::
- * PostScript face handle.
- *
- * key ::
- * An enumeration value representing the dictionary key to retrieve.
- *
- * idx ::
- * For array values, this specifies the index to be returned.
- *
- * value ::
- * A pointer to memory into which to write the value.
- *
- * valen_len ::
- * The size, in bytes, of the memory supplied for the value.
- *
- * @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.
- *
- */
- 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 );
-
- /* */
+} PS_Dict_Keys;
+
+
+/************************************************************************
+ *
+ * @function:
+ * FT_Get_PS_Font_Value
+ *
+ * @description:
+ * Retrieve the value for the supplied key from a PostScript font.
+ *
+ * @input:
+ * face ::
+ * PostScript face handle.
+ *
+ * key ::
+ * An enumeration value representing the dictionary key to retrieve.
+ *
+ * idx ::
+ * For array values, this specifies the index to be returned.
+ *
+ * value ::
+ * A pointer to memory into which to write the value.
+ *
+ * valen_len ::
+ * The size, in bytes, of the memory supplied for the value.
+ *
+ * @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.
+ *
+ */
+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 );
+
+/* */
FT_END_HEADER
OpenPOWER on IntegriCloud