1 /**************************************************************************** 2 * 3 * ftcid.h 4 * 5 * FreeType API for accessing CID font information (specification). 6 * 7 * Copyright (C) 2007-2021 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 31 FT_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 162 FT_END_HEADER 163 164 #endif /* FTCID_H_ */ 165 166 167 /* END */ 168