jassub 1.7.11 → 1.7.12

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 (166) hide show
  1. package/LICENSE +22 -22
  2. package/README.md +251 -251
  3. package/dist/COPYRIGHT +951 -951
  4. package/dist/jassub-worker.wasm.js +1 -1
  5. package/dist/jassub.es.js +1 -1
  6. package/dist/jassub.umd.js +1 -1
  7. package/dist/js/jassub-worker.js +4 -4
  8. package/dist/js/jassub-worker.wasm +0 -0
  9. package/dist/js/jassub-worker.wasm.js +26 -25
  10. package/dist/js/jassub.js +832 -832
  11. package/dist/libraries/bin/brotli.js +1 -0
  12. package/dist/libraries/include/ass/ass.h +812 -0
  13. package/dist/libraries/include/ass/ass_types.h +292 -0
  14. package/dist/libraries/include/brotli/decode.h +344 -0
  15. package/dist/libraries/include/brotli/encode.h +448 -0
  16. package/dist/libraries/include/brotli/port.h +288 -0
  17. package/dist/libraries/include/brotli/types.h +83 -0
  18. package/dist/libraries/include/expat.h +1064 -0
  19. package/dist/libraries/include/expat_config.h +115 -0
  20. package/dist/libraries/include/expat_external.h +165 -0
  21. package/dist/libraries/include/fontconfig/fcfreetype.h +59 -0
  22. package/dist/libraries/include/fontconfig/fcprivate.h +134 -0
  23. package/dist/libraries/include/fontconfig/fontconfig.h +1154 -0
  24. package/dist/libraries/include/freetype2/freetype/config/ftconfig.h +63 -0
  25. package/dist/libraries/include/freetype2/freetype/config/ftheader.h +824 -0
  26. package/dist/libraries/include/freetype2/freetype/config/ftmodule.h +20 -0
  27. package/dist/libraries/include/freetype2/freetype/config/ftoption.h +1011 -0
  28. package/dist/libraries/include/freetype2/freetype/config/ftstdlib.h +175 -0
  29. package/dist/libraries/include/freetype2/freetype/config/integer-types.h +245 -0
  30. package/dist/libraries/include/freetype2/freetype/config/mac-support.h +49 -0
  31. package/dist/libraries/include/freetype2/freetype/config/public-macros.h +120 -0
  32. package/dist/libraries/include/freetype2/freetype/freetype.h +4833 -0
  33. package/dist/libraries/include/freetype2/freetype/ftadvanc.h +188 -0
  34. package/dist/libraries/include/freetype2/freetype/ftbbox.h +101 -0
  35. package/dist/libraries/include/freetype2/freetype/ftbdf.h +212 -0
  36. package/dist/libraries/include/freetype2/freetype/ftbitmap.h +329 -0
  37. package/dist/libraries/include/freetype2/freetype/ftbzip2.h +102 -0
  38. package/dist/libraries/include/freetype2/freetype/ftcache.h +1087 -0
  39. package/dist/libraries/include/freetype2/freetype/ftchapters.h +147 -0
  40. package/dist/libraries/include/freetype2/freetype/ftcid.h +167 -0
  41. package/dist/libraries/include/freetype2/freetype/ftcolor.h +1609 -0
  42. package/dist/libraries/include/freetype2/freetype/ftdriver.h +1193 -0
  43. package/dist/libraries/include/freetype2/freetype/fterrdef.h +279 -0
  44. package/dist/libraries/include/freetype2/freetype/fterrors.h +296 -0
  45. package/dist/libraries/include/freetype2/freetype/ftfntfmt.h +93 -0
  46. package/dist/libraries/include/freetype2/freetype/ftgasp.h +143 -0
  47. package/dist/libraries/include/freetype2/freetype/ftglyph.h +664 -0
  48. package/dist/libraries/include/freetype2/freetype/ftgxval.h +354 -0
  49. package/dist/libraries/include/freetype2/freetype/ftgzip.h +151 -0
  50. package/dist/libraries/include/freetype2/freetype/ftimage.h +1276 -0
  51. package/dist/libraries/include/freetype2/freetype/ftincrem.h +348 -0
  52. package/dist/libraries/include/freetype2/freetype/ftlcdfil.h +323 -0
  53. package/dist/libraries/include/freetype2/freetype/ftlist.h +296 -0
  54. package/dist/libraries/include/freetype2/freetype/ftlogging.h +184 -0
  55. package/dist/libraries/include/freetype2/freetype/ftlzw.h +100 -0
  56. package/dist/libraries/include/freetype2/freetype/ftmac.h +289 -0
  57. package/dist/libraries/include/freetype2/freetype/ftmm.h +752 -0
  58. package/dist/libraries/include/freetype2/freetype/ftmodapi.h +806 -0
  59. package/dist/libraries/include/freetype2/freetype/ftmoderr.h +204 -0
  60. package/dist/libraries/include/freetype2/freetype/ftotval.h +206 -0
  61. package/dist/libraries/include/freetype2/freetype/ftoutln.h +586 -0
  62. package/dist/libraries/include/freetype2/freetype/ftparams.h +203 -0
  63. package/dist/libraries/include/freetype2/freetype/ftpfr.h +179 -0
  64. package/dist/libraries/include/freetype2/freetype/ftrender.h +244 -0
  65. package/dist/libraries/include/freetype2/freetype/ftsizes.h +159 -0
  66. package/dist/libraries/include/freetype2/freetype/ftsnames.h +272 -0
  67. package/dist/libraries/include/freetype2/freetype/ftstroke.h +773 -0
  68. package/dist/libraries/include/freetype2/freetype/ftsynth.h +83 -0
  69. package/dist/libraries/include/freetype2/freetype/ftsystem.h +352 -0
  70. package/dist/libraries/include/freetype2/freetype/fttrigon.h +350 -0
  71. package/dist/libraries/include/freetype2/freetype/fttypes.h +615 -0
  72. package/dist/libraries/include/freetype2/freetype/ftwinfnt.h +276 -0
  73. package/dist/libraries/include/freetype2/freetype/t1tables.h +773 -0
  74. package/dist/libraries/include/freetype2/freetype/ttnameid.h +1235 -0
  75. package/dist/libraries/include/freetype2/freetype/tttables.h +855 -0
  76. package/dist/libraries/include/freetype2/freetype/tttags.h +123 -0
  77. package/dist/libraries/include/freetype2/ft2build.h +42 -0
  78. package/dist/libraries/include/fribidi/fribidi-arabic.h +81 -0
  79. package/dist/libraries/include/fribidi/fribidi-begindecls.h +3 -0
  80. package/dist/libraries/include/fribidi/fribidi-bidi-types-list.h +96 -0
  81. package/dist/libraries/include/fribidi/fribidi-bidi-types.h +405 -0
  82. package/dist/libraries/include/fribidi/fribidi-bidi.h +142 -0
  83. package/dist/libraries/include/fribidi/fribidi-brackets.h +89 -0
  84. package/dist/libraries/include/fribidi/fribidi-char-sets-list.h +54 -0
  85. package/dist/libraries/include/fribidi/fribidi-char-sets.h +106 -0
  86. package/dist/libraries/include/fribidi/fribidi-common.h +158 -0
  87. package/dist/libraries/include/fribidi/fribidi-config.h +23 -0
  88. package/dist/libraries/include/fribidi/fribidi-deprecated.h +175 -0
  89. package/dist/libraries/include/fribidi/fribidi-enddecls.h +3 -0
  90. package/dist/libraries/include/fribidi/fribidi-flags.h +72 -0
  91. package/dist/libraries/include/fribidi/fribidi-joining-types-list.h +44 -0
  92. package/dist/libraries/include/fribidi/fribidi-joining-types.h +249 -0
  93. package/dist/libraries/include/fribidi/fribidi-joining.h +74 -0
  94. package/dist/libraries/include/fribidi/fribidi-mirroring.h +86 -0
  95. package/dist/libraries/include/fribidi/fribidi-shape.h +71 -0
  96. package/dist/libraries/include/fribidi/fribidi-types.h +79 -0
  97. package/dist/libraries/include/fribidi/fribidi-unicode-version.h +10 -0
  98. package/dist/libraries/include/fribidi/fribidi-unicode.h +105 -0
  99. package/dist/libraries/include/fribidi/fribidi.h +129 -0
  100. package/dist/libraries/include/harfbuzz/hb-aat-layout.h +795 -0
  101. package/dist/libraries/include/harfbuzz/hb-aat.h +38 -0
  102. package/dist/libraries/include/harfbuzz/hb-blob.h +160 -0
  103. package/dist/libraries/include/harfbuzz/hb-buffer.h +799 -0
  104. package/dist/libraries/include/harfbuzz/hb-common.h +902 -0
  105. package/dist/libraries/include/harfbuzz/hb-cplusplus.hh +221 -0
  106. package/dist/libraries/include/harfbuzz/hb-deprecated.h +251 -0
  107. package/dist/libraries/include/harfbuzz/hb-draw.h +325 -0
  108. package/dist/libraries/include/harfbuzz/hb-face.h +181 -0
  109. package/dist/libraries/include/harfbuzz/hb-font.h +1108 -0
  110. package/dist/libraries/include/harfbuzz/hb-ft.h +145 -0
  111. package/dist/libraries/include/harfbuzz/hb-map.h +124 -0
  112. package/dist/libraries/include/harfbuzz/hb-ot-color.h +146 -0
  113. package/dist/libraries/include/harfbuzz/hb-ot-deprecated.h +141 -0
  114. package/dist/libraries/include/harfbuzz/hb-ot-font.h +45 -0
  115. package/dist/libraries/include/harfbuzz/hb-ot-layout.h +503 -0
  116. package/dist/libraries/include/harfbuzz/hb-ot-math.h +333 -0
  117. package/dist/libraries/include/harfbuzz/hb-ot-meta.h +72 -0
  118. package/dist/libraries/include/harfbuzz/hb-ot-metrics.h +129 -0
  119. package/dist/libraries/include/harfbuzz/hb-ot-name.h +158 -0
  120. package/dist/libraries/include/harfbuzz/hb-ot-shape.h +53 -0
  121. package/dist/libraries/include/harfbuzz/hb-ot-var.h +191 -0
  122. package/dist/libraries/include/harfbuzz/hb-ot.h +49 -0
  123. package/dist/libraries/include/harfbuzz/hb-set.h +200 -0
  124. package/dist/libraries/include/harfbuzz/hb-shape-plan.h +122 -0
  125. package/dist/libraries/include/harfbuzz/hb-shape.h +62 -0
  126. package/dist/libraries/include/harfbuzz/hb-style.h +81 -0
  127. package/dist/libraries/include/harfbuzz/hb-subset-repacker.h +81 -0
  128. package/dist/libraries/include/harfbuzz/hb-subset.h +234 -0
  129. package/dist/libraries/include/harfbuzz/hb-unicode.h +643 -0
  130. package/dist/libraries/include/harfbuzz/hb-version.h +95 -0
  131. package/dist/libraries/include/harfbuzz/hb.h +50 -0
  132. package/dist/libraries/lib/cmake/expat-2.4.7/expat-config-version.cmake +70 -0
  133. package/dist/libraries/lib/cmake/expat-2.4.7/expat-config.cmake +99 -0
  134. package/dist/libraries/lib/cmake/expat-2.4.7/expat-noconfig.cmake +19 -0
  135. package/dist/libraries/lib/cmake/expat-2.4.7/expat.cmake +99 -0
  136. package/dist/libraries/lib/libass.a +0 -0
  137. package/dist/libraries/lib/libass.la +41 -0
  138. package/dist/libraries/lib/libbrotlicommon.a +0 -0
  139. package/dist/libraries/lib/libbrotlidec.a +0 -0
  140. package/dist/libraries/lib/libbrotlienc.a +0 -0
  141. package/dist/libraries/lib/libexpat.a +0 -0
  142. package/dist/libraries/lib/libfontconfig.a +0 -0
  143. package/dist/libraries/lib/libfontconfig.la +41 -0
  144. package/dist/libraries/lib/libfreetype.a +0 -0
  145. package/dist/libraries/lib/libfreetype.la +41 -0
  146. package/dist/libraries/lib/libfribidi.a +0 -0
  147. package/dist/libraries/lib/libfribidi.la +41 -0
  148. package/dist/libraries/lib/libharfbuzz-subset.a +0 -0
  149. package/dist/libraries/lib/libharfbuzz-subset.la +41 -0
  150. package/dist/libraries/lib/libharfbuzz.a +0 -0
  151. package/dist/libraries/lib/libharfbuzz.la +41 -0
  152. package/dist/libraries/lib/pkgconfig/expat.pc +11 -0
  153. package/dist/libraries/lib/pkgconfig/fontconfig.pc +18 -0
  154. package/dist/libraries/lib/pkgconfig/freetype2.pc +14 -0
  155. package/dist/libraries/lib/pkgconfig/fribidi.pc +13 -0
  156. package/dist/libraries/lib/pkgconfig/harfbuzz-subset.pc +12 -0
  157. package/dist/libraries/lib/pkgconfig/harfbuzz.pc +13 -0
  158. package/dist/libraries/lib/pkgconfig/libass.pc +13 -0
  159. package/dist/libraries/lib/pkgconfig/libbrotlicommon.pc +11 -0
  160. package/dist/libraries/lib/pkgconfig/libbrotlidec.pc +12 -0
  161. package/dist/libraries/lib/pkgconfig/libbrotlienc.pc +12 -0
  162. package/dist/libraries/share/aclocal/freetype2.m4 +194 -0
  163. package/dist/libraries/share/doc/expat/AUTHORS +10 -0
  164. package/dist/libraries/share/doc/expat/changelog +1161 -0
  165. package/index.d.ts +115 -115
  166. package/package.json +1 -1
@@ -0,0 +1,221 @@
1
+ /*
2
+ * Copyright © 2022 Behdad Esfahbod
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
+
25
+ #ifndef HB_CPLUSPLUS_HH
26
+ #define HB_CPLUSPLUS_HH
27
+
28
+ #include "hb.h"
29
+
30
+ HB_BEGIN_DECLS
31
+ HB_END_DECLS
32
+
33
+ #ifdef __cplusplus
34
+
35
+ #include <functional>
36
+ #include <utility>
37
+
38
+ #if 0
39
+ #if !(__cplusplus >= 201103L)
40
+ #error "HarfBuzz C++ helpers require C++11"
41
+ #endif
42
+ #endif
43
+
44
+ namespace hb {
45
+
46
+
47
+ template <typename T>
48
+ struct vtable;
49
+
50
+ template <typename T>
51
+ struct shared_ptr
52
+ {
53
+ using element_type = T;
54
+
55
+ using v = vtable<T>;
56
+
57
+ explicit shared_ptr (T *p = nullptr) : p (p) {}
58
+ shared_ptr (const shared_ptr &o) : p (v::reference (o.p)) {}
59
+ shared_ptr (shared_ptr &&o) : p (o.p) { o.p = nullptr; }
60
+ shared_ptr& operator = (const shared_ptr &o) { if (p != o.p) { destroy (); p = o.p; reference (); } return *this; }
61
+ shared_ptr& operator = (shared_ptr &&o) { v::destroy (p); p = o.p; o.p = nullptr; return *this; }
62
+ ~shared_ptr () { v::destroy (p); p = nullptr; }
63
+
64
+ T* get() const { return p; }
65
+
66
+ void swap (shared_ptr &o) { std::swap (p, o.p); }
67
+ friend void swap (shared_ptr &a, shared_ptr &b) { std::swap (a.p, b.p); }
68
+
69
+ operator T * () const { return p; }
70
+ T& operator * () const { return *get (); }
71
+ T* operator -> () const { return get (); }
72
+ operator bool () const { return p; }
73
+ bool operator == (const shared_ptr &o) const { return p == o.p; }
74
+ bool operator != (const shared_ptr &o) const { return p != o.p; }
75
+
76
+ static T* get_empty() { return v::get_empty (); }
77
+ T* reference() { return v::reference (p); }
78
+ void destroy() { v::destroy (p); }
79
+ void set_user_data (hb_user_data_key_t *key,
80
+ void *value,
81
+ hb_destroy_func_t destroy,
82
+ hb_bool_t replace) { v::set_user_data (p, key, value, destroy, replace); }
83
+ void * get_user_data (hb_user_data_key_t *key) { return v::get_user_data (p, key); }
84
+
85
+ private:
86
+ T *p;
87
+ };
88
+
89
+ template<typename T> struct is_shared_ptr : std::false_type {};
90
+ template<typename T> struct is_shared_ptr<shared_ptr<T>> : std::true_type {};
91
+
92
+ template <typename T>
93
+ struct unique_ptr
94
+ {
95
+ using element_type = T;
96
+
97
+ using v = vtable<T>;
98
+
99
+ explicit unique_ptr (T *p = nullptr) : p (p) {}
100
+ unique_ptr (const unique_ptr &o) = delete;
101
+ unique_ptr (unique_ptr &&o) : p (o.p) { o.p = nullptr; }
102
+ unique_ptr& operator = (const unique_ptr &o) = delete;
103
+ unique_ptr& operator = (unique_ptr &&o) { v::destroy (p); p = o.p; o.p = nullptr; return *this; }
104
+ ~unique_ptr () { v::destroy (p); p = nullptr; }
105
+
106
+ T* get() const { return p; }
107
+ T* release () { T* v = p; p = nullptr; return v; }
108
+
109
+ void swap (unique_ptr &o) { std::swap (p, o.p); }
110
+ friend void swap (unique_ptr &a, unique_ptr &b) { std::swap (a.p, b.p); }
111
+
112
+ operator T * () const { return p; }
113
+ T& operator * () const { return *get (); }
114
+ T* operator -> () const { return get (); }
115
+ operator bool () { return p; }
116
+
117
+ private:
118
+ T *p;
119
+ };
120
+
121
+ template<typename T> struct is_unique_ptr : std::false_type {};
122
+ template<typename T> struct is_unique_ptr<unique_ptr<T>> : std::true_type {};
123
+
124
+ template <typename T,
125
+ T * (*_get_empty) (void),
126
+ T * (*_reference) (T *),
127
+ void (*_destroy) (T *),
128
+ hb_bool_t (*_set_user_data) (T *,
129
+ hb_user_data_key_t *,
130
+ void *,
131
+ hb_destroy_func_t,
132
+ hb_bool_t),
133
+ void * (*_get_user_data) (const T *,
134
+ hb_user_data_key_t *)>
135
+ struct vtable_t
136
+ {
137
+ static constexpr auto get_empty = _get_empty;
138
+ static constexpr auto reference = _reference;
139
+ static constexpr auto destroy = _destroy;
140
+ static constexpr auto set_user_data = _set_user_data;
141
+ static constexpr auto get_user_data = _get_user_data;
142
+ };
143
+
144
+ #define HB_DEFINE_VTABLE(name) \
145
+ template<> \
146
+ struct vtable<hb_##name##_t> \
147
+ : vtable_t<hb_##name##_t, \
148
+ &hb_##name##_get_empty, \
149
+ &hb_##name##_reference, \
150
+ &hb_##name##_destroy, \
151
+ &hb_##name##_set_user_data, \
152
+ &hb_##name##_get_user_data> {}
153
+
154
+ HB_DEFINE_VTABLE (buffer);
155
+ HB_DEFINE_VTABLE (blob);
156
+ HB_DEFINE_VTABLE (face);
157
+ HB_DEFINE_VTABLE (font);
158
+ HB_DEFINE_VTABLE (font_funcs);
159
+ HB_DEFINE_VTABLE (map);
160
+ HB_DEFINE_VTABLE (set);
161
+ HB_DEFINE_VTABLE (shape_plan);
162
+ HB_DEFINE_VTABLE (unicode_funcs);
163
+
164
+ #undef HB_DEFINE_VTABLE
165
+
166
+
167
+ #ifdef HB_SUBSET_H
168
+
169
+ #define HB_DEFINE_VTABLE(name) \
170
+ template<> \
171
+ struct vtable<hb_##name##_t> \
172
+ : vtable_t<hb_##name##_t, \
173
+ nullptr, \
174
+ &hb_##name##_reference, \
175
+ &hb_##name##_destroy, \
176
+ &hb_##name##_set_user_data, \
177
+ &hb_##name##_get_user_data> {}
178
+
179
+
180
+ HB_DEFINE_VTABLE (subset_input);
181
+ HB_DEFINE_VTABLE (subset_plan);
182
+
183
+ #undef HB_DEFINE_VTABLE
184
+
185
+ #endif
186
+
187
+
188
+ } // namespace hb
189
+
190
+ /* Workaround for GCC < 7, see:
191
+ * https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56480
192
+ * https://stackoverflow.com/a/25594741 */
193
+ namespace std {
194
+
195
+
196
+ template<typename T>
197
+ struct hash<hb::shared_ptr<T>>
198
+ {
199
+ std::size_t operator()(const hb::shared_ptr<T>& v) const noexcept
200
+ {
201
+ std::size_t h = std::hash<decltype (v.get ())>{}(v.get ());
202
+ return h;
203
+ }
204
+ };
205
+
206
+ template<typename T>
207
+ struct hash<hb::unique_ptr<T>>
208
+ {
209
+ std::size_t operator()(const hb::unique_ptr<T>& v) const noexcept
210
+ {
211
+ std::size_t h = std::hash<decltype (v.get ())>{}(v.get ());
212
+ return h;
213
+ }
214
+ };
215
+
216
+
217
+ } // namespace std
218
+
219
+ #endif /* __cplusplus */
220
+
221
+ #endif /* HB_CPLUSPLUS_HH */
@@ -0,0 +1,251 @@
1
+ /*
2
+ * Copyright © 2013 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_DEPRECATED_H
32
+ #define HB_DEPRECATED_H
33
+
34
+ #include "hb-common.h"
35
+ #include "hb-unicode.h"
36
+ #include "hb-font.h"
37
+ #include "hb-set.h"
38
+
39
+
40
+ /**
41
+ * SECTION:hb-deprecated
42
+ * @title: hb-deprecated
43
+ * @short_description: Deprecated API
44
+ * @include: hb.h
45
+ *
46
+ * These API have been deprecated in favor of newer API, or because they
47
+ * were deemed unnecessary.
48
+ **/
49
+
50
+
51
+ HB_BEGIN_DECLS
52
+
53
+ #ifndef HB_DISABLE_DEPRECATED
54
+
55
+
56
+ /**
57
+ * HB_SCRIPT_CANADIAN_ABORIGINAL:
58
+ *
59
+ * Use #HB_SCRIPT_CANADIAN_SYLLABICS instead:
60
+ *
61
+ * Deprecated: 0.9.20
62
+ */
63
+ #define HB_SCRIPT_CANADIAN_ABORIGINAL HB_SCRIPT_CANADIAN_SYLLABICS
64
+
65
+ /**
66
+ * HB_BUFFER_FLAGS_DEFAULT:
67
+ *
68
+ * Use #HB_BUFFER_FLAG_DEFAULT instead.
69
+ *
70
+ * Deprecated: 0.9.20
71
+ */
72
+ #define HB_BUFFER_FLAGS_DEFAULT HB_BUFFER_FLAG_DEFAULT
73
+ /**
74
+ * HB_BUFFER_SERIALIZE_FLAGS_DEFAULT:
75
+ *
76
+ * Use #HB_BUFFER_SERIALIZE_FLAG_DEFAULT instead.
77
+ *
78
+ * Deprecated: 0.9.20
79
+ */
80
+ #define HB_BUFFER_SERIALIZE_FLAGS_DEFAULT HB_BUFFER_SERIALIZE_FLAG_DEFAULT
81
+
82
+ /**
83
+ * hb_font_get_glyph_func_t:
84
+ * @font: #hb_font_t to work upon
85
+ * @font_data: @font user data pointer
86
+ * @unicode: The Unicode code point to query
87
+ * @variation_selector: The variation-selector code point to query
88
+ * @glyph: (out): The glyph ID retrieved
89
+ * @user_data: User data pointer passed by the caller
90
+ *
91
+ * A virtual method for the #hb_font_funcs_t of an #hb_font_t object.
92
+ *
93
+ * This method should retrieve the glyph ID for a specified Unicode code point
94
+ * font, with an optional variation selector.
95
+ *
96
+ * Return value: `true` if data found, `false` otherwise
97
+ * Deprecated: 1.2.3
98
+ *
99
+ **/
100
+ typedef hb_bool_t (*hb_font_get_glyph_func_t) (hb_font_t *font, void *font_data,
101
+ hb_codepoint_t unicode, hb_codepoint_t variation_selector,
102
+ hb_codepoint_t *glyph,
103
+ void *user_data);
104
+
105
+ HB_EXTERN HB_DEPRECATED_FOR(hb_font_funcs_set_nominal_glyph_func and hb_font_funcs_set_variation_glyph_func) void
106
+ hb_font_funcs_set_glyph_func (hb_font_funcs_t *ffuncs,
107
+ hb_font_get_glyph_func_t func,
108
+ void *user_data, hb_destroy_func_t destroy);
109
+
110
+ /**
111
+ * hb_unicode_eastasian_width_func_t:
112
+ * @ufuncs: A Unicode-functions structure
113
+ * @unicode: The code point to query
114
+ * @user_data: User data pointer passed by the caller
115
+ *
116
+ * A virtual method for the #hb_unicode_funcs_t structure.
117
+ *
118
+ * Deprecated: 2.0.0
119
+ */
120
+ typedef unsigned int (*hb_unicode_eastasian_width_func_t) (hb_unicode_funcs_t *ufuncs,
121
+ hb_codepoint_t unicode,
122
+ void *user_data);
123
+
124
+ /**
125
+ * hb_unicode_funcs_set_eastasian_width_func:
126
+ * @ufuncs: a Unicode-function structure
127
+ * @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
128
+ * @user_data: Data to pass to @func
129
+ * @destroy: (nullable): The function to call when @user_data is not needed anymore
130
+ *
131
+ * Sets the implementation function for #hb_unicode_eastasian_width_func_t.
132
+ *
133
+ * Since: 0.9.2
134
+ * Deprecated: 2.0.0
135
+ **/
136
+ HB_EXTERN HB_DEPRECATED void
137
+ hb_unicode_funcs_set_eastasian_width_func (hb_unicode_funcs_t *ufuncs,
138
+ hb_unicode_eastasian_width_func_t func,
139
+ void *user_data, hb_destroy_func_t destroy);
140
+
141
+ /**
142
+ * hb_unicode_eastasian_width:
143
+ * @ufuncs: a Unicode-function structure
144
+ * @unicode: The code point to query
145
+ *
146
+ * Don't use. Not used by HarfBuzz.
147
+ *
148
+ * Since: 0.9.2
149
+ * Deprecated: 2.0.0
150
+ **/
151
+ HB_EXTERN HB_DEPRECATED unsigned int
152
+ hb_unicode_eastasian_width (hb_unicode_funcs_t *ufuncs,
153
+ hb_codepoint_t unicode);
154
+
155
+
156
+ /**
157
+ * hb_unicode_decompose_compatibility_func_t:
158
+ * @ufuncs: a Unicode function structure
159
+ * @u: codepoint to decompose
160
+ * @decomposed: address of codepoint array (of length #HB_UNICODE_MAX_DECOMPOSITION_LEN) to write decomposition into
161
+ * @user_data: user data pointer as passed to hb_unicode_funcs_set_decompose_compatibility_func()
162
+ *
163
+ * Fully decompose @u to its Unicode compatibility decomposition. The codepoints of the decomposition will be written to @decomposed.
164
+ * The complete length of the decomposition will be returned.
165
+ *
166
+ * If @u has no compatibility decomposition, zero should be returned.
167
+ *
168
+ * The Unicode standard guarantees that a buffer of length #HB_UNICODE_MAX_DECOMPOSITION_LEN codepoints will always be sufficient for any
169
+ * compatibility decomposition plus an terminating value of 0. Consequently, @decompose must be allocated by the caller to be at least this length. Implementations
170
+ * of this function type must ensure that they do not write past the provided array.
171
+ *
172
+ * Return value: number of codepoints in the full compatibility decomposition of @u, or 0 if no decomposition available.
173
+ *
174
+ * Deprecated: 2.0.0
175
+ */
176
+ typedef unsigned int (*hb_unicode_decompose_compatibility_func_t) (hb_unicode_funcs_t *ufuncs,
177
+ hb_codepoint_t u,
178
+ hb_codepoint_t *decomposed,
179
+ void *user_data);
180
+
181
+ /**
182
+ * HB_UNICODE_MAX_DECOMPOSITION_LEN:
183
+ *
184
+ * See Unicode 6.1 for details on the maximum decomposition length.
185
+ *
186
+ * Deprecated: 2.0.0
187
+ */
188
+ #define HB_UNICODE_MAX_DECOMPOSITION_LEN (18+1) /* codepoints */
189
+
190
+ /**
191
+ * hb_unicode_funcs_set_decompose_compatibility_func:
192
+ * @ufuncs: A Unicode-functions structure
193
+ * @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
194
+ * @user_data: Data to pass to @func
195
+ * @destroy: (nullable): The function to call when @user_data is not needed anymore
196
+ *
197
+ * Sets the implementation function for #hb_unicode_decompose_compatibility_func_t.
198
+ *
199
+ *
200
+ *
201
+ * Since: 0.9.2
202
+ * Deprecated: 2.0.0
203
+ **/
204
+ HB_EXTERN HB_DEPRECATED void
205
+ hb_unicode_funcs_set_decompose_compatibility_func (hb_unicode_funcs_t *ufuncs,
206
+ hb_unicode_decompose_compatibility_func_t func,
207
+ void *user_data, hb_destroy_func_t destroy);
208
+
209
+ HB_EXTERN HB_DEPRECATED unsigned int
210
+ hb_unicode_decompose_compatibility (hb_unicode_funcs_t *ufuncs,
211
+ hb_codepoint_t u,
212
+ hb_codepoint_t *decomposed);
213
+
214
+
215
+ /**
216
+ * hb_font_get_glyph_v_kerning_func_t:
217
+ *
218
+ * A virtual method for the #hb_font_funcs_t of an #hb_font_t object.
219
+ *
220
+ * This method should retrieve the kerning-adjustment value for a glyph-pair in
221
+ * the specified font, for vertical text segments.
222
+ *
223
+ **/
224
+ typedef hb_font_get_glyph_kerning_func_t hb_font_get_glyph_v_kerning_func_t;
225
+
226
+ /**
227
+ * hb_font_funcs_set_glyph_v_kerning_func:
228
+ * @ffuncs: A font-function structure
229
+ * @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
230
+ * @user_data: Data to pass to @func
231
+ * @destroy: (nullable): The function to call when @user_data is not needed anymore
232
+ *
233
+ * Sets the implementation function for #hb_font_get_glyph_v_kerning_func_t.
234
+ *
235
+ * Since: 0.9.2
236
+ * Deprecated: 2.0.0
237
+ **/
238
+ HB_EXTERN void
239
+ hb_font_funcs_set_glyph_v_kerning_func (hb_font_funcs_t *ffuncs,
240
+ hb_font_get_glyph_v_kerning_func_t func,
241
+ void *user_data, hb_destroy_func_t destroy);
242
+
243
+ HB_EXTERN hb_position_t
244
+ hb_font_get_glyph_v_kerning (hb_font_t *font,
245
+ hb_codepoint_t top_glyph, hb_codepoint_t bottom_glyph);
246
+
247
+ #endif
248
+
249
+ HB_END_DECLS
250
+
251
+ #endif /* HB_DEPRECATED_H */