hb-coretext.h 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  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. #ifndef HB_CORETEXT_H
  27. #define HB_CORETEXT_H
  28. #include "hb.h"
  29. #include <TargetConditionals.h>
  30. #if TARGET_OS_IPHONE
  31. # include <CoreText/CoreText.h>
  32. # include <CoreGraphics/CoreGraphics.h>
  33. #else
  34. # include <ApplicationServices/ApplicationServices.h>
  35. #endif
  36. HB_BEGIN_DECLS
  37. /**
  38. * HB_CORETEXT_TAG_MORT:
  39. *
  40. * The #hb_tag_t tag for the `mort` (glyph metamorphosis) table,
  41. * which holds AAT features.
  42. *
  43. * For more information, see
  44. * https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6mort.html
  45. *
  46. **/
  47. #define HB_CORETEXT_TAG_MORT HB_TAG('m','o','r','t')
  48. /**
  49. * HB_CORETEXT_TAG_MORX:
  50. *
  51. * The #hb_tag_t tag for the `morx` (extended glyph metamorphosis)
  52. * table, which holds AAT features.
  53. *
  54. * For more information, see
  55. * https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6morx.html
  56. *
  57. **/
  58. #define HB_CORETEXT_TAG_MORX HB_TAG('m','o','r','x')
  59. /**
  60. * HB_CORETEXT_TAG_KERX:
  61. *
  62. * The #hb_tag_t tag for the `kerx` (extended kerning) table, which
  63. * holds AAT kerning information.
  64. *
  65. * For more information, see
  66. * https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6kerx.html
  67. *
  68. **/
  69. #define HB_CORETEXT_TAG_KERX HB_TAG('k','e','r','x')
  70. HB_EXTERN hb_face_t *
  71. hb_coretext_face_create (CGFontRef cg_font);
  72. HB_EXTERN hb_font_t *
  73. hb_coretext_font_create (CTFontRef ct_font);
  74. HB_EXTERN CGFontRef
  75. hb_coretext_face_get_cg_font (hb_face_t *face);
  76. HB_EXTERN CTFontRef
  77. hb_coretext_font_get_ct_font (hb_font_t *font);
  78. HB_END_DECLS
  79. #endif /* HB_CORETEXT_H */