Home | History | Annotate | Download | only in autofit
      1 /***************************************************************************/
      2 /*                                                                         */
      3 /*  afshaper.h                                                             */
      4 /*                                                                         */
      5 /*    HarfBuzz interface for accessing OpenType features (specification).  */
      6 /*                                                                         */
      7 /*  Copyright 2013-2017 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                           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 
     67 FT_END_HEADER
     68 
     69 #endif /* AFSHAPER_H_ */
     70 
     71 
     72 /* END */
     73