1 /**************************************************************************** 2 * 3 * ftcid.h 4 * 5 * FreeType API for accessing CID font information (specification). 6 * 7 * Copyright 2007-2018 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 * contrast to the @FT_IS_CID_KEYED macro this function returns 101 * successfully also for CID-keyed fonts in an SFNT 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