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,855 +0,0 @@
1
- /****************************************************************************
2
- *
3
- * tttables.h
4
- *
5
- * Basic SFNT/TrueType tables definitions and interface
6
- * (specification only).
7
- *
8
- * Copyright (C) 1996-2021 by
9
- * David Turner, Robert Wilhelm, and Werner Lemberg.
10
- *
11
- * This file is part of the FreeType project, and may only be used,
12
- * modified, and distributed under the terms of the FreeType project
13
- * license, LICENSE.TXT. By continuing to use, modify, or distribute
14
- * this file you indicate that you have read the license and
15
- * understand and accept it fully.
16
- *
17
- */
18
-
19
-
20
- #ifndef TTTABLES_H_
21
- #define TTTABLES_H_
22
-
23
-
24
- #include <freetype/freetype.h>
25
-
26
- #ifdef FREETYPE_H
27
- #error "freetype.h of FreeType 1 has been loaded!"
28
- #error "Please fix the directory search order for header files"
29
- #error "so that freetype.h of FreeType 2 is found first."
30
- #endif
31
-
32
-
33
- FT_BEGIN_HEADER
34
-
35
- /**************************************************************************
36
- *
37
- * @section:
38
- * truetype_tables
39
- *
40
- * @title:
41
- * TrueType Tables
42
- *
43
- * @abstract:
44
- * TrueType-specific table types and functions.
45
- *
46
- * @description:
47
- * This section contains definitions of some basic tables specific to
48
- * TrueType and OpenType as well as some routines used to access and
49
- * process them.
50
- *
51
- * @order:
52
- * TT_Header
53
- * TT_HoriHeader
54
- * TT_VertHeader
55
- * TT_OS2
56
- * TT_Postscript
57
- * TT_PCLT
58
- * TT_MaxProfile
59
- *
60
- * FT_Sfnt_Tag
61
- * FT_Get_Sfnt_Table
62
- * FT_Load_Sfnt_Table
63
- * FT_Sfnt_Table_Info
64
- *
65
- * FT_Get_CMap_Language_ID
66
- * FT_Get_CMap_Format
67
- *
68
- * FT_PARAM_TAG_UNPATENTED_HINTING
69
- *
70
- */
71
-
72
-
73
- /**************************************************************************
74
- *
75
- * @struct:
76
- * TT_Header
77
- *
78
- * @description:
79
- * A structure to model a TrueType font header table. All fields follow
80
- * the OpenType specification. The 64-bit timestamps are stored in
81
- * two-element arrays `Created` and `Modified`, first the upper then
82
- * the lower 32~bits.
83
- */
84
- typedef struct TT_Header_
85
- {
86
- FT_Fixed Table_Version;
87
- FT_Fixed Font_Revision;
88
-
89
- FT_Long CheckSum_Adjust;
90
- FT_Long Magic_Number;
91
-
92
- FT_UShort Flags;
93
- FT_UShort Units_Per_EM;
94
-
95
- FT_ULong Created [2];
96
- FT_ULong Modified[2];
97
-
98
- FT_Short xMin;
99
- FT_Short yMin;
100
- FT_Short xMax;
101
- FT_Short yMax;
102
-
103
- FT_UShort Mac_Style;
104
- FT_UShort Lowest_Rec_PPEM;
105
-
106
- FT_Short Font_Direction;
107
- FT_Short Index_To_Loc_Format;
108
- FT_Short Glyph_Data_Format;
109
-
110
- } TT_Header;
111
-
112
-
113
- /**************************************************************************
114
- *
115
- * @struct:
116
- * TT_HoriHeader
117
- *
118
- * @description:
119
- * A structure to model a TrueType horizontal header, the 'hhea' table,
120
- * as well as the corresponding horizontal metrics table, 'hmtx'.
121
- *
122
- * @fields:
123
- * Version ::
124
- * The table version.
125
- *
126
- * Ascender ::
127
- * The font's ascender, i.e., the distance from the baseline to the
128
- * top-most of all glyph points found in the font.
129
- *
130
- * This value is invalid in many fonts, as it is usually set by the
131
- * font designer, and often reflects only a portion of the glyphs found
132
- * in the font (maybe ASCII).
133
- *
134
- * You should use the `sTypoAscender` field of the 'OS/2' table instead
135
- * if you want the correct one.
136
- *
137
- * Descender ::
138
- * The font's descender, i.e., the distance from the baseline to the
139
- * bottom-most of all glyph points found in the font. It is negative.
140
- *
141
- * This value is invalid in many fonts, as it is usually set by the
142
- * font designer, and often reflects only a portion of the glyphs found
143
- * in the font (maybe ASCII).
144
- *
145
- * You should use the `sTypoDescender` field of the 'OS/2' table
146
- * instead if you want the correct one.
147
- *
148
- * Line_Gap ::
149
- * The font's line gap, i.e., the distance to add to the ascender and
150
- * descender to get the BTB, i.e., the baseline-to-baseline distance
151
- * for the font.
152
- *
153
- * advance_Width_Max ::
154
- * This field is the maximum of all advance widths found in the font.
155
- * It can be used to compute the maximum width of an arbitrary string
156
- * of text.
157
- *
158
- * min_Left_Side_Bearing ::
159
- * The minimum left side bearing of all glyphs within the font.
160
- *
161
- * min_Right_Side_Bearing ::
162
- * The minimum right side bearing of all glyphs within the font.
163
- *
164
- * xMax_Extent ::
165
- * The maximum horizontal extent (i.e., the 'width' of a glyph's
166
- * bounding box) for all glyphs in the font.
167
- *
168
- * caret_Slope_Rise ::
169
- * The rise coefficient of the cursor's slope of the cursor
170
- * (slope=rise/run).
171
- *
172
- * caret_Slope_Run ::
173
- * The run coefficient of the cursor's slope.
174
- *
175
- * caret_Offset ::
176
- * The cursor's offset for slanted fonts.
177
- *
178
- * Reserved ::
179
- * 8~reserved bytes.
180
- *
181
- * metric_Data_Format ::
182
- * Always~0.
183
- *
184
- * number_Of_HMetrics ::
185
- * Number of HMetrics entries in the 'hmtx' table -- this value can be
186
- * smaller than the total number of glyphs in the font.
187
- *
188
- * long_metrics ::
189
- * A pointer into the 'hmtx' table.
190
- *
191
- * short_metrics ::
192
- * A pointer into the 'hmtx' table.
193
- *
194
- * @note:
195
- * For an OpenType variation font, the values of the following fields can
196
- * change after a call to @FT_Set_Var_Design_Coordinates (and friends) if
197
- * the font contains an 'MVAR' table: `caret_Slope_Rise`,
198
- * `caret_Slope_Run`, and `caret_Offset`.
199
- */
200
- typedef struct TT_HoriHeader_
201
- {
202
- FT_Fixed Version;
203
- FT_Short Ascender;
204
- FT_Short Descender;
205
- FT_Short Line_Gap;
206
-
207
- FT_UShort advance_Width_Max; /* advance width maximum */
208
-
209
- FT_Short min_Left_Side_Bearing; /* minimum left-sb */
210
- FT_Short min_Right_Side_Bearing; /* minimum right-sb */
211
- FT_Short xMax_Extent; /* xmax extents */
212
- FT_Short caret_Slope_Rise;
213
- FT_Short caret_Slope_Run;
214
- FT_Short caret_Offset;
215
-
216
- FT_Short Reserved[4];
217
-
218
- FT_Short metric_Data_Format;
219
- FT_UShort number_Of_HMetrics;
220
-
221
- /* The following fields are not defined by the OpenType specification */
222
- /* but they are used to connect the metrics header to the relevant */
223
- /* 'hmtx' table. */
224
-
225
- void* long_metrics;
226
- void* short_metrics;
227
-
228
- } TT_HoriHeader;
229
-
230
-
231
- /**************************************************************************
232
- *
233
- * @struct:
234
- * TT_VertHeader
235
- *
236
- * @description:
237
- * A structure used to model a TrueType vertical header, the 'vhea'
238
- * table, as well as the corresponding vertical metrics table, 'vmtx'.
239
- *
240
- * @fields:
241
- * Version ::
242
- * The table version.
243
- *
244
- * Ascender ::
245
- * The font's ascender, i.e., the distance from the baseline to the
246
- * top-most of all glyph points found in the font.
247
- *
248
- * This value is invalid in many fonts, as it is usually set by the
249
- * font designer, and often reflects only a portion of the glyphs found
250
- * in the font (maybe ASCII).
251
- *
252
- * You should use the `sTypoAscender` field of the 'OS/2' table instead
253
- * if you want the correct one.
254
- *
255
- * Descender ::
256
- * The font's descender, i.e., the distance from the baseline to the
257
- * bottom-most of all glyph points found in the font. It is negative.
258
- *
259
- * This value is invalid in many fonts, as it is usually set by the
260
- * font designer, and often reflects only a portion of the glyphs found
261
- * in the font (maybe ASCII).
262
- *
263
- * You should use the `sTypoDescender` field of the 'OS/2' table
264
- * instead if you want the correct one.
265
- *
266
- * Line_Gap ::
267
- * The font's line gap, i.e., the distance to add to the ascender and
268
- * descender to get the BTB, i.e., the baseline-to-baseline distance
269
- * for the font.
270
- *
271
- * advance_Height_Max ::
272
- * This field is the maximum of all advance heights found in the font.
273
- * It can be used to compute the maximum height of an arbitrary string
274
- * of text.
275
- *
276
- * min_Top_Side_Bearing ::
277
- * The minimum top side bearing of all glyphs within the font.
278
- *
279
- * min_Bottom_Side_Bearing ::
280
- * The minimum bottom side bearing of all glyphs within the font.
281
- *
282
- * yMax_Extent ::
283
- * The maximum vertical extent (i.e., the 'height' of a glyph's
284
- * bounding box) for all glyphs in the font.
285
- *
286
- * caret_Slope_Rise ::
287
- * The rise coefficient of the cursor's slope of the cursor
288
- * (slope=rise/run).
289
- *
290
- * caret_Slope_Run ::
291
- * The run coefficient of the cursor's slope.
292
- *
293
- * caret_Offset ::
294
- * The cursor's offset for slanted fonts.
295
- *
296
- * Reserved ::
297
- * 8~reserved bytes.
298
- *
299
- * metric_Data_Format ::
300
- * Always~0.
301
- *
302
- * number_Of_VMetrics ::
303
- * Number of VMetrics entries in the 'vmtx' table -- this value can be
304
- * smaller than the total number of glyphs in the font.
305
- *
306
- * long_metrics ::
307
- * A pointer into the 'vmtx' table.
308
- *
309
- * short_metrics ::
310
- * A pointer into the 'vmtx' table.
311
- *
312
- * @note:
313
- * For an OpenType variation font, the values of the following fields can
314
- * change after a call to @FT_Set_Var_Design_Coordinates (and friends) if
315
- * the font contains an 'MVAR' table: `Ascender`, `Descender`,
316
- * `Line_Gap`, `caret_Slope_Rise`, `caret_Slope_Run`, and `caret_Offset`.
317
- */
318
- typedef struct TT_VertHeader_
319
- {
320
- FT_Fixed Version;
321
- FT_Short Ascender;
322
- FT_Short Descender;
323
- FT_Short Line_Gap;
324
-
325
- FT_UShort advance_Height_Max; /* advance height maximum */
326
-
327
- FT_Short min_Top_Side_Bearing; /* minimum top-sb */
328
- FT_Short min_Bottom_Side_Bearing; /* minimum bottom-sb */
329
- FT_Short yMax_Extent; /* ymax extents */
330
- FT_Short caret_Slope_Rise;
331
- FT_Short caret_Slope_Run;
332
- FT_Short caret_Offset;
333
-
334
- FT_Short Reserved[4];
335
-
336
- FT_Short metric_Data_Format;
337
- FT_UShort number_Of_VMetrics;
338
-
339
- /* The following fields are not defined by the OpenType specification */
340
- /* but they are used to connect the metrics header to the relevant */
341
- /* 'vmtx' table. */
342
-
343
- void* long_metrics;
344
- void* short_metrics;
345
-
346
- } TT_VertHeader;
347
-
348
-
349
- /**************************************************************************
350
- *
351
- * @struct:
352
- * TT_OS2
353
- *
354
- * @description:
355
- * A structure to model a TrueType 'OS/2' table. All fields comply to
356
- * the OpenType specification.
357
- *
358
- * Note that we now support old Mac fonts that do not include an 'OS/2'
359
- * table. In this case, the `version` field is always set to 0xFFFF.
360
- *
361
- * @note:
362
- * For an OpenType variation font, the values of the following fields can
363
- * change after a call to @FT_Set_Var_Design_Coordinates (and friends) if
364
- * the font contains an 'MVAR' table: `sCapHeight`, `sTypoAscender`,
365
- * `sTypoDescender`, `sTypoLineGap`, `sxHeight`, `usWinAscent`,
366
- * `usWinDescent`, `yStrikeoutPosition`, `yStrikeoutSize`,
367
- * `ySubscriptXOffset`, `ySubScriptXSize`, `ySubscriptYOffset`,
368
- * `ySubscriptYSize`, `ySuperscriptXOffset`, `ySuperscriptXSize`,
369
- * `ySuperscriptYOffset`, and `ySuperscriptYSize`.
370
- *
371
- * Possible values for bits in the `ulUnicodeRangeX` fields are given by
372
- * the @TT_UCR_XXX macros.
373
- */
374
-
375
- typedef struct TT_OS2_
376
- {
377
- FT_UShort version; /* 0x0001 - more or 0xFFFF */
378
- FT_Short xAvgCharWidth;
379
- FT_UShort usWeightClass;
380
- FT_UShort usWidthClass;
381
- FT_UShort fsType;
382
- FT_Short ySubscriptXSize;
383
- FT_Short ySubscriptYSize;
384
- FT_Short ySubscriptXOffset;
385
- FT_Short ySubscriptYOffset;
386
- FT_Short ySuperscriptXSize;
387
- FT_Short ySuperscriptYSize;
388
- FT_Short ySuperscriptXOffset;
389
- FT_Short ySuperscriptYOffset;
390
- FT_Short yStrikeoutSize;
391
- FT_Short yStrikeoutPosition;
392
- FT_Short sFamilyClass;
393
-
394
- FT_Byte panose[10];
395
-
396
- FT_ULong ulUnicodeRange1; /* Bits 0-31 */
397
- FT_ULong ulUnicodeRange2; /* Bits 32-63 */
398
- FT_ULong ulUnicodeRange3; /* Bits 64-95 */
399
- FT_ULong ulUnicodeRange4; /* Bits 96-127 */
400
-
401
- FT_Char achVendID[4];
402
-
403
- FT_UShort fsSelection;
404
- FT_UShort usFirstCharIndex;
405
- FT_UShort usLastCharIndex;
406
- FT_Short sTypoAscender;
407
- FT_Short sTypoDescender;
408
- FT_Short sTypoLineGap;
409
- FT_UShort usWinAscent;
410
- FT_UShort usWinDescent;
411
-
412
- /* only version 1 and higher: */
413
-
414
- FT_ULong ulCodePageRange1; /* Bits 0-31 */
415
- FT_ULong ulCodePageRange2; /* Bits 32-63 */
416
-
417
- /* only version 2 and higher: */
418
-
419
- FT_Short sxHeight;
420
- FT_Short sCapHeight;
421
- FT_UShort usDefaultChar;
422
- FT_UShort usBreakChar;
423
- FT_UShort usMaxContext;
424
-
425
- /* only version 5 and higher: */
426
-
427
- FT_UShort usLowerOpticalPointSize; /* in twips (1/20th points) */
428
- FT_UShort usUpperOpticalPointSize; /* in twips (1/20th points) */
429
-
430
- } TT_OS2;
431
-
432
-
433
- /**************************************************************************
434
- *
435
- * @struct:
436
- * TT_Postscript
437
- *
438
- * @description:
439
- * A structure to model a TrueType 'post' table. All fields comply to
440
- * the OpenType specification. This structure does not reference a
441
- * font's PostScript glyph names; use @FT_Get_Glyph_Name to retrieve
442
- * them.
443
- *
444
- * @note:
445
- * For an OpenType variation font, the values of the following fields can
446
- * change after a call to @FT_Set_Var_Design_Coordinates (and friends) if
447
- * the font contains an 'MVAR' table: `underlinePosition` and
448
- * `underlineThickness`.
449
- */
450
- typedef struct TT_Postscript_
451
- {
452
- FT_Fixed FormatType;
453
- FT_Fixed italicAngle;
454
- FT_Short underlinePosition;
455
- FT_Short underlineThickness;
456
- FT_ULong isFixedPitch;
457
- FT_ULong minMemType42;
458
- FT_ULong maxMemType42;
459
- FT_ULong minMemType1;
460
- FT_ULong maxMemType1;
461
-
462
- /* Glyph names follow in the 'post' table, but we don't */
463
- /* load them by default. */
464
-
465
- } TT_Postscript;
466
-
467
-
468
- /**************************************************************************
469
- *
470
- * @struct:
471
- * TT_PCLT
472
- *
473
- * @description:
474
- * A structure to model a TrueType 'PCLT' table. All fields comply to
475
- * the OpenType specification.
476
- */
477
- typedef struct TT_PCLT_
478
- {
479
- FT_Fixed Version;
480
- FT_ULong FontNumber;
481
- FT_UShort Pitch;
482
- FT_UShort xHeight;
483
- FT_UShort Style;
484
- FT_UShort TypeFamily;
485
- FT_UShort CapHeight;
486
- FT_UShort SymbolSet;
487
- FT_Char TypeFace[16];
488
- FT_Char CharacterComplement[8];
489
- FT_Char FileName[6];
490
- FT_Char StrokeWeight;
491
- FT_Char WidthType;
492
- FT_Byte SerifStyle;
493
- FT_Byte Reserved;
494
-
495
- } TT_PCLT;
496
-
497
-
498
- /**************************************************************************
499
- *
500
- * @struct:
501
- * TT_MaxProfile
502
- *
503
- * @description:
504
- * The maximum profile ('maxp') table contains many max values, which can
505
- * be used to pre-allocate arrays for speeding up glyph loading and
506
- * hinting.
507
- *
508
- * @fields:
509
- * version ::
510
- * The version number.
511
- *
512
- * numGlyphs ::
513
- * The number of glyphs in this TrueType font.
514
- *
515
- * maxPoints ::
516
- * The maximum number of points in a non-composite TrueType glyph. See
517
- * also `maxCompositePoints`.
518
- *
519
- * maxContours ::
520
- * The maximum number of contours in a non-composite TrueType glyph.
521
- * See also `maxCompositeContours`.
522
- *
523
- * maxCompositePoints ::
524
- * The maximum number of points in a composite TrueType glyph. See
525
- * also `maxPoints`.
526
- *
527
- * maxCompositeContours ::
528
- * The maximum number of contours in a composite TrueType glyph. See
529
- * also `maxContours`.
530
- *
531
- * maxZones ::
532
- * The maximum number of zones used for glyph hinting.
533
- *
534
- * maxTwilightPoints ::
535
- * The maximum number of points in the twilight zone used for glyph
536
- * hinting.
537
- *
538
- * maxStorage ::
539
- * The maximum number of elements in the storage area used for glyph
540
- * hinting.
541
- *
542
- * maxFunctionDefs ::
543
- * The maximum number of function definitions in the TrueType bytecode
544
- * for this font.
545
- *
546
- * maxInstructionDefs ::
547
- * The maximum number of instruction definitions in the TrueType
548
- * bytecode for this font.
549
- *
550
- * maxStackElements ::
551
- * The maximum number of stack elements used during bytecode
552
- * interpretation.
553
- *
554
- * maxSizeOfInstructions ::
555
- * The maximum number of TrueType opcodes used for glyph hinting.
556
- *
557
- * maxComponentElements ::
558
- * The maximum number of simple (i.e., non-composite) glyphs in a
559
- * composite glyph.
560
- *
561
- * maxComponentDepth ::
562
- * The maximum nesting depth of composite glyphs.
563
- *
564
- * @note:
565
- * This structure is only used during font loading.
566
- */
567
- typedef struct TT_MaxProfile_
568
- {
569
- FT_Fixed version;
570
- FT_UShort numGlyphs;
571
- FT_UShort maxPoints;
572
- FT_UShort maxContours;
573
- FT_UShort maxCompositePoints;
574
- FT_UShort maxCompositeContours;
575
- FT_UShort maxZones;
576
- FT_UShort maxTwilightPoints;
577
- FT_UShort maxStorage;
578
- FT_UShort maxFunctionDefs;
579
- FT_UShort maxInstructionDefs;
580
- FT_UShort maxStackElements;
581
- FT_UShort maxSizeOfInstructions;
582
- FT_UShort maxComponentElements;
583
- FT_UShort maxComponentDepth;
584
-
585
- } TT_MaxProfile;
586
-
587
-
588
- /**************************************************************************
589
- *
590
- * @enum:
591
- * FT_Sfnt_Tag
592
- *
593
- * @description:
594
- * An enumeration to specify indices of SFNT tables loaded and parsed by
595
- * FreeType during initialization of an SFNT font. Used in the
596
- * @FT_Get_Sfnt_Table API function.
597
- *
598
- * @values:
599
- * FT_SFNT_HEAD ::
600
- * To access the font's @TT_Header structure.
601
- *
602
- * FT_SFNT_MAXP ::
603
- * To access the font's @TT_MaxProfile structure.
604
- *
605
- * FT_SFNT_OS2 ::
606
- * To access the font's @TT_OS2 structure.
607
- *
608
- * FT_SFNT_HHEA ::
609
- * To access the font's @TT_HoriHeader structure.
610
- *
611
- * FT_SFNT_VHEA ::
612
- * To access the font's @TT_VertHeader structure.
613
- *
614
- * FT_SFNT_POST ::
615
- * To access the font's @TT_Postscript structure.
616
- *
617
- * FT_SFNT_PCLT ::
618
- * To access the font's @TT_PCLT structure.
619
- */
620
- typedef enum FT_Sfnt_Tag_
621
- {
622
- FT_SFNT_HEAD,
623
- FT_SFNT_MAXP,
624
- FT_SFNT_OS2,
625
- FT_SFNT_HHEA,
626
- FT_SFNT_VHEA,
627
- FT_SFNT_POST,
628
- FT_SFNT_PCLT,
629
-
630
- FT_SFNT_MAX
631
-
632
- } FT_Sfnt_Tag;
633
-
634
- /* these constants are deprecated; use the corresponding `FT_Sfnt_Tag` */
635
- /* values instead */
636
- #define ft_sfnt_head FT_SFNT_HEAD
637
- #define ft_sfnt_maxp FT_SFNT_MAXP
638
- #define ft_sfnt_os2 FT_SFNT_OS2
639
- #define ft_sfnt_hhea FT_SFNT_HHEA
640
- #define ft_sfnt_vhea FT_SFNT_VHEA
641
- #define ft_sfnt_post FT_SFNT_POST
642
- #define ft_sfnt_pclt FT_SFNT_PCLT
643
-
644
-
645
- /**************************************************************************
646
- *
647
- * @function:
648
- * FT_Get_Sfnt_Table
649
- *
650
- * @description:
651
- * Return a pointer to a given SFNT table stored within a face.
652
- *
653
- * @input:
654
- * face ::
655
- * A handle to the source.
656
- *
657
- * tag ::
658
- * The index of the SFNT table.
659
- *
660
- * @return:
661
- * A type-less pointer to the table. This will be `NULL` in case of
662
- * error, or if the corresponding table was not found **OR** loaded from
663
- * the file.
664
- *
665
- * Use a typecast according to `tag` to access the structure elements.
666
- *
667
- * @note:
668
- * The table is owned by the face object and disappears with it.
669
- *
670
- * This function is only useful to access SFNT tables that are loaded by
671
- * the sfnt, truetype, and opentype drivers. See @FT_Sfnt_Tag for a
672
- * list.
673
- *
674
- * @example:
675
- * Here is an example demonstrating access to the 'vhea' table.
676
- *
677
- * ```
678
- * TT_VertHeader* vert_header;
679
- *
680
- *
681
- * vert_header =
682
- * (TT_VertHeader*)FT_Get_Sfnt_Table( face, FT_SFNT_VHEA );
683
- * ```
684
- */
685
- FT_EXPORT( void* )
686
- FT_Get_Sfnt_Table( FT_Face face,
687
- FT_Sfnt_Tag tag );
688
-
689
-
690
- /**************************************************************************
691
- *
692
- * @function:
693
- * FT_Load_Sfnt_Table
694
- *
695
- * @description:
696
- * Load any SFNT font table into client memory.
697
- *
698
- * @input:
699
- * face ::
700
- * A handle to the source face.
701
- *
702
- * tag ::
703
- * The four-byte tag of the table to load. Use value~0 if you want to
704
- * access the whole font file. Otherwise, you can use one of the
705
- * definitions found in the @FT_TRUETYPE_TAGS_H file, or forge a new
706
- * one with @FT_MAKE_TAG.
707
- *
708
- * offset ::
709
- * The starting offset in the table (or file if tag~==~0).
710
- *
711
- * @output:
712
- * buffer ::
713
- * The target buffer address. The client must ensure that the memory
714
- * array is big enough to hold the data.
715
- *
716
- * @inout:
717
- * length ::
718
- * If the `length` parameter is `NULL`, try to load the whole table.
719
- * Return an error code if it fails.
720
- *
721
- * Else, if `*length` is~0, exit immediately while returning the
722
- * table's (or file) full size in it.
723
- *
724
- * Else the number of bytes to read from the table or file, from the
725
- * starting offset.
726
- *
727
- * @return:
728
- * FreeType error code. 0~means success.
729
- *
730
- * @note:
731
- * If you need to determine the table's length you should first call this
732
- * function with `*length` set to~0, as in the following example:
733
- *
734
- * ```
735
- * FT_ULong length = 0;
736
- *
737
- *
738
- * error = FT_Load_Sfnt_Table( face, tag, 0, NULL, &length );
739
- * if ( error ) { ... table does not exist ... }
740
- *
741
- * buffer = malloc( length );
742
- * if ( buffer == NULL ) { ... not enough memory ... }
743
- *
744
- * error = FT_Load_Sfnt_Table( face, tag, 0, buffer, &length );
745
- * if ( error ) { ... could not load table ... }
746
- * ```
747
- *
748
- * Note that structures like @TT_Header or @TT_OS2 can't be used with
749
- * this function; they are limited to @FT_Get_Sfnt_Table. Reason is that
750
- * those structures depend on the processor architecture, with varying
751
- * size (e.g. 32bit vs. 64bit) or order (big endian vs. little endian).
752
- *
753
- */
754
- FT_EXPORT( FT_Error )
755
- FT_Load_Sfnt_Table( FT_Face face,
756
- FT_ULong tag,
757
- FT_Long offset,
758
- FT_Byte* buffer,
759
- FT_ULong* length );
760
-
761
-
762
- /**************************************************************************
763
- *
764
- * @function:
765
- * FT_Sfnt_Table_Info
766
- *
767
- * @description:
768
- * Return information on an SFNT table.
769
- *
770
- * @input:
771
- * face ::
772
- * A handle to the source face.
773
- *
774
- * table_index ::
775
- * The index of an SFNT table. The function returns
776
- * FT_Err_Table_Missing for an invalid value.
777
- *
778
- * @inout:
779
- * tag ::
780
- * The name tag of the SFNT table. If the value is `NULL`,
781
- * `table_index` is ignored, and `length` returns the number of SFNT
782
- * tables in the font.
783
- *
784
- * @output:
785
- * length ::
786
- * The length of the SFNT table (or the number of SFNT tables,
787
- * depending on `tag`).
788
- *
789
- * @return:
790
- * FreeType error code. 0~means success.
791
- *
792
- * @note:
793
- * While parsing fonts, FreeType handles SFNT tables with length zero as
794
- * missing.
795
- *
796
- */
797
- FT_EXPORT( FT_Error )
798
- FT_Sfnt_Table_Info( FT_Face face,
799
- FT_UInt table_index,
800
- FT_ULong *tag,
801
- FT_ULong *length );
802
-
803
-
804
- /**************************************************************************
805
- *
806
- * @function:
807
- * FT_Get_CMap_Language_ID
808
- *
809
- * @description:
810
- * Return cmap language ID as specified in the OpenType standard.
811
- * Definitions of language ID values are in file @FT_TRUETYPE_IDS_H.
812
- *
813
- * @input:
814
- * charmap ::
815
- * The target charmap.
816
- *
817
- * @return:
818
- * The language ID of `charmap`. If `charmap` doesn't belong to an SFNT
819
- * face, just return~0 as the default value.
820
- *
821
- * For a format~14 cmap (to access Unicode IVS), the return value is
822
- * 0xFFFFFFFF.
823
- */
824
- FT_EXPORT( FT_ULong )
825
- FT_Get_CMap_Language_ID( FT_CharMap charmap );
826
-
827
-
828
- /**************************************************************************
829
- *
830
- * @function:
831
- * FT_Get_CMap_Format
832
- *
833
- * @description:
834
- * Return the format of an SFNT 'cmap' table.
835
- *
836
- * @input:
837
- * charmap ::
838
- * The target charmap.
839
- *
840
- * @return:
841
- * The format of `charmap`. If `charmap` doesn't belong to an SFNT face,
842
- * return -1.
843
- */
844
- FT_EXPORT( FT_Long )
845
- FT_Get_CMap_Format( FT_CharMap charmap );
846
-
847
- /* */
848
-
849
-
850
- FT_END_HEADER
851
-
852
- #endif /* TTTABLES_H_ */
853
-
854
-
855
- /* END */