jassub 1.7.13 → 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 (171) hide show
  1. package/package.json +4 -2
  2. package/dist/js/jassub-worker-modern.js +0 -128
  3. package/dist/js/jassub-worker-modern.wasm +0 -0
  4. package/dist/js/jassub-worker.js +0 -128
  5. package/dist/js/jassub-worker.wasm +0 -0
  6. package/dist/js/jassub-worker.wasm.js +0 -84
  7. package/dist/js/jassub.js +0 -832
  8. package/dist/libraries/bin/brotli.js +0 -1
  9. package/dist/libraries/include/ass/ass.h +0 -812
  10. package/dist/libraries/include/ass/ass_types.h +0 -292
  11. package/dist/libraries/include/brotli/decode.h +0 -344
  12. package/dist/libraries/include/brotli/encode.h +0 -448
  13. package/dist/libraries/include/brotli/port.h +0 -288
  14. package/dist/libraries/include/brotli/types.h +0 -83
  15. package/dist/libraries/include/expat.h +0 -1064
  16. package/dist/libraries/include/expat_config.h +0 -115
  17. package/dist/libraries/include/expat_external.h +0 -165
  18. package/dist/libraries/include/fontconfig/fcfreetype.h +0 -59
  19. package/dist/libraries/include/fontconfig/fcprivate.h +0 -134
  20. package/dist/libraries/include/fontconfig/fontconfig.h +0 -1154
  21. package/dist/libraries/include/freetype2/freetype/config/ftconfig.h +0 -63
  22. package/dist/libraries/include/freetype2/freetype/config/ftheader.h +0 -824
  23. package/dist/libraries/include/freetype2/freetype/config/ftmodule.h +0 -20
  24. package/dist/libraries/include/freetype2/freetype/config/ftoption.h +0 -1011
  25. package/dist/libraries/include/freetype2/freetype/config/ftstdlib.h +0 -175
  26. package/dist/libraries/include/freetype2/freetype/config/integer-types.h +0 -245
  27. package/dist/libraries/include/freetype2/freetype/config/mac-support.h +0 -49
  28. package/dist/libraries/include/freetype2/freetype/config/public-macros.h +0 -120
  29. package/dist/libraries/include/freetype2/freetype/freetype.h +0 -4833
  30. package/dist/libraries/include/freetype2/freetype/ftadvanc.h +0 -188
  31. package/dist/libraries/include/freetype2/freetype/ftbbox.h +0 -101
  32. package/dist/libraries/include/freetype2/freetype/ftbdf.h +0 -212
  33. package/dist/libraries/include/freetype2/freetype/ftbitmap.h +0 -329
  34. package/dist/libraries/include/freetype2/freetype/ftbzip2.h +0 -102
  35. package/dist/libraries/include/freetype2/freetype/ftcache.h +0 -1087
  36. package/dist/libraries/include/freetype2/freetype/ftchapters.h +0 -147
  37. package/dist/libraries/include/freetype2/freetype/ftcid.h +0 -167
  38. package/dist/libraries/include/freetype2/freetype/ftcolor.h +0 -1609
  39. package/dist/libraries/include/freetype2/freetype/ftdriver.h +0 -1193
  40. package/dist/libraries/include/freetype2/freetype/fterrdef.h +0 -279
  41. package/dist/libraries/include/freetype2/freetype/fterrors.h +0 -296
  42. package/dist/libraries/include/freetype2/freetype/ftfntfmt.h +0 -93
  43. package/dist/libraries/include/freetype2/freetype/ftgasp.h +0 -143
  44. package/dist/libraries/include/freetype2/freetype/ftglyph.h +0 -664
  45. package/dist/libraries/include/freetype2/freetype/ftgxval.h +0 -354
  46. package/dist/libraries/include/freetype2/freetype/ftgzip.h +0 -151
  47. package/dist/libraries/include/freetype2/freetype/ftimage.h +0 -1276
  48. package/dist/libraries/include/freetype2/freetype/ftincrem.h +0 -348
  49. package/dist/libraries/include/freetype2/freetype/ftlcdfil.h +0 -323
  50. package/dist/libraries/include/freetype2/freetype/ftlist.h +0 -296
  51. package/dist/libraries/include/freetype2/freetype/ftlogging.h +0 -184
  52. package/dist/libraries/include/freetype2/freetype/ftlzw.h +0 -100
  53. package/dist/libraries/include/freetype2/freetype/ftmac.h +0 -289
  54. package/dist/libraries/include/freetype2/freetype/ftmm.h +0 -752
  55. package/dist/libraries/include/freetype2/freetype/ftmodapi.h +0 -806
  56. package/dist/libraries/include/freetype2/freetype/ftmoderr.h +0 -204
  57. package/dist/libraries/include/freetype2/freetype/ftotval.h +0 -206
  58. package/dist/libraries/include/freetype2/freetype/ftoutln.h +0 -586
  59. package/dist/libraries/include/freetype2/freetype/ftparams.h +0 -203
  60. package/dist/libraries/include/freetype2/freetype/ftpfr.h +0 -179
  61. package/dist/libraries/include/freetype2/freetype/ftrender.h +0 -244
  62. package/dist/libraries/include/freetype2/freetype/ftsizes.h +0 -159
  63. package/dist/libraries/include/freetype2/freetype/ftsnames.h +0 -272
  64. package/dist/libraries/include/freetype2/freetype/ftstroke.h +0 -773
  65. package/dist/libraries/include/freetype2/freetype/ftsynth.h +0 -83
  66. package/dist/libraries/include/freetype2/freetype/ftsystem.h +0 -352
  67. package/dist/libraries/include/freetype2/freetype/fttrigon.h +0 -350
  68. package/dist/libraries/include/freetype2/freetype/fttypes.h +0 -615
  69. package/dist/libraries/include/freetype2/freetype/ftwinfnt.h +0 -276
  70. package/dist/libraries/include/freetype2/freetype/t1tables.h +0 -773
  71. package/dist/libraries/include/freetype2/freetype/ttnameid.h +0 -1235
  72. package/dist/libraries/include/freetype2/freetype/tttables.h +0 -855
  73. package/dist/libraries/include/freetype2/freetype/tttags.h +0 -123
  74. package/dist/libraries/include/freetype2/ft2build.h +0 -42
  75. package/dist/libraries/include/fribidi/fribidi-arabic.h +0 -81
  76. package/dist/libraries/include/fribidi/fribidi-begindecls.h +0 -3
  77. package/dist/libraries/include/fribidi/fribidi-bidi-types-list.h +0 -96
  78. package/dist/libraries/include/fribidi/fribidi-bidi-types.h +0 -405
  79. package/dist/libraries/include/fribidi/fribidi-bidi.h +0 -142
  80. package/dist/libraries/include/fribidi/fribidi-brackets.h +0 -89
  81. package/dist/libraries/include/fribidi/fribidi-char-sets-list.h +0 -54
  82. package/dist/libraries/include/fribidi/fribidi-char-sets.h +0 -106
  83. package/dist/libraries/include/fribidi/fribidi-common.h +0 -158
  84. package/dist/libraries/include/fribidi/fribidi-config.h +0 -23
  85. package/dist/libraries/include/fribidi/fribidi-deprecated.h +0 -175
  86. package/dist/libraries/include/fribidi/fribidi-enddecls.h +0 -3
  87. package/dist/libraries/include/fribidi/fribidi-flags.h +0 -72
  88. package/dist/libraries/include/fribidi/fribidi-joining-types-list.h +0 -44
  89. package/dist/libraries/include/fribidi/fribidi-joining-types.h +0 -249
  90. package/dist/libraries/include/fribidi/fribidi-joining.h +0 -74
  91. package/dist/libraries/include/fribidi/fribidi-mirroring.h +0 -86
  92. package/dist/libraries/include/fribidi/fribidi-shape.h +0 -71
  93. package/dist/libraries/include/fribidi/fribidi-types.h +0 -79
  94. package/dist/libraries/include/fribidi/fribidi-unicode-version.h +0 -10
  95. package/dist/libraries/include/fribidi/fribidi-unicode.h +0 -105
  96. package/dist/libraries/include/fribidi/fribidi.h +0 -129
  97. package/dist/libraries/include/harfbuzz/hb-aat-layout.h +0 -795
  98. package/dist/libraries/include/harfbuzz/hb-aat.h +0 -38
  99. package/dist/libraries/include/harfbuzz/hb-blob.h +0 -160
  100. package/dist/libraries/include/harfbuzz/hb-buffer.h +0 -799
  101. package/dist/libraries/include/harfbuzz/hb-common.h +0 -902
  102. package/dist/libraries/include/harfbuzz/hb-cplusplus.hh +0 -221
  103. package/dist/libraries/include/harfbuzz/hb-deprecated.h +0 -251
  104. package/dist/libraries/include/harfbuzz/hb-draw.h +0 -325
  105. package/dist/libraries/include/harfbuzz/hb-face.h +0 -181
  106. package/dist/libraries/include/harfbuzz/hb-font.h +0 -1108
  107. package/dist/libraries/include/harfbuzz/hb-ft.h +0 -145
  108. package/dist/libraries/include/harfbuzz/hb-map.h +0 -124
  109. package/dist/libraries/include/harfbuzz/hb-ot-color.h +0 -146
  110. package/dist/libraries/include/harfbuzz/hb-ot-deprecated.h +0 -141
  111. package/dist/libraries/include/harfbuzz/hb-ot-font.h +0 -45
  112. package/dist/libraries/include/harfbuzz/hb-ot-layout.h +0 -503
  113. package/dist/libraries/include/harfbuzz/hb-ot-math.h +0 -333
  114. package/dist/libraries/include/harfbuzz/hb-ot-meta.h +0 -72
  115. package/dist/libraries/include/harfbuzz/hb-ot-metrics.h +0 -129
  116. package/dist/libraries/include/harfbuzz/hb-ot-name.h +0 -158
  117. package/dist/libraries/include/harfbuzz/hb-ot-shape.h +0 -53
  118. package/dist/libraries/include/harfbuzz/hb-ot-var.h +0 -191
  119. package/dist/libraries/include/harfbuzz/hb-ot.h +0 -49
  120. package/dist/libraries/include/harfbuzz/hb-set.h +0 -200
  121. package/dist/libraries/include/harfbuzz/hb-shape-plan.h +0 -122
  122. package/dist/libraries/include/harfbuzz/hb-shape.h +0 -62
  123. package/dist/libraries/include/harfbuzz/hb-style.h +0 -81
  124. package/dist/libraries/include/harfbuzz/hb-subset-repacker.h +0 -81
  125. package/dist/libraries/include/harfbuzz/hb-subset.h +0 -234
  126. package/dist/libraries/include/harfbuzz/hb-unicode.h +0 -643
  127. package/dist/libraries/include/harfbuzz/hb-version.h +0 -95
  128. package/dist/libraries/include/harfbuzz/hb.h +0 -50
  129. package/dist/libraries/lib/cmake/expat-2.4.7/expat-config-version.cmake +0 -70
  130. package/dist/libraries/lib/cmake/expat-2.4.7/expat-config.cmake +0 -99
  131. package/dist/libraries/lib/cmake/expat-2.4.7/expat-noconfig.cmake +0 -19
  132. package/dist/libraries/lib/cmake/expat-2.4.7/expat.cmake +0 -99
  133. package/dist/libraries/lib/libass.a +0 -0
  134. package/dist/libraries/lib/libass.la +0 -41
  135. package/dist/libraries/lib/libbrotlicommon.a +0 -0
  136. package/dist/libraries/lib/libbrotlidec.a +0 -0
  137. package/dist/libraries/lib/libbrotlienc.a +0 -0
  138. package/dist/libraries/lib/libexpat.a +0 -0
  139. package/dist/libraries/lib/libfontconfig.a +0 -0
  140. package/dist/libraries/lib/libfontconfig.la +0 -41
  141. package/dist/libraries/lib/libfreetype.a +0 -0
  142. package/dist/libraries/lib/libfreetype.la +0 -41
  143. package/dist/libraries/lib/libfribidi.a +0 -0
  144. package/dist/libraries/lib/libfribidi.la +0 -41
  145. package/dist/libraries/lib/libharfbuzz-subset.a +0 -0
  146. package/dist/libraries/lib/libharfbuzz-subset.la +0 -41
  147. package/dist/libraries/lib/libharfbuzz.a +0 -0
  148. package/dist/libraries/lib/libharfbuzz.la +0 -41
  149. package/dist/libraries/lib/pkgconfig/expat.pc +0 -11
  150. package/dist/libraries/lib/pkgconfig/fontconfig.pc +0 -18
  151. package/dist/libraries/lib/pkgconfig/freetype2.pc +0 -14
  152. package/dist/libraries/lib/pkgconfig/fribidi.pc +0 -13
  153. package/dist/libraries/lib/pkgconfig/harfbuzz-subset.pc +0 -12
  154. package/dist/libraries/lib/pkgconfig/harfbuzz.pc +0 -13
  155. package/dist/libraries/lib/pkgconfig/libass.pc +0 -13
  156. package/dist/libraries/lib/pkgconfig/libbrotlicommon.pc +0 -11
  157. package/dist/libraries/lib/pkgconfig/libbrotlidec.pc +0 -12
  158. package/dist/libraries/lib/pkgconfig/libbrotlienc.pc +0 -12
  159. package/dist/libraries/share/aclocal/freetype2.m4 +0 -194
  160. package/dist/libraries/share/doc/expat/AUTHORS +0 -10
  161. package/dist/libraries/share/doc/expat/changelog +0 -1161
  162. package/dist/license/all +0 -951
  163. package/dist/license/all.tmp +0 -307
  164. package/dist/license/brotli +0 -12
  165. package/dist/license/expat +0 -71
  166. package/dist/license/fontconfig +0 -46
  167. package/dist/license/freetype +0 -92
  168. package/dist/license/fribidi +0 -15
  169. package/dist/license/harfbuzz +0 -32
  170. package/dist/license/jassub +0 -0
  171. 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 */