jassub 1.7.11 → 1.7.13

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 (171) hide show
  1. package/LICENSE +22 -22
  2. package/README.md +251 -251
  3. package/dist/COPYRIGHT +951 -951
  4. package/dist/jassub-worker-modern.wasm +0 -0
  5. package/dist/jassub-worker.js +11 -11
  6. package/dist/jassub-worker.wasm +0 -0
  7. package/dist/jassub-worker.wasm.js +1 -1
  8. package/dist/jassub.es.js +1 -1
  9. package/dist/jassub.umd.js +1 -1
  10. package/dist/js/jassub-worker-modern.js +119 -1
  11. package/dist/js/jassub-worker-modern.wasm +0 -0
  12. package/dist/js/jassub-worker.js +122 -4
  13. package/dist/js/jassub-worker.wasm +0 -0
  14. package/dist/js/jassub-worker.wasm.js +26 -25
  15. package/dist/js/jassub.js +832 -832
  16. package/dist/libraries/bin/brotli.js +1 -0
  17. package/dist/libraries/include/ass/ass.h +812 -0
  18. package/dist/libraries/include/ass/ass_types.h +292 -0
  19. package/dist/libraries/include/brotli/decode.h +344 -0
  20. package/dist/libraries/include/brotli/encode.h +448 -0
  21. package/dist/libraries/include/brotli/port.h +288 -0
  22. package/dist/libraries/include/brotli/types.h +83 -0
  23. package/dist/libraries/include/expat.h +1064 -0
  24. package/dist/libraries/include/expat_config.h +115 -0
  25. package/dist/libraries/include/expat_external.h +165 -0
  26. package/dist/libraries/include/fontconfig/fcfreetype.h +59 -0
  27. package/dist/libraries/include/fontconfig/fcprivate.h +134 -0
  28. package/dist/libraries/include/fontconfig/fontconfig.h +1154 -0
  29. package/dist/libraries/include/freetype2/freetype/config/ftconfig.h +63 -0
  30. package/dist/libraries/include/freetype2/freetype/config/ftheader.h +824 -0
  31. package/dist/libraries/include/freetype2/freetype/config/ftmodule.h +20 -0
  32. package/dist/libraries/include/freetype2/freetype/config/ftoption.h +1011 -0
  33. package/dist/libraries/include/freetype2/freetype/config/ftstdlib.h +175 -0
  34. package/dist/libraries/include/freetype2/freetype/config/integer-types.h +245 -0
  35. package/dist/libraries/include/freetype2/freetype/config/mac-support.h +49 -0
  36. package/dist/libraries/include/freetype2/freetype/config/public-macros.h +120 -0
  37. package/dist/libraries/include/freetype2/freetype/freetype.h +4833 -0
  38. package/dist/libraries/include/freetype2/freetype/ftadvanc.h +188 -0
  39. package/dist/libraries/include/freetype2/freetype/ftbbox.h +101 -0
  40. package/dist/libraries/include/freetype2/freetype/ftbdf.h +212 -0
  41. package/dist/libraries/include/freetype2/freetype/ftbitmap.h +329 -0
  42. package/dist/libraries/include/freetype2/freetype/ftbzip2.h +102 -0
  43. package/dist/libraries/include/freetype2/freetype/ftcache.h +1087 -0
  44. package/dist/libraries/include/freetype2/freetype/ftchapters.h +147 -0
  45. package/dist/libraries/include/freetype2/freetype/ftcid.h +167 -0
  46. package/dist/libraries/include/freetype2/freetype/ftcolor.h +1609 -0
  47. package/dist/libraries/include/freetype2/freetype/ftdriver.h +1193 -0
  48. package/dist/libraries/include/freetype2/freetype/fterrdef.h +279 -0
  49. package/dist/libraries/include/freetype2/freetype/fterrors.h +296 -0
  50. package/dist/libraries/include/freetype2/freetype/ftfntfmt.h +93 -0
  51. package/dist/libraries/include/freetype2/freetype/ftgasp.h +143 -0
  52. package/dist/libraries/include/freetype2/freetype/ftglyph.h +664 -0
  53. package/dist/libraries/include/freetype2/freetype/ftgxval.h +354 -0
  54. package/dist/libraries/include/freetype2/freetype/ftgzip.h +151 -0
  55. package/dist/libraries/include/freetype2/freetype/ftimage.h +1276 -0
  56. package/dist/libraries/include/freetype2/freetype/ftincrem.h +348 -0
  57. package/dist/libraries/include/freetype2/freetype/ftlcdfil.h +323 -0
  58. package/dist/libraries/include/freetype2/freetype/ftlist.h +296 -0
  59. package/dist/libraries/include/freetype2/freetype/ftlogging.h +184 -0
  60. package/dist/libraries/include/freetype2/freetype/ftlzw.h +100 -0
  61. package/dist/libraries/include/freetype2/freetype/ftmac.h +289 -0
  62. package/dist/libraries/include/freetype2/freetype/ftmm.h +752 -0
  63. package/dist/libraries/include/freetype2/freetype/ftmodapi.h +806 -0
  64. package/dist/libraries/include/freetype2/freetype/ftmoderr.h +204 -0
  65. package/dist/libraries/include/freetype2/freetype/ftotval.h +206 -0
  66. package/dist/libraries/include/freetype2/freetype/ftoutln.h +586 -0
  67. package/dist/libraries/include/freetype2/freetype/ftparams.h +203 -0
  68. package/dist/libraries/include/freetype2/freetype/ftpfr.h +179 -0
  69. package/dist/libraries/include/freetype2/freetype/ftrender.h +244 -0
  70. package/dist/libraries/include/freetype2/freetype/ftsizes.h +159 -0
  71. package/dist/libraries/include/freetype2/freetype/ftsnames.h +272 -0
  72. package/dist/libraries/include/freetype2/freetype/ftstroke.h +773 -0
  73. package/dist/libraries/include/freetype2/freetype/ftsynth.h +83 -0
  74. package/dist/libraries/include/freetype2/freetype/ftsystem.h +352 -0
  75. package/dist/libraries/include/freetype2/freetype/fttrigon.h +350 -0
  76. package/dist/libraries/include/freetype2/freetype/fttypes.h +615 -0
  77. package/dist/libraries/include/freetype2/freetype/ftwinfnt.h +276 -0
  78. package/dist/libraries/include/freetype2/freetype/t1tables.h +773 -0
  79. package/dist/libraries/include/freetype2/freetype/ttnameid.h +1235 -0
  80. package/dist/libraries/include/freetype2/freetype/tttables.h +855 -0
  81. package/dist/libraries/include/freetype2/freetype/tttags.h +123 -0
  82. package/dist/libraries/include/freetype2/ft2build.h +42 -0
  83. package/dist/libraries/include/fribidi/fribidi-arabic.h +81 -0
  84. package/dist/libraries/include/fribidi/fribidi-begindecls.h +3 -0
  85. package/dist/libraries/include/fribidi/fribidi-bidi-types-list.h +96 -0
  86. package/dist/libraries/include/fribidi/fribidi-bidi-types.h +405 -0
  87. package/dist/libraries/include/fribidi/fribidi-bidi.h +142 -0
  88. package/dist/libraries/include/fribidi/fribidi-brackets.h +89 -0
  89. package/dist/libraries/include/fribidi/fribidi-char-sets-list.h +54 -0
  90. package/dist/libraries/include/fribidi/fribidi-char-sets.h +106 -0
  91. package/dist/libraries/include/fribidi/fribidi-common.h +158 -0
  92. package/dist/libraries/include/fribidi/fribidi-config.h +23 -0
  93. package/dist/libraries/include/fribidi/fribidi-deprecated.h +175 -0
  94. package/dist/libraries/include/fribidi/fribidi-enddecls.h +3 -0
  95. package/dist/libraries/include/fribidi/fribidi-flags.h +72 -0
  96. package/dist/libraries/include/fribidi/fribidi-joining-types-list.h +44 -0
  97. package/dist/libraries/include/fribidi/fribidi-joining-types.h +249 -0
  98. package/dist/libraries/include/fribidi/fribidi-joining.h +74 -0
  99. package/dist/libraries/include/fribidi/fribidi-mirroring.h +86 -0
  100. package/dist/libraries/include/fribidi/fribidi-shape.h +71 -0
  101. package/dist/libraries/include/fribidi/fribidi-types.h +79 -0
  102. package/dist/libraries/include/fribidi/fribidi-unicode-version.h +10 -0
  103. package/dist/libraries/include/fribidi/fribidi-unicode.h +105 -0
  104. package/dist/libraries/include/fribidi/fribidi.h +129 -0
  105. package/dist/libraries/include/harfbuzz/hb-aat-layout.h +795 -0
  106. package/dist/libraries/include/harfbuzz/hb-aat.h +38 -0
  107. package/dist/libraries/include/harfbuzz/hb-blob.h +160 -0
  108. package/dist/libraries/include/harfbuzz/hb-buffer.h +799 -0
  109. package/dist/libraries/include/harfbuzz/hb-common.h +902 -0
  110. package/dist/libraries/include/harfbuzz/hb-cplusplus.hh +221 -0
  111. package/dist/libraries/include/harfbuzz/hb-deprecated.h +251 -0
  112. package/dist/libraries/include/harfbuzz/hb-draw.h +325 -0
  113. package/dist/libraries/include/harfbuzz/hb-face.h +181 -0
  114. package/dist/libraries/include/harfbuzz/hb-font.h +1108 -0
  115. package/dist/libraries/include/harfbuzz/hb-ft.h +145 -0
  116. package/dist/libraries/include/harfbuzz/hb-map.h +124 -0
  117. package/dist/libraries/include/harfbuzz/hb-ot-color.h +146 -0
  118. package/dist/libraries/include/harfbuzz/hb-ot-deprecated.h +141 -0
  119. package/dist/libraries/include/harfbuzz/hb-ot-font.h +45 -0
  120. package/dist/libraries/include/harfbuzz/hb-ot-layout.h +503 -0
  121. package/dist/libraries/include/harfbuzz/hb-ot-math.h +333 -0
  122. package/dist/libraries/include/harfbuzz/hb-ot-meta.h +72 -0
  123. package/dist/libraries/include/harfbuzz/hb-ot-metrics.h +129 -0
  124. package/dist/libraries/include/harfbuzz/hb-ot-name.h +158 -0
  125. package/dist/libraries/include/harfbuzz/hb-ot-shape.h +53 -0
  126. package/dist/libraries/include/harfbuzz/hb-ot-var.h +191 -0
  127. package/dist/libraries/include/harfbuzz/hb-ot.h +49 -0
  128. package/dist/libraries/include/harfbuzz/hb-set.h +200 -0
  129. package/dist/libraries/include/harfbuzz/hb-shape-plan.h +122 -0
  130. package/dist/libraries/include/harfbuzz/hb-shape.h +62 -0
  131. package/dist/libraries/include/harfbuzz/hb-style.h +81 -0
  132. package/dist/libraries/include/harfbuzz/hb-subset-repacker.h +81 -0
  133. package/dist/libraries/include/harfbuzz/hb-subset.h +234 -0
  134. package/dist/libraries/include/harfbuzz/hb-unicode.h +643 -0
  135. package/dist/libraries/include/harfbuzz/hb-version.h +95 -0
  136. package/dist/libraries/include/harfbuzz/hb.h +50 -0
  137. package/dist/libraries/lib/cmake/expat-2.4.7/expat-config-version.cmake +70 -0
  138. package/dist/libraries/lib/cmake/expat-2.4.7/expat-config.cmake +99 -0
  139. package/dist/libraries/lib/cmake/expat-2.4.7/expat-noconfig.cmake +19 -0
  140. package/dist/libraries/lib/cmake/expat-2.4.7/expat.cmake +99 -0
  141. package/dist/libraries/lib/libass.a +0 -0
  142. package/dist/libraries/lib/libass.la +41 -0
  143. package/dist/libraries/lib/libbrotlicommon.a +0 -0
  144. package/dist/libraries/lib/libbrotlidec.a +0 -0
  145. package/dist/libraries/lib/libbrotlienc.a +0 -0
  146. package/dist/libraries/lib/libexpat.a +0 -0
  147. package/dist/libraries/lib/libfontconfig.a +0 -0
  148. package/dist/libraries/lib/libfontconfig.la +41 -0
  149. package/dist/libraries/lib/libfreetype.a +0 -0
  150. package/dist/libraries/lib/libfreetype.la +41 -0
  151. package/dist/libraries/lib/libfribidi.a +0 -0
  152. package/dist/libraries/lib/libfribidi.la +41 -0
  153. package/dist/libraries/lib/libharfbuzz-subset.a +0 -0
  154. package/dist/libraries/lib/libharfbuzz-subset.la +41 -0
  155. package/dist/libraries/lib/libharfbuzz.a +0 -0
  156. package/dist/libraries/lib/libharfbuzz.la +41 -0
  157. package/dist/libraries/lib/pkgconfig/expat.pc +11 -0
  158. package/dist/libraries/lib/pkgconfig/fontconfig.pc +18 -0
  159. package/dist/libraries/lib/pkgconfig/freetype2.pc +14 -0
  160. package/dist/libraries/lib/pkgconfig/fribidi.pc +13 -0
  161. package/dist/libraries/lib/pkgconfig/harfbuzz-subset.pc +12 -0
  162. package/dist/libraries/lib/pkgconfig/harfbuzz.pc +13 -0
  163. package/dist/libraries/lib/pkgconfig/libass.pc +13 -0
  164. package/dist/libraries/lib/pkgconfig/libbrotlicommon.pc +11 -0
  165. package/dist/libraries/lib/pkgconfig/libbrotlidec.pc +12 -0
  166. package/dist/libraries/lib/pkgconfig/libbrotlienc.pc +12 -0
  167. package/dist/libraries/share/aclocal/freetype2.m4 +194 -0
  168. package/dist/libraries/share/doc/expat/AUTHORS +10 -0
  169. package/dist/libraries/share/doc/expat/changelog +1161 -0
  170. package/index.d.ts +115 -115
  171. package/package.json +1 -1
@@ -0,0 +1,53 @@
1
+ /*
2
+ * Copyright © 2013 Red Hat, Inc.
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
+ * Red Hat Author(s): Behdad Esfahbod
25
+ */
26
+
27
+ #if !defined(HB_OT_H_IN) && !defined(HB_NO_SINGLE_HEADER_ERROR)
28
+ #error "Include <hb-ot.h> instead."
29
+ #endif
30
+
31
+ #ifndef HB_OT_SHAPE_H
32
+ #define HB_OT_SHAPE_H
33
+
34
+ #include "hb.h"
35
+
36
+ HB_BEGIN_DECLS
37
+
38
+ /* TODO port to shape-plan / set. */
39
+ HB_EXTERN void
40
+ hb_ot_shape_glyphs_closure (hb_font_t *font,
41
+ hb_buffer_t *buffer,
42
+ const hb_feature_t *features,
43
+ unsigned int num_features,
44
+ hb_set_t *glyphs);
45
+
46
+ HB_EXTERN void
47
+ hb_ot_shape_plan_collect_lookups (hb_shape_plan_t *shape_plan,
48
+ hb_tag_t table_tag,
49
+ hb_set_t *lookup_indexes /* OUT */);
50
+
51
+ HB_END_DECLS
52
+
53
+ #endif /* HB_OT_SHAPE_H */
@@ -0,0 +1,191 @@
1
+ /*
2
+ * Copyright © 2017 Google, Inc.
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
+ * Red Hat Author(s): Behdad Esfahbod
25
+ */
26
+
27
+ #if !defined(HB_OT_H_IN) && !defined(HB_NO_SINGLE_HEADER_ERROR)
28
+ #error "Include <hb-ot.h> instead."
29
+ #endif
30
+
31
+ #ifndef HB_OT_VAR_H
32
+ #define HB_OT_VAR_H
33
+
34
+ #include "hb.h"
35
+
36
+ HB_BEGIN_DECLS
37
+
38
+ /**
39
+ * HB_OT_TAG_VAR_AXIS_ITALIC:
40
+ *
41
+ * Registered tag for the roman/italic axis.
42
+ */
43
+ #define HB_OT_TAG_VAR_AXIS_ITALIC HB_TAG('i','t','a','l')
44
+
45
+ /**
46
+ * HB_OT_TAG_VAR_AXIS_OPTICAL_SIZE:
47
+ *
48
+ * Registered tag for the optical-size axis.
49
+ * <note>Note: The optical-size axis supersedes the OpenType `size` feature.</note>
50
+ */
51
+ #define HB_OT_TAG_VAR_AXIS_OPTICAL_SIZE HB_TAG('o','p','s','z')
52
+
53
+ /**
54
+ * HB_OT_TAG_VAR_AXIS_SLANT:
55
+ *
56
+ * Registered tag for the slant axis
57
+ */
58
+ #define HB_OT_TAG_VAR_AXIS_SLANT HB_TAG('s','l','n','t')
59
+
60
+ /**
61
+ * HB_OT_TAG_VAR_AXIS_WIDTH:
62
+ *
63
+ * Registered tag for the width axis.
64
+ */
65
+ #define HB_OT_TAG_VAR_AXIS_WIDTH HB_TAG('w','d','t','h')
66
+
67
+ /**
68
+ * HB_OT_TAG_VAR_AXIS_WEIGHT:
69
+ *
70
+ * Registered tag for the weight axis.
71
+ */
72
+ #define HB_OT_TAG_VAR_AXIS_WEIGHT HB_TAG('w','g','h','t')
73
+
74
+
75
+ /*
76
+ * fvar / avar
77
+ */
78
+
79
+ HB_EXTERN hb_bool_t
80
+ hb_ot_var_has_data (hb_face_t *face);
81
+
82
+
83
+ /*
84
+ * Variation axes.
85
+ */
86
+
87
+
88
+ HB_EXTERN unsigned int
89
+ hb_ot_var_get_axis_count (hb_face_t *face);
90
+
91
+ /**
92
+ * hb_ot_var_axis_flags_t:
93
+ * @HB_OT_VAR_AXIS_FLAG_HIDDEN: The axis should not be exposed directly in user interfaces.
94
+ *
95
+ * Flags for #hb_ot_var_axis_info_t.
96
+ *
97
+ * Since: 2.2.0
98
+ */
99
+ typedef enum { /*< flags >*/
100
+ HB_OT_VAR_AXIS_FLAG_HIDDEN = 0x00000001u,
101
+
102
+ /*< private >*/
103
+ _HB_OT_VAR_AXIS_FLAG_MAX_VALUE= HB_TAG_MAX_SIGNED /*< skip >*/
104
+ } hb_ot_var_axis_flags_t;
105
+
106
+ /**
107
+ * hb_ot_var_axis_info_t:
108
+ * @axis_index: Index of the axis in the variation-axis array
109
+ * @tag: The #hb_tag_t tag identifying the design variation of the axis
110
+ * @name_id: The `name` table Name ID that provides display names for the axis
111
+ * @flags: The #hb_ot_var_axis_flags_t flags for the axis
112
+ * @min_value: The minimum value on the variation axis that the font covers
113
+ * @default_value: The position on the variation axis corresponding to the font's defaults
114
+ * @max_value: The maximum value on the variation axis that the font covers
115
+ *
116
+ * Data type for holding variation-axis values.
117
+ *
118
+ * The minimum, default, and maximum values are in un-normalized, user scales.
119
+ *
120
+ * <note>Note: at present, the only flag defined for @flags is
121
+ * #HB_OT_VAR_AXIS_FLAG_HIDDEN.</note>
122
+ *
123
+ * Since: 2.2.0
124
+ */
125
+ typedef struct hb_ot_var_axis_info_t {
126
+ unsigned int axis_index;
127
+ hb_tag_t tag;
128
+ hb_ot_name_id_t name_id;
129
+ hb_ot_var_axis_flags_t flags;
130
+ float min_value;
131
+ float default_value;
132
+ float max_value;
133
+ /*< private >*/
134
+ unsigned int reserved;
135
+ } hb_ot_var_axis_info_t;
136
+
137
+ HB_EXTERN unsigned int
138
+ hb_ot_var_get_axis_infos (hb_face_t *face,
139
+ unsigned int start_offset,
140
+ unsigned int *axes_count /* IN/OUT */,
141
+ hb_ot_var_axis_info_t *axes_array /* OUT */);
142
+
143
+ HB_EXTERN hb_bool_t
144
+ hb_ot_var_find_axis_info (hb_face_t *face,
145
+ hb_tag_t axis_tag,
146
+ hb_ot_var_axis_info_t *axis_info);
147
+
148
+
149
+ /*
150
+ * Named instances.
151
+ */
152
+
153
+ HB_EXTERN unsigned int
154
+ hb_ot_var_get_named_instance_count (hb_face_t *face);
155
+
156
+ HB_EXTERN hb_ot_name_id_t
157
+ hb_ot_var_named_instance_get_subfamily_name_id (hb_face_t *face,
158
+ unsigned int instance_index);
159
+
160
+ HB_EXTERN hb_ot_name_id_t
161
+ hb_ot_var_named_instance_get_postscript_name_id (hb_face_t *face,
162
+ unsigned int instance_index);
163
+
164
+ HB_EXTERN unsigned int
165
+ hb_ot_var_named_instance_get_design_coords (hb_face_t *face,
166
+ unsigned int instance_index,
167
+ unsigned int *coords_length, /* IN/OUT */
168
+ float *coords /* OUT */);
169
+
170
+
171
+ /*
172
+ * Conversions.
173
+ */
174
+
175
+ HB_EXTERN void
176
+ hb_ot_var_normalize_variations (hb_face_t *face,
177
+ const hb_variation_t *variations, /* IN */
178
+ unsigned int variations_length,
179
+ int *coords, /* OUT */
180
+ unsigned int coords_length);
181
+
182
+ HB_EXTERN void
183
+ hb_ot_var_normalize_coords (hb_face_t *face,
184
+ unsigned int coords_length,
185
+ const float *design_coords, /* IN */
186
+ int *normalized_coords /* OUT */);
187
+
188
+
189
+ HB_END_DECLS
190
+
191
+ #endif /* HB_OT_VAR_H */
@@ -0,0 +1,49 @@
1
+ /*
2
+ * Copyright © 2009 Red Hat, Inc.
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
+ * Red Hat Author(s): Behdad Esfahbod
25
+ */
26
+
27
+ #ifndef HB_OT_H
28
+ #define HB_OT_H
29
+ #define HB_OT_H_IN
30
+
31
+ #include "hb.h"
32
+
33
+ #include "hb-ot-color.h"
34
+ #include "hb-ot-deprecated.h"
35
+ #include "hb-ot-font.h"
36
+ #include "hb-ot-layout.h"
37
+ #include "hb-ot-math.h"
38
+ #include "hb-ot-meta.h"
39
+ #include "hb-ot-metrics.h"
40
+ #include "hb-ot-name.h"
41
+ #include "hb-ot-shape.h"
42
+ #include "hb-ot-var.h"
43
+
44
+ HB_BEGIN_DECLS
45
+
46
+ HB_END_DECLS
47
+
48
+ #undef HB_OT_H_IN
49
+ #endif /* HB_OT_H */
@@ -0,0 +1,200 @@
1
+ /*
2
+ * Copyright © 2012 Google, Inc.
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
+ * Google Author(s): Behdad Esfahbod
25
+ */
26
+
27
+ #if !defined(HB_H_IN) && !defined(HB_NO_SINGLE_HEADER_ERROR)
28
+ #error "Include <hb.h> instead."
29
+ #endif
30
+
31
+ #ifndef HB_SET_H
32
+ #define HB_SET_H
33
+
34
+ #include "hb-common.h"
35
+
36
+ HB_BEGIN_DECLS
37
+
38
+
39
+ /**
40
+ * HB_SET_VALUE_INVALID:
41
+ *
42
+ * Unset #hb_set_t value.
43
+ *
44
+ * Since: 0.9.21
45
+ */
46
+ #define HB_SET_VALUE_INVALID ((hb_codepoint_t) -1)
47
+
48
+ /**
49
+ * hb_set_t:
50
+ *
51
+ * Data type for holding a set of integers. #hb_set_t's are
52
+ * used to gather and contain glyph IDs, Unicode code
53
+ * points, and various other collections of discrete
54
+ * values.
55
+ *
56
+ **/
57
+ typedef struct hb_set_t hb_set_t;
58
+
59
+
60
+ HB_EXTERN hb_set_t *
61
+ hb_set_create (void);
62
+
63
+ HB_EXTERN hb_set_t *
64
+ hb_set_get_empty (void);
65
+
66
+ HB_EXTERN hb_set_t *
67
+ hb_set_reference (hb_set_t *set);
68
+
69
+ HB_EXTERN void
70
+ hb_set_destroy (hb_set_t *set);
71
+
72
+ HB_EXTERN hb_bool_t
73
+ hb_set_set_user_data (hb_set_t *set,
74
+ hb_user_data_key_t *key,
75
+ void * data,
76
+ hb_destroy_func_t destroy,
77
+ hb_bool_t replace);
78
+
79
+ HB_EXTERN void *
80
+ hb_set_get_user_data (const hb_set_t *set,
81
+ hb_user_data_key_t *key);
82
+
83
+
84
+ /* Returns false if allocation has failed before */
85
+ HB_EXTERN hb_bool_t
86
+ hb_set_allocation_successful (const hb_set_t *set);
87
+
88
+ HB_EXTERN hb_set_t *
89
+ hb_set_copy (const hb_set_t *set);
90
+
91
+ HB_EXTERN void
92
+ hb_set_clear (hb_set_t *set);
93
+
94
+ HB_EXTERN hb_bool_t
95
+ hb_set_is_empty (const hb_set_t *set);
96
+
97
+ HB_EXTERN void
98
+ hb_set_invert (hb_set_t *set);
99
+
100
+ HB_EXTERN hb_bool_t
101
+ hb_set_has (const hb_set_t *set,
102
+ hb_codepoint_t codepoint);
103
+
104
+ HB_EXTERN void
105
+ hb_set_add (hb_set_t *set,
106
+ hb_codepoint_t codepoint);
107
+
108
+ HB_EXTERN void
109
+ hb_set_add_range (hb_set_t *set,
110
+ hb_codepoint_t first,
111
+ hb_codepoint_t last);
112
+
113
+ HB_EXTERN void
114
+ hb_set_add_sorted_array (hb_set_t *set,
115
+ const hb_codepoint_t *sorted_codepoints,
116
+ unsigned int num_codepoints);
117
+
118
+ HB_EXTERN void
119
+ hb_set_del (hb_set_t *set,
120
+ hb_codepoint_t codepoint);
121
+
122
+ HB_EXTERN void
123
+ hb_set_del_range (hb_set_t *set,
124
+ hb_codepoint_t first,
125
+ hb_codepoint_t last);
126
+
127
+ HB_EXTERN hb_bool_t
128
+ hb_set_is_equal (const hb_set_t *set,
129
+ const hb_set_t *other);
130
+
131
+ HB_EXTERN unsigned int
132
+ hb_set_hash (const hb_set_t *set);
133
+
134
+ HB_EXTERN hb_bool_t
135
+ hb_set_is_subset (const hb_set_t *set,
136
+ const hb_set_t *larger_set);
137
+
138
+ HB_EXTERN void
139
+ hb_set_set (hb_set_t *set,
140
+ const hb_set_t *other);
141
+
142
+ HB_EXTERN void
143
+ hb_set_union (hb_set_t *set,
144
+ const hb_set_t *other);
145
+
146
+ HB_EXTERN void
147
+ hb_set_intersect (hb_set_t *set,
148
+ const hb_set_t *other);
149
+
150
+ HB_EXTERN void
151
+ hb_set_subtract (hb_set_t *set,
152
+ const hb_set_t *other);
153
+
154
+ HB_EXTERN void
155
+ hb_set_symmetric_difference (hb_set_t *set,
156
+ const hb_set_t *other);
157
+
158
+ HB_EXTERN unsigned int
159
+ hb_set_get_population (const hb_set_t *set);
160
+
161
+ /* Returns HB_SET_VALUE_INVALID if set empty. */
162
+ HB_EXTERN hb_codepoint_t
163
+ hb_set_get_min (const hb_set_t *set);
164
+
165
+ /* Returns HB_SET_VALUE_INVALID if set empty. */
166
+ HB_EXTERN hb_codepoint_t
167
+ hb_set_get_max (const hb_set_t *set);
168
+
169
+ /* Pass HB_SET_VALUE_INVALID in to get started. */
170
+ HB_EXTERN hb_bool_t
171
+ hb_set_next (const hb_set_t *set,
172
+ hb_codepoint_t *codepoint);
173
+
174
+ /* Pass HB_SET_VALUE_INVALID in to get started. */
175
+ HB_EXTERN hb_bool_t
176
+ hb_set_previous (const hb_set_t *set,
177
+ hb_codepoint_t *codepoint);
178
+
179
+ /* Pass HB_SET_VALUE_INVALID for first and last to get started. */
180
+ HB_EXTERN hb_bool_t
181
+ hb_set_next_range (const hb_set_t *set,
182
+ hb_codepoint_t *first,
183
+ hb_codepoint_t *last);
184
+
185
+ /* Pass HB_SET_VALUE_INVALID for first and last to get started. */
186
+ HB_EXTERN hb_bool_t
187
+ hb_set_previous_range (const hb_set_t *set,
188
+ hb_codepoint_t *first,
189
+ hb_codepoint_t *last);
190
+
191
+ /* Pass HB_SET_VALUE_INVALID in to get started. */
192
+ HB_EXTERN unsigned int
193
+ hb_set_next_many (const hb_set_t *set,
194
+ hb_codepoint_t codepoint,
195
+ hb_codepoint_t *out,
196
+ unsigned int size);
197
+
198
+ HB_END_DECLS
199
+
200
+ #endif /* HB_SET_H */
@@ -0,0 +1,122 @@
1
+ /*
2
+ * Copyright © 2012 Google, Inc.
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
+ * Google Author(s): Behdad Esfahbod
25
+ */
26
+
27
+ #if !defined(HB_H_IN) && !defined(HB_NO_SINGLE_HEADER_ERROR)
28
+ #error "Include <hb.h> instead."
29
+ #endif
30
+
31
+ #ifndef HB_SHAPE_PLAN_H
32
+ #define HB_SHAPE_PLAN_H
33
+
34
+ #include "hb-common.h"
35
+ #include "hb-font.h"
36
+
37
+ HB_BEGIN_DECLS
38
+
39
+ /**
40
+ * hb_shape_plan_t:
41
+ *
42
+ * Data type for holding a shaping plan.
43
+ *
44
+ * Shape plans contain information about how HarfBuzz will shape a
45
+ * particular text segment, based on the segment's properties and the
46
+ * capabilities in the font face in use.
47
+ *
48
+ * Shape plans can be queried about how shaping will perform, given a set
49
+ * of specific input parameters (script, language, direction, features,
50
+ * etc.).
51
+ *
52
+ **/
53
+ typedef struct hb_shape_plan_t hb_shape_plan_t;
54
+
55
+ HB_EXTERN hb_shape_plan_t *
56
+ hb_shape_plan_create (hb_face_t *face,
57
+ const hb_segment_properties_t *props,
58
+ const hb_feature_t *user_features,
59
+ unsigned int num_user_features,
60
+ const char * const *shaper_list);
61
+
62
+ HB_EXTERN hb_shape_plan_t *
63
+ hb_shape_plan_create_cached (hb_face_t *face,
64
+ const hb_segment_properties_t *props,
65
+ const hb_feature_t *user_features,
66
+ unsigned int num_user_features,
67
+ const char * const *shaper_list);
68
+
69
+ HB_EXTERN hb_shape_plan_t *
70
+ hb_shape_plan_create2 (hb_face_t *face,
71
+ const hb_segment_properties_t *props,
72
+ const hb_feature_t *user_features,
73
+ unsigned int num_user_features,
74
+ const int *coords,
75
+ unsigned int num_coords,
76
+ const char * const *shaper_list);
77
+
78
+ HB_EXTERN hb_shape_plan_t *
79
+ hb_shape_plan_create_cached2 (hb_face_t *face,
80
+ const hb_segment_properties_t *props,
81
+ const hb_feature_t *user_features,
82
+ unsigned int num_user_features,
83
+ const int *coords,
84
+ unsigned int num_coords,
85
+ const char * const *shaper_list);
86
+
87
+
88
+ HB_EXTERN hb_shape_plan_t *
89
+ hb_shape_plan_get_empty (void);
90
+
91
+ HB_EXTERN hb_shape_plan_t *
92
+ hb_shape_plan_reference (hb_shape_plan_t *shape_plan);
93
+
94
+ HB_EXTERN void
95
+ hb_shape_plan_destroy (hb_shape_plan_t *shape_plan);
96
+
97
+ HB_EXTERN hb_bool_t
98
+ hb_shape_plan_set_user_data (hb_shape_plan_t *shape_plan,
99
+ hb_user_data_key_t *key,
100
+ void * data,
101
+ hb_destroy_func_t destroy,
102
+ hb_bool_t replace);
103
+
104
+ HB_EXTERN void *
105
+ hb_shape_plan_get_user_data (const hb_shape_plan_t *shape_plan,
106
+ hb_user_data_key_t *key);
107
+
108
+
109
+ HB_EXTERN hb_bool_t
110
+ hb_shape_plan_execute (hb_shape_plan_t *shape_plan,
111
+ hb_font_t *font,
112
+ hb_buffer_t *buffer,
113
+ const hb_feature_t *features,
114
+ unsigned int num_features);
115
+
116
+ HB_EXTERN const char *
117
+ hb_shape_plan_get_shaper (hb_shape_plan_t *shape_plan);
118
+
119
+
120
+ HB_END_DECLS
121
+
122
+ #endif /* HB_SHAPE_PLAN_H */
@@ -0,0 +1,62 @@
1
+ /*
2
+ * Copyright © 2009 Red Hat, Inc.
3
+ * Copyright © 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_SHAPE_H
34
+ #define HB_SHAPE_H
35
+
36
+ #include "hb-common.h"
37
+ #include "hb-buffer.h"
38
+ #include "hb-font.h"
39
+
40
+ HB_BEGIN_DECLS
41
+
42
+
43
+ HB_EXTERN void
44
+ hb_shape (hb_font_t *font,
45
+ hb_buffer_t *buffer,
46
+ const hb_feature_t *features,
47
+ unsigned int num_features);
48
+
49
+ HB_EXTERN hb_bool_t
50
+ hb_shape_full (hb_font_t *font,
51
+ hb_buffer_t *buffer,
52
+ const hb_feature_t *features,
53
+ unsigned int num_features,
54
+ const char * const *shaper_list);
55
+
56
+ HB_EXTERN const char **
57
+ hb_shape_list_shapers (void);
58
+
59
+
60
+ HB_END_DECLS
61
+
62
+ #endif /* HB_SHAPE_H */