tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

hb-coretext.h (2932B)


      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_face_t *
     84 hb_coretext_face_create_from_file_or_fail (const char   *file_name,
     85 				   unsigned int  index);
     86 
     87 HB_EXTERN hb_face_t *
     88 hb_coretext_face_create_from_blob_or_fail (hb_blob_t    *blob,
     89 				   unsigned int  index);
     90 
     91 HB_EXTERN hb_font_t *
     92 hb_coretext_font_create (CTFontRef ct_font);
     93 
     94 
     95 HB_EXTERN CGFontRef
     96 hb_coretext_face_get_cg_font (hb_face_t *face);
     97 
     98 HB_EXTERN CTFontRef
     99 hb_coretext_font_get_ct_font (hb_font_t *font);
    100 
    101 HB_EXTERN void
    102 hb_coretext_font_set_funcs (hb_font_t *font);
    103 
    104 
    105 HB_END_DECLS
    106 
    107 #endif /* HB_CORETEXT_H */