• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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