(root)/
harfbuzz-8.3.0/
src/
hb-coretext.h
       1  /*
       2   * Copyright © 2012  Mozilla Foundation.
       3   *
       4   *  This is part of HarfBuzz, a text shaping library.
       5   *
       6   * Permission is hereby granted, without written agreement and without
       7   * license or royalty fees, to use, copy, modify, and distribute this
       8   * software and its documentation for any purpose, provided that the
       9   * above copyright notice and the following two paragraphs appear in
      10   * all copies of this software.
      11   *
      12   * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
      13   * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
      14   * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
      15   * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
      16   * DAMAGE.
      17   *
      18   * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
      19   * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
      20   * FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
      21   * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
      22   * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
      23   *
      24   * Mozilla Author(s): Jonathan Kew
      25   */
      26  
      27  #ifndef HB_CORETEXT_H
      28  #define HB_CORETEXT_H
      29  
      30  #include "hb.h"
      31  
      32  #include <TargetConditionals.h>
      33  #if TARGET_OS_IPHONE
      34  #  include <CoreText/CoreText.h>
      35  #  include <CoreGraphics/CoreGraphics.h>
      36  #else
      37  #  include <ApplicationServices/ApplicationServices.h>
      38  #endif
      39  
      40  HB_BEGIN_DECLS
      41  
      42  
      43  /**
      44   * HB_CORETEXT_TAG_MORT:
      45   *
      46   * The #hb_tag_t tag for the `mort` (glyph metamorphosis) table,
      47   * which holds AAT features. 
      48   *
      49   * For more information, see 
      50   * https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6mort.html
      51   *
      52   **/
      53  #define HB_CORETEXT_TAG_MORT HB_TAG('m','o','r','t')
      54  
      55  /**
      56   * HB_CORETEXT_TAG_MORX:
      57   *
      58   * The #hb_tag_t tag for the `morx` (extended glyph metamorphosis)
      59   * table, which holds AAT features. 
      60   *
      61   * For more information, see
      62   * https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6morx.html
      63   *
      64   **/
      65  #define HB_CORETEXT_TAG_MORX HB_TAG('m','o','r','x')
      66  
      67  /**
      68   * HB_CORETEXT_TAG_KERX:
      69   *
      70   * The #hb_tag_t tag for the `kerx` (extended kerning) table, which
      71   * holds AAT kerning information. 
      72   *
      73   * For more information, see 
      74   * https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6kerx.html
      75   *
      76   **/
      77  #define HB_CORETEXT_TAG_KERX HB_TAG('k','e','r','x')
      78  
      79  
      80  HB_EXTERN hb_face_t *
      81  hb_coretext_face_create (CGFontRef cg_font);
      82  
      83  HB_EXTERN hb_font_t *
      84  hb_coretext_font_create (CTFontRef ct_font);
      85  
      86  
      87  HB_EXTERN CGFontRef
      88  hb_coretext_face_get_cg_font (hb_face_t *face);
      89  
      90  HB_EXTERN CTFontRef
      91  hb_coretext_font_get_ct_font (hb_font_t *font);
      92  
      93  
      94  HB_END_DECLS
      95  
      96  #endif /* HB_CORETEXT_H */