1/****************************************************************************
2 *
3 * ftcid.h
4 *
5 * FreeType API for accessing CID font information (specification).
6 *
7 * Copyright (C) 2007-2023 by
8 * Dereg Clegg and Michael Toftdal.
9 *
10 * This file is part of the FreeType project, and may only be used,
11 * modified, and distributed under the terms of the FreeType project
12 * license, LICENSE.TXT. By continuing to use, modify, or distribute
13 * this file you indicate that you have read the license and
14 * understand and accept it fully.
15 *
16 */
17
18
19#ifndef FTCID_H_
20#define FTCID_H_
21
22#include <freetype/freetype.h>
23
24#ifdef FREETYPE_H
25#error "freetype.h of FreeType 1 has been loaded!"
26#error "Please fix the directory search order for header files"
27#error "so that freetype.h of FreeType 2 is found first."
28#endif
29
30
31FT_BEGIN_HEADER
32
33
34 /**************************************************************************
35 *
36 * @section:
37 * cid_fonts
38 *
39 * @title:
40 * CID Fonts
41 *
42 * @abstract:
43 * CID-keyed font-specific API.
44 *
45 * @description:
46 * This section contains the declaration of CID-keyed font-specific
47 * functions.
48 *
49 */
50
51
52 /**************************************************************************
53 *
54 * @function:
55 * FT_Get_CID_Registry_Ordering_Supplement
56 *
57 * @description:
58 * Retrieve the Registry/Ordering/Supplement triple (also known as the
59 * "R/O/S") from a CID-keyed font.
60 *
61 * @input:
62 * face ::
63 * A handle to the input face.
64 *
65 * @output:
66 * registry ::
67 * The registry, as a C~string, owned by the face.
68 *
69 * ordering ::
70 * The ordering, as a C~string, owned by the face.
71 *
72 * supplement ::
73 * The supplement.
74 *
75 * @return:
76 * FreeType error code. 0~means success.
77 *
78 * @note:
79 * This function only works with CID faces, returning an error
80 * otherwise.
81 *
82 * @since:
83 * 2.3.6
84 */
85 FT_EXPORT( FT_Error )
86 FT_Get_CID_Registry_Ordering_Supplement( FT_Face face,
87 const char* *registry,
88 const char* *ordering,
89 FT_Int *supplement );
90
91
92 /**************************************************************************
93 *
94 * @function:
95 * FT_Get_CID_Is_Internally_CID_Keyed
96 *
97 * @description:
98 * Retrieve the type of the input face, CID keyed or not. In contrast
99 * to the @FT_IS_CID_KEYED macro this function returns successfully also
100 * for CID-keyed fonts in an SFNT wrapper.
101 *
102 * @input:
103 * face ::
104 * A handle to the input face.
105 *
106 * @output:
107 * is_cid ::
108 * The type of the face as an @FT_Bool.
109 *
110 * @return:
111 * FreeType error code. 0~means success.
112 *
113 * @note:
114 * This function only works with CID faces and OpenType fonts, returning
115 * an error otherwise.
116 *
117 * @since:
118 * 2.3.9
119 */
120 FT_EXPORT( FT_Error )
121 FT_Get_CID_Is_Internally_CID_Keyed( FT_Face face,
122 FT_Bool *is_cid );
123
124
125 /**************************************************************************
126 *
127 * @function:
128 * FT_Get_CID_From_Glyph_Index
129 *
130 * @description:
131 * Retrieve the CID of the input glyph index.
132 *
133 * @input:
134 * face ::
135 * A handle to the input face.
136 *
137 * glyph_index ::
138 * The input glyph index.
139 *
140 * @output:
141 * cid ::
142 * The CID as an @FT_UInt.
143 *
144 * @return:
145 * FreeType error code. 0~means success.
146 *
147 * @note:
148 * This function only works with CID faces and OpenType fonts, returning
149 * an error otherwise.
150 *
151 * @since:
152 * 2.3.9
153 */
154 FT_EXPORT( FT_Error )
155 FT_Get_CID_From_Glyph_Index( FT_Face face,
156 FT_UInt glyph_index,
157 FT_UInt *cid );
158
159 /* */
160
161
162FT_END_HEADER
163
164#endif /* FTCID_H_ */
165
166
167/* END */
168