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,348 +0,0 @@
1
- /****************************************************************************
2
- *
3
- * ftincrem.h
4
- *
5
- * FreeType incremental loading (specification).
6
- *
7
- * Copyright (C) 2002-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 FTINCREM_H_
20
- #define FTINCREM_H_
21
-
22
- #include <freetype/freetype.h>
23
- #include <freetype/ftparams.h>
24
-
25
- #ifdef FREETYPE_H
26
- #error "freetype.h of FreeType 1 has been loaded!"
27
- #error "Please fix the directory search order for header files"
28
- #error "so that freetype.h of FreeType 2 is found first."
29
- #endif
30
-
31
-
32
- FT_BEGIN_HEADER
33
-
34
- /**************************************************************************
35
- *
36
- * @section:
37
- * incremental
38
- *
39
- * @title:
40
- * Incremental Loading
41
- *
42
- * @abstract:
43
- * Custom Glyph Loading.
44
- *
45
- * @description:
46
- * This section contains various functions used to perform so-called
47
- * 'incremental' glyph loading. This is a mode where all glyphs loaded
48
- * from a given @FT_Face are provided by the client application.
49
- *
50
- * Apart from that, all other tables are loaded normally from the font
51
- * file. This mode is useful when FreeType is used within another
52
- * engine, e.g., a PostScript Imaging Processor.
53
- *
54
- * To enable this mode, you must use @FT_Open_Face, passing an
55
- * @FT_Parameter with the @FT_PARAM_TAG_INCREMENTAL tag and an
56
- * @FT_Incremental_Interface value. See the comments for
57
- * @FT_Incremental_InterfaceRec for an example.
58
- *
59
- */
60
-
61
-
62
- /**************************************************************************
63
- *
64
- * @type:
65
- * FT_Incremental
66
- *
67
- * @description:
68
- * An opaque type describing a user-provided object used to implement
69
- * 'incremental' glyph loading within FreeType. This is used to support
70
- * embedded fonts in certain environments (e.g., PostScript
71
- * interpreters), where the glyph data isn't in the font file, or must be
72
- * overridden by different values.
73
- *
74
- * @note:
75
- * It is up to client applications to create and implement
76
- * @FT_Incremental objects, as long as they provide implementations for
77
- * the methods @FT_Incremental_GetGlyphDataFunc,
78
- * @FT_Incremental_FreeGlyphDataFunc and
79
- * @FT_Incremental_GetGlyphMetricsFunc.
80
- *
81
- * See the description of @FT_Incremental_InterfaceRec to understand how
82
- * to use incremental objects with FreeType.
83
- *
84
- */
85
- typedef struct FT_IncrementalRec_* FT_Incremental;
86
-
87
-
88
- /**************************************************************************
89
- *
90
- * @struct:
91
- * FT_Incremental_MetricsRec
92
- *
93
- * @description:
94
- * A small structure used to contain the basic glyph metrics returned by
95
- * the @FT_Incremental_GetGlyphMetricsFunc method.
96
- *
97
- * @fields:
98
- * bearing_x ::
99
- * Left bearing, in font units.
100
- *
101
- * bearing_y ::
102
- * Top bearing, in font units.
103
- *
104
- * advance ::
105
- * Horizontal component of glyph advance, in font units.
106
- *
107
- * advance_v ::
108
- * Vertical component of glyph advance, in font units.
109
- *
110
- * @note:
111
- * These correspond to horizontal or vertical metrics depending on the
112
- * value of the `vertical` argument to the function
113
- * @FT_Incremental_GetGlyphMetricsFunc.
114
- *
115
- */
116
- typedef struct FT_Incremental_MetricsRec_
117
- {
118
- FT_Long bearing_x;
119
- FT_Long bearing_y;
120
- FT_Long advance;
121
- FT_Long advance_v; /* since 2.3.12 */
122
-
123
- } FT_Incremental_MetricsRec;
124
-
125
-
126
- /**************************************************************************
127
- *
128
- * @struct:
129
- * FT_Incremental_Metrics
130
- *
131
- * @description:
132
- * A handle to an @FT_Incremental_MetricsRec structure.
133
- *
134
- */
135
- typedef struct FT_Incremental_MetricsRec_* FT_Incremental_Metrics;
136
-
137
-
138
- /**************************************************************************
139
- *
140
- * @type:
141
- * FT_Incremental_GetGlyphDataFunc
142
- *
143
- * @description:
144
- * A function called by FreeType to access a given glyph's data bytes
145
- * during @FT_Load_Glyph or @FT_Load_Char if incremental loading is
146
- * enabled.
147
- *
148
- * Note that the format of the glyph's data bytes depends on the font
149
- * file format. For TrueType, it must correspond to the raw bytes within
150
- * the 'glyf' table. For PostScript formats, it must correspond to the
151
- * **unencrypted** charstring bytes, without any `lenIV` header. It is
152
- * undefined for any other format.
153
- *
154
- * @input:
155
- * incremental ::
156
- * Handle to an opaque @FT_Incremental handle provided by the client
157
- * application.
158
- *
159
- * glyph_index ::
160
- * Index of relevant glyph.
161
- *
162
- * @output:
163
- * adata ::
164
- * A structure describing the returned glyph data bytes (which will be
165
- * accessed as a read-only byte block).
166
- *
167
- * @return:
168
- * FreeType error code. 0~means success.
169
- *
170
- * @note:
171
- * If this function returns successfully the method
172
- * @FT_Incremental_FreeGlyphDataFunc will be called later to release the
173
- * data bytes.
174
- *
175
- * Nested calls to @FT_Incremental_GetGlyphDataFunc can happen for
176
- * compound glyphs.
177
- *
178
- */
179
- typedef FT_Error
180
- (*FT_Incremental_GetGlyphDataFunc)( FT_Incremental incremental,
181
- FT_UInt glyph_index,
182
- FT_Data* adata );
183
-
184
-
185
- /**************************************************************************
186
- *
187
- * @type:
188
- * FT_Incremental_FreeGlyphDataFunc
189
- *
190
- * @description:
191
- * A function used to release the glyph data bytes returned by a
192
- * successful call to @FT_Incremental_GetGlyphDataFunc.
193
- *
194
- * @input:
195
- * incremental ::
196
- * A handle to an opaque @FT_Incremental handle provided by the client
197
- * application.
198
- *
199
- * data ::
200
- * A structure describing the glyph data bytes (which will be accessed
201
- * as a read-only byte block).
202
- *
203
- */
204
- typedef void
205
- (*FT_Incremental_FreeGlyphDataFunc)( FT_Incremental incremental,
206
- FT_Data* data );
207
-
208
-
209
- /**************************************************************************
210
- *
211
- * @type:
212
- * FT_Incremental_GetGlyphMetricsFunc
213
- *
214
- * @description:
215
- * A function used to retrieve the basic metrics of a given glyph index
216
- * before accessing its data. This allows for handling font types such
217
- * as PCL~XL Format~1, Class~2 downloaded TrueType fonts, where the glyph
218
- * metrics (`hmtx` and `vmtx` tables) are permitted to be omitted from
219
- * the font, and the relevant metrics included in the header of the glyph
220
- * outline data. Importantly, this is not intended to allow custom glyph
221
- * metrics (for example, Postscript Metrics dictionaries), because that
222
- * conflicts with the requirements of outline hinting. Such custom
223
- * metrics must be handled separately, by the calling application.
224
- *
225
- * @input:
226
- * incremental ::
227
- * A handle to an opaque @FT_Incremental handle provided by the client
228
- * application.
229
- *
230
- * glyph_index ::
231
- * Index of relevant glyph.
232
- *
233
- * vertical ::
234
- * If true, return vertical metrics.
235
- *
236
- * ametrics ::
237
- * This parameter is used for both input and output. The original
238
- * glyph metrics, if any, in font units. If metrics are not available
239
- * all the values must be set to zero.
240
- *
241
- * @output:
242
- * ametrics ::
243
- * The glyph metrics in font units.
244
- *
245
- */
246
- typedef FT_Error
247
- (*FT_Incremental_GetGlyphMetricsFunc)
248
- ( FT_Incremental incremental,
249
- FT_UInt glyph_index,
250
- FT_Bool vertical,
251
- FT_Incremental_MetricsRec *ametrics );
252
-
253
-
254
- /**************************************************************************
255
- *
256
- * @struct:
257
- * FT_Incremental_FuncsRec
258
- *
259
- * @description:
260
- * A table of functions for accessing fonts that load data incrementally.
261
- * Used in @FT_Incremental_InterfaceRec.
262
- *
263
- * @fields:
264
- * get_glyph_data ::
265
- * The function to get glyph data. Must not be null.
266
- *
267
- * free_glyph_data ::
268
- * The function to release glyph data. Must not be null.
269
- *
270
- * get_glyph_metrics ::
271
- * The function to get glyph metrics. May be null if the font does not
272
- * require it.
273
- *
274
- */
275
- typedef struct FT_Incremental_FuncsRec_
276
- {
277
- FT_Incremental_GetGlyphDataFunc get_glyph_data;
278
- FT_Incremental_FreeGlyphDataFunc free_glyph_data;
279
- FT_Incremental_GetGlyphMetricsFunc get_glyph_metrics;
280
-
281
- } FT_Incremental_FuncsRec;
282
-
283
-
284
- /**************************************************************************
285
- *
286
- * @struct:
287
- * FT_Incremental_InterfaceRec
288
- *
289
- * @description:
290
- * A structure to be used with @FT_Open_Face to indicate that the user
291
- * wants to support incremental glyph loading. You should use it with
292
- * @FT_PARAM_TAG_INCREMENTAL as in the following example:
293
- *
294
- * ```
295
- * FT_Incremental_InterfaceRec inc_int;
296
- * FT_Parameter parameter;
297
- * FT_Open_Args open_args;
298
- *
299
- *
300
- * // set up incremental descriptor
301
- * inc_int.funcs = my_funcs;
302
- * inc_int.object = my_object;
303
- *
304
- * // set up optional parameter
305
- * parameter.tag = FT_PARAM_TAG_INCREMENTAL;
306
- * parameter.data = &inc_int;
307
- *
308
- * // set up FT_Open_Args structure
309
- * open_args.flags = FT_OPEN_PATHNAME | FT_OPEN_PARAMS;
310
- * open_args.pathname = my_font_pathname;
311
- * open_args.num_params = 1;
312
- * open_args.params = &parameter; // we use one optional argument
313
- *
314
- * // open the font
315
- * error = FT_Open_Face( library, &open_args, index, &face );
316
- * ...
317
- * ```
318
- *
319
- */
320
- typedef struct FT_Incremental_InterfaceRec_
321
- {
322
- const FT_Incremental_FuncsRec* funcs;
323
- FT_Incremental object;
324
-
325
- } FT_Incremental_InterfaceRec;
326
-
327
-
328
- /**************************************************************************
329
- *
330
- * @type:
331
- * FT_Incremental_Interface
332
- *
333
- * @description:
334
- * A pointer to an @FT_Incremental_InterfaceRec structure.
335
- *
336
- */
337
- typedef FT_Incremental_InterfaceRec* FT_Incremental_Interface;
338
-
339
-
340
- /* */
341
-
342
-
343
- FT_END_HEADER
344
-
345
- #endif /* FTINCREM_H_ */
346
-
347
-
348
- /* END */
@@ -1,323 +0,0 @@
1
- /****************************************************************************
2
- *
3
- * ftlcdfil.h
4
- *
5
- * FreeType API for color filtering of subpixel bitmap glyphs
6
- * (specification).
7
- *
8
- * Copyright (C) 2006-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 FTLCDFIL_H_
21
- #define FTLCDFIL_H_
22
-
23
- #include <freetype/freetype.h>
24
- #include <freetype/ftparams.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
- * lcd_rendering
39
- *
40
- * @title:
41
- * Subpixel Rendering
42
- *
43
- * @abstract:
44
- * API to control subpixel rendering.
45
- *
46
- * @description:
47
- * FreeType provides two alternative subpixel rendering technologies.
48
- * Should you define `FT_CONFIG_OPTION_SUBPIXEL_RENDERING` in your
49
- * `ftoption.h` file, this enables ClearType-style rendering.
50
- * Otherwise, Harmony LCD rendering is enabled. These technologies are
51
- * controlled differently and API described below, although always
52
- * available, performs its function when appropriate method is enabled
53
- * and does nothing otherwise.
54
- *
55
- * ClearType-style LCD rendering exploits the color-striped structure of
56
- * LCD pixels, increasing the available resolution in the direction of
57
- * the stripe (usually horizontal RGB) by a factor of~3. Using the
58
- * subpixel coverages unfiltered can create severe color fringes
59
- * especially when rendering thin features. Indeed, to produce
60
- * black-on-white text, the nearby color subpixels must be dimmed
61
- * evenly. Therefore, an equalizing 5-tap FIR filter should be applied
62
- * to subpixel coverages regardless of pixel boundaries and should have
63
- * these properties:
64
- *
65
- * 1. It should be symmetrical, like {~a, b, c, b, a~}, to avoid
66
- * any shifts in appearance.
67
- *
68
- * 2. It should be color-balanced, meaning a~+ b~=~c, to reduce color
69
- * fringes by distributing the computed coverage for one subpixel to
70
- * all subpixels equally.
71
- *
72
- * 3. It should be normalized, meaning 2a~+ 2b~+ c~=~1.0 to maintain
73
- * overall brightness.
74
- *
75
- * Boxy 3-tap filter {0, 1/3, 1/3, 1/3, 0} is sharper but is less
76
- * forgiving of non-ideal gamma curves of a screen (and viewing angles),
77
- * beveled filters are fuzzier but more tolerant.
78
- *
79
- * Use the @FT_Library_SetLcdFilter or @FT_Library_SetLcdFilterWeights
80
- * API to specify a low-pass filter, which is then applied to
81
- * subpixel-rendered bitmaps generated through @FT_Render_Glyph.
82
- *
83
- * Harmony LCD rendering is suitable to panels with any regular subpixel
84
- * structure, not just monitors with 3 color striped subpixels, as long
85
- * as the color subpixels have fixed positions relative to the pixel
86
- * center. In this case, each color channel can be rendered separately
87
- * after shifting the outline opposite to the subpixel shift so that the
88
- * coverage maps are aligned. This method is immune to color fringes
89
- * because the shifts do not change integral coverage.
90
- *
91
- * The subpixel geometry must be specified by xy-coordinates for each
92
- * subpixel. By convention they may come in the RGB order: {{-1/3, 0},
93
- * {0, 0}, {1/3, 0}} for standard RGB striped panel or {{-1/6, 1/4},
94
- * {-1/6, -1/4}, {1/3, 0}} for a certain PenTile panel.
95
- *
96
- * Use the @FT_Library_SetLcdGeometry API to specify subpixel positions.
97
- * If one follows the RGB order convention, the same order applies to the
98
- * resulting @FT_PIXEL_MODE_LCD and @FT_PIXEL_MODE_LCD_V bitmaps. Note,
99
- * however, that the coordinate frame for the latter must be rotated
100
- * clockwise. Harmony with default LCD geometry is equivalent to
101
- * ClearType with light filter.
102
- *
103
- * As a result of ClearType filtering or Harmony shifts, the resulting
104
- * dimensions of LCD bitmaps can be slightly wider or taller than the
105
- * dimensions the original outline with regard to the pixel grid.
106
- * For example, for @FT_RENDER_MODE_LCD, the filter adds 2~subpixels to
107
- * the left, and 2~subpixels to the right. The bitmap offset values are
108
- * adjusted accordingly, so clients shouldn't need to modify their layout
109
- * and glyph positioning code when enabling the filter.
110
- *
111
- * The ClearType and Harmony rendering is applicable to glyph bitmaps
112
- * rendered through @FT_Render_Glyph, @FT_Load_Glyph, @FT_Load_Char, and
113
- * @FT_Glyph_To_Bitmap, when @FT_RENDER_MODE_LCD or @FT_RENDER_MODE_LCD_V
114
- * is specified. This API does not control @FT_Outline_Render and
115
- * @FT_Outline_Get_Bitmap.
116
- *
117
- * The described algorithms can completely remove color artefacts when
118
- * combined with gamma-corrected alpha blending in linear space. Each of
119
- * the 3~alpha values (subpixels) must by independently used to blend one
120
- * color channel. That is, red alpha blends the red channel of the text
121
- * color with the red channel of the background pixel.
122
- */
123
-
124
-
125
- /**************************************************************************
126
- *
127
- * @enum:
128
- * FT_LcdFilter
129
- *
130
- * @description:
131
- * A list of values to identify various types of LCD filters.
132
- *
133
- * @values:
134
- * FT_LCD_FILTER_NONE ::
135
- * Do not perform filtering. When used with subpixel rendering, this
136
- * results in sometimes severe color fringes.
137
- *
138
- * FT_LCD_FILTER_DEFAULT ::
139
- * This is a beveled, normalized, and color-balanced five-tap filter
140
- * with weights of [0x08 0x4D 0x56 0x4D 0x08] in 1/256th units.
141
- *
142
- * FT_LCD_FILTER_LIGHT ::
143
- * this is a boxy, normalized, and color-balanced three-tap filter with
144
- * weights of [0x00 0x55 0x56 0x55 0x00] in 1/256th units.
145
- *
146
- * FT_LCD_FILTER_LEGACY ::
147
- * FT_LCD_FILTER_LEGACY1 ::
148
- * This filter corresponds to the original libXft color filter. It
149
- * provides high contrast output but can exhibit really bad color
150
- * fringes if glyphs are not extremely well hinted to the pixel grid.
151
- * This filter is only provided for comparison purposes, and might be
152
- * disabled or stay unsupported in the future. The second value is
153
- * provided for compatibility with FontConfig, which historically used
154
- * different enumeration, sometimes incorrectly forwarded to FreeType.
155
- *
156
- * @since:
157
- * 2.3.0 (`FT_LCD_FILTER_LEGACY1` since 2.6.2)
158
- */
159
- typedef enum FT_LcdFilter_
160
- {
161
- FT_LCD_FILTER_NONE = 0,
162
- FT_LCD_FILTER_DEFAULT = 1,
163
- FT_LCD_FILTER_LIGHT = 2,
164
- FT_LCD_FILTER_LEGACY1 = 3,
165
- FT_LCD_FILTER_LEGACY = 16,
166
-
167
- FT_LCD_FILTER_MAX /* do not remove */
168
-
169
- } FT_LcdFilter;
170
-
171
-
172
- /**************************************************************************
173
- *
174
- * @function:
175
- * FT_Library_SetLcdFilter
176
- *
177
- * @description:
178
- * This function is used to change filter applied to LCD decimated
179
- * bitmaps, like the ones used when calling @FT_Render_Glyph with
180
- * @FT_RENDER_MODE_LCD or @FT_RENDER_MODE_LCD_V.
181
- *
182
- * @input:
183
- * library ::
184
- * A handle to the target library instance.
185
- *
186
- * filter ::
187
- * The filter type.
188
- *
189
- * You can use @FT_LCD_FILTER_NONE here to disable this feature, or
190
- * @FT_LCD_FILTER_DEFAULT to use a default filter that should work well
191
- * on most LCD screens.
192
- *
193
- * @return:
194
- * FreeType error code. 0~means success.
195
- *
196
- * @note:
197
- * Since 2.10.3 the LCD filtering is enabled with @FT_LCD_FILTER_DEFAULT.
198
- * It is no longer necessary to call this function explicitly except
199
- * to choose a different filter or disable filtering altogether with
200
- * @FT_LCD_FILTER_NONE.
201
- *
202
- * This function does nothing but returns `FT_Err_Unimplemented_Feature`
203
- * if the configuration macro `FT_CONFIG_OPTION_SUBPIXEL_RENDERING` is
204
- * not defined in your build of the library.
205
- *
206
- * @since:
207
- * 2.3.0
208
- */
209
- FT_EXPORT( FT_Error )
210
- FT_Library_SetLcdFilter( FT_Library library,
211
- FT_LcdFilter filter );
212
-
213
-
214
- /**************************************************************************
215
- *
216
- * @function:
217
- * FT_Library_SetLcdFilterWeights
218
- *
219
- * @description:
220
- * This function can be used to enable LCD filter with custom weights,
221
- * instead of using presets in @FT_Library_SetLcdFilter.
222
- *
223
- * @input:
224
- * library ::
225
- * A handle to the target library instance.
226
- *
227
- * weights ::
228
- * A pointer to an array; the function copies the first five bytes and
229
- * uses them to specify the filter weights in 1/256th units.
230
- *
231
- * @return:
232
- * FreeType error code. 0~means success.
233
- *
234
- * @note:
235
- * This function does nothing but returns `FT_Err_Unimplemented_Feature`
236
- * if the configuration macro `FT_CONFIG_OPTION_SUBPIXEL_RENDERING` is
237
- * not defined in your build of the library.
238
- *
239
- * LCD filter weights can also be set per face using @FT_Face_Properties
240
- * with @FT_PARAM_TAG_LCD_FILTER_WEIGHTS.
241
- *
242
- * @since:
243
- * 2.4.0
244
- */
245
- FT_EXPORT( FT_Error )
246
- FT_Library_SetLcdFilterWeights( FT_Library library,
247
- unsigned char *weights );
248
-
249
-
250
- /**************************************************************************
251
- *
252
- * @type:
253
- * FT_LcdFiveTapFilter
254
- *
255
- * @description:
256
- * A typedef for passing the five LCD filter weights to
257
- * @FT_Face_Properties within an @FT_Parameter structure.
258
- *
259
- * @since:
260
- * 2.8
261
- *
262
- */
263
- #define FT_LCD_FILTER_FIVE_TAPS 5
264
-
265
- typedef FT_Byte FT_LcdFiveTapFilter[FT_LCD_FILTER_FIVE_TAPS];
266
-
267
-
268
- /**************************************************************************
269
- *
270
- * @function:
271
- * FT_Library_SetLcdGeometry
272
- *
273
- * @description:
274
- * This function can be used to modify default positions of color
275
- * subpixels, which controls Harmony LCD rendering.
276
- *
277
- * @input:
278
- * library ::
279
- * A handle to the target library instance.
280
- *
281
- * sub ::
282
- * A pointer to an array of 3 vectors in 26.6 fractional pixel format;
283
- * the function modifies the default values, see the note below.
284
- *
285
- * @return:
286
- * FreeType error code. 0~means success.
287
- *
288
- * @note:
289
- * Subpixel geometry examples:
290
- *
291
- * - {{-21, 0}, {0, 0}, {21, 0}} is the default, corresponding to 3 color
292
- * stripes shifted by a third of a pixel. This could be an RGB panel.
293
- *
294
- * - {{21, 0}, {0, 0}, {-21, 0}} looks the same as the default but can
295
- * specify a BGR panel instead, while keeping the bitmap in the same
296
- * RGB888 format.
297
- *
298
- * - {{0, 21}, {0, 0}, {0, -21}} is the vertical RGB, but the bitmap
299
- * stays RGB888 as a result.
300
- *
301
- * - {{-11, 16}, {-11, -16}, {22, 0}} is a certain PenTile arrangement.
302
- *
303
- * This function does nothing and returns `FT_Err_Unimplemented_Feature`
304
- * in the context of ClearType-style subpixel rendering when
305
- * `FT_CONFIG_OPTION_SUBPIXEL_RENDERING` is defined in your build of the
306
- * library.
307
- *
308
- * @since:
309
- * 2.10.0
310
- */
311
- FT_EXPORT( FT_Error )
312
- FT_Library_SetLcdGeometry( FT_Library library,
313
- FT_Vector sub[3] );
314
-
315
- /* */
316
-
317
-
318
- FT_END_HEADER
319
-
320
- #endif /* FTLCDFIL_H_ */
321
-
322
-
323
- /* END */