jassub 1.7.12 → 1.7.14

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 (175) hide show
  1. package/dist/jassub-worker-modern.wasm +0 -0
  2. package/dist/jassub-worker.js +11 -11
  3. package/dist/jassub-worker.wasm +0 -0
  4. package/dist/jassub-worker.wasm.js +1 -1
  5. package/package.json +4 -2
  6. package/dist/js/jassub-worker-modern.js +0 -10
  7. package/dist/js/jassub-worker-modern.wasm +0 -0
  8. package/dist/js/jassub-worker.js +0 -10
  9. package/dist/js/jassub-worker.wasm +0 -0
  10. package/dist/js/jassub-worker.wasm.js +0 -84
  11. package/dist/js/jassub.js +0 -832
  12. package/dist/libraries/bin/brotli.js +0 -1
  13. package/dist/libraries/include/ass/ass.h +0 -812
  14. package/dist/libraries/include/ass/ass_types.h +0 -292
  15. package/dist/libraries/include/brotli/decode.h +0 -344
  16. package/dist/libraries/include/brotli/encode.h +0 -448
  17. package/dist/libraries/include/brotli/port.h +0 -288
  18. package/dist/libraries/include/brotli/types.h +0 -83
  19. package/dist/libraries/include/expat.h +0 -1064
  20. package/dist/libraries/include/expat_config.h +0 -115
  21. package/dist/libraries/include/expat_external.h +0 -165
  22. package/dist/libraries/include/fontconfig/fcfreetype.h +0 -59
  23. package/dist/libraries/include/fontconfig/fcprivate.h +0 -134
  24. package/dist/libraries/include/fontconfig/fontconfig.h +0 -1154
  25. package/dist/libraries/include/freetype2/freetype/config/ftconfig.h +0 -63
  26. package/dist/libraries/include/freetype2/freetype/config/ftheader.h +0 -824
  27. package/dist/libraries/include/freetype2/freetype/config/ftmodule.h +0 -20
  28. package/dist/libraries/include/freetype2/freetype/config/ftoption.h +0 -1011
  29. package/dist/libraries/include/freetype2/freetype/config/ftstdlib.h +0 -175
  30. package/dist/libraries/include/freetype2/freetype/config/integer-types.h +0 -245
  31. package/dist/libraries/include/freetype2/freetype/config/mac-support.h +0 -49
  32. package/dist/libraries/include/freetype2/freetype/config/public-macros.h +0 -120
  33. package/dist/libraries/include/freetype2/freetype/freetype.h +0 -4833
  34. package/dist/libraries/include/freetype2/freetype/ftadvanc.h +0 -188
  35. package/dist/libraries/include/freetype2/freetype/ftbbox.h +0 -101
  36. package/dist/libraries/include/freetype2/freetype/ftbdf.h +0 -212
  37. package/dist/libraries/include/freetype2/freetype/ftbitmap.h +0 -329
  38. package/dist/libraries/include/freetype2/freetype/ftbzip2.h +0 -102
  39. package/dist/libraries/include/freetype2/freetype/ftcache.h +0 -1087
  40. package/dist/libraries/include/freetype2/freetype/ftchapters.h +0 -147
  41. package/dist/libraries/include/freetype2/freetype/ftcid.h +0 -167
  42. package/dist/libraries/include/freetype2/freetype/ftcolor.h +0 -1609
  43. package/dist/libraries/include/freetype2/freetype/ftdriver.h +0 -1193
  44. package/dist/libraries/include/freetype2/freetype/fterrdef.h +0 -279
  45. package/dist/libraries/include/freetype2/freetype/fterrors.h +0 -296
  46. package/dist/libraries/include/freetype2/freetype/ftfntfmt.h +0 -93
  47. package/dist/libraries/include/freetype2/freetype/ftgasp.h +0 -143
  48. package/dist/libraries/include/freetype2/freetype/ftglyph.h +0 -664
  49. package/dist/libraries/include/freetype2/freetype/ftgxval.h +0 -354
  50. package/dist/libraries/include/freetype2/freetype/ftgzip.h +0 -151
  51. package/dist/libraries/include/freetype2/freetype/ftimage.h +0 -1276
  52. package/dist/libraries/include/freetype2/freetype/ftincrem.h +0 -348
  53. package/dist/libraries/include/freetype2/freetype/ftlcdfil.h +0 -323
  54. package/dist/libraries/include/freetype2/freetype/ftlist.h +0 -296
  55. package/dist/libraries/include/freetype2/freetype/ftlogging.h +0 -184
  56. package/dist/libraries/include/freetype2/freetype/ftlzw.h +0 -100
  57. package/dist/libraries/include/freetype2/freetype/ftmac.h +0 -289
  58. package/dist/libraries/include/freetype2/freetype/ftmm.h +0 -752
  59. package/dist/libraries/include/freetype2/freetype/ftmodapi.h +0 -806
  60. package/dist/libraries/include/freetype2/freetype/ftmoderr.h +0 -204
  61. package/dist/libraries/include/freetype2/freetype/ftotval.h +0 -206
  62. package/dist/libraries/include/freetype2/freetype/ftoutln.h +0 -586
  63. package/dist/libraries/include/freetype2/freetype/ftparams.h +0 -203
  64. package/dist/libraries/include/freetype2/freetype/ftpfr.h +0 -179
  65. package/dist/libraries/include/freetype2/freetype/ftrender.h +0 -244
  66. package/dist/libraries/include/freetype2/freetype/ftsizes.h +0 -159
  67. package/dist/libraries/include/freetype2/freetype/ftsnames.h +0 -272
  68. package/dist/libraries/include/freetype2/freetype/ftstroke.h +0 -773
  69. package/dist/libraries/include/freetype2/freetype/ftsynth.h +0 -83
  70. package/dist/libraries/include/freetype2/freetype/ftsystem.h +0 -352
  71. package/dist/libraries/include/freetype2/freetype/fttrigon.h +0 -350
  72. package/dist/libraries/include/freetype2/freetype/fttypes.h +0 -615
  73. package/dist/libraries/include/freetype2/freetype/ftwinfnt.h +0 -276
  74. package/dist/libraries/include/freetype2/freetype/t1tables.h +0 -773
  75. package/dist/libraries/include/freetype2/freetype/ttnameid.h +0 -1235
  76. package/dist/libraries/include/freetype2/freetype/tttables.h +0 -855
  77. package/dist/libraries/include/freetype2/freetype/tttags.h +0 -123
  78. package/dist/libraries/include/freetype2/ft2build.h +0 -42
  79. package/dist/libraries/include/fribidi/fribidi-arabic.h +0 -81
  80. package/dist/libraries/include/fribidi/fribidi-begindecls.h +0 -3
  81. package/dist/libraries/include/fribidi/fribidi-bidi-types-list.h +0 -96
  82. package/dist/libraries/include/fribidi/fribidi-bidi-types.h +0 -405
  83. package/dist/libraries/include/fribidi/fribidi-bidi.h +0 -142
  84. package/dist/libraries/include/fribidi/fribidi-brackets.h +0 -89
  85. package/dist/libraries/include/fribidi/fribidi-char-sets-list.h +0 -54
  86. package/dist/libraries/include/fribidi/fribidi-char-sets.h +0 -106
  87. package/dist/libraries/include/fribidi/fribidi-common.h +0 -158
  88. package/dist/libraries/include/fribidi/fribidi-config.h +0 -23
  89. package/dist/libraries/include/fribidi/fribidi-deprecated.h +0 -175
  90. package/dist/libraries/include/fribidi/fribidi-enddecls.h +0 -3
  91. package/dist/libraries/include/fribidi/fribidi-flags.h +0 -72
  92. package/dist/libraries/include/fribidi/fribidi-joining-types-list.h +0 -44
  93. package/dist/libraries/include/fribidi/fribidi-joining-types.h +0 -249
  94. package/dist/libraries/include/fribidi/fribidi-joining.h +0 -74
  95. package/dist/libraries/include/fribidi/fribidi-mirroring.h +0 -86
  96. package/dist/libraries/include/fribidi/fribidi-shape.h +0 -71
  97. package/dist/libraries/include/fribidi/fribidi-types.h +0 -79
  98. package/dist/libraries/include/fribidi/fribidi-unicode-version.h +0 -10
  99. package/dist/libraries/include/fribidi/fribidi-unicode.h +0 -105
  100. package/dist/libraries/include/fribidi/fribidi.h +0 -129
  101. package/dist/libraries/include/harfbuzz/hb-aat-layout.h +0 -795
  102. package/dist/libraries/include/harfbuzz/hb-aat.h +0 -38
  103. package/dist/libraries/include/harfbuzz/hb-blob.h +0 -160
  104. package/dist/libraries/include/harfbuzz/hb-buffer.h +0 -799
  105. package/dist/libraries/include/harfbuzz/hb-common.h +0 -902
  106. package/dist/libraries/include/harfbuzz/hb-cplusplus.hh +0 -221
  107. package/dist/libraries/include/harfbuzz/hb-deprecated.h +0 -251
  108. package/dist/libraries/include/harfbuzz/hb-draw.h +0 -325
  109. package/dist/libraries/include/harfbuzz/hb-face.h +0 -181
  110. package/dist/libraries/include/harfbuzz/hb-font.h +0 -1108
  111. package/dist/libraries/include/harfbuzz/hb-ft.h +0 -145
  112. package/dist/libraries/include/harfbuzz/hb-map.h +0 -124
  113. package/dist/libraries/include/harfbuzz/hb-ot-color.h +0 -146
  114. package/dist/libraries/include/harfbuzz/hb-ot-deprecated.h +0 -141
  115. package/dist/libraries/include/harfbuzz/hb-ot-font.h +0 -45
  116. package/dist/libraries/include/harfbuzz/hb-ot-layout.h +0 -503
  117. package/dist/libraries/include/harfbuzz/hb-ot-math.h +0 -333
  118. package/dist/libraries/include/harfbuzz/hb-ot-meta.h +0 -72
  119. package/dist/libraries/include/harfbuzz/hb-ot-metrics.h +0 -129
  120. package/dist/libraries/include/harfbuzz/hb-ot-name.h +0 -158
  121. package/dist/libraries/include/harfbuzz/hb-ot-shape.h +0 -53
  122. package/dist/libraries/include/harfbuzz/hb-ot-var.h +0 -191
  123. package/dist/libraries/include/harfbuzz/hb-ot.h +0 -49
  124. package/dist/libraries/include/harfbuzz/hb-set.h +0 -200
  125. package/dist/libraries/include/harfbuzz/hb-shape-plan.h +0 -122
  126. package/dist/libraries/include/harfbuzz/hb-shape.h +0 -62
  127. package/dist/libraries/include/harfbuzz/hb-style.h +0 -81
  128. package/dist/libraries/include/harfbuzz/hb-subset-repacker.h +0 -81
  129. package/dist/libraries/include/harfbuzz/hb-subset.h +0 -234
  130. package/dist/libraries/include/harfbuzz/hb-unicode.h +0 -643
  131. package/dist/libraries/include/harfbuzz/hb-version.h +0 -95
  132. package/dist/libraries/include/harfbuzz/hb.h +0 -50
  133. package/dist/libraries/lib/cmake/expat-2.4.7/expat-config-version.cmake +0 -70
  134. package/dist/libraries/lib/cmake/expat-2.4.7/expat-config.cmake +0 -99
  135. package/dist/libraries/lib/cmake/expat-2.4.7/expat-noconfig.cmake +0 -19
  136. package/dist/libraries/lib/cmake/expat-2.4.7/expat.cmake +0 -99
  137. package/dist/libraries/lib/libass.a +0 -0
  138. package/dist/libraries/lib/libass.la +0 -41
  139. package/dist/libraries/lib/libbrotlicommon.a +0 -0
  140. package/dist/libraries/lib/libbrotlidec.a +0 -0
  141. package/dist/libraries/lib/libbrotlienc.a +0 -0
  142. package/dist/libraries/lib/libexpat.a +0 -0
  143. package/dist/libraries/lib/libfontconfig.a +0 -0
  144. package/dist/libraries/lib/libfontconfig.la +0 -41
  145. package/dist/libraries/lib/libfreetype.a +0 -0
  146. package/dist/libraries/lib/libfreetype.la +0 -41
  147. package/dist/libraries/lib/libfribidi.a +0 -0
  148. package/dist/libraries/lib/libfribidi.la +0 -41
  149. package/dist/libraries/lib/libharfbuzz-subset.a +0 -0
  150. package/dist/libraries/lib/libharfbuzz-subset.la +0 -41
  151. package/dist/libraries/lib/libharfbuzz.a +0 -0
  152. package/dist/libraries/lib/libharfbuzz.la +0 -41
  153. package/dist/libraries/lib/pkgconfig/expat.pc +0 -11
  154. package/dist/libraries/lib/pkgconfig/fontconfig.pc +0 -18
  155. package/dist/libraries/lib/pkgconfig/freetype2.pc +0 -14
  156. package/dist/libraries/lib/pkgconfig/fribidi.pc +0 -13
  157. package/dist/libraries/lib/pkgconfig/harfbuzz-subset.pc +0 -12
  158. package/dist/libraries/lib/pkgconfig/harfbuzz.pc +0 -13
  159. package/dist/libraries/lib/pkgconfig/libass.pc +0 -13
  160. package/dist/libraries/lib/pkgconfig/libbrotlicommon.pc +0 -11
  161. package/dist/libraries/lib/pkgconfig/libbrotlidec.pc +0 -12
  162. package/dist/libraries/lib/pkgconfig/libbrotlienc.pc +0 -12
  163. package/dist/libraries/share/aclocal/freetype2.m4 +0 -194
  164. package/dist/libraries/share/doc/expat/AUTHORS +0 -10
  165. package/dist/libraries/share/doc/expat/changelog +0 -1161
  166. package/dist/license/all +0 -951
  167. package/dist/license/all.tmp +0 -307
  168. package/dist/license/brotli +0 -12
  169. package/dist/license/expat +0 -71
  170. package/dist/license/fontconfig +0 -46
  171. package/dist/license/freetype +0 -92
  172. package/dist/license/fribidi +0 -15
  173. package/dist/license/harfbuzz +0 -32
  174. package/dist/license/jassub +0 -0
  175. package/dist/license/libass +0 -28
@@ -1,615 +0,0 @@
1
- /****************************************************************************
2
- *
3
- * fttypes.h
4
- *
5
- * FreeType simple types definitions (specification only).
6
- *
7
- * Copyright (C) 1996-2021 by
8
- * David Turner, Robert Wilhelm, and Werner Lemberg.
9
- *
10
- * This file is part of the FreeType project, and may only be used,
11
- * modified, and distributed under the terms of the FreeType project
12
- * license, LICENSE.TXT. By continuing to use, modify, or distribute
13
- * this file you indicate that you have read the license and
14
- * understand and accept it fully.
15
- *
16
- */
17
-
18
-
19
- #ifndef FTTYPES_H_
20
- #define FTTYPES_H_
21
-
22
-
23
- #include <ft2build.h>
24
- #include FT_CONFIG_CONFIG_H
25
- #include <freetype/ftsystem.h>
26
- #include <freetype/ftimage.h>
27
-
28
- #include <stddef.h>
29
-
30
-
31
- FT_BEGIN_HEADER
32
-
33
-
34
- /**************************************************************************
35
- *
36
- * @section:
37
- * basic_types
38
- *
39
- * @title:
40
- * Basic Data Types
41
- *
42
- * @abstract:
43
- * The basic data types defined by the library.
44
- *
45
- * @description:
46
- * This section contains the basic data types defined by FreeType~2,
47
- * ranging from simple scalar types to bitmap descriptors. More
48
- * font-specific structures are defined in a different section.
49
- *
50
- * @order:
51
- * FT_Byte
52
- * FT_Bytes
53
- * FT_Char
54
- * FT_Int
55
- * FT_UInt
56
- * FT_Int16
57
- * FT_UInt16
58
- * FT_Int32
59
- * FT_UInt32
60
- * FT_Int64
61
- * FT_UInt64
62
- * FT_Short
63
- * FT_UShort
64
- * FT_Long
65
- * FT_ULong
66
- * FT_Bool
67
- * FT_Offset
68
- * FT_PtrDist
69
- * FT_String
70
- * FT_Tag
71
- * FT_Error
72
- * FT_Fixed
73
- * FT_Pointer
74
- * FT_Pos
75
- * FT_Vector
76
- * FT_BBox
77
- * FT_Matrix
78
- * FT_FWord
79
- * FT_UFWord
80
- * FT_F2Dot14
81
- * FT_UnitVector
82
- * FT_F26Dot6
83
- * FT_Data
84
- *
85
- * FT_MAKE_TAG
86
- *
87
- * FT_Generic
88
- * FT_Generic_Finalizer
89
- *
90
- * FT_Bitmap
91
- * FT_Pixel_Mode
92
- * FT_Palette_Mode
93
- * FT_Glyph_Format
94
- * FT_IMAGE_TAG
95
- *
96
- */
97
-
98
-
99
- /**************************************************************************
100
- *
101
- * @type:
102
- * FT_Bool
103
- *
104
- * @description:
105
- * A typedef of unsigned char, used for simple booleans. As usual,
106
- * values 1 and~0 represent true and false, respectively.
107
- */
108
- typedef unsigned char FT_Bool;
109
-
110
-
111
- /**************************************************************************
112
- *
113
- * @type:
114
- * FT_FWord
115
- *
116
- * @description:
117
- * A signed 16-bit integer used to store a distance in original font
118
- * units.
119
- */
120
- typedef signed short FT_FWord; /* distance in FUnits */
121
-
122
-
123
- /**************************************************************************
124
- *
125
- * @type:
126
- * FT_UFWord
127
- *
128
- * @description:
129
- * An unsigned 16-bit integer used to store a distance in original font
130
- * units.
131
- */
132
- typedef unsigned short FT_UFWord; /* unsigned distance */
133
-
134
-
135
- /**************************************************************************
136
- *
137
- * @type:
138
- * FT_Char
139
- *
140
- * @description:
141
- * A simple typedef for the _signed_ char type.
142
- */
143
- typedef signed char FT_Char;
144
-
145
-
146
- /**************************************************************************
147
- *
148
- * @type:
149
- * FT_Byte
150
- *
151
- * @description:
152
- * A simple typedef for the _unsigned_ char type.
153
- */
154
- typedef unsigned char FT_Byte;
155
-
156
-
157
- /**************************************************************************
158
- *
159
- * @type:
160
- * FT_Bytes
161
- *
162
- * @description:
163
- * A typedef for constant memory areas.
164
- */
165
- typedef const FT_Byte* FT_Bytes;
166
-
167
-
168
- /**************************************************************************
169
- *
170
- * @type:
171
- * FT_Tag
172
- *
173
- * @description:
174
- * A typedef for 32-bit tags (as used in the SFNT format).
175
- */
176
- typedef FT_UInt32 FT_Tag;
177
-
178
-
179
- /**************************************************************************
180
- *
181
- * @type:
182
- * FT_String
183
- *
184
- * @description:
185
- * A simple typedef for the char type, usually used for strings.
186
- */
187
- typedef char FT_String;
188
-
189
-
190
- /**************************************************************************
191
- *
192
- * @type:
193
- * FT_Short
194
- *
195
- * @description:
196
- * A typedef for signed short.
197
- */
198
- typedef signed short FT_Short;
199
-
200
-
201
- /**************************************************************************
202
- *
203
- * @type:
204
- * FT_UShort
205
- *
206
- * @description:
207
- * A typedef for unsigned short.
208
- */
209
- typedef unsigned short FT_UShort;
210
-
211
-
212
- /**************************************************************************
213
- *
214
- * @type:
215
- * FT_Int
216
- *
217
- * @description:
218
- * A typedef for the int type.
219
- */
220
- typedef signed int FT_Int;
221
-
222
-
223
- /**************************************************************************
224
- *
225
- * @type:
226
- * FT_UInt
227
- *
228
- * @description:
229
- * A typedef for the unsigned int type.
230
- */
231
- typedef unsigned int FT_UInt;
232
-
233
-
234
- /**************************************************************************
235
- *
236
- * @type:
237
- * FT_Long
238
- *
239
- * @description:
240
- * A typedef for signed long.
241
- */
242
- typedef signed long FT_Long;
243
-
244
-
245
- /**************************************************************************
246
- *
247
- * @type:
248
- * FT_ULong
249
- *
250
- * @description:
251
- * A typedef for unsigned long.
252
- */
253
- typedef unsigned long FT_ULong;
254
-
255
-
256
- /**************************************************************************
257
- *
258
- * @type:
259
- * FT_F2Dot14
260
- *
261
- * @description:
262
- * A signed 2.14 fixed-point type used for unit vectors.
263
- */
264
- typedef signed short FT_F2Dot14;
265
-
266
-
267
- /**************************************************************************
268
- *
269
- * @type:
270
- * FT_F26Dot6
271
- *
272
- * @description:
273
- * A signed 26.6 fixed-point type used for vectorial pixel coordinates.
274
- */
275
- typedef signed long FT_F26Dot6;
276
-
277
-
278
- /**************************************************************************
279
- *
280
- * @type:
281
- * FT_Fixed
282
- *
283
- * @description:
284
- * This type is used to store 16.16 fixed-point values, like scaling
285
- * values or matrix coefficients.
286
- */
287
- typedef signed long FT_Fixed;
288
-
289
-
290
- /**************************************************************************
291
- *
292
- * @type:
293
- * FT_Error
294
- *
295
- * @description:
296
- * The FreeType error code type. A value of~0 is always interpreted as a
297
- * successful operation.
298
- */
299
- typedef int FT_Error;
300
-
301
-
302
- /**************************************************************************
303
- *
304
- * @type:
305
- * FT_Pointer
306
- *
307
- * @description:
308
- * A simple typedef for a typeless pointer.
309
- */
310
- typedef void* FT_Pointer;
311
-
312
-
313
- /**************************************************************************
314
- *
315
- * @type:
316
- * FT_Offset
317
- *
318
- * @description:
319
- * This is equivalent to the ANSI~C `size_t` type, i.e., the largest
320
- * _unsigned_ integer type used to express a file size or position, or a
321
- * memory block size.
322
- */
323
- typedef size_t FT_Offset;
324
-
325
-
326
- /**************************************************************************
327
- *
328
- * @type:
329
- * FT_PtrDist
330
- *
331
- * @description:
332
- * This is equivalent to the ANSI~C `ptrdiff_t` type, i.e., the largest
333
- * _signed_ integer type used to express the distance between two
334
- * pointers.
335
- */
336
- typedef ft_ptrdiff_t FT_PtrDist;
337
-
338
-
339
- /**************************************************************************
340
- *
341
- * @struct:
342
- * FT_UnitVector
343
- *
344
- * @description:
345
- * A simple structure used to store a 2D vector unit vector. Uses
346
- * FT_F2Dot14 types.
347
- *
348
- * @fields:
349
- * x ::
350
- * Horizontal coordinate.
351
- *
352
- * y ::
353
- * Vertical coordinate.
354
- */
355
- typedef struct FT_UnitVector_
356
- {
357
- FT_F2Dot14 x;
358
- FT_F2Dot14 y;
359
-
360
- } FT_UnitVector;
361
-
362
-
363
- /**************************************************************************
364
- *
365
- * @struct:
366
- * FT_Matrix
367
- *
368
- * @description:
369
- * A simple structure used to store a 2x2 matrix. Coefficients are in
370
- * 16.16 fixed-point format. The computation performed is:
371
- *
372
- * ```
373
- * x' = x*xx + y*xy
374
- * y' = x*yx + y*yy
375
- * ```
376
- *
377
- * @fields:
378
- * xx ::
379
- * Matrix coefficient.
380
- *
381
- * xy ::
382
- * Matrix coefficient.
383
- *
384
- * yx ::
385
- * Matrix coefficient.
386
- *
387
- * yy ::
388
- * Matrix coefficient.
389
- */
390
- typedef struct FT_Matrix_
391
- {
392
- FT_Fixed xx, xy;
393
- FT_Fixed yx, yy;
394
-
395
- } FT_Matrix;
396
-
397
-
398
- /**************************************************************************
399
- *
400
- * @struct:
401
- * FT_Data
402
- *
403
- * @description:
404
- * Read-only binary data represented as a pointer and a length.
405
- *
406
- * @fields:
407
- * pointer ::
408
- * The data.
409
- *
410
- * length ::
411
- * The length of the data in bytes.
412
- */
413
- typedef struct FT_Data_
414
- {
415
- const FT_Byte* pointer;
416
- FT_Int length;
417
-
418
- } FT_Data;
419
-
420
-
421
- /**************************************************************************
422
- *
423
- * @functype:
424
- * FT_Generic_Finalizer
425
- *
426
- * @description:
427
- * Describe a function used to destroy the 'client' data of any FreeType
428
- * object. See the description of the @FT_Generic type for details of
429
- * usage.
430
- *
431
- * @input:
432
- * The address of the FreeType object that is under finalization. Its
433
- * client data is accessed through its `generic` field.
434
- */
435
- typedef void (*FT_Generic_Finalizer)( void* object );
436
-
437
-
438
- /**************************************************************************
439
- *
440
- * @struct:
441
- * FT_Generic
442
- *
443
- * @description:
444
- * Client applications often need to associate their own data to a
445
- * variety of FreeType core objects. For example, a text layout API
446
- * might want to associate a glyph cache to a given size object.
447
- *
448
- * Some FreeType object contains a `generic` field, of type `FT_Generic`,
449
- * which usage is left to client applications and font servers.
450
- *
451
- * It can be used to store a pointer to client-specific data, as well as
452
- * the address of a 'finalizer' function, which will be called by
453
- * FreeType when the object is destroyed (for example, the previous
454
- * client example would put the address of the glyph cache destructor in
455
- * the `finalizer` field).
456
- *
457
- * @fields:
458
- * data ::
459
- * A typeless pointer to any client-specified data. This field is
460
- * completely ignored by the FreeType library.
461
- *
462
- * finalizer ::
463
- * A pointer to a 'generic finalizer' function, which will be called
464
- * when the object is destroyed. If this field is set to `NULL`, no
465
- * code will be called.
466
- */
467
- typedef struct FT_Generic_
468
- {
469
- void* data;
470
- FT_Generic_Finalizer finalizer;
471
-
472
- } FT_Generic;
473
-
474
-
475
- /**************************************************************************
476
- *
477
- * @macro:
478
- * FT_MAKE_TAG
479
- *
480
- * @description:
481
- * This macro converts four-letter tags that are used to label TrueType
482
- * tables into an unsigned long, to be used within FreeType.
483
- *
484
- * @note:
485
- * The produced values **must** be 32-bit integers. Don't redefine this
486
- * macro.
487
- */
488
- #define FT_MAKE_TAG( _x1, _x2, _x3, _x4 ) \
489
- (FT_Tag) \
490
- ( ( (FT_ULong)_x1 << 24 ) | \
491
- ( (FT_ULong)_x2 << 16 ) | \
492
- ( (FT_ULong)_x3 << 8 ) | \
493
- (FT_ULong)_x4 )
494
-
495
-
496
- /*************************************************************************/
497
- /*************************************************************************/
498
- /* */
499
- /* L I S T M A N A G E M E N T */
500
- /* */
501
- /*************************************************************************/
502
- /*************************************************************************/
503
-
504
-
505
- /**************************************************************************
506
- *
507
- * @section:
508
- * list_processing
509
- *
510
- */
511
-
512
-
513
- /**************************************************************************
514
- *
515
- * @type:
516
- * FT_ListNode
517
- *
518
- * @description:
519
- * Many elements and objects in FreeType are listed through an @FT_List
520
- * record (see @FT_ListRec). As its name suggests, an FT_ListNode is a
521
- * handle to a single list element.
522
- */
523
- typedef struct FT_ListNodeRec_* FT_ListNode;
524
-
525
-
526
- /**************************************************************************
527
- *
528
- * @type:
529
- * FT_List
530
- *
531
- * @description:
532
- * A handle to a list record (see @FT_ListRec).
533
- */
534
- typedef struct FT_ListRec_* FT_List;
535
-
536
-
537
- /**************************************************************************
538
- *
539
- * @struct:
540
- * FT_ListNodeRec
541
- *
542
- * @description:
543
- * A structure used to hold a single list element.
544
- *
545
- * @fields:
546
- * prev ::
547
- * The previous element in the list. `NULL` if first.
548
- *
549
- * next ::
550
- * The next element in the list. `NULL` if last.
551
- *
552
- * data ::
553
- * A typeless pointer to the listed object.
554
- */
555
- typedef struct FT_ListNodeRec_
556
- {
557
- FT_ListNode prev;
558
- FT_ListNode next;
559
- void* data;
560
-
561
- } FT_ListNodeRec;
562
-
563
-
564
- /**************************************************************************
565
- *
566
- * @struct:
567
- * FT_ListRec
568
- *
569
- * @description:
570
- * A structure used to hold a simple doubly-linked list. These are used
571
- * in many parts of FreeType.
572
- *
573
- * @fields:
574
- * head ::
575
- * The head (first element) of doubly-linked list.
576
- *
577
- * tail ::
578
- * The tail (last element) of doubly-linked list.
579
- */
580
- typedef struct FT_ListRec_
581
- {
582
- FT_ListNode head;
583
- FT_ListNode tail;
584
-
585
- } FT_ListRec;
586
-
587
- /* */
588
-
589
-
590
- #define FT_IS_EMPTY( list ) ( (list).head == 0 )
591
- #define FT_BOOL( x ) ( (FT_Bool)( (x) != 0 ) )
592
-
593
- /* concatenate C tokens */
594
- #define FT_ERR_XCAT( x, y ) x ## y
595
- #define FT_ERR_CAT( x, y ) FT_ERR_XCAT( x, y )
596
-
597
- /* see `ftmoderr.h` for descriptions of the following macros */
598
-
599
- #define FT_ERR( e ) FT_ERR_CAT( FT_ERR_PREFIX, e )
600
-
601
- #define FT_ERROR_BASE( x ) ( (x) & 0xFF )
602
- #define FT_ERROR_MODULE( x ) ( (x) & 0xFF00U )
603
-
604
- #define FT_ERR_EQ( x, e ) \
605
- ( FT_ERROR_BASE( x ) == FT_ERROR_BASE( FT_ERR( e ) ) )
606
- #define FT_ERR_NEQ( x, e ) \
607
- ( FT_ERROR_BASE( x ) != FT_ERROR_BASE( FT_ERR( e ) ) )
608
-
609
-
610
- FT_END_HEADER
611
-
612
- #endif /* FTTYPES_H_ */
613
-
614
-
615
- /* END */