afshaper.h (1677B)
1 /**************************************************************************** 2 * 3 * afshaper.h 4 * 5 * HarfBuzz interface for accessing OpenType features (specification). 6 * 7 * Copyright (C) 2013-2025 by 8 * David Turner, Robert Wilhelm, and Werner Lemberg. 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 AFSHAPER_H_ 20 #define AFSHAPER_H_ 21 22 23 #include <freetype/freetype.h> 24 25 26 FT_BEGIN_HEADER 27 28 #ifdef FT_CONFIG_OPTION_USE_HARFBUZZ 29 FT_LOCAL_ARRAY( hb_script_t ) 30 af_hb_scripts[]; 31 #endif 32 33 34 FT_Error 35 af_shaper_get_coverage( AF_FaceGlobals globals, 36 AF_StyleClass style_class, 37 FT_UShort* gstyles, 38 FT_Bool default_script ); 39 40 41 void* 42 af_shaper_buf_create( AF_FaceGlobals globals ); 43 44 void 45 af_shaper_buf_destroy( AF_FaceGlobals globals, 46 void* buf ); 47 48 const char* 49 af_shaper_get_cluster( const char* p, 50 AF_StyleMetrics metrics, 51 void* buf_, 52 unsigned int* count ); 53 54 FT_ULong 55 af_shaper_get_elem( AF_StyleMetrics metrics, 56 void* buf_, 57 unsigned int idx, 58 FT_Long* x_advance, 59 FT_Long* y_offset ); 60 61 /* */ 62 63 FT_END_HEADER 64 65 #endif /* AFSHAPER_H_ */ 66 67 68 /* END */