1*2d1272b8SAndroid Build Coastguard Worker /* 2*2d1272b8SAndroid Build Coastguard Worker * Copyright © 2013 Google, Inc. 3*2d1272b8SAndroid Build Coastguard Worker * 4*2d1272b8SAndroid Build Coastguard Worker * This is part of HarfBuzz, a text shaping library. 5*2d1272b8SAndroid Build Coastguard Worker * 6*2d1272b8SAndroid Build Coastguard Worker * Permission is hereby granted, without written agreement and without 7*2d1272b8SAndroid Build Coastguard Worker * license or royalty fees, to use, copy, modify, and distribute this 8*2d1272b8SAndroid Build Coastguard Worker * software and its documentation for any purpose, provided that the 9*2d1272b8SAndroid Build Coastguard Worker * above copyright notice and the following two paragraphs appear in 10*2d1272b8SAndroid Build Coastguard Worker * all copies of this software. 11*2d1272b8SAndroid Build Coastguard Worker * 12*2d1272b8SAndroid Build Coastguard Worker * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR 13*2d1272b8SAndroid Build Coastguard Worker * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES 14*2d1272b8SAndroid Build Coastguard Worker * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN 15*2d1272b8SAndroid Build Coastguard Worker * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH 16*2d1272b8SAndroid Build Coastguard Worker * DAMAGE. 17*2d1272b8SAndroid Build Coastguard Worker * 18*2d1272b8SAndroid Build Coastguard Worker * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, 19*2d1272b8SAndroid Build Coastguard Worker * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND 20*2d1272b8SAndroid Build Coastguard Worker * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS 21*2d1272b8SAndroid Build Coastguard Worker * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO 22*2d1272b8SAndroid Build Coastguard Worker * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 23*2d1272b8SAndroid Build Coastguard Worker * 24*2d1272b8SAndroid Build Coastguard Worker * Google Author(s): Behdad Esfahbod 25*2d1272b8SAndroid Build Coastguard Worker */ 26*2d1272b8SAndroid Build Coastguard Worker 27*2d1272b8SAndroid Build Coastguard Worker #if !defined(HB_H_IN) && !defined(HB_NO_SINGLE_HEADER_ERROR) 28*2d1272b8SAndroid Build Coastguard Worker #error "Include <hb.h> instead." 29*2d1272b8SAndroid Build Coastguard Worker #endif 30*2d1272b8SAndroid Build Coastguard Worker 31*2d1272b8SAndroid Build Coastguard Worker #ifndef HB_DEPRECATED_H 32*2d1272b8SAndroid Build Coastguard Worker #define HB_DEPRECATED_H 33*2d1272b8SAndroid Build Coastguard Worker 34*2d1272b8SAndroid Build Coastguard Worker #include "hb-common.h" 35*2d1272b8SAndroid Build Coastguard Worker #include "hb-unicode.h" 36*2d1272b8SAndroid Build Coastguard Worker #include "hb-font.h" 37*2d1272b8SAndroid Build Coastguard Worker #include "hb-set.h" 38*2d1272b8SAndroid Build Coastguard Worker 39*2d1272b8SAndroid Build Coastguard Worker 40*2d1272b8SAndroid Build Coastguard Worker /** 41*2d1272b8SAndroid Build Coastguard Worker * SECTION:hb-deprecated 42*2d1272b8SAndroid Build Coastguard Worker * @title: hb-deprecated 43*2d1272b8SAndroid Build Coastguard Worker * @short_description: Deprecated API 44*2d1272b8SAndroid Build Coastguard Worker * @include: hb.h 45*2d1272b8SAndroid Build Coastguard Worker * 46*2d1272b8SAndroid Build Coastguard Worker * These API have been deprecated in favor of newer API, or because they 47*2d1272b8SAndroid Build Coastguard Worker * were deemed unnecessary. 48*2d1272b8SAndroid Build Coastguard Worker **/ 49*2d1272b8SAndroid Build Coastguard Worker 50*2d1272b8SAndroid Build Coastguard Worker 51*2d1272b8SAndroid Build Coastguard Worker HB_BEGIN_DECLS 52*2d1272b8SAndroid Build Coastguard Worker 53*2d1272b8SAndroid Build Coastguard Worker #ifndef HB_DISABLE_DEPRECATED 54*2d1272b8SAndroid Build Coastguard Worker 55*2d1272b8SAndroid Build Coastguard Worker 56*2d1272b8SAndroid Build Coastguard Worker /** 57*2d1272b8SAndroid Build Coastguard Worker * HB_SCRIPT_CANADIAN_ABORIGINAL: 58*2d1272b8SAndroid Build Coastguard Worker * 59*2d1272b8SAndroid Build Coastguard Worker * Use #HB_SCRIPT_CANADIAN_SYLLABICS instead. 60*2d1272b8SAndroid Build Coastguard Worker * 61*2d1272b8SAndroid Build Coastguard Worker * Deprecated: 0.9.20 62*2d1272b8SAndroid Build Coastguard Worker */ 63*2d1272b8SAndroid Build Coastguard Worker #define HB_SCRIPT_CANADIAN_ABORIGINAL HB_SCRIPT_CANADIAN_SYLLABICS 64*2d1272b8SAndroid Build Coastguard Worker 65*2d1272b8SAndroid Build Coastguard Worker /** 66*2d1272b8SAndroid Build Coastguard Worker * HB_BUFFER_FLAGS_DEFAULT: 67*2d1272b8SAndroid Build Coastguard Worker * 68*2d1272b8SAndroid Build Coastguard Worker * Use #HB_BUFFER_FLAG_DEFAULT instead. 69*2d1272b8SAndroid Build Coastguard Worker * 70*2d1272b8SAndroid Build Coastguard Worker * Deprecated: 0.9.20 71*2d1272b8SAndroid Build Coastguard Worker */ 72*2d1272b8SAndroid Build Coastguard Worker #define HB_BUFFER_FLAGS_DEFAULT HB_BUFFER_FLAG_DEFAULT 73*2d1272b8SAndroid Build Coastguard Worker /** 74*2d1272b8SAndroid Build Coastguard Worker * HB_BUFFER_SERIALIZE_FLAGS_DEFAULT: 75*2d1272b8SAndroid Build Coastguard Worker * 76*2d1272b8SAndroid Build Coastguard Worker * Use #HB_BUFFER_SERIALIZE_FLAG_DEFAULT instead. 77*2d1272b8SAndroid Build Coastguard Worker * 78*2d1272b8SAndroid Build Coastguard Worker * Deprecated: 0.9.20 79*2d1272b8SAndroid Build Coastguard Worker */ 80*2d1272b8SAndroid Build Coastguard Worker #define HB_BUFFER_SERIALIZE_FLAGS_DEFAULT HB_BUFFER_SERIALIZE_FLAG_DEFAULT 81*2d1272b8SAndroid Build Coastguard Worker 82*2d1272b8SAndroid Build Coastguard Worker /** 83*2d1272b8SAndroid Build Coastguard Worker * hb_font_get_glyph_func_t: 84*2d1272b8SAndroid Build Coastguard Worker * @font: #hb_font_t to work upon 85*2d1272b8SAndroid Build Coastguard Worker * @font_data: @font user data pointer 86*2d1272b8SAndroid Build Coastguard Worker * @unicode: The Unicode code point to query 87*2d1272b8SAndroid Build Coastguard Worker * @variation_selector: The variation-selector code point to query 88*2d1272b8SAndroid Build Coastguard Worker * @glyph: (out): The glyph ID retrieved 89*2d1272b8SAndroid Build Coastguard Worker * @user_data: User data pointer passed by the caller 90*2d1272b8SAndroid Build Coastguard Worker * 91*2d1272b8SAndroid Build Coastguard Worker * A virtual method for the #hb_font_funcs_t of an #hb_font_t object. 92*2d1272b8SAndroid Build Coastguard Worker * 93*2d1272b8SAndroid Build Coastguard Worker * This method should retrieve the glyph ID for a specified Unicode code point 94*2d1272b8SAndroid Build Coastguard Worker * font, with an optional variation selector. 95*2d1272b8SAndroid Build Coastguard Worker * 96*2d1272b8SAndroid Build Coastguard Worker * Return value: `true` if data found, `false` otherwise 97*2d1272b8SAndroid Build Coastguard Worker * Deprecated: 1.2.3 98*2d1272b8SAndroid Build Coastguard Worker * 99*2d1272b8SAndroid Build Coastguard Worker **/ 100*2d1272b8SAndroid Build Coastguard Worker typedef hb_bool_t (*hb_font_get_glyph_func_t) (hb_font_t *font, void *font_data, 101*2d1272b8SAndroid Build Coastguard Worker hb_codepoint_t unicode, hb_codepoint_t variation_selector, 102*2d1272b8SAndroid Build Coastguard Worker hb_codepoint_t *glyph, 103*2d1272b8SAndroid Build Coastguard Worker void *user_data); 104*2d1272b8SAndroid Build Coastguard Worker 105*2d1272b8SAndroid Build Coastguard Worker HB_DEPRECATED_FOR (hb_font_funcs_set_nominal_glyph_func and hb_font_funcs_set_variation_glyph_func) 106*2d1272b8SAndroid Build Coastguard Worker HB_EXTERN void 107*2d1272b8SAndroid Build Coastguard Worker hb_font_funcs_set_glyph_func (hb_font_funcs_t *ffuncs, 108*2d1272b8SAndroid Build Coastguard Worker hb_font_get_glyph_func_t func, 109*2d1272b8SAndroid Build Coastguard Worker void *user_data, hb_destroy_func_t destroy); 110*2d1272b8SAndroid Build Coastguard Worker 111*2d1272b8SAndroid Build Coastguard Worker /* https://github.com/harfbuzz/harfbuzz/pull/4207 */ 112*2d1272b8SAndroid Build Coastguard Worker /** 113*2d1272b8SAndroid Build Coastguard Worker * HB_UNICODE_COMBINING_CLASS_CCC133: 114*2d1272b8SAndroid Build Coastguard Worker * 115*2d1272b8SAndroid Build Coastguard Worker * [Tibetan] 116*2d1272b8SAndroid Build Coastguard Worker * 117*2d1272b8SAndroid Build Coastguard Worker * Deprecated: 7.2.0 118*2d1272b8SAndroid Build Coastguard Worker **/ 119*2d1272b8SAndroid Build Coastguard Worker #define HB_UNICODE_COMBINING_CLASS_CCC133 133 120*2d1272b8SAndroid Build Coastguard Worker 121*2d1272b8SAndroid Build Coastguard Worker /** 122*2d1272b8SAndroid Build Coastguard Worker * hb_unicode_eastasian_width_func_t: 123*2d1272b8SAndroid Build Coastguard Worker * @ufuncs: A Unicode-functions structure 124*2d1272b8SAndroid Build Coastguard Worker * @unicode: The code point to query 125*2d1272b8SAndroid Build Coastguard Worker * @user_data: User data pointer passed by the caller 126*2d1272b8SAndroid Build Coastguard Worker * 127*2d1272b8SAndroid Build Coastguard Worker * A virtual method for the #hb_unicode_funcs_t structure. 128*2d1272b8SAndroid Build Coastguard Worker * 129*2d1272b8SAndroid Build Coastguard Worker * Deprecated: 2.0.0 130*2d1272b8SAndroid Build Coastguard Worker */ 131*2d1272b8SAndroid Build Coastguard Worker typedef unsigned int (*hb_unicode_eastasian_width_func_t) (hb_unicode_funcs_t *ufuncs, 132*2d1272b8SAndroid Build Coastguard Worker hb_codepoint_t unicode, 133*2d1272b8SAndroid Build Coastguard Worker void *user_data); 134*2d1272b8SAndroid Build Coastguard Worker 135*2d1272b8SAndroid Build Coastguard Worker /** 136*2d1272b8SAndroid Build Coastguard Worker * hb_unicode_funcs_set_eastasian_width_func: 137*2d1272b8SAndroid Build Coastguard Worker * @ufuncs: a Unicode-function structure 138*2d1272b8SAndroid Build Coastguard Worker * @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign 139*2d1272b8SAndroid Build Coastguard Worker * @user_data: Data to pass to @func 140*2d1272b8SAndroid Build Coastguard Worker * @destroy: (nullable): The function to call when @user_data is not needed anymore 141*2d1272b8SAndroid Build Coastguard Worker * 142*2d1272b8SAndroid Build Coastguard Worker * Sets the implementation function for #hb_unicode_eastasian_width_func_t. 143*2d1272b8SAndroid Build Coastguard Worker * 144*2d1272b8SAndroid Build Coastguard Worker * Since: 0.9.2 145*2d1272b8SAndroid Build Coastguard Worker * Deprecated: 2.0.0 146*2d1272b8SAndroid Build Coastguard Worker **/ 147*2d1272b8SAndroid Build Coastguard Worker HB_EXTERN HB_DEPRECATED void 148*2d1272b8SAndroid Build Coastguard Worker hb_unicode_funcs_set_eastasian_width_func (hb_unicode_funcs_t *ufuncs, 149*2d1272b8SAndroid Build Coastguard Worker hb_unicode_eastasian_width_func_t func, 150*2d1272b8SAndroid Build Coastguard Worker void *user_data, hb_destroy_func_t destroy); 151*2d1272b8SAndroid Build Coastguard Worker 152*2d1272b8SAndroid Build Coastguard Worker /** 153*2d1272b8SAndroid Build Coastguard Worker * hb_unicode_eastasian_width: 154*2d1272b8SAndroid Build Coastguard Worker * @ufuncs: a Unicode-function structure 155*2d1272b8SAndroid Build Coastguard Worker * @unicode: The code point to query 156*2d1272b8SAndroid Build Coastguard Worker * 157*2d1272b8SAndroid Build Coastguard Worker * Don't use. Not used by HarfBuzz. 158*2d1272b8SAndroid Build Coastguard Worker * 159*2d1272b8SAndroid Build Coastguard Worker * Since: 0.9.2 160*2d1272b8SAndroid Build Coastguard Worker * Deprecated: 2.0.0 161*2d1272b8SAndroid Build Coastguard Worker **/ 162*2d1272b8SAndroid Build Coastguard Worker HB_EXTERN HB_DEPRECATED unsigned int 163*2d1272b8SAndroid Build Coastguard Worker hb_unicode_eastasian_width (hb_unicode_funcs_t *ufuncs, 164*2d1272b8SAndroid Build Coastguard Worker hb_codepoint_t unicode); 165*2d1272b8SAndroid Build Coastguard Worker 166*2d1272b8SAndroid Build Coastguard Worker 167*2d1272b8SAndroid Build Coastguard Worker /** 168*2d1272b8SAndroid Build Coastguard Worker * hb_unicode_decompose_compatibility_func_t: 169*2d1272b8SAndroid Build Coastguard Worker * @ufuncs: a Unicode function structure 170*2d1272b8SAndroid Build Coastguard Worker * @u: codepoint to decompose 171*2d1272b8SAndroid Build Coastguard Worker * @decomposed: address of codepoint array (of length #HB_UNICODE_MAX_DECOMPOSITION_LEN) to write decomposition into 172*2d1272b8SAndroid Build Coastguard Worker * @user_data: user data pointer as passed to hb_unicode_funcs_set_decompose_compatibility_func() 173*2d1272b8SAndroid Build Coastguard Worker * 174*2d1272b8SAndroid Build Coastguard Worker * Fully decompose @u to its Unicode compatibility decomposition. The codepoints of the decomposition will be written to @decomposed. 175*2d1272b8SAndroid Build Coastguard Worker * The complete length of the decomposition will be returned. 176*2d1272b8SAndroid Build Coastguard Worker * 177*2d1272b8SAndroid Build Coastguard Worker * If @u has no compatibility decomposition, zero should be returned. 178*2d1272b8SAndroid Build Coastguard Worker * 179*2d1272b8SAndroid Build Coastguard Worker * The Unicode standard guarantees that a buffer of length #HB_UNICODE_MAX_DECOMPOSITION_LEN codepoints will always be sufficient for any 180*2d1272b8SAndroid Build Coastguard Worker * compatibility decomposition plus an terminating value of 0. Consequently, @decompose must be allocated by the caller to be at least this length. Implementations 181*2d1272b8SAndroid Build Coastguard Worker * of this function type must ensure that they do not write past the provided array. 182*2d1272b8SAndroid Build Coastguard Worker * 183*2d1272b8SAndroid Build Coastguard Worker * Return value: number of codepoints in the full compatibility decomposition of @u, or 0 if no decomposition available. 184*2d1272b8SAndroid Build Coastguard Worker * 185*2d1272b8SAndroid Build Coastguard Worker * Deprecated: 2.0.0 186*2d1272b8SAndroid Build Coastguard Worker */ 187*2d1272b8SAndroid Build Coastguard Worker typedef unsigned int (*hb_unicode_decompose_compatibility_func_t) (hb_unicode_funcs_t *ufuncs, 188*2d1272b8SAndroid Build Coastguard Worker hb_codepoint_t u, 189*2d1272b8SAndroid Build Coastguard Worker hb_codepoint_t *decomposed, 190*2d1272b8SAndroid Build Coastguard Worker void *user_data); 191*2d1272b8SAndroid Build Coastguard Worker 192*2d1272b8SAndroid Build Coastguard Worker /** 193*2d1272b8SAndroid Build Coastguard Worker * HB_UNICODE_MAX_DECOMPOSITION_LEN: 194*2d1272b8SAndroid Build Coastguard Worker * 195*2d1272b8SAndroid Build Coastguard Worker * See Unicode 6.1 for details on the maximum decomposition length. 196*2d1272b8SAndroid Build Coastguard Worker * 197*2d1272b8SAndroid Build Coastguard Worker * Deprecated: 2.0.0 198*2d1272b8SAndroid Build Coastguard Worker */ 199*2d1272b8SAndroid Build Coastguard Worker #define HB_UNICODE_MAX_DECOMPOSITION_LEN (18+1) /* codepoints */ 200*2d1272b8SAndroid Build Coastguard Worker 201*2d1272b8SAndroid Build Coastguard Worker /** 202*2d1272b8SAndroid Build Coastguard Worker * hb_unicode_funcs_set_decompose_compatibility_func: 203*2d1272b8SAndroid Build Coastguard Worker * @ufuncs: A Unicode-functions structure 204*2d1272b8SAndroid Build Coastguard Worker * @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign 205*2d1272b8SAndroid Build Coastguard Worker * @user_data: Data to pass to @func 206*2d1272b8SAndroid Build Coastguard Worker * @destroy: (nullable): The function to call when @user_data is not needed anymore 207*2d1272b8SAndroid Build Coastguard Worker * 208*2d1272b8SAndroid Build Coastguard Worker * Sets the implementation function for #hb_unicode_decompose_compatibility_func_t. 209*2d1272b8SAndroid Build Coastguard Worker * 210*2d1272b8SAndroid Build Coastguard Worker * 211*2d1272b8SAndroid Build Coastguard Worker * 212*2d1272b8SAndroid Build Coastguard Worker * Since: 0.9.2 213*2d1272b8SAndroid Build Coastguard Worker * Deprecated: 2.0.0 214*2d1272b8SAndroid Build Coastguard Worker **/ 215*2d1272b8SAndroid Build Coastguard Worker HB_EXTERN HB_DEPRECATED void 216*2d1272b8SAndroid Build Coastguard Worker hb_unicode_funcs_set_decompose_compatibility_func (hb_unicode_funcs_t *ufuncs, 217*2d1272b8SAndroid Build Coastguard Worker hb_unicode_decompose_compatibility_func_t func, 218*2d1272b8SAndroid Build Coastguard Worker void *user_data, hb_destroy_func_t destroy); 219*2d1272b8SAndroid Build Coastguard Worker 220*2d1272b8SAndroid Build Coastguard Worker HB_EXTERN HB_DEPRECATED unsigned int 221*2d1272b8SAndroid Build Coastguard Worker hb_unicode_decompose_compatibility (hb_unicode_funcs_t *ufuncs, 222*2d1272b8SAndroid Build Coastguard Worker hb_codepoint_t u, 223*2d1272b8SAndroid Build Coastguard Worker hb_codepoint_t *decomposed); 224*2d1272b8SAndroid Build Coastguard Worker 225*2d1272b8SAndroid Build Coastguard Worker 226*2d1272b8SAndroid Build Coastguard Worker /** 227*2d1272b8SAndroid Build Coastguard Worker * hb_font_get_glyph_v_kerning_func_t: 228*2d1272b8SAndroid Build Coastguard Worker * 229*2d1272b8SAndroid Build Coastguard Worker * A virtual method for the #hb_font_funcs_t of an #hb_font_t object. 230*2d1272b8SAndroid Build Coastguard Worker * 231*2d1272b8SAndroid Build Coastguard Worker * This method should retrieve the kerning-adjustment value for a glyph-pair in 232*2d1272b8SAndroid Build Coastguard Worker * the specified font, for vertical text segments. 233*2d1272b8SAndroid Build Coastguard Worker * 234*2d1272b8SAndroid Build Coastguard Worker **/ 235*2d1272b8SAndroid Build Coastguard Worker typedef hb_font_get_glyph_kerning_func_t hb_font_get_glyph_v_kerning_func_t; 236*2d1272b8SAndroid Build Coastguard Worker 237*2d1272b8SAndroid Build Coastguard Worker /** 238*2d1272b8SAndroid Build Coastguard Worker * hb_font_funcs_set_glyph_v_kerning_func: 239*2d1272b8SAndroid Build Coastguard Worker * @ffuncs: A font-function structure 240*2d1272b8SAndroid Build Coastguard Worker * @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign 241*2d1272b8SAndroid Build Coastguard Worker * @user_data: Data to pass to @func 242*2d1272b8SAndroid Build Coastguard Worker * @destroy: (nullable): The function to call when @user_data is not needed anymore 243*2d1272b8SAndroid Build Coastguard Worker * 244*2d1272b8SAndroid Build Coastguard Worker * Sets the implementation function for #hb_font_get_glyph_v_kerning_func_t. 245*2d1272b8SAndroid Build Coastguard Worker * 246*2d1272b8SAndroid Build Coastguard Worker * Since: 0.9.2 247*2d1272b8SAndroid Build Coastguard Worker * Deprecated: 2.0.0 248*2d1272b8SAndroid Build Coastguard Worker **/ 249*2d1272b8SAndroid Build Coastguard Worker HB_EXTERN void 250*2d1272b8SAndroid Build Coastguard Worker hb_font_funcs_set_glyph_v_kerning_func (hb_font_funcs_t *ffuncs, 251*2d1272b8SAndroid Build Coastguard Worker hb_font_get_glyph_v_kerning_func_t func, 252*2d1272b8SAndroid Build Coastguard Worker void *user_data, hb_destroy_func_t destroy); 253*2d1272b8SAndroid Build Coastguard Worker 254*2d1272b8SAndroid Build Coastguard Worker HB_EXTERN hb_position_t 255*2d1272b8SAndroid Build Coastguard Worker hb_font_get_glyph_v_kerning (hb_font_t *font, 256*2d1272b8SAndroid Build Coastguard Worker hb_codepoint_t top_glyph, hb_codepoint_t bottom_glyph); 257*2d1272b8SAndroid Build Coastguard Worker 258*2d1272b8SAndroid Build Coastguard Worker 259*2d1272b8SAndroid Build Coastguard Worker /** 260*2d1272b8SAndroid Build Coastguard Worker * hb_font_get_glyph_shape_func_t: 261*2d1272b8SAndroid Build Coastguard Worker * @font: #hb_font_t to work upon 262*2d1272b8SAndroid Build Coastguard Worker * @font_data: @font user data pointer 263*2d1272b8SAndroid Build Coastguard Worker * @glyph: The glyph ID to query 264*2d1272b8SAndroid Build Coastguard Worker * @draw_funcs: The draw functions to send the shape data to 265*2d1272b8SAndroid Build Coastguard Worker * @draw_data: The data accompanying the draw functions 266*2d1272b8SAndroid Build Coastguard Worker * @user_data: User data pointer passed by the caller 267*2d1272b8SAndroid Build Coastguard Worker * 268*2d1272b8SAndroid Build Coastguard Worker * A virtual method for the #hb_font_funcs_t of an #hb_font_t object. 269*2d1272b8SAndroid Build Coastguard Worker * 270*2d1272b8SAndroid Build Coastguard Worker * Since: 4.0.0 271*2d1272b8SAndroid Build Coastguard Worker * Deprecated: 7.0.0: Use #hb_font_draw_glyph_func_t instead 272*2d1272b8SAndroid Build Coastguard Worker **/ 273*2d1272b8SAndroid Build Coastguard Worker typedef void (*hb_font_get_glyph_shape_func_t) (hb_font_t *font, void *font_data, 274*2d1272b8SAndroid Build Coastguard Worker hb_codepoint_t glyph, 275*2d1272b8SAndroid Build Coastguard Worker hb_draw_funcs_t *draw_funcs, void *draw_data, 276*2d1272b8SAndroid Build Coastguard Worker void *user_data); 277*2d1272b8SAndroid Build Coastguard Worker 278*2d1272b8SAndroid Build Coastguard Worker /** 279*2d1272b8SAndroid Build Coastguard Worker * hb_font_funcs_set_glyph_shape_func: 280*2d1272b8SAndroid Build Coastguard Worker * @ffuncs: A font-function structure 281*2d1272b8SAndroid Build Coastguard Worker * @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign 282*2d1272b8SAndroid Build Coastguard Worker * @user_data: Data to pass to @func 283*2d1272b8SAndroid Build Coastguard Worker * @destroy: (nullable): The function to call when @user_data is not needed anymore 284*2d1272b8SAndroid Build Coastguard Worker * 285*2d1272b8SAndroid Build Coastguard Worker * Sets the implementation function for #hb_font_get_glyph_shape_func_t, 286*2d1272b8SAndroid Build Coastguard Worker * which is the same as #hb_font_draw_glyph_func_t. 287*2d1272b8SAndroid Build Coastguard Worker * 288*2d1272b8SAndroid Build Coastguard Worker * Since: 4.0.0 289*2d1272b8SAndroid Build Coastguard Worker * Deprecated: 7.0.0: Use hb_font_funcs_set_draw_glyph_func() instead 290*2d1272b8SAndroid Build Coastguard Worker **/ 291*2d1272b8SAndroid Build Coastguard Worker HB_DEPRECATED_FOR (hb_font_funcs_set_draw_glyph_func) 292*2d1272b8SAndroid Build Coastguard Worker HB_EXTERN void 293*2d1272b8SAndroid Build Coastguard Worker hb_font_funcs_set_glyph_shape_func (hb_font_funcs_t *ffuncs, 294*2d1272b8SAndroid Build Coastguard Worker hb_font_get_glyph_shape_func_t func, 295*2d1272b8SAndroid Build Coastguard Worker void *user_data, hb_destroy_func_t destroy); 296*2d1272b8SAndroid Build Coastguard Worker 297*2d1272b8SAndroid Build Coastguard Worker HB_DEPRECATED_FOR (hb_font_draw_glyph) 298*2d1272b8SAndroid Build Coastguard Worker HB_EXTERN void 299*2d1272b8SAndroid Build Coastguard Worker hb_font_get_glyph_shape (hb_font_t *font, 300*2d1272b8SAndroid Build Coastguard Worker hb_codepoint_t glyph, 301*2d1272b8SAndroid Build Coastguard Worker hb_draw_funcs_t *dfuncs, void *draw_data); 302*2d1272b8SAndroid Build Coastguard Worker 303*2d1272b8SAndroid Build Coastguard Worker 304*2d1272b8SAndroid Build Coastguard Worker /** 305*2d1272b8SAndroid Build Coastguard Worker * HB_AAT_LAYOUT_FEATURE_TYPE_CURISVE_CONNECTION: 306*2d1272b8SAndroid Build Coastguard Worker * 307*2d1272b8SAndroid Build Coastguard Worker * Use #HB_AAT_LAYOUT_FEATURE_TYPE_CURSIVE_CONNECTION instead. 308*2d1272b8SAndroid Build Coastguard Worker * 309*2d1272b8SAndroid Build Coastguard Worker * Deprecated: 8.3.0 310*2d1272b8SAndroid Build Coastguard Worker */ 311*2d1272b8SAndroid Build Coastguard Worker #define HB_AAT_LAYOUT_FEATURE_TYPE_CURISVE_CONNECTION HB_AAT_LAYOUT_FEATURE_TYPE_CURSIVE_CONNECTION 312*2d1272b8SAndroid Build Coastguard Worker 313*2d1272b8SAndroid Build Coastguard Worker #endif 314*2d1272b8SAndroid Build Coastguard Worker 315*2d1272b8SAndroid Build Coastguard Worker 316*2d1272b8SAndroid Build Coastguard Worker HB_END_DECLS 317*2d1272b8SAndroid Build Coastguard Worker 318*2d1272b8SAndroid Build Coastguard Worker #endif /* HB_DEPRECATED_H */ 319