(root)/
freetype-2.13.2/
src/
autofit/
afshaper.h
       1  /****************************************************************************
       2   *
       3   * afshaper.h
       4   *
       5   *   HarfBuzz interface for accessing OpenType features (specification).
       6   *
       7   * Copyright (C) 2013-2023 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  #ifdef FT_CONFIG_OPTION_USE_HARFBUZZ
      27  
      28  #include <hb.h>
      29  #include <hb-ot.h>
      30  #include "ft-hb.h"
      31  
      32  #endif
      33  
      34  
      35  FT_BEGIN_HEADER
      36  
      37    FT_Error
      38    af_shaper_get_coverage( AF_FaceGlobals  globals,
      39                            AF_StyleClass   style_class,
      40                            FT_UShort*      gstyles,
      41                            FT_Bool         default_script );
      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 */