1/***************************************************************************/ 2/* */ 3/* afshaper.h */ 4/* */ 5/* HarfBuzz interface for accessing OpenType features (specification). */ 6/* */ 7/* Copyright 2013-2018 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 36FT_BEGIN_HEADER 37 38 FT_Error 39 af_shaper_get_coverage( AF_FaceGlobals globals, 40 AF_StyleClass style_class, 41 FT_UShort* gstyles, 42 FT_Bool default_script ); 43 44 45 void* 46 af_shaper_buf_create( FT_Face face ); 47 48 void 49 af_shaper_buf_destroy( FT_Face face, 50 void* buf ); 51 52 const char* 53 af_shaper_get_cluster( const char* p, 54 AF_StyleMetrics metrics, 55 void* buf_, 56 unsigned int* count ); 57 58 FT_ULong 59 af_shaper_get_elem( AF_StyleMetrics metrics, 60 void* buf_, 61 unsigned int idx, 62 FT_Long* x_advance, 63 FT_Long* y_offset ); 64 65 /* */ 66 67FT_END_HEADER 68 69#endif /* AFSHAPER_H_ */ 70 71 72/* END */ 73