jassub 1.7.10 → 1.7.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. package/LICENSE +22 -22
  2. package/README.md +251 -251
  3. package/dist/jassub-worker.wasm +0 -0
  4. package/dist/jassub-worker.wasm.js +1 -1
  5. package/dist/jassub.es.js +1 -1
  6. package/dist/jassub.umd.js +1 -1
  7. package/dist/js/jassub-worker.js +4 -4
  8. package/dist/js/jassub-worker.wasm +0 -0
  9. package/dist/js/jassub-worker.wasm.js +26 -25
  10. package/dist/js/jassub.js +832 -832
  11. package/dist/libraries/bin/brotli.js +1 -0
  12. package/dist/libraries/include/ass/ass.h +812 -0
  13. package/dist/libraries/include/ass/ass_types.h +292 -0
  14. package/dist/libraries/include/brotli/decode.h +344 -0
  15. package/dist/libraries/include/brotli/encode.h +448 -0
  16. package/dist/libraries/include/brotli/port.h +288 -0
  17. package/dist/libraries/include/brotli/types.h +83 -0
  18. package/dist/libraries/include/expat.h +1064 -0
  19. package/dist/libraries/include/expat_config.h +115 -0
  20. package/dist/libraries/include/expat_external.h +165 -0
  21. package/dist/libraries/include/fontconfig/fcfreetype.h +59 -0
  22. package/dist/libraries/include/fontconfig/fcprivate.h +134 -0
  23. package/dist/libraries/include/fontconfig/fontconfig.h +1154 -0
  24. package/dist/libraries/include/freetype2/freetype/config/ftconfig.h +63 -0
  25. package/dist/libraries/include/freetype2/freetype/config/ftheader.h +824 -0
  26. package/dist/libraries/include/freetype2/freetype/config/ftmodule.h +20 -0
  27. package/dist/libraries/include/freetype2/freetype/config/ftoption.h +1011 -0
  28. package/dist/libraries/include/freetype2/freetype/config/ftstdlib.h +175 -0
  29. package/dist/libraries/include/freetype2/freetype/config/integer-types.h +245 -0
  30. package/dist/libraries/include/freetype2/freetype/config/mac-support.h +49 -0
  31. package/dist/libraries/include/freetype2/freetype/config/public-macros.h +120 -0
  32. package/dist/libraries/include/freetype2/freetype/freetype.h +4833 -0
  33. package/dist/libraries/include/freetype2/freetype/ftadvanc.h +188 -0
  34. package/dist/libraries/include/freetype2/freetype/ftbbox.h +101 -0
  35. package/dist/libraries/include/freetype2/freetype/ftbdf.h +212 -0
  36. package/dist/libraries/include/freetype2/freetype/ftbitmap.h +329 -0
  37. package/dist/libraries/include/freetype2/freetype/ftbzip2.h +102 -0
  38. package/dist/libraries/include/freetype2/freetype/ftcache.h +1087 -0
  39. package/dist/libraries/include/freetype2/freetype/ftchapters.h +147 -0
  40. package/dist/libraries/include/freetype2/freetype/ftcid.h +167 -0
  41. package/dist/libraries/include/freetype2/freetype/ftcolor.h +1609 -0
  42. package/dist/libraries/include/freetype2/freetype/ftdriver.h +1193 -0
  43. package/dist/libraries/include/freetype2/freetype/fterrdef.h +279 -0
  44. package/dist/libraries/include/freetype2/freetype/fterrors.h +296 -0
  45. package/dist/libraries/include/freetype2/freetype/ftfntfmt.h +93 -0
  46. package/dist/libraries/include/freetype2/freetype/ftgasp.h +143 -0
  47. package/dist/libraries/include/freetype2/freetype/ftglyph.h +664 -0
  48. package/dist/libraries/include/freetype2/freetype/ftgxval.h +354 -0
  49. package/dist/libraries/include/freetype2/freetype/ftgzip.h +151 -0
  50. package/dist/libraries/include/freetype2/freetype/ftimage.h +1276 -0
  51. package/dist/libraries/include/freetype2/freetype/ftincrem.h +348 -0
  52. package/dist/libraries/include/freetype2/freetype/ftlcdfil.h +323 -0
  53. package/dist/libraries/include/freetype2/freetype/ftlist.h +296 -0
  54. package/dist/libraries/include/freetype2/freetype/ftlogging.h +184 -0
  55. package/dist/libraries/include/freetype2/freetype/ftlzw.h +100 -0
  56. package/dist/libraries/include/freetype2/freetype/ftmac.h +289 -0
  57. package/dist/libraries/include/freetype2/freetype/ftmm.h +752 -0
  58. package/dist/libraries/include/freetype2/freetype/ftmodapi.h +806 -0
  59. package/dist/libraries/include/freetype2/freetype/ftmoderr.h +204 -0
  60. package/dist/libraries/include/freetype2/freetype/ftotval.h +206 -0
  61. package/dist/libraries/include/freetype2/freetype/ftoutln.h +586 -0
  62. package/dist/libraries/include/freetype2/freetype/ftparams.h +203 -0
  63. package/dist/libraries/include/freetype2/freetype/ftpfr.h +179 -0
  64. package/dist/libraries/include/freetype2/freetype/ftrender.h +244 -0
  65. package/dist/libraries/include/freetype2/freetype/ftsizes.h +159 -0
  66. package/dist/libraries/include/freetype2/freetype/ftsnames.h +272 -0
  67. package/dist/libraries/include/freetype2/freetype/ftstroke.h +773 -0
  68. package/dist/libraries/include/freetype2/freetype/ftsynth.h +83 -0
  69. package/dist/libraries/include/freetype2/freetype/ftsystem.h +352 -0
  70. package/dist/libraries/include/freetype2/freetype/fttrigon.h +350 -0
  71. package/dist/libraries/include/freetype2/freetype/fttypes.h +615 -0
  72. package/dist/libraries/include/freetype2/freetype/ftwinfnt.h +276 -0
  73. package/dist/libraries/include/freetype2/freetype/t1tables.h +773 -0
  74. package/dist/libraries/include/freetype2/freetype/ttnameid.h +1235 -0
  75. package/dist/libraries/include/freetype2/freetype/tttables.h +855 -0
  76. package/dist/libraries/include/freetype2/freetype/tttags.h +123 -0
  77. package/dist/libraries/include/freetype2/ft2build.h +42 -0
  78. package/dist/libraries/include/fribidi/fribidi-arabic.h +81 -0
  79. package/dist/libraries/include/fribidi/fribidi-begindecls.h +3 -0
  80. package/dist/libraries/include/fribidi/fribidi-bidi-types-list.h +96 -0
  81. package/dist/libraries/include/fribidi/fribidi-bidi-types.h +405 -0
  82. package/dist/libraries/include/fribidi/fribidi-bidi.h +142 -0
  83. package/dist/libraries/include/fribidi/fribidi-brackets.h +89 -0
  84. package/dist/libraries/include/fribidi/fribidi-char-sets-list.h +54 -0
  85. package/dist/libraries/include/fribidi/fribidi-char-sets.h +106 -0
  86. package/dist/libraries/include/fribidi/fribidi-common.h +158 -0
  87. package/dist/libraries/include/fribidi/fribidi-config.h +23 -0
  88. package/dist/libraries/include/fribidi/fribidi-deprecated.h +175 -0
  89. package/dist/libraries/include/fribidi/fribidi-enddecls.h +3 -0
  90. package/dist/libraries/include/fribidi/fribidi-flags.h +72 -0
  91. package/dist/libraries/include/fribidi/fribidi-joining-types-list.h +44 -0
  92. package/dist/libraries/include/fribidi/fribidi-joining-types.h +249 -0
  93. package/dist/libraries/include/fribidi/fribidi-joining.h +74 -0
  94. package/dist/libraries/include/fribidi/fribidi-mirroring.h +86 -0
  95. package/dist/libraries/include/fribidi/fribidi-shape.h +71 -0
  96. package/dist/libraries/include/fribidi/fribidi-types.h +79 -0
  97. package/dist/libraries/include/fribidi/fribidi-unicode-version.h +10 -0
  98. package/dist/libraries/include/fribidi/fribidi-unicode.h +105 -0
  99. package/dist/libraries/include/fribidi/fribidi.h +129 -0
  100. package/dist/libraries/include/harfbuzz/hb-aat-layout.h +795 -0
  101. package/dist/libraries/include/harfbuzz/hb-aat.h +38 -0
  102. package/dist/libraries/include/harfbuzz/hb-blob.h +160 -0
  103. package/dist/libraries/include/harfbuzz/hb-buffer.h +799 -0
  104. package/dist/libraries/include/harfbuzz/hb-common.h +902 -0
  105. package/dist/libraries/include/harfbuzz/hb-cplusplus.hh +221 -0
  106. package/dist/libraries/include/harfbuzz/hb-deprecated.h +251 -0
  107. package/dist/libraries/include/harfbuzz/hb-draw.h +325 -0
  108. package/dist/libraries/include/harfbuzz/hb-face.h +181 -0
  109. package/dist/libraries/include/harfbuzz/hb-font.h +1108 -0
  110. package/dist/libraries/include/harfbuzz/hb-ft.h +145 -0
  111. package/dist/libraries/include/harfbuzz/hb-map.h +124 -0
  112. package/dist/libraries/include/harfbuzz/hb-ot-color.h +146 -0
  113. package/dist/libraries/include/harfbuzz/hb-ot-deprecated.h +141 -0
  114. package/dist/libraries/include/harfbuzz/hb-ot-font.h +45 -0
  115. package/dist/libraries/include/harfbuzz/hb-ot-layout.h +503 -0
  116. package/dist/libraries/include/harfbuzz/hb-ot-math.h +333 -0
  117. package/dist/libraries/include/harfbuzz/hb-ot-meta.h +72 -0
  118. package/dist/libraries/include/harfbuzz/hb-ot-metrics.h +129 -0
  119. package/dist/libraries/include/harfbuzz/hb-ot-name.h +158 -0
  120. package/dist/libraries/include/harfbuzz/hb-ot-shape.h +53 -0
  121. package/dist/libraries/include/harfbuzz/hb-ot-var.h +191 -0
  122. package/dist/libraries/include/harfbuzz/hb-ot.h +49 -0
  123. package/dist/libraries/include/harfbuzz/hb-set.h +200 -0
  124. package/dist/libraries/include/harfbuzz/hb-shape-plan.h +122 -0
  125. package/dist/libraries/include/harfbuzz/hb-shape.h +62 -0
  126. package/dist/libraries/include/harfbuzz/hb-style.h +81 -0
  127. package/dist/libraries/include/harfbuzz/hb-subset-repacker.h +81 -0
  128. package/dist/libraries/include/harfbuzz/hb-subset.h +234 -0
  129. package/dist/libraries/include/harfbuzz/hb-unicode.h +643 -0
  130. package/dist/libraries/include/harfbuzz/hb-version.h +95 -0
  131. package/dist/libraries/include/harfbuzz/hb.h +50 -0
  132. package/dist/libraries/lib/cmake/expat-2.4.7/expat-config-version.cmake +70 -0
  133. package/dist/libraries/lib/cmake/expat-2.4.7/expat-config.cmake +99 -0
  134. package/dist/libraries/lib/cmake/expat-2.4.7/expat-noconfig.cmake +19 -0
  135. package/dist/libraries/lib/cmake/expat-2.4.7/expat.cmake +99 -0
  136. package/dist/libraries/lib/libass.a +0 -0
  137. package/dist/libraries/lib/libass.la +41 -0
  138. package/dist/libraries/lib/libbrotlicommon.a +0 -0
  139. package/dist/libraries/lib/libbrotlidec.a +0 -0
  140. package/dist/libraries/lib/libbrotlienc.a +0 -0
  141. package/dist/libraries/lib/libexpat.a +0 -0
  142. package/dist/libraries/lib/libfontconfig.a +0 -0
  143. package/dist/libraries/lib/libfontconfig.la +41 -0
  144. package/dist/libraries/lib/libfreetype.a +0 -0
  145. package/dist/libraries/lib/libfreetype.la +41 -0
  146. package/dist/libraries/lib/libfribidi.a +0 -0
  147. package/dist/libraries/lib/libfribidi.la +41 -0
  148. package/dist/libraries/lib/libharfbuzz-subset.a +0 -0
  149. package/dist/libraries/lib/libharfbuzz-subset.la +41 -0
  150. package/dist/libraries/lib/libharfbuzz.a +0 -0
  151. package/dist/libraries/lib/libharfbuzz.la +41 -0
  152. package/dist/libraries/lib/pkgconfig/expat.pc +11 -0
  153. package/dist/libraries/lib/pkgconfig/fontconfig.pc +18 -0
  154. package/dist/libraries/lib/pkgconfig/freetype2.pc +14 -0
  155. package/dist/libraries/lib/pkgconfig/fribidi.pc +13 -0
  156. package/dist/libraries/lib/pkgconfig/harfbuzz-subset.pc +12 -0
  157. package/dist/libraries/lib/pkgconfig/harfbuzz.pc +13 -0
  158. package/dist/libraries/lib/pkgconfig/libass.pc +13 -0
  159. package/dist/libraries/lib/pkgconfig/libbrotlicommon.pc +11 -0
  160. package/dist/libraries/lib/pkgconfig/libbrotlidec.pc +12 -0
  161. package/dist/libraries/lib/pkgconfig/libbrotlienc.pc +12 -0
  162. package/dist/libraries/share/aclocal/freetype2.m4 +194 -0
  163. package/dist/libraries/share/doc/expat/AUTHORS +10 -0
  164. package/dist/libraries/share/doc/expat/changelog +1161 -0
  165. package/index.d.ts +115 -115
  166. package/package.json +1 -1
@@ -0,0 +1,204 @@
1
+ /****************************************************************************
2
+ *
3
+ * ftmoderr.h
4
+ *
5
+ * FreeType module error offsets (specification).
6
+ *
7
+ * Copyright (C) 2001-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
+ /**************************************************************************
20
+ *
21
+ * This file is used to define the FreeType module error codes.
22
+ *
23
+ * If the macro `FT_CONFIG_OPTION_USE_MODULE_ERRORS` in `ftoption.h` is
24
+ * set, the lower byte of an error value identifies the error code as
25
+ * usual. In addition, the higher byte identifies the module. For
26
+ * example, the error `FT_Err_Invalid_File_Format` has value 0x0003, the
27
+ * error `TT_Err_Invalid_File_Format` has value 0x1303, the error
28
+ * `T1_Err_Invalid_File_Format` has value 0x1403, etc.
29
+ *
30
+ * Note that `FT_Err_Ok`, `TT_Err_Ok`, etc. are always equal to zero,
31
+ * including the high byte.
32
+ *
33
+ * If `FT_CONFIG_OPTION_USE_MODULE_ERRORS` isn't set, the higher byte of an
34
+ * error value is set to zero.
35
+ *
36
+ * To hide the various `XXX_Err_` prefixes in the source code, FreeType
37
+ * provides some macros in `fttypes.h`.
38
+ *
39
+ * FT_ERR( err )
40
+ *
41
+ * Add current error module prefix (as defined with the `FT_ERR_PREFIX`
42
+ * macro) to `err`. For example, in the BDF module the line
43
+ *
44
+ * ```
45
+ * error = FT_ERR( Invalid_Outline );
46
+ * ```
47
+ *
48
+ * expands to
49
+ *
50
+ * ```
51
+ * error = BDF_Err_Invalid_Outline;
52
+ * ```
53
+ *
54
+ * For simplicity, you can always use `FT_Err_Ok` directly instead of
55
+ * `FT_ERR( Ok )`.
56
+ *
57
+ * FT_ERR_EQ( errcode, err )
58
+ * FT_ERR_NEQ( errcode, err )
59
+ *
60
+ * Compare error code `errcode` with the error `err` for equality and
61
+ * inequality, respectively. Example:
62
+ *
63
+ * ```
64
+ * if ( FT_ERR_EQ( error, Invalid_Outline ) )
65
+ * ...
66
+ * ```
67
+ *
68
+ * Using this macro you don't have to think about error prefixes. Of
69
+ * course, if module errors are not active, the above example is the
70
+ * same as
71
+ *
72
+ * ```
73
+ * if ( error == FT_Err_Invalid_Outline )
74
+ * ...
75
+ * ```
76
+ *
77
+ * FT_ERROR_BASE( errcode )
78
+ * FT_ERROR_MODULE( errcode )
79
+ *
80
+ * Get base error and module error code, respectively.
81
+ *
82
+ * It can also be used to create a module error message table easily with
83
+ * something like
84
+ *
85
+ * ```
86
+ * #undef FTMODERR_H_
87
+ * #define FT_MODERRDEF( e, v, s ) { FT_Mod_Err_ ## e, s },
88
+ * #define FT_MODERR_START_LIST {
89
+ * #define FT_MODERR_END_LIST { 0, 0 } };
90
+ *
91
+ * const struct
92
+ * {
93
+ * int mod_err_offset;
94
+ * const char* mod_err_msg
95
+ * } ft_mod_errors[] =
96
+ *
97
+ * #include <freetype/ftmoderr.h>
98
+ * ```
99
+ *
100
+ */
101
+
102
+
103
+ #ifndef FTMODERR_H_
104
+ #define FTMODERR_H_
105
+
106
+
107
+ /*******************************************************************/
108
+ /*******************************************************************/
109
+ /***** *****/
110
+ /***** SETUP MACROS *****/
111
+ /***** *****/
112
+ /*******************************************************************/
113
+ /*******************************************************************/
114
+
115
+
116
+ #undef FT_NEED_EXTERN_C
117
+
118
+ #ifndef FT_MODERRDEF
119
+
120
+ #ifdef FT_CONFIG_OPTION_USE_MODULE_ERRORS
121
+ #define FT_MODERRDEF( e, v, s ) FT_Mod_Err_ ## e = v,
122
+ #else
123
+ #define FT_MODERRDEF( e, v, s ) FT_Mod_Err_ ## e = 0,
124
+ #endif
125
+
126
+ #define FT_MODERR_START_LIST enum {
127
+ #define FT_MODERR_END_LIST FT_Mod_Err_Max };
128
+
129
+ #ifdef __cplusplus
130
+ #define FT_NEED_EXTERN_C
131
+ extern "C" {
132
+ #endif
133
+
134
+ #endif /* !FT_MODERRDEF */
135
+
136
+
137
+ /*******************************************************************/
138
+ /*******************************************************************/
139
+ /***** *****/
140
+ /***** LIST MODULE ERROR BASES *****/
141
+ /***** *****/
142
+ /*******************************************************************/
143
+ /*******************************************************************/
144
+
145
+
146
+ #ifdef FT_MODERR_START_LIST
147
+ FT_MODERR_START_LIST
148
+ #endif
149
+
150
+
151
+ FT_MODERRDEF( Base, 0x000, "base module" )
152
+ FT_MODERRDEF( Autofit, 0x100, "autofitter module" )
153
+ FT_MODERRDEF( BDF, 0x200, "BDF module" )
154
+ FT_MODERRDEF( Bzip2, 0x300, "Bzip2 module" )
155
+ FT_MODERRDEF( Cache, 0x400, "cache module" )
156
+ FT_MODERRDEF( CFF, 0x500, "CFF module" )
157
+ FT_MODERRDEF( CID, 0x600, "CID module" )
158
+ FT_MODERRDEF( Gzip, 0x700, "Gzip module" )
159
+ FT_MODERRDEF( LZW, 0x800, "LZW module" )
160
+ FT_MODERRDEF( OTvalid, 0x900, "OpenType validation module" )
161
+ FT_MODERRDEF( PCF, 0xA00, "PCF module" )
162
+ FT_MODERRDEF( PFR, 0xB00, "PFR module" )
163
+ FT_MODERRDEF( PSaux, 0xC00, "PS auxiliary module" )
164
+ FT_MODERRDEF( PShinter, 0xD00, "PS hinter module" )
165
+ FT_MODERRDEF( PSnames, 0xE00, "PS names module" )
166
+ FT_MODERRDEF( Raster, 0xF00, "raster module" )
167
+ FT_MODERRDEF( SFNT, 0x1000, "SFNT module" )
168
+ FT_MODERRDEF( Smooth, 0x1100, "smooth raster module" )
169
+ FT_MODERRDEF( TrueType, 0x1200, "TrueType module" )
170
+ FT_MODERRDEF( Type1, 0x1300, "Type 1 module" )
171
+ FT_MODERRDEF( Type42, 0x1400, "Type 42 module" )
172
+ FT_MODERRDEF( Winfonts, 0x1500, "Windows FON/FNT module" )
173
+ FT_MODERRDEF( GXvalid, 0x1600, "GX validation module" )
174
+ FT_MODERRDEF( Sdf, 0x1700, "Signed distance field raster module" )
175
+
176
+
177
+ #ifdef FT_MODERR_END_LIST
178
+ FT_MODERR_END_LIST
179
+ #endif
180
+
181
+
182
+ /*******************************************************************/
183
+ /*******************************************************************/
184
+ /***** *****/
185
+ /***** CLEANUP *****/
186
+ /***** *****/
187
+ /*******************************************************************/
188
+ /*******************************************************************/
189
+
190
+
191
+ #ifdef FT_NEED_EXTERN_C
192
+ }
193
+ #endif
194
+
195
+ #undef FT_MODERR_START_LIST
196
+ #undef FT_MODERR_END_LIST
197
+ #undef FT_MODERRDEF
198
+ #undef FT_NEED_EXTERN_C
199
+
200
+
201
+ #endif /* FTMODERR_H_ */
202
+
203
+
204
+ /* END */
@@ -0,0 +1,206 @@
1
+ /****************************************************************************
2
+ *
3
+ * ftotval.h
4
+ *
5
+ * FreeType API for validating OpenType tables (specification).
6
+ *
7
+ * Copyright (C) 2004-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
+ /****************************************************************************
20
+ *
21
+ *
22
+ * Warning: This module might be moved to a different library in the
23
+ * future to avoid a tight dependency between FreeType and the
24
+ * OpenType specification.
25
+ *
26
+ *
27
+ */
28
+
29
+
30
+ #ifndef FTOTVAL_H_
31
+ #define FTOTVAL_H_
32
+
33
+ #include <freetype/freetype.h>
34
+
35
+ #ifdef FREETYPE_H
36
+ #error "freetype.h of FreeType 1 has been loaded!"
37
+ #error "Please fix the directory search order for header files"
38
+ #error "so that freetype.h of FreeType 2 is found first."
39
+ #endif
40
+
41
+
42
+ FT_BEGIN_HEADER
43
+
44
+
45
+ /**************************************************************************
46
+ *
47
+ * @section:
48
+ * ot_validation
49
+ *
50
+ * @title:
51
+ * OpenType Validation
52
+ *
53
+ * @abstract:
54
+ * An API to validate OpenType tables.
55
+ *
56
+ * @description:
57
+ * This section contains the declaration of functions to validate some
58
+ * OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF, MATH).
59
+ *
60
+ * @order:
61
+ * FT_OpenType_Validate
62
+ * FT_OpenType_Free
63
+ *
64
+ * FT_VALIDATE_OTXXX
65
+ *
66
+ */
67
+
68
+
69
+ /**************************************************************************
70
+ *
71
+ * @enum:
72
+ * FT_VALIDATE_OTXXX
73
+ *
74
+ * @description:
75
+ * A list of bit-field constants used with @FT_OpenType_Validate to
76
+ * indicate which OpenType tables should be validated.
77
+ *
78
+ * @values:
79
+ * FT_VALIDATE_BASE ::
80
+ * Validate BASE table.
81
+ *
82
+ * FT_VALIDATE_GDEF ::
83
+ * Validate GDEF table.
84
+ *
85
+ * FT_VALIDATE_GPOS ::
86
+ * Validate GPOS table.
87
+ *
88
+ * FT_VALIDATE_GSUB ::
89
+ * Validate GSUB table.
90
+ *
91
+ * FT_VALIDATE_JSTF ::
92
+ * Validate JSTF table.
93
+ *
94
+ * FT_VALIDATE_MATH ::
95
+ * Validate MATH table.
96
+ *
97
+ * FT_VALIDATE_OT ::
98
+ * Validate all OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF, MATH).
99
+ *
100
+ */
101
+ #define FT_VALIDATE_BASE 0x0100
102
+ #define FT_VALIDATE_GDEF 0x0200
103
+ #define FT_VALIDATE_GPOS 0x0400
104
+ #define FT_VALIDATE_GSUB 0x0800
105
+ #define FT_VALIDATE_JSTF 0x1000
106
+ #define FT_VALIDATE_MATH 0x2000
107
+
108
+ #define FT_VALIDATE_OT ( FT_VALIDATE_BASE | \
109
+ FT_VALIDATE_GDEF | \
110
+ FT_VALIDATE_GPOS | \
111
+ FT_VALIDATE_GSUB | \
112
+ FT_VALIDATE_JSTF | \
113
+ FT_VALIDATE_MATH )
114
+
115
+
116
+ /**************************************************************************
117
+ *
118
+ * @function:
119
+ * FT_OpenType_Validate
120
+ *
121
+ * @description:
122
+ * Validate various OpenType tables to assure that all offsets and
123
+ * indices are valid. The idea is that a higher-level library that
124
+ * actually does the text layout can access those tables without error
125
+ * checking (which can be quite time consuming).
126
+ *
127
+ * @input:
128
+ * face ::
129
+ * A handle to the input face.
130
+ *
131
+ * validation_flags ::
132
+ * A bit field that specifies the tables to be validated. See
133
+ * @FT_VALIDATE_OTXXX for possible values.
134
+ *
135
+ * @output:
136
+ * BASE_table ::
137
+ * A pointer to the BASE table.
138
+ *
139
+ * GDEF_table ::
140
+ * A pointer to the GDEF table.
141
+ *
142
+ * GPOS_table ::
143
+ * A pointer to the GPOS table.
144
+ *
145
+ * GSUB_table ::
146
+ * A pointer to the GSUB table.
147
+ *
148
+ * JSTF_table ::
149
+ * A pointer to the JSTF table.
150
+ *
151
+ * @return:
152
+ * FreeType error code. 0~means success.
153
+ *
154
+ * @note:
155
+ * This function only works with OpenType fonts, returning an error
156
+ * otherwise.
157
+ *
158
+ * After use, the application should deallocate the five tables with
159
+ * @FT_OpenType_Free. A `NULL` value indicates that the table either
160
+ * doesn't exist in the font, or the application hasn't asked for
161
+ * validation.
162
+ */
163
+ FT_EXPORT( FT_Error )
164
+ FT_OpenType_Validate( FT_Face face,
165
+ FT_UInt validation_flags,
166
+ FT_Bytes *BASE_table,
167
+ FT_Bytes *GDEF_table,
168
+ FT_Bytes *GPOS_table,
169
+ FT_Bytes *GSUB_table,
170
+ FT_Bytes *JSTF_table );
171
+
172
+
173
+ /**************************************************************************
174
+ *
175
+ * @function:
176
+ * FT_OpenType_Free
177
+ *
178
+ * @description:
179
+ * Free the buffer allocated by OpenType validator.
180
+ *
181
+ * @input:
182
+ * face ::
183
+ * A handle to the input face.
184
+ *
185
+ * table ::
186
+ * The pointer to the buffer that is allocated by
187
+ * @FT_OpenType_Validate.
188
+ *
189
+ * @note:
190
+ * This function must be used to free the buffer allocated by
191
+ * @FT_OpenType_Validate only.
192
+ */
193
+ FT_EXPORT( void )
194
+ FT_OpenType_Free( FT_Face face,
195
+ FT_Bytes table );
196
+
197
+
198
+ /* */
199
+
200
+
201
+ FT_END_HEADER
202
+
203
+ #endif /* FTOTVAL_H_ */
204
+
205
+
206
+ /* END */