@img/sharp-libvips-dev 1.1.0-rc5 → 1.2.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. package/cplusplus/vips-operators.cpp +39 -0
  2. package/include/archive.h +53 -2
  3. package/include/archive_entry.h +56 -25
  4. package/include/ffi.h +20 -2
  5. package/include/fontconfig/fontconfig.h +1 -1
  6. package/include/glib-2.0/gio/gdbusnameowning.h +12 -10
  7. package/include/glib-2.0/gio/gio-visibility.h +34 -0
  8. package/include/glib-2.0/gio/gsettings.h +35 -31
  9. package/include/glib-2.0/gio/gzlibcompressor.h +6 -0
  10. package/include/glib-2.0/girepository/gi-visibility.h +34 -0
  11. package/include/glib-2.0/girepository/gitypes.h +6 -0
  12. package/include/glib-2.0/glib/gbitlock.h +11 -0
  13. package/include/glib-2.0/glib/gdate.h +6 -0
  14. package/include/glib-2.0/glib/glib-visibility.h +34 -0
  15. package/include/glib-2.0/glib/gmain.h +13 -10
  16. package/include/glib-2.0/glib/gmessages.h +4 -1
  17. package/include/glib-2.0/glib/gstring.h +2 -0
  18. package/include/glib-2.0/glib/gversionmacros.h +9 -0
  19. package/include/glib-2.0/gmodule/gmodule-visibility.h +34 -0
  20. package/include/glib-2.0/gobject/gobject-visibility.h +34 -0
  21. package/include/glib-2.0/gobject/gsignal.h +33 -8
  22. package/include/harfbuzz/hb-common.h +1 -431
  23. package/include/harfbuzz/hb-deprecated.h +80 -2
  24. package/include/harfbuzz/hb-draw.h +2 -10
  25. package/include/harfbuzz/hb-face.h +1 -1
  26. package/include/harfbuzz/hb-font.h +55 -36
  27. package/include/harfbuzz/hb-paint.h +5 -3
  28. package/include/harfbuzz/hb-script-list.h +484 -0
  29. package/include/harfbuzz/hb-subset.h +22 -2
  30. package/include/harfbuzz/hb-version.h +3 -3
  31. package/include/libheif/heif.h +2 -0
  32. package/include/libheif/heif_version.h +2 -2
  33. package/include/libpng16/png.h +10 -10
  34. package/include/libpng16/pngconf.h +20 -27
  35. package/include/libpng16/pnglibconf.h +1 -1
  36. package/include/libxml2/libxml/HTMLparser.h +33 -30
  37. package/include/libxml2/libxml/HTMLtree.h +1 -0
  38. package/include/libxml2/libxml/SAX.h +2 -186
  39. package/include/libxml2/libxml/SAX2.h +2 -3
  40. package/include/libxml2/libxml/catalog.h +1 -0
  41. package/include/libxml2/libxml/debugXML.h +0 -138
  42. package/include/libxml2/libxml/encoding.h +124 -61
  43. package/include/libxml2/libxml/entities.h +0 -19
  44. package/include/libxml2/libxml/globals.h +0 -16
  45. package/include/libxml2/libxml/nanoftp.h +3 -173
  46. package/include/libxml2/libxml/parser.h +474 -231
  47. package/include/libxml2/libxml/parserInternals.h +21 -101
  48. package/include/libxml2/libxml/relaxng.h +7 -2
  49. package/include/libxml2/libxml/threads.h +0 -6
  50. package/include/libxml2/libxml/tree.h +29 -85
  51. package/include/libxml2/libxml/valid.h +20 -12
  52. package/include/libxml2/libxml/xinclude.h +5 -0
  53. package/include/libxml2/libxml/xlink.h +4 -0
  54. package/include/libxml2/libxml/xmlIO.h +15 -34
  55. package/include/libxml2/libxml/xmlautomata.h +19 -2
  56. package/include/libxml2/libxml/xmlerror.h +17 -18
  57. package/include/libxml2/libxml/xmlexports.h +6 -56
  58. package/include/libxml2/libxml/xmlmemory.h +19 -19
  59. package/include/libxml2/libxml/xmlmodule.h +4 -0
  60. package/include/libxml2/libxml/xmlreader.h +11 -3
  61. package/include/libxml2/libxml/xmlregexp.h +7 -106
  62. package/include/libxml2/libxml/xmlsave.h +11 -2
  63. package/include/libxml2/libxml/xmlschemas.h +10 -5
  64. package/include/libxml2/libxml/xmlunicode.h +3 -354
  65. package/include/libxml2/libxml/xmlversion.h +18 -33
  66. package/include/libxml2/libxml/xpath.h +5 -15
  67. package/include/libxml2/libxml/xpathInternals.h +9 -3
  68. package/include/libxml2/libxml/xpointer.h +1 -91
  69. package/include/pixman-1/pixman-version.h +2 -2
  70. package/include/pixman-1/pixman.h +200 -0
  71. package/include/png.h +10 -10
  72. package/include/pngconf.h +20 -27
  73. package/include/pnglibconf.h +1 -1
  74. package/include/vips/VImage8.h +62 -14
  75. package/include/vips/arithmetic.h +34 -34
  76. package/include/vips/basic.h +16 -0
  77. package/include/vips/buf.h +0 -5
  78. package/include/vips/colour.h +6 -7
  79. package/include/vips/connection.h +25 -37
  80. package/include/vips/enumtypes.h +11 -2
  81. package/include/vips/foreign.h +73 -43
  82. package/include/vips/format.h +7 -5
  83. package/include/vips/gate.h +0 -11
  84. package/include/vips/header.h +11 -11
  85. package/include/vips/image.h +8 -3
  86. package/include/vips/interpolate.h +0 -2
  87. package/include/vips/memory.h +4 -0
  88. package/include/vips/mosaicing.h +4 -0
  89. package/include/vips/object.h +14 -18
  90. package/include/vips/operation.h +0 -2
  91. package/include/vips/private.h +50 -2
  92. package/include/vips/region.h +1 -3
  93. package/include/vips/resample.h +2 -0
  94. package/include/vips/semaphore.h +8 -3
  95. package/include/vips/thread.h +1 -24
  96. package/include/vips/threadpool.h +0 -6
  97. package/include/vips/type.h +13 -9
  98. package/include/vips/util.h +17 -98
  99. package/include/vips/vector.h +0 -4
  100. package/include/vips/version.h +8 -8
  101. package/include/vips/vips.h +1 -0
  102. package/package.json +1 -1
  103. package/versions.json +11 -11
  104. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-animation.h +0 -221
  105. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-autocleanups.h +0 -37
  106. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h +0 -525
  107. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h +0 -40
  108. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-features.h +0 -115
  109. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-io.h +0 -481
  110. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-loader.h +0 -113
  111. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-macros.h +0 -718
  112. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-marshal.h +0 -33
  113. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-simple-anim.h +0 -70
  114. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-transform.h +0 -168
  115. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf.h +0 -46
  116. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixdata.h +0 -165
  117. package/include/glib-2.0/glib/gwin32.h +0 -142
  118. package/include/harfbuzz/hb-subset-repacker.h +0 -81
  119. package/include/hwy/ops/tuple-inl.h +0 -125
  120. package/include/orc-0.4/orc/orc-stdint.h +0 -1
  121. package/include/orc-0.4/orc/orc.h +0 -16
  122. package/include/orc-0.4/orc/orcarm.h +0 -879
  123. package/include/orc-0.4/orc/orcbytecode.h +0 -35
  124. package/include/orc-0.4/orc/orcbytecodes.h +0 -255
  125. package/include/orc-0.4/orc/orccode.h +0 -53
  126. package/include/orc-0.4/orc/orccompiler.h +0 -176
  127. package/include/orc-0.4/orc/orcconstant.h +0 -39
  128. package/include/orc-0.4/orc/orccpu.h +0 -21
  129. package/include/orc-0.4/orc/orccpuinsn.h +0 -40
  130. package/include/orc-0.4/orc/orcdebug.h +0 -158
  131. package/include/orc-0.4/orc/orcemulateopcodes.h +0 -203
  132. package/include/orc-0.4/orc/orcexecutor.h +0 -135
  133. package/include/orc-0.4/orc/orcfunctions.h +0 -93
  134. package/include/orc-0.4/orc/orcinstruction.h +0 -39
  135. package/include/orc-0.4/orc/orcinternal.h +0 -46
  136. package/include/orc-0.4/orc/orclimits.h +0 -94
  137. package/include/orc-0.4/orc/orcmips.h +0 -229
  138. package/include/orc-0.4/orc/orcmmx.h +0 -79
  139. package/include/orc-0.4/orc/orcneon.h +0 -43
  140. package/include/orc-0.4/orc/orconce.h +0 -166
  141. package/include/orc-0.4/orc/orcopcode.h +0 -63
  142. package/include/orc-0.4/orc/orcparse.h +0 -27
  143. package/include/orc-0.4/orc/orcpowerpc.h +0 -209
  144. package/include/orc-0.4/orc/orcprogram.h +0 -192
  145. package/include/orc-0.4/orc/orcrule.h +0 -52
  146. package/include/orc-0.4/orc/orcsse.h +0 -55
  147. package/include/orc-0.4/orc/orctarget.h +0 -115
  148. package/include/orc-0.4/orc/orcutils.h +0 -238
  149. package/include/orc-0.4/orc/orcvariable.h +0 -81
  150. package/include/orc-0.4/orc/orcx86.h +0 -199
  151. package/include/orc-0.4/orc/orcx86insn.h +0 -672
@@ -486,7 +486,7 @@ typedef hb_bool_t (*hb_font_get_glyph_from_name_func_t) (hb_font_t *font, void *
486
486
  void *user_data);
487
487
 
488
488
  /**
489
- * hb_font_draw_glyph_func_t:
489
+ * hb_font_draw_glyph_or_fail_func_t:
490
490
  * @font: #hb_font_t to work upon
491
491
  * @font_data: @font user data pointer
492
492
  * @glyph: The glyph ID to query
@@ -496,16 +496,17 @@ typedef hb_bool_t (*hb_font_get_glyph_from_name_func_t) (hb_font_t *font, void *
496
496
  *
497
497
  * A virtual method for the #hb_font_funcs_t of an #hb_font_t object.
498
498
  *
499
- * Since: 7.0.0
499
+ * Return value: `true` if glyph was drawn, `false` otherwise
500
500
  *
501
+ * XSince: REPLACEME
501
502
  **/
502
- typedef void (*hb_font_draw_glyph_func_t) (hb_font_t *font, void *font_data,
503
- hb_codepoint_t glyph,
504
- hb_draw_funcs_t *draw_funcs, void *draw_data,
505
- void *user_data);
503
+ typedef hb_bool_t (*hb_font_draw_glyph_or_fail_func_t) (hb_font_t *font, void *font_data,
504
+ hb_codepoint_t glyph,
505
+ hb_draw_funcs_t *draw_funcs, void *draw_data,
506
+ void *user_data);
506
507
 
507
508
  /**
508
- * hb_font_paint_glyph_func_t:
509
+ * hb_font_paint_glyph_or_fail_func_t:
509
510
  * @font: #hb_font_t to work upon
510
511
  * @font_data: @font user data pointer
511
512
  * @glyph: The glyph ID to query
@@ -517,14 +518,16 @@ typedef void (*hb_font_draw_glyph_func_t) (hb_font_t *font, void *font_data,
517
518
  *
518
519
  * A virtual method for the #hb_font_funcs_t of an #hb_font_t object.
519
520
  *
520
- * Since: 7.0.0
521
+ * Return value: `true` if glyph was painted, `false` otherwise
522
+ *
523
+ * XSince: REPLACEME
521
524
  */
522
- typedef void (*hb_font_paint_glyph_func_t) (hb_font_t *font, void *font_data,
523
- hb_codepoint_t glyph,
524
- hb_paint_funcs_t *paint_funcs, void *paint_data,
525
- unsigned int palette_index,
526
- hb_color_t foreground,
527
- void *user_data);
525
+ typedef hb_bool_t (*hb_font_paint_glyph_or_fail_func_t) (hb_font_t *font, void *font_data,
526
+ hb_codepoint_t glyph,
527
+ hb_paint_funcs_t *paint_funcs, void *paint_data,
528
+ unsigned int palette_index,
529
+ hb_color_t foreground,
530
+ void *user_data);
528
531
 
529
532
  /* func setters */
530
533
 
@@ -785,36 +788,36 @@ hb_font_funcs_set_glyph_from_name_func (hb_font_funcs_t *ffuncs,
785
788
  void *user_data, hb_destroy_func_t destroy);
786
789
 
787
790
  /**
788
- * hb_font_funcs_set_draw_glyph_func:
791
+ * hb_font_funcs_set_draw_glyph_or_fail_func:
789
792
  * @ffuncs: A font-function structure
790
793
  * @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
791
794
  * @user_data: Data to pass to @func
792
795
  * @destroy: (nullable): The function to call when @user_data is not needed anymore
793
796
  *
794
- * Sets the implementation function for #hb_font_draw_glyph_func_t.
797
+ * Sets the implementation function for #hb_font_draw_glyph_or_fail_func_t.
795
798
  *
796
- * Since: 7.0.0
799
+ * XSince: REPLACEME
797
800
  **/
798
801
  HB_EXTERN void
799
- hb_font_funcs_set_draw_glyph_func (hb_font_funcs_t *ffuncs,
800
- hb_font_draw_glyph_func_t func,
801
- void *user_data, hb_destroy_func_t destroy);
802
+ hb_font_funcs_set_draw_glyph_or_fail_func (hb_font_funcs_t *ffuncs,
803
+ hb_font_draw_glyph_or_fail_func_t func,
804
+ void *user_data, hb_destroy_func_t destroy);
802
805
 
803
806
  /**
804
- * hb_font_funcs_set_paint_glyph_func:
807
+ * hb_font_funcs_set_paint_glyph_or_fail_func:
805
808
  * @ffuncs: A font-function structure
806
809
  * @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
807
810
  * @user_data: Data to pass to @func
808
811
  * @destroy: (nullable): The function to call when @user_data is no longer needed
809
812
  *
810
- * Sets the implementation function for #hb_font_paint_glyph_func_t.
813
+ * Sets the implementation function for #hb_font_paint_glyph_or_fail_func_t.
811
814
  *
812
- * Since: 7.0.0
815
+ * XSince: REPLACEME
813
816
  */
814
817
  HB_EXTERN void
815
- hb_font_funcs_set_paint_glyph_func (hb_font_funcs_t *ffuncs,
816
- hb_font_paint_glyph_func_t func,
817
- void *user_data, hb_destroy_func_t destroy);
818
+ hb_font_funcs_set_paint_glyph_or_fail_func (hb_font_funcs_t *ffuncs,
819
+ hb_font_paint_glyph_or_fail_func_t func,
820
+ void *user_data, hb_destroy_func_t destroy);
818
821
 
819
822
  /* func dispatch */
820
823
 
@@ -896,17 +899,17 @@ hb_font_get_glyph_from_name (hb_font_t *font,
896
899
  const char *name, int len, /* -1 means nul-terminated */
897
900
  hb_codepoint_t *glyph);
898
901
 
899
- HB_EXTERN void
900
- hb_font_draw_glyph (hb_font_t *font,
901
- hb_codepoint_t glyph,
902
- hb_draw_funcs_t *dfuncs, void *draw_data);
902
+ HB_EXTERN hb_bool_t
903
+ hb_font_draw_glyph_or_fail (hb_font_t *font,
904
+ hb_codepoint_t glyph,
905
+ hb_draw_funcs_t *dfuncs, void *draw_data);
903
906
 
904
- HB_EXTERN void
905
- hb_font_paint_glyph (hb_font_t *font,
906
- hb_codepoint_t glyph,
907
- hb_paint_funcs_t *pfuncs, void *paint_data,
908
- unsigned int palette_index,
909
- hb_color_t foreground);
907
+ HB_EXTERN hb_bool_t
908
+ hb_font_paint_glyph_or_fail (hb_font_t *font,
909
+ hb_codepoint_t glyph,
910
+ hb_paint_funcs_t *pfuncs, void *paint_data,
911
+ unsigned int palette_index,
912
+ hb_color_t foreground);
910
913
 
911
914
  /* high-level funcs, with fallback */
912
915
 
@@ -979,6 +982,19 @@ hb_font_glyph_from_string (hb_font_t *font,
979
982
  const char *s, int len, /* -1 means nul-terminated */
980
983
  hb_codepoint_t *glyph);
981
984
 
985
+ /* Older alias for hb_font_draw_glyph_or_fail() with no return value. */
986
+ HB_EXTERN void
987
+ hb_font_draw_glyph (hb_font_t *font,
988
+ hb_codepoint_t glyph,
989
+ hb_draw_funcs_t *dfuncs, void *draw_data);
990
+
991
+ /* Paints color glyph; if failed, draws outline glyph. */
992
+ HB_EXTERN void
993
+ hb_font_paint_glyph (hb_font_t *font,
994
+ hb_codepoint_t glyph,
995
+ hb_paint_funcs_t *pfuncs, void *paint_data,
996
+ unsigned int palette_index,
997
+ hb_color_t foreground);
982
998
 
983
999
  /*
984
1000
  * hb_font_t
@@ -1092,6 +1108,9 @@ hb_font_set_ptem (hb_font_t *font, float ptem);
1092
1108
  HB_EXTERN float
1093
1109
  hb_font_get_ptem (hb_font_t *font);
1094
1110
 
1111
+ HB_EXTERN hb_bool_t
1112
+ hb_font_is_synthetic (hb_font_t *font);
1113
+
1095
1114
  HB_EXTERN void
1096
1115
  hb_font_set_synthetic_bold (hb_font_t *font,
1097
1116
  float x_embolden, float y_embolden,
@@ -167,8 +167,10 @@ typedef hb_bool_t (*hb_paint_color_glyph_func_t) (hb_paint_funcs_t *funcs,
167
167
  * A virtual method for the #hb_paint_funcs_t to clip
168
168
  * subsequent paint calls to the outline of a glyph.
169
169
  *
170
- * The coordinates of the glyph outline are interpreted according
171
- * to the current transform.
170
+ * The coordinates of the glyph outline are expected in the
171
+ * current @font scale (ie. the results of calling
172
+ * hb_font_draw_glyph() with @font). The outline is
173
+ * transformed by the current transform.
172
174
  *
173
175
  * This clip is applied in addition to the current clip,
174
176
  * and remains in effect until a matching call to
@@ -281,7 +283,7 @@ typedef void (*hb_paint_color_func_t) (hb_paint_funcs_t *funcs,
281
283
  * @width: width of the raster image in pixels, or 0
282
284
  * @height: height of the raster image in pixels, or 0
283
285
  * @format: the image format as a tag
284
- * @slant: the synthetic slant ratio to be applied to the image during rendering
286
+ * @slant: Deprecated. Always set to 0.0.
285
287
  * @extents: (nullable): glyph extents for desired rendering
286
288
  * @user_data: User data pointer passed to hb_paint_funcs_set_image_func()
287
289
  *
@@ -0,0 +1,484 @@
1
+ /*
2
+ * Copyright © 2007,2008,2009 Red Hat, Inc.
3
+ * Copyright © 2011,2012 Google, Inc.
4
+ *
5
+ * This is part of HarfBuzz, a text shaping library.
6
+ *
7
+ * Permission is hereby granted, without written agreement and without
8
+ * license or royalty fees, to use, copy, modify, and distribute this
9
+ * software and its documentation for any purpose, provided that the
10
+ * above copyright notice and the following two paragraphs appear in
11
+ * all copies of this software.
12
+ *
13
+ * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
14
+ * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
15
+ * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
16
+ * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
17
+ * DAMAGE.
18
+ *
19
+ * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
20
+ * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
21
+ * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
22
+ * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
23
+ * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
24
+ *
25
+ * Red Hat Author(s): Behdad Esfahbod
26
+ * Google Author(s): Behdad Esfahbod
27
+ */
28
+
29
+ #if !defined(HB_H_IN) && !defined(HB_NO_SINGLE_HEADER_ERROR)
30
+ #error "Include <hb.h> instead."
31
+ #endif
32
+
33
+ #ifndef HB_SCRIPT_LIST_H
34
+ #define HB_SCRIPT_LIST_H
35
+
36
+ /* This file belongs to the middle of hb-common.h.
37
+ * The reason it has been surgically extracted is because
38
+ * FreeType imports types and enums from hb-common.h,
39
+ * and since this enum is large and growing, we want to
40
+ * make it easy to just copy the file over to FreeType.
41
+ * https://github.com/harfbuzz/harfbuzz/issues/5271
42
+ */
43
+
44
+ /* Dummy lines to make our checks happy. */
45
+ #if 0
46
+ #include "hb-common.h"
47
+ HB_BEGIN_DECLS
48
+ HB_END_DECLS
49
+ #endif
50
+
51
+
52
+ /**
53
+ * hb_script_t:
54
+ * @HB_SCRIPT_COMMON: `Zyyy`
55
+ * @HB_SCRIPT_INHERITED: `Zinh`
56
+ * @HB_SCRIPT_UNKNOWN: `Zzzz`
57
+ * @HB_SCRIPT_ARABIC: `Arab`
58
+ * @HB_SCRIPT_ARMENIAN: `Armn`
59
+ * @HB_SCRIPT_BENGALI: `Beng`
60
+ * @HB_SCRIPT_CYRILLIC: `Cyrl`
61
+ * @HB_SCRIPT_DEVANAGARI: `Deva`
62
+ * @HB_SCRIPT_GEORGIAN: `Geor`
63
+ * @HB_SCRIPT_GREEK: `Grek`
64
+ * @HB_SCRIPT_GUJARATI: `Gujr`
65
+ * @HB_SCRIPT_GURMUKHI: `Guru`
66
+ * @HB_SCRIPT_HANGUL: `Hang`
67
+ * @HB_SCRIPT_HAN: `Hani`
68
+ * @HB_SCRIPT_HEBREW: `Hebr`
69
+ * @HB_SCRIPT_HIRAGANA: `Hira`
70
+ * @HB_SCRIPT_KANNADA: `Knda`
71
+ * @HB_SCRIPT_KATAKANA: `Kana`
72
+ * @HB_SCRIPT_LAO: `Laoo`
73
+ * @HB_SCRIPT_LATIN: `Latn`
74
+ * @HB_SCRIPT_MALAYALAM: `Mlym`
75
+ * @HB_SCRIPT_ORIYA: `Orya`
76
+ * @HB_SCRIPT_TAMIL: `Taml`
77
+ * @HB_SCRIPT_TELUGU: `Telu`
78
+ * @HB_SCRIPT_THAI: `Thai`
79
+ * @HB_SCRIPT_TIBETAN: `Tibt`
80
+ * @HB_SCRIPT_BOPOMOFO: `Bopo`
81
+ * @HB_SCRIPT_BRAILLE: `Brai`
82
+ * @HB_SCRIPT_CANADIAN_SYLLABICS: `Cans`
83
+ * @HB_SCRIPT_CHEROKEE: `Cher`
84
+ * @HB_SCRIPT_ETHIOPIC: `Ethi`
85
+ * @HB_SCRIPT_KHMER: `Khmr`
86
+ * @HB_SCRIPT_MONGOLIAN: `Mong`
87
+ * @HB_SCRIPT_MYANMAR: `Mymr`
88
+ * @HB_SCRIPT_OGHAM: `Ogam`
89
+ * @HB_SCRIPT_RUNIC: `Runr`
90
+ * @HB_SCRIPT_SINHALA: `Sinh`
91
+ * @HB_SCRIPT_SYRIAC: `Syrc`
92
+ * @HB_SCRIPT_THAANA: `Thaa`
93
+ * @HB_SCRIPT_YI: `Yiii`
94
+ * @HB_SCRIPT_DESERET: `Dsrt`
95
+ * @HB_SCRIPT_GOTHIC: `Goth`
96
+ * @HB_SCRIPT_OLD_ITALIC: `Ital`
97
+ * @HB_SCRIPT_BUHID: `Buhd`
98
+ * @HB_SCRIPT_HANUNOO: `Hano`
99
+ * @HB_SCRIPT_TAGALOG: `Tglg`
100
+ * @HB_SCRIPT_TAGBANWA: `Tagb`
101
+ * @HB_SCRIPT_CYPRIOT: `Cprt`
102
+ * @HB_SCRIPT_LIMBU: `Limb`
103
+ * @HB_SCRIPT_LINEAR_B: `Linb`
104
+ * @HB_SCRIPT_OSMANYA: `Osma`
105
+ * @HB_SCRIPT_SHAVIAN: `Shaw`
106
+ * @HB_SCRIPT_TAI_LE: `Tale`
107
+ * @HB_SCRIPT_UGARITIC: `Ugar`
108
+ * @HB_SCRIPT_BUGINESE: `Bugi`
109
+ * @HB_SCRIPT_COPTIC: `Copt`
110
+ * @HB_SCRIPT_GLAGOLITIC: `Glag`
111
+ * @HB_SCRIPT_KHAROSHTHI: `Khar`
112
+ * @HB_SCRIPT_NEW_TAI_LUE: `Talu`
113
+ * @HB_SCRIPT_OLD_PERSIAN: `Xpeo`
114
+ * @HB_SCRIPT_SYLOTI_NAGRI: `Sylo`
115
+ * @HB_SCRIPT_TIFINAGH: `Tfng`
116
+ * @HB_SCRIPT_BALINESE: `Bali`
117
+ * @HB_SCRIPT_CUNEIFORM: `Xsux`
118
+ * @HB_SCRIPT_NKO: `Nkoo`
119
+ * @HB_SCRIPT_PHAGS_PA: `Phag`
120
+ * @HB_SCRIPT_PHOENICIAN: `Phnx`
121
+ * @HB_SCRIPT_CARIAN: `Cari`
122
+ * @HB_SCRIPT_CHAM: `Cham`
123
+ * @HB_SCRIPT_KAYAH_LI: `Kali`
124
+ * @HB_SCRIPT_LEPCHA: `Lepc`
125
+ * @HB_SCRIPT_LYCIAN: `Lyci`
126
+ * @HB_SCRIPT_LYDIAN: `Lydi`
127
+ * @HB_SCRIPT_OL_CHIKI: `Olck`
128
+ * @HB_SCRIPT_REJANG: `Rjng`
129
+ * @HB_SCRIPT_SAURASHTRA: `Saur`
130
+ * @HB_SCRIPT_SUNDANESE: `Sund`
131
+ * @HB_SCRIPT_VAI: `Vaii`
132
+ * @HB_SCRIPT_AVESTAN: `Avst`
133
+ * @HB_SCRIPT_BAMUM: `Bamu`
134
+ * @HB_SCRIPT_EGYPTIAN_HIEROGLYPHS: `Egyp`
135
+ * @HB_SCRIPT_IMPERIAL_ARAMAIC: `Armi`
136
+ * @HB_SCRIPT_INSCRIPTIONAL_PAHLAVI: `Phli`
137
+ * @HB_SCRIPT_INSCRIPTIONAL_PARTHIAN: `Prti`
138
+ * @HB_SCRIPT_JAVANESE: `Java`
139
+ * @HB_SCRIPT_KAITHI: `Kthi`
140
+ * @HB_SCRIPT_LISU: `Lisu`
141
+ * @HB_SCRIPT_MEETEI_MAYEK: `Mtei`
142
+ * @HB_SCRIPT_OLD_SOUTH_ARABIAN: `Sarb`
143
+ * @HB_SCRIPT_OLD_TURKIC: `Orkh`
144
+ * @HB_SCRIPT_SAMARITAN: `Samr`
145
+ * @HB_SCRIPT_TAI_THAM: `Lana`
146
+ * @HB_SCRIPT_TAI_VIET: `Tavt`
147
+ * @HB_SCRIPT_BATAK: `Batk`
148
+ * @HB_SCRIPT_BRAHMI: `Brah`
149
+ * @HB_SCRIPT_MANDAIC: `Mand`
150
+ * @HB_SCRIPT_CHAKMA: `Cakm`
151
+ * @HB_SCRIPT_MEROITIC_CURSIVE: `Merc`
152
+ * @HB_SCRIPT_MEROITIC_HIEROGLYPHS: `Mero`
153
+ * @HB_SCRIPT_MIAO: `Plrd`
154
+ * @HB_SCRIPT_SHARADA: `Shrd`
155
+ * @HB_SCRIPT_SORA_SOMPENG: `Sora`
156
+ * @HB_SCRIPT_TAKRI: `Takr`
157
+ * @HB_SCRIPT_BASSA_VAH: `Bass`, Since: 0.9.30
158
+ * @HB_SCRIPT_CAUCASIAN_ALBANIAN: `Aghb`, Since: 0.9.30
159
+ * @HB_SCRIPT_DUPLOYAN: `Dupl`, Since: 0.9.30
160
+ * @HB_SCRIPT_ELBASAN: `Elba`, Since: 0.9.30
161
+ * @HB_SCRIPT_GRANTHA: `Gran`, Since: 0.9.30
162
+ * @HB_SCRIPT_KHOJKI: `Khoj`, Since: 0.9.30
163
+ * @HB_SCRIPT_KHUDAWADI: `Sind`, Since: 0.9.30
164
+ * @HB_SCRIPT_LINEAR_A: `Lina`, Since: 0.9.30
165
+ * @HB_SCRIPT_MAHAJANI: `Mahj`, Since: 0.9.30
166
+ * @HB_SCRIPT_MANICHAEAN: `Mani`, Since: 0.9.30
167
+ * @HB_SCRIPT_MENDE_KIKAKUI: `Mend`, Since: 0.9.30
168
+ * @HB_SCRIPT_MODI: `Modi`, Since: 0.9.30
169
+ * @HB_SCRIPT_MRO: `Mroo`, Since: 0.9.30
170
+ * @HB_SCRIPT_NABATAEAN: `Nbat`, Since: 0.9.30
171
+ * @HB_SCRIPT_OLD_NORTH_ARABIAN: `Narb`, Since: 0.9.30
172
+ * @HB_SCRIPT_OLD_PERMIC: `Perm`, Since: 0.9.30
173
+ * @HB_SCRIPT_PAHAWH_HMONG: `Hmng`, Since: 0.9.30
174
+ * @HB_SCRIPT_PALMYRENE: `Palm`, Since: 0.9.30
175
+ * @HB_SCRIPT_PAU_CIN_HAU: `Pauc`, Since: 0.9.30
176
+ * @HB_SCRIPT_PSALTER_PAHLAVI: `Phlp`, Since: 0.9.30
177
+ * @HB_SCRIPT_SIDDHAM: `Sidd`, Since: 0.9.30
178
+ * @HB_SCRIPT_TIRHUTA: `Tirh`, Since: 0.9.30
179
+ * @HB_SCRIPT_WARANG_CITI: `Wara`, Since: 0.9.30
180
+ * @HB_SCRIPT_AHOM: `Ahom`, Since: 0.9.30
181
+ * @HB_SCRIPT_ANATOLIAN_HIEROGLYPHS: `Hluw`, Since: 0.9.30
182
+ * @HB_SCRIPT_HATRAN: `Hatr`, Since: 0.9.30
183
+ * @HB_SCRIPT_MULTANI: `Mult`, Since: 0.9.30
184
+ * @HB_SCRIPT_OLD_HUNGARIAN: `Hung`, Since: 0.9.30
185
+ * @HB_SCRIPT_SIGNWRITING: `Sgnw`, Since: 0.9.30
186
+ * @HB_SCRIPT_ADLAM: `Adlm`, Since: 1.3.0
187
+ * @HB_SCRIPT_BHAIKSUKI: `Bhks`, Since: 1.3.0
188
+ * @HB_SCRIPT_MARCHEN: `Marc`, Since: 1.3.0
189
+ * @HB_SCRIPT_OSAGE: `Osge`, Since: 1.3.0
190
+ * @HB_SCRIPT_TANGUT: `Tang`, Since: 1.3.0
191
+ * @HB_SCRIPT_NEWA: `Newa`, Since: 1.3.0
192
+ * @HB_SCRIPT_MASARAM_GONDI: `Gonm`, Since: 1.6.0
193
+ * @HB_SCRIPT_NUSHU: `Nshu`, Since: 1.6.0
194
+ * @HB_SCRIPT_SOYOMBO: `Soyo`, Since: 1.6.0
195
+ * @HB_SCRIPT_ZANABAZAR_SQUARE: `Zanb`, Since: 1.6.0
196
+ * @HB_SCRIPT_DOGRA: `Dogr`, Since: 1.8.0
197
+ * @HB_SCRIPT_GUNJALA_GONDI: `Gong`, Since: 1.8.0
198
+ * @HB_SCRIPT_HANIFI_ROHINGYA: `Rohg`, Since: 1.8.0
199
+ * @HB_SCRIPT_MAKASAR: `Maka`, Since: 1.8.0
200
+ * @HB_SCRIPT_MEDEFAIDRIN: `Medf`, Since: 1.8.0
201
+ * @HB_SCRIPT_OLD_SOGDIAN: `Sogo`, Since: 1.8.0
202
+ * @HB_SCRIPT_SOGDIAN: `Sogd`, Since: 1.8.0
203
+ * @HB_SCRIPT_ELYMAIC: `Elym`, Since: 2.4.0
204
+ * @HB_SCRIPT_NANDINAGARI: `Nand`, Since: 2.4.0
205
+ * @HB_SCRIPT_NYIAKENG_PUACHUE_HMONG: `Hmnp`, Since: 2.4.0
206
+ * @HB_SCRIPT_WANCHO: `Wcho`, Since: 2.4.0
207
+ * @HB_SCRIPT_CHORASMIAN: `Chrs`, Since: 2.6.7
208
+ * @HB_SCRIPT_DIVES_AKURU: `Diak`, Since: 2.6.7
209
+ * @HB_SCRIPT_KHITAN_SMALL_SCRIPT: `Kits`, Since: 2.6.7
210
+ * @HB_SCRIPT_YEZIDI: `Yezi`, Since: 2.6.7
211
+ * @HB_SCRIPT_CYPRO_MINOAN: `Cpmn`, Since: 3.0.0
212
+ * @HB_SCRIPT_OLD_UYGHUR: `Ougr`, Since: 3.0.0
213
+ * @HB_SCRIPT_TANGSA: `Tnsa`, Since: 3.0.0
214
+ * @HB_SCRIPT_TOTO: `Toto`, Since: 3.0.0
215
+ * @HB_SCRIPT_VITHKUQI: `Vith`, Since: 3.0.0
216
+ * @HB_SCRIPT_MATH: `Zmth`, Since: 3.4.0
217
+ * @HB_SCRIPT_KAWI: `Kawi`, Since: 5.2.0
218
+ * @HB_SCRIPT_NAG_MUNDARI: `Nagm`, Since: 5.2.0
219
+ * @HB_SCRIPT_GARAY: `Gara`, Since: 10.0.0
220
+ * @HB_SCRIPT_GURUNG_KHEMA: `Gukh`, Since: 10.0.0
221
+ * @HB_SCRIPT_KIRAT_RAI: `Krai`, Since: 10.0.0
222
+ * @HB_SCRIPT_OL_ONAL: `Onao`, Since: 10.0.0
223
+ * @HB_SCRIPT_SUNUWAR: `Sunu`, Since: 10.0.0
224
+ * @HB_SCRIPT_TODHRI: `Todr`, Since: 10.0.0
225
+ * @HB_SCRIPT_TULU_TIGALARI: `Tutg`, Since: 10.0.0
226
+ * @HB_SCRIPT_INVALID: No script set
227
+ *
228
+ * Data type for scripts. Each #hb_script_t's value is an #hb_tag_t corresponding
229
+ * to the four-letter values defined by [ISO 15924](https://unicode.org/iso15924/).
230
+ *
231
+ * See also the Script (sc) property of the Unicode Character Database.
232
+ *
233
+ **/
234
+
235
+ /* https://docs.google.com/spreadsheets/d/1Y90M0Ie3MUJ6UVCRDOypOtijlMDLNNyyLk36T6iMu0o */
236
+ typedef enum
237
+ {
238
+ HB_SCRIPT_COMMON = HB_TAG ('Z','y','y','y'), /*1.1*/
239
+ HB_SCRIPT_INHERITED = HB_TAG ('Z','i','n','h'), /*1.1*/
240
+ HB_SCRIPT_UNKNOWN = HB_TAG ('Z','z','z','z'), /*5.0*/
241
+
242
+ HB_SCRIPT_ARABIC = HB_TAG ('A','r','a','b'), /*1.1*/
243
+ HB_SCRIPT_ARMENIAN = HB_TAG ('A','r','m','n'), /*1.1*/
244
+ HB_SCRIPT_BENGALI = HB_TAG ('B','e','n','g'), /*1.1*/
245
+ HB_SCRIPT_CYRILLIC = HB_TAG ('C','y','r','l'), /*1.1*/
246
+ HB_SCRIPT_DEVANAGARI = HB_TAG ('D','e','v','a'), /*1.1*/
247
+ HB_SCRIPT_GEORGIAN = HB_TAG ('G','e','o','r'), /*1.1*/
248
+ HB_SCRIPT_GREEK = HB_TAG ('G','r','e','k'), /*1.1*/
249
+ HB_SCRIPT_GUJARATI = HB_TAG ('G','u','j','r'), /*1.1*/
250
+ HB_SCRIPT_GURMUKHI = HB_TAG ('G','u','r','u'), /*1.1*/
251
+ HB_SCRIPT_HANGUL = HB_TAG ('H','a','n','g'), /*1.1*/
252
+ HB_SCRIPT_HAN = HB_TAG ('H','a','n','i'), /*1.1*/
253
+ HB_SCRIPT_HEBREW = HB_TAG ('H','e','b','r'), /*1.1*/
254
+ HB_SCRIPT_HIRAGANA = HB_TAG ('H','i','r','a'), /*1.1*/
255
+ HB_SCRIPT_KANNADA = HB_TAG ('K','n','d','a'), /*1.1*/
256
+ HB_SCRIPT_KATAKANA = HB_TAG ('K','a','n','a'), /*1.1*/
257
+ HB_SCRIPT_LAO = HB_TAG ('L','a','o','o'), /*1.1*/
258
+ HB_SCRIPT_LATIN = HB_TAG ('L','a','t','n'), /*1.1*/
259
+ HB_SCRIPT_MALAYALAM = HB_TAG ('M','l','y','m'), /*1.1*/
260
+ HB_SCRIPT_ORIYA = HB_TAG ('O','r','y','a'), /*1.1*/
261
+ HB_SCRIPT_TAMIL = HB_TAG ('T','a','m','l'), /*1.1*/
262
+ HB_SCRIPT_TELUGU = HB_TAG ('T','e','l','u'), /*1.1*/
263
+ HB_SCRIPT_THAI = HB_TAG ('T','h','a','i'), /*1.1*/
264
+
265
+ HB_SCRIPT_TIBETAN = HB_TAG ('T','i','b','t'), /*2.0*/
266
+
267
+ HB_SCRIPT_BOPOMOFO = HB_TAG ('B','o','p','o'), /*3.0*/
268
+ HB_SCRIPT_BRAILLE = HB_TAG ('B','r','a','i'), /*3.0*/
269
+ HB_SCRIPT_CANADIAN_SYLLABICS = HB_TAG ('C','a','n','s'), /*3.0*/
270
+ HB_SCRIPT_CHEROKEE = HB_TAG ('C','h','e','r'), /*3.0*/
271
+ HB_SCRIPT_ETHIOPIC = HB_TAG ('E','t','h','i'), /*3.0*/
272
+ HB_SCRIPT_KHMER = HB_TAG ('K','h','m','r'), /*3.0*/
273
+ HB_SCRIPT_MONGOLIAN = HB_TAG ('M','o','n','g'), /*3.0*/
274
+ HB_SCRIPT_MYANMAR = HB_TAG ('M','y','m','r'), /*3.0*/
275
+ HB_SCRIPT_OGHAM = HB_TAG ('O','g','a','m'), /*3.0*/
276
+ HB_SCRIPT_RUNIC = HB_TAG ('R','u','n','r'), /*3.0*/
277
+ HB_SCRIPT_SINHALA = HB_TAG ('S','i','n','h'), /*3.0*/
278
+ HB_SCRIPT_SYRIAC = HB_TAG ('S','y','r','c'), /*3.0*/
279
+ HB_SCRIPT_THAANA = HB_TAG ('T','h','a','a'), /*3.0*/
280
+ HB_SCRIPT_YI = HB_TAG ('Y','i','i','i'), /*3.0*/
281
+
282
+ HB_SCRIPT_DESERET = HB_TAG ('D','s','r','t'), /*3.1*/
283
+ HB_SCRIPT_GOTHIC = HB_TAG ('G','o','t','h'), /*3.1*/
284
+ HB_SCRIPT_OLD_ITALIC = HB_TAG ('I','t','a','l'), /*3.1*/
285
+
286
+ HB_SCRIPT_BUHID = HB_TAG ('B','u','h','d'), /*3.2*/
287
+ HB_SCRIPT_HANUNOO = HB_TAG ('H','a','n','o'), /*3.2*/
288
+ HB_SCRIPT_TAGALOG = HB_TAG ('T','g','l','g'), /*3.2*/
289
+ HB_SCRIPT_TAGBANWA = HB_TAG ('T','a','g','b'), /*3.2*/
290
+
291
+ HB_SCRIPT_CYPRIOT = HB_TAG ('C','p','r','t'), /*4.0*/
292
+ HB_SCRIPT_LIMBU = HB_TAG ('L','i','m','b'), /*4.0*/
293
+ HB_SCRIPT_LINEAR_B = HB_TAG ('L','i','n','b'), /*4.0*/
294
+ HB_SCRIPT_OSMANYA = HB_TAG ('O','s','m','a'), /*4.0*/
295
+ HB_SCRIPT_SHAVIAN = HB_TAG ('S','h','a','w'), /*4.0*/
296
+ HB_SCRIPT_TAI_LE = HB_TAG ('T','a','l','e'), /*4.0*/
297
+ HB_SCRIPT_UGARITIC = HB_TAG ('U','g','a','r'), /*4.0*/
298
+
299
+ HB_SCRIPT_BUGINESE = HB_TAG ('B','u','g','i'), /*4.1*/
300
+ HB_SCRIPT_COPTIC = HB_TAG ('C','o','p','t'), /*4.1*/
301
+ HB_SCRIPT_GLAGOLITIC = HB_TAG ('G','l','a','g'), /*4.1*/
302
+ HB_SCRIPT_KHAROSHTHI = HB_TAG ('K','h','a','r'), /*4.1*/
303
+ HB_SCRIPT_NEW_TAI_LUE = HB_TAG ('T','a','l','u'), /*4.1*/
304
+ HB_SCRIPT_OLD_PERSIAN = HB_TAG ('X','p','e','o'), /*4.1*/
305
+ HB_SCRIPT_SYLOTI_NAGRI = HB_TAG ('S','y','l','o'), /*4.1*/
306
+ HB_SCRIPT_TIFINAGH = HB_TAG ('T','f','n','g'), /*4.1*/
307
+
308
+ HB_SCRIPT_BALINESE = HB_TAG ('B','a','l','i'), /*5.0*/
309
+ HB_SCRIPT_CUNEIFORM = HB_TAG ('X','s','u','x'), /*5.0*/
310
+ HB_SCRIPT_NKO = HB_TAG ('N','k','o','o'), /*5.0*/
311
+ HB_SCRIPT_PHAGS_PA = HB_TAG ('P','h','a','g'), /*5.0*/
312
+ HB_SCRIPT_PHOENICIAN = HB_TAG ('P','h','n','x'), /*5.0*/
313
+
314
+ HB_SCRIPT_CARIAN = HB_TAG ('C','a','r','i'), /*5.1*/
315
+ HB_SCRIPT_CHAM = HB_TAG ('C','h','a','m'), /*5.1*/
316
+ HB_SCRIPT_KAYAH_LI = HB_TAG ('K','a','l','i'), /*5.1*/
317
+ HB_SCRIPT_LEPCHA = HB_TAG ('L','e','p','c'), /*5.1*/
318
+ HB_SCRIPT_LYCIAN = HB_TAG ('L','y','c','i'), /*5.1*/
319
+ HB_SCRIPT_LYDIAN = HB_TAG ('L','y','d','i'), /*5.1*/
320
+ HB_SCRIPT_OL_CHIKI = HB_TAG ('O','l','c','k'), /*5.1*/
321
+ HB_SCRIPT_REJANG = HB_TAG ('R','j','n','g'), /*5.1*/
322
+ HB_SCRIPT_SAURASHTRA = HB_TAG ('S','a','u','r'), /*5.1*/
323
+ HB_SCRIPT_SUNDANESE = HB_TAG ('S','u','n','d'), /*5.1*/
324
+ HB_SCRIPT_VAI = HB_TAG ('V','a','i','i'), /*5.1*/
325
+
326
+ HB_SCRIPT_AVESTAN = HB_TAG ('A','v','s','t'), /*5.2*/
327
+ HB_SCRIPT_BAMUM = HB_TAG ('B','a','m','u'), /*5.2*/
328
+ HB_SCRIPT_EGYPTIAN_HIEROGLYPHS = HB_TAG ('E','g','y','p'), /*5.2*/
329
+ HB_SCRIPT_IMPERIAL_ARAMAIC = HB_TAG ('A','r','m','i'), /*5.2*/
330
+ HB_SCRIPT_INSCRIPTIONAL_PAHLAVI = HB_TAG ('P','h','l','i'), /*5.2*/
331
+ HB_SCRIPT_INSCRIPTIONAL_PARTHIAN = HB_TAG ('P','r','t','i'), /*5.2*/
332
+ HB_SCRIPT_JAVANESE = HB_TAG ('J','a','v','a'), /*5.2*/
333
+ HB_SCRIPT_KAITHI = HB_TAG ('K','t','h','i'), /*5.2*/
334
+ HB_SCRIPT_LISU = HB_TAG ('L','i','s','u'), /*5.2*/
335
+ HB_SCRIPT_MEETEI_MAYEK = HB_TAG ('M','t','e','i'), /*5.2*/
336
+ HB_SCRIPT_OLD_SOUTH_ARABIAN = HB_TAG ('S','a','r','b'), /*5.2*/
337
+ HB_SCRIPT_OLD_TURKIC = HB_TAG ('O','r','k','h'), /*5.2*/
338
+ HB_SCRIPT_SAMARITAN = HB_TAG ('S','a','m','r'), /*5.2*/
339
+ HB_SCRIPT_TAI_THAM = HB_TAG ('L','a','n','a'), /*5.2*/
340
+ HB_SCRIPT_TAI_VIET = HB_TAG ('T','a','v','t'), /*5.2*/
341
+
342
+ HB_SCRIPT_BATAK = HB_TAG ('B','a','t','k'), /*6.0*/
343
+ HB_SCRIPT_BRAHMI = HB_TAG ('B','r','a','h'), /*6.0*/
344
+ HB_SCRIPT_MANDAIC = HB_TAG ('M','a','n','d'), /*6.0*/
345
+
346
+ HB_SCRIPT_CHAKMA = HB_TAG ('C','a','k','m'), /*6.1*/
347
+ HB_SCRIPT_MEROITIC_CURSIVE = HB_TAG ('M','e','r','c'), /*6.1*/
348
+ HB_SCRIPT_MEROITIC_HIEROGLYPHS = HB_TAG ('M','e','r','o'), /*6.1*/
349
+ HB_SCRIPT_MIAO = HB_TAG ('P','l','r','d'), /*6.1*/
350
+ HB_SCRIPT_SHARADA = HB_TAG ('S','h','r','d'), /*6.1*/
351
+ HB_SCRIPT_SORA_SOMPENG = HB_TAG ('S','o','r','a'), /*6.1*/
352
+ HB_SCRIPT_TAKRI = HB_TAG ('T','a','k','r'), /*6.1*/
353
+
354
+ /*
355
+ * Since: 0.9.30
356
+ */
357
+ HB_SCRIPT_BASSA_VAH = HB_TAG ('B','a','s','s'), /*7.0*/
358
+ HB_SCRIPT_CAUCASIAN_ALBANIAN = HB_TAG ('A','g','h','b'), /*7.0*/
359
+ HB_SCRIPT_DUPLOYAN = HB_TAG ('D','u','p','l'), /*7.0*/
360
+ HB_SCRIPT_ELBASAN = HB_TAG ('E','l','b','a'), /*7.0*/
361
+ HB_SCRIPT_GRANTHA = HB_TAG ('G','r','a','n'), /*7.0*/
362
+ HB_SCRIPT_KHOJKI = HB_TAG ('K','h','o','j'), /*7.0*/
363
+ HB_SCRIPT_KHUDAWADI = HB_TAG ('S','i','n','d'), /*7.0*/
364
+ HB_SCRIPT_LINEAR_A = HB_TAG ('L','i','n','a'), /*7.0*/
365
+ HB_SCRIPT_MAHAJANI = HB_TAG ('M','a','h','j'), /*7.0*/
366
+ HB_SCRIPT_MANICHAEAN = HB_TAG ('M','a','n','i'), /*7.0*/
367
+ HB_SCRIPT_MENDE_KIKAKUI = HB_TAG ('M','e','n','d'), /*7.0*/
368
+ HB_SCRIPT_MODI = HB_TAG ('M','o','d','i'), /*7.0*/
369
+ HB_SCRIPT_MRO = HB_TAG ('M','r','o','o'), /*7.0*/
370
+ HB_SCRIPT_NABATAEAN = HB_TAG ('N','b','a','t'), /*7.0*/
371
+ HB_SCRIPT_OLD_NORTH_ARABIAN = HB_TAG ('N','a','r','b'), /*7.0*/
372
+ HB_SCRIPT_OLD_PERMIC = HB_TAG ('P','e','r','m'), /*7.0*/
373
+ HB_SCRIPT_PAHAWH_HMONG = HB_TAG ('H','m','n','g'), /*7.0*/
374
+ HB_SCRIPT_PALMYRENE = HB_TAG ('P','a','l','m'), /*7.0*/
375
+ HB_SCRIPT_PAU_CIN_HAU = HB_TAG ('P','a','u','c'), /*7.0*/
376
+ HB_SCRIPT_PSALTER_PAHLAVI = HB_TAG ('P','h','l','p'), /*7.0*/
377
+ HB_SCRIPT_SIDDHAM = HB_TAG ('S','i','d','d'), /*7.0*/
378
+ HB_SCRIPT_TIRHUTA = HB_TAG ('T','i','r','h'), /*7.0*/
379
+ HB_SCRIPT_WARANG_CITI = HB_TAG ('W','a','r','a'), /*7.0*/
380
+
381
+ HB_SCRIPT_AHOM = HB_TAG ('A','h','o','m'), /*8.0*/
382
+ HB_SCRIPT_ANATOLIAN_HIEROGLYPHS = HB_TAG ('H','l','u','w'), /*8.0*/
383
+ HB_SCRIPT_HATRAN = HB_TAG ('H','a','t','r'), /*8.0*/
384
+ HB_SCRIPT_MULTANI = HB_TAG ('M','u','l','t'), /*8.0*/
385
+ HB_SCRIPT_OLD_HUNGARIAN = HB_TAG ('H','u','n','g'), /*8.0*/
386
+ HB_SCRIPT_SIGNWRITING = HB_TAG ('S','g','n','w'), /*8.0*/
387
+
388
+ /*
389
+ * Since 1.3.0
390
+ */
391
+ HB_SCRIPT_ADLAM = HB_TAG ('A','d','l','m'), /*9.0*/
392
+ HB_SCRIPT_BHAIKSUKI = HB_TAG ('B','h','k','s'), /*9.0*/
393
+ HB_SCRIPT_MARCHEN = HB_TAG ('M','a','r','c'), /*9.0*/
394
+ HB_SCRIPT_OSAGE = HB_TAG ('O','s','g','e'), /*9.0*/
395
+ HB_SCRIPT_TANGUT = HB_TAG ('T','a','n','g'), /*9.0*/
396
+ HB_SCRIPT_NEWA = HB_TAG ('N','e','w','a'), /*9.0*/
397
+
398
+ /*
399
+ * Since 1.6.0
400
+ */
401
+ HB_SCRIPT_MASARAM_GONDI = HB_TAG ('G','o','n','m'), /*10.0*/
402
+ HB_SCRIPT_NUSHU = HB_TAG ('N','s','h','u'), /*10.0*/
403
+ HB_SCRIPT_SOYOMBO = HB_TAG ('S','o','y','o'), /*10.0*/
404
+ HB_SCRIPT_ZANABAZAR_SQUARE = HB_TAG ('Z','a','n','b'), /*10.0*/
405
+
406
+ /*
407
+ * Since 1.8.0
408
+ */
409
+ HB_SCRIPT_DOGRA = HB_TAG ('D','o','g','r'), /*11.0*/
410
+ HB_SCRIPT_GUNJALA_GONDI = HB_TAG ('G','o','n','g'), /*11.0*/
411
+ HB_SCRIPT_HANIFI_ROHINGYA = HB_TAG ('R','o','h','g'), /*11.0*/
412
+ HB_SCRIPT_MAKASAR = HB_TAG ('M','a','k','a'), /*11.0*/
413
+ HB_SCRIPT_MEDEFAIDRIN = HB_TAG ('M','e','d','f'), /*11.0*/
414
+ HB_SCRIPT_OLD_SOGDIAN = HB_TAG ('S','o','g','o'), /*11.0*/
415
+ HB_SCRIPT_SOGDIAN = HB_TAG ('S','o','g','d'), /*11.0*/
416
+
417
+ /*
418
+ * Since 2.4.0
419
+ */
420
+ HB_SCRIPT_ELYMAIC = HB_TAG ('E','l','y','m'), /*12.0*/
421
+ HB_SCRIPT_NANDINAGARI = HB_TAG ('N','a','n','d'), /*12.0*/
422
+ HB_SCRIPT_NYIAKENG_PUACHUE_HMONG = HB_TAG ('H','m','n','p'), /*12.0*/
423
+ HB_SCRIPT_WANCHO = HB_TAG ('W','c','h','o'), /*12.0*/
424
+
425
+ /*
426
+ * Since 2.6.7
427
+ */
428
+ HB_SCRIPT_CHORASMIAN = HB_TAG ('C','h','r','s'), /*13.0*/
429
+ HB_SCRIPT_DIVES_AKURU = HB_TAG ('D','i','a','k'), /*13.0*/
430
+ HB_SCRIPT_KHITAN_SMALL_SCRIPT = HB_TAG ('K','i','t','s'), /*13.0*/
431
+ HB_SCRIPT_YEZIDI = HB_TAG ('Y','e','z','i'), /*13.0*/
432
+
433
+ /*
434
+ * Since 3.0.0
435
+ */
436
+ HB_SCRIPT_CYPRO_MINOAN = HB_TAG ('C','p','m','n'), /*14.0*/
437
+ HB_SCRIPT_OLD_UYGHUR = HB_TAG ('O','u','g','r'), /*14.0*/
438
+ HB_SCRIPT_TANGSA = HB_TAG ('T','n','s','a'), /*14.0*/
439
+ HB_SCRIPT_TOTO = HB_TAG ('T','o','t','o'), /*14.0*/
440
+ HB_SCRIPT_VITHKUQI = HB_TAG ('V','i','t','h'), /*14.0*/
441
+
442
+ /*
443
+ * Since 3.4.0
444
+ */
445
+ HB_SCRIPT_MATH = HB_TAG ('Z','m','t','h'),
446
+
447
+ /*
448
+ * Since 5.2.0
449
+ */
450
+ HB_SCRIPT_KAWI = HB_TAG ('K','a','w','i'), /*15.0*/
451
+ HB_SCRIPT_NAG_MUNDARI = HB_TAG ('N','a','g','m'), /*15.0*/
452
+
453
+ /*
454
+ * Since 10.0.0
455
+ */
456
+ HB_SCRIPT_GARAY = HB_TAG ('G','a','r','a'), /*16.0*/
457
+ HB_SCRIPT_GURUNG_KHEMA = HB_TAG ('G','u','k','h'), /*16.0*/
458
+ HB_SCRIPT_KIRAT_RAI = HB_TAG ('K','r','a','i'), /*16.0*/
459
+ HB_SCRIPT_OL_ONAL = HB_TAG ('O','n','a','o'), /*16.0*/
460
+ HB_SCRIPT_SUNUWAR = HB_TAG ('S','u','n','u'), /*16.0*/
461
+ HB_SCRIPT_TODHRI = HB_TAG ('T','o','d','r'), /*16.0*/
462
+ HB_SCRIPT_TULU_TIGALARI = HB_TAG ('T','u','t','g'), /*16.0*/
463
+
464
+ /* No script set. */
465
+ HB_SCRIPT_INVALID = HB_TAG_NONE,
466
+
467
+ /*< private >*/
468
+
469
+ /* Dummy values to ensure any hb_tag_t value can be passed/stored as hb_script_t
470
+ * without risking undefined behavior. We have two, for historical reasons.
471
+ * HB_TAG_MAX used to be unsigned, but that was invalid Ansi C, so was changed
472
+ * to _HB_SCRIPT_MAX_VALUE to be equal to HB_TAG_MAX_SIGNED as well.
473
+ *
474
+ * See this thread for technicalities:
475
+ *
476
+ * https://lists.freedesktop.org/archives/harfbuzz/2014-March/004150.html
477
+ */
478
+ _HB_SCRIPT_MAX_VALUE = HB_TAG_MAX_SIGNED, /*< skip >*/
479
+ _HB_SCRIPT_MAX_VALUE_SIGNED = HB_TAG_MAX_SIGNED /*< skip >*/
480
+
481
+ } hb_script_t;
482
+
483
+
484
+ #endif /* HB_SCRIPT_LIST_H */