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