1 /***************************************************************************/ 2 /* */ 3 /* afshaper.h */ 4 /* */ 5 /* HarfBuzz interface for accessing OpenType features (specification). */ 6 /* */ 7 /* Copyright 2013-2015 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 <ft2build.h> 24 #include FT_FREETYPE_H 25 26 27 #ifdef FT_CONFIG_OPTION_USE_HARFBUZZ 28 29 #include <hb.h> 30 #include <hb-ot.h> 31 #include <hb-ft.h> 32 33 #endif 34 35 36 FT_BEGIN_HEADER 37 38 FT_Error 39 af_shaper_get_coverage( AF_FaceGlobals globals, 40 AF_StyleClass style_class, 41 FT_UShort* gstyles ); 42 43 44 void* 45 af_shaper_buf_create( FT_Face face ); 46 47 void 48 af_shaper_buf_destroy( FT_Face face, 49 void* buf ); 50 51 const char* 52 af_shaper_get_cluster( const char* p, 53 AF_StyleMetrics metrics, 54 void* buf_, 55 unsigned int* count ); 56 57 FT_ULong 58 af_shaper_get_elem( AF_StyleMetrics metrics, 59 void* buf_, 60 unsigned int idx, 61 FT_Long* x_advance, 62 FT_Long* y_offset ); 63 64 /* */ 65 66 FT_END_HEADER 67 68 #endif /* __AFSHAPER_H__ */ 69 70 71 /* END */ 72