annotate freetype2/freetype/ftbdf.h @ 1769:4baed436fc58 draft

minor fix
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 23 Nov 2013 02:15:22 +0900
parents a8ab91f49cac
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1206
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 /***************************************************************************/
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 /* */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 /* ftbdf.h */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 /* */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 /* FreeType API for accessing BDF-specific strings (specification). */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 /* */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 /* Copyright 2002, 2003, 2004, 2006, 2009 by */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 /* David Turner, Robert Wilhelm, and Werner Lemberg. */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 /* */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 /* This file is part of the FreeType project, and may only be used, */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 /* modified, and distributed under the terms of the FreeType project */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 /* this file you indicate that you have read the license and */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 /* understand and accept it fully. */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 /* */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 /***************************************************************************/
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
17
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
18
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 #ifndef __FTBDF_H__
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 #define __FTBDF_H__
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 #include <ft2build.h>
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 #include FT_FREETYPE_H
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
24
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 #ifdef FREETYPE_H
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 #error "freetype.h of FreeType 1 has been loaded!"
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 #error "Please fix the directory search order for header files"
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 #error "so that freetype.h of FreeType 2 is found first."
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 #endif
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
30
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
31
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 FT_BEGIN_HEADER
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
33
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
34
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 /*************************************************************************/
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
36 /* */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 /* <Section> */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 /* bdf_fonts */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 /* */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
40 /* <Title> */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
41 /* BDF and PCF Files */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
42 /* */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
43 /* <Abstract> */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
44 /* BDF and PCF specific API. */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
45 /* */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
46 /* <Description> */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
47 /* This section contains the declaration of functions specific to BDF */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
48 /* and PCF fonts. */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
49 /* */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
50 /*************************************************************************/
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
51
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
52
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
53 /**********************************************************************
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
54 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
55 * @enum:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
56 * FT_PropertyType
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
57 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
58 * @description:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
59 * A list of BDF property types.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
60 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
61 * @values:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
62 * BDF_PROPERTY_TYPE_NONE ::
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
63 * Value~0 is used to indicate a missing property.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
64 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
65 * BDF_PROPERTY_TYPE_ATOM ::
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
66 * Property is a string atom.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
67 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
68 * BDF_PROPERTY_TYPE_INTEGER ::
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
69 * Property is a 32-bit signed integer.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
70 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
71 * BDF_PROPERTY_TYPE_CARDINAL ::
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
72 * Property is a 32-bit unsigned integer.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
73 */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
74 typedef enum BDF_PropertyType_
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
75 {
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
76 BDF_PROPERTY_TYPE_NONE = 0,
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
77 BDF_PROPERTY_TYPE_ATOM = 1,
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
78 BDF_PROPERTY_TYPE_INTEGER = 2,
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
79 BDF_PROPERTY_TYPE_CARDINAL = 3
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
80
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
81 } BDF_PropertyType;
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
82
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
83
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
84 /**********************************************************************
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
85 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
86 * @type:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
87 * BDF_Property
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
88 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
89 * @description:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
90 * A handle to a @BDF_PropertyRec structure to model a given
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
91 * BDF/PCF property.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
92 */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
93 typedef struct BDF_PropertyRec_* BDF_Property;
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
94
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
95
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
96 /**********************************************************************
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
97 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
98 * @struct:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
99 * BDF_PropertyRec
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
100 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
101 * @description:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
102 * This structure models a given BDF/PCF property.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
103 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
104 * @fields:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
105 * type ::
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
106 * The property type.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
107 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
108 * u.atom ::
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
109 * The atom string, if type is @BDF_PROPERTY_TYPE_ATOM.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
110 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
111 * u.integer ::
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
112 * A signed integer, if type is @BDF_PROPERTY_TYPE_INTEGER.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
113 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
114 * u.cardinal ::
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
115 * An unsigned integer, if type is @BDF_PROPERTY_TYPE_CARDINAL.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
116 */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
117 typedef struct BDF_PropertyRec_
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
118 {
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
119 BDF_PropertyType type;
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
120 union {
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
121 const char* atom;
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
122 FT_Int32 integer;
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
123 FT_UInt32 cardinal;
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
124
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
125 } u;
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
126
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
127 } BDF_PropertyRec;
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
128
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
129
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
130 /**********************************************************************
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
131 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
132 * @function:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
133 * FT_Get_BDF_Charset_ID
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
134 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
135 * @description:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
136 * Retrieve a BDF font character set identity, according to
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
137 * the BDF specification.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
138 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
139 * @input:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
140 * face ::
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
141 * A handle to the input face.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
142 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
143 * @output:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
144 * acharset_encoding ::
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
145 * Charset encoding, as a C~string, owned by the face.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
146 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
147 * acharset_registry ::
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
148 * Charset registry, as a C~string, owned by the face.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
149 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
150 * @return:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
151 * FreeType error code. 0~means success.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
152 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
153 * @note:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
154 * This function only works with BDF faces, returning an error otherwise.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
155 */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
156 FT_EXPORT( FT_Error )
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
157 FT_Get_BDF_Charset_ID( FT_Face face,
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
158 const char* *acharset_encoding,
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
159 const char* *acharset_registry );
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
160
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
161
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
162 /**********************************************************************
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
163 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
164 * @function:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
165 * FT_Get_BDF_Property
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
166 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
167 * @description:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
168 * Retrieve a BDF property from a BDF or PCF font file.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
169 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
170 * @input:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
171 * face :: A handle to the input face.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
172 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
173 * name :: The property name.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
174 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
175 * @output:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
176 * aproperty :: The property.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
177 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
178 * @return:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
179 * FreeType error code. 0~means success.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
180 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
181 * @note:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
182 * This function works with BDF _and_ PCF fonts. It returns an error
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
183 * otherwise. It also returns an error if the property is not in the
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
184 * font.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
185 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
186 * A `property' is a either key-value pair within the STARTPROPERTIES
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
187 * ... ENDPROPERTIES block of a BDF font or a key-value pair from the
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
188 * `info->props' array within a `FontRec' structure of a PCF font.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
189 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
190 * Integer properties are always stored as `signed' within PCF fonts;
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
191 * consequently, @BDF_PROPERTY_TYPE_CARDINAL is a possible return value
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
192 * for BDF fonts only.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
193 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
194 * In case of error, `aproperty->type' is always set to
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
195 * @BDF_PROPERTY_TYPE_NONE.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
196 */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
197 FT_EXPORT( FT_Error )
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
198 FT_Get_BDF_Property( FT_Face face,
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
199 const char* prop_name,
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
200 BDF_PropertyRec *aproperty );
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
201
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
202 /* */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
203
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
204 FT_END_HEADER
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
205
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
206 #endif /* __FTBDF_H__ */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
207
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
208
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
209 /* END */