jassub 1.7.12 → 1.7.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. package/dist/jassub-worker-modern.wasm +0 -0
  2. package/dist/jassub-worker.js +11 -11
  3. package/dist/jassub-worker.wasm +0 -0
  4. package/dist/jassub-worker.wasm.js +1 -1
  5. package/package.json +4 -2
  6. package/dist/js/jassub-worker-modern.js +0 -10
  7. package/dist/js/jassub-worker-modern.wasm +0 -0
  8. package/dist/js/jassub-worker.js +0 -10
  9. package/dist/js/jassub-worker.wasm +0 -0
  10. package/dist/js/jassub-worker.wasm.js +0 -84
  11. package/dist/js/jassub.js +0 -832
  12. package/dist/libraries/bin/brotli.js +0 -1
  13. package/dist/libraries/include/ass/ass.h +0 -812
  14. package/dist/libraries/include/ass/ass_types.h +0 -292
  15. package/dist/libraries/include/brotli/decode.h +0 -344
  16. package/dist/libraries/include/brotli/encode.h +0 -448
  17. package/dist/libraries/include/brotli/port.h +0 -288
  18. package/dist/libraries/include/brotli/types.h +0 -83
  19. package/dist/libraries/include/expat.h +0 -1064
  20. package/dist/libraries/include/expat_config.h +0 -115
  21. package/dist/libraries/include/expat_external.h +0 -165
  22. package/dist/libraries/include/fontconfig/fcfreetype.h +0 -59
  23. package/dist/libraries/include/fontconfig/fcprivate.h +0 -134
  24. package/dist/libraries/include/fontconfig/fontconfig.h +0 -1154
  25. package/dist/libraries/include/freetype2/freetype/config/ftconfig.h +0 -63
  26. package/dist/libraries/include/freetype2/freetype/config/ftheader.h +0 -824
  27. package/dist/libraries/include/freetype2/freetype/config/ftmodule.h +0 -20
  28. package/dist/libraries/include/freetype2/freetype/config/ftoption.h +0 -1011
  29. package/dist/libraries/include/freetype2/freetype/config/ftstdlib.h +0 -175
  30. package/dist/libraries/include/freetype2/freetype/config/integer-types.h +0 -245
  31. package/dist/libraries/include/freetype2/freetype/config/mac-support.h +0 -49
  32. package/dist/libraries/include/freetype2/freetype/config/public-macros.h +0 -120
  33. package/dist/libraries/include/freetype2/freetype/freetype.h +0 -4833
  34. package/dist/libraries/include/freetype2/freetype/ftadvanc.h +0 -188
  35. package/dist/libraries/include/freetype2/freetype/ftbbox.h +0 -101
  36. package/dist/libraries/include/freetype2/freetype/ftbdf.h +0 -212
  37. package/dist/libraries/include/freetype2/freetype/ftbitmap.h +0 -329
  38. package/dist/libraries/include/freetype2/freetype/ftbzip2.h +0 -102
  39. package/dist/libraries/include/freetype2/freetype/ftcache.h +0 -1087
  40. package/dist/libraries/include/freetype2/freetype/ftchapters.h +0 -147
  41. package/dist/libraries/include/freetype2/freetype/ftcid.h +0 -167
  42. package/dist/libraries/include/freetype2/freetype/ftcolor.h +0 -1609
  43. package/dist/libraries/include/freetype2/freetype/ftdriver.h +0 -1193
  44. package/dist/libraries/include/freetype2/freetype/fterrdef.h +0 -279
  45. package/dist/libraries/include/freetype2/freetype/fterrors.h +0 -296
  46. package/dist/libraries/include/freetype2/freetype/ftfntfmt.h +0 -93
  47. package/dist/libraries/include/freetype2/freetype/ftgasp.h +0 -143
  48. package/dist/libraries/include/freetype2/freetype/ftglyph.h +0 -664
  49. package/dist/libraries/include/freetype2/freetype/ftgxval.h +0 -354
  50. package/dist/libraries/include/freetype2/freetype/ftgzip.h +0 -151
  51. package/dist/libraries/include/freetype2/freetype/ftimage.h +0 -1276
  52. package/dist/libraries/include/freetype2/freetype/ftincrem.h +0 -348
  53. package/dist/libraries/include/freetype2/freetype/ftlcdfil.h +0 -323
  54. package/dist/libraries/include/freetype2/freetype/ftlist.h +0 -296
  55. package/dist/libraries/include/freetype2/freetype/ftlogging.h +0 -184
  56. package/dist/libraries/include/freetype2/freetype/ftlzw.h +0 -100
  57. package/dist/libraries/include/freetype2/freetype/ftmac.h +0 -289
  58. package/dist/libraries/include/freetype2/freetype/ftmm.h +0 -752
  59. package/dist/libraries/include/freetype2/freetype/ftmodapi.h +0 -806
  60. package/dist/libraries/include/freetype2/freetype/ftmoderr.h +0 -204
  61. package/dist/libraries/include/freetype2/freetype/ftotval.h +0 -206
  62. package/dist/libraries/include/freetype2/freetype/ftoutln.h +0 -586
  63. package/dist/libraries/include/freetype2/freetype/ftparams.h +0 -203
  64. package/dist/libraries/include/freetype2/freetype/ftpfr.h +0 -179
  65. package/dist/libraries/include/freetype2/freetype/ftrender.h +0 -244
  66. package/dist/libraries/include/freetype2/freetype/ftsizes.h +0 -159
  67. package/dist/libraries/include/freetype2/freetype/ftsnames.h +0 -272
  68. package/dist/libraries/include/freetype2/freetype/ftstroke.h +0 -773
  69. package/dist/libraries/include/freetype2/freetype/ftsynth.h +0 -83
  70. package/dist/libraries/include/freetype2/freetype/ftsystem.h +0 -352
  71. package/dist/libraries/include/freetype2/freetype/fttrigon.h +0 -350
  72. package/dist/libraries/include/freetype2/freetype/fttypes.h +0 -615
  73. package/dist/libraries/include/freetype2/freetype/ftwinfnt.h +0 -276
  74. package/dist/libraries/include/freetype2/freetype/t1tables.h +0 -773
  75. package/dist/libraries/include/freetype2/freetype/ttnameid.h +0 -1235
  76. package/dist/libraries/include/freetype2/freetype/tttables.h +0 -855
  77. package/dist/libraries/include/freetype2/freetype/tttags.h +0 -123
  78. package/dist/libraries/include/freetype2/ft2build.h +0 -42
  79. package/dist/libraries/include/fribidi/fribidi-arabic.h +0 -81
  80. package/dist/libraries/include/fribidi/fribidi-begindecls.h +0 -3
  81. package/dist/libraries/include/fribidi/fribidi-bidi-types-list.h +0 -96
  82. package/dist/libraries/include/fribidi/fribidi-bidi-types.h +0 -405
  83. package/dist/libraries/include/fribidi/fribidi-bidi.h +0 -142
  84. package/dist/libraries/include/fribidi/fribidi-brackets.h +0 -89
  85. package/dist/libraries/include/fribidi/fribidi-char-sets-list.h +0 -54
  86. package/dist/libraries/include/fribidi/fribidi-char-sets.h +0 -106
  87. package/dist/libraries/include/fribidi/fribidi-common.h +0 -158
  88. package/dist/libraries/include/fribidi/fribidi-config.h +0 -23
  89. package/dist/libraries/include/fribidi/fribidi-deprecated.h +0 -175
  90. package/dist/libraries/include/fribidi/fribidi-enddecls.h +0 -3
  91. package/dist/libraries/include/fribidi/fribidi-flags.h +0 -72
  92. package/dist/libraries/include/fribidi/fribidi-joining-types-list.h +0 -44
  93. package/dist/libraries/include/fribidi/fribidi-joining-types.h +0 -249
  94. package/dist/libraries/include/fribidi/fribidi-joining.h +0 -74
  95. package/dist/libraries/include/fribidi/fribidi-mirroring.h +0 -86
  96. package/dist/libraries/include/fribidi/fribidi-shape.h +0 -71
  97. package/dist/libraries/include/fribidi/fribidi-types.h +0 -79
  98. package/dist/libraries/include/fribidi/fribidi-unicode-version.h +0 -10
  99. package/dist/libraries/include/fribidi/fribidi-unicode.h +0 -105
  100. package/dist/libraries/include/fribidi/fribidi.h +0 -129
  101. package/dist/libraries/include/harfbuzz/hb-aat-layout.h +0 -795
  102. package/dist/libraries/include/harfbuzz/hb-aat.h +0 -38
  103. package/dist/libraries/include/harfbuzz/hb-blob.h +0 -160
  104. package/dist/libraries/include/harfbuzz/hb-buffer.h +0 -799
  105. package/dist/libraries/include/harfbuzz/hb-common.h +0 -902
  106. package/dist/libraries/include/harfbuzz/hb-cplusplus.hh +0 -221
  107. package/dist/libraries/include/harfbuzz/hb-deprecated.h +0 -251
  108. package/dist/libraries/include/harfbuzz/hb-draw.h +0 -325
  109. package/dist/libraries/include/harfbuzz/hb-face.h +0 -181
  110. package/dist/libraries/include/harfbuzz/hb-font.h +0 -1108
  111. package/dist/libraries/include/harfbuzz/hb-ft.h +0 -145
  112. package/dist/libraries/include/harfbuzz/hb-map.h +0 -124
  113. package/dist/libraries/include/harfbuzz/hb-ot-color.h +0 -146
  114. package/dist/libraries/include/harfbuzz/hb-ot-deprecated.h +0 -141
  115. package/dist/libraries/include/harfbuzz/hb-ot-font.h +0 -45
  116. package/dist/libraries/include/harfbuzz/hb-ot-layout.h +0 -503
  117. package/dist/libraries/include/harfbuzz/hb-ot-math.h +0 -333
  118. package/dist/libraries/include/harfbuzz/hb-ot-meta.h +0 -72
  119. package/dist/libraries/include/harfbuzz/hb-ot-metrics.h +0 -129
  120. package/dist/libraries/include/harfbuzz/hb-ot-name.h +0 -158
  121. package/dist/libraries/include/harfbuzz/hb-ot-shape.h +0 -53
  122. package/dist/libraries/include/harfbuzz/hb-ot-var.h +0 -191
  123. package/dist/libraries/include/harfbuzz/hb-ot.h +0 -49
  124. package/dist/libraries/include/harfbuzz/hb-set.h +0 -200
  125. package/dist/libraries/include/harfbuzz/hb-shape-plan.h +0 -122
  126. package/dist/libraries/include/harfbuzz/hb-shape.h +0 -62
  127. package/dist/libraries/include/harfbuzz/hb-style.h +0 -81
  128. package/dist/libraries/include/harfbuzz/hb-subset-repacker.h +0 -81
  129. package/dist/libraries/include/harfbuzz/hb-subset.h +0 -234
  130. package/dist/libraries/include/harfbuzz/hb-unicode.h +0 -643
  131. package/dist/libraries/include/harfbuzz/hb-version.h +0 -95
  132. package/dist/libraries/include/harfbuzz/hb.h +0 -50
  133. package/dist/libraries/lib/cmake/expat-2.4.7/expat-config-version.cmake +0 -70
  134. package/dist/libraries/lib/cmake/expat-2.4.7/expat-config.cmake +0 -99
  135. package/dist/libraries/lib/cmake/expat-2.4.7/expat-noconfig.cmake +0 -19
  136. package/dist/libraries/lib/cmake/expat-2.4.7/expat.cmake +0 -99
  137. package/dist/libraries/lib/libass.a +0 -0
  138. package/dist/libraries/lib/libass.la +0 -41
  139. package/dist/libraries/lib/libbrotlicommon.a +0 -0
  140. package/dist/libraries/lib/libbrotlidec.a +0 -0
  141. package/dist/libraries/lib/libbrotlienc.a +0 -0
  142. package/dist/libraries/lib/libexpat.a +0 -0
  143. package/dist/libraries/lib/libfontconfig.a +0 -0
  144. package/dist/libraries/lib/libfontconfig.la +0 -41
  145. package/dist/libraries/lib/libfreetype.a +0 -0
  146. package/dist/libraries/lib/libfreetype.la +0 -41
  147. package/dist/libraries/lib/libfribidi.a +0 -0
  148. package/dist/libraries/lib/libfribidi.la +0 -41
  149. package/dist/libraries/lib/libharfbuzz-subset.a +0 -0
  150. package/dist/libraries/lib/libharfbuzz-subset.la +0 -41
  151. package/dist/libraries/lib/libharfbuzz.a +0 -0
  152. package/dist/libraries/lib/libharfbuzz.la +0 -41
  153. package/dist/libraries/lib/pkgconfig/expat.pc +0 -11
  154. package/dist/libraries/lib/pkgconfig/fontconfig.pc +0 -18
  155. package/dist/libraries/lib/pkgconfig/freetype2.pc +0 -14
  156. package/dist/libraries/lib/pkgconfig/fribidi.pc +0 -13
  157. package/dist/libraries/lib/pkgconfig/harfbuzz-subset.pc +0 -12
  158. package/dist/libraries/lib/pkgconfig/harfbuzz.pc +0 -13
  159. package/dist/libraries/lib/pkgconfig/libass.pc +0 -13
  160. package/dist/libraries/lib/pkgconfig/libbrotlicommon.pc +0 -11
  161. package/dist/libraries/lib/pkgconfig/libbrotlidec.pc +0 -12
  162. package/dist/libraries/lib/pkgconfig/libbrotlienc.pc +0 -12
  163. package/dist/libraries/share/aclocal/freetype2.m4 +0 -194
  164. package/dist/libraries/share/doc/expat/AUTHORS +0 -10
  165. package/dist/libraries/share/doc/expat/changelog +0 -1161
  166. package/dist/license/all +0 -951
  167. package/dist/license/all.tmp +0 -307
  168. package/dist/license/brotli +0 -12
  169. package/dist/license/expat +0 -71
  170. package/dist/license/fontconfig +0 -46
  171. package/dist/license/freetype +0 -92
  172. package/dist/license/fribidi +0 -15
  173. package/dist/license/harfbuzz +0 -32
  174. package/dist/license/jassub +0 -0
  175. package/dist/license/libass +0 -28
@@ -1,773 +0,0 @@
1
- /****************************************************************************
2
- *
3
- * ftstroke.h
4
- *
5
- * FreeType path stroker (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 FTSTROKE_H_
20
- #define FTSTROKE_H_
21
-
22
- #include <freetype/ftoutln.h>
23
- #include <freetype/ftglyph.h>
24
-
25
-
26
- FT_BEGIN_HEADER
27
-
28
-
29
- /**************************************************************************
30
- *
31
- * @section:
32
- * glyph_stroker
33
- *
34
- * @title:
35
- * Glyph Stroker
36
- *
37
- * @abstract:
38
- * Generating bordered and stroked glyphs.
39
- *
40
- * @description:
41
- * This component generates stroked outlines of a given vectorial glyph.
42
- * It also allows you to retrieve the 'outside' and/or the 'inside'
43
- * borders of the stroke.
44
- *
45
- * This can be useful to generate 'bordered' glyph, i.e., glyphs
46
- * displayed with a colored (and anti-aliased) border around their
47
- * shape.
48
- *
49
- * @order:
50
- * FT_Stroker
51
- *
52
- * FT_Stroker_LineJoin
53
- * FT_Stroker_LineCap
54
- * FT_StrokerBorder
55
- *
56
- * FT_Outline_GetInsideBorder
57
- * FT_Outline_GetOutsideBorder
58
- *
59
- * FT_Glyph_Stroke
60
- * FT_Glyph_StrokeBorder
61
- *
62
- * FT_Stroker_New
63
- * FT_Stroker_Set
64
- * FT_Stroker_Rewind
65
- * FT_Stroker_ParseOutline
66
- * FT_Stroker_Done
67
- *
68
- * FT_Stroker_BeginSubPath
69
- * FT_Stroker_EndSubPath
70
- *
71
- * FT_Stroker_LineTo
72
- * FT_Stroker_ConicTo
73
- * FT_Stroker_CubicTo
74
- *
75
- * FT_Stroker_GetBorderCounts
76
- * FT_Stroker_ExportBorder
77
- * FT_Stroker_GetCounts
78
- * FT_Stroker_Export
79
- *
80
- */
81
-
82
-
83
- /**************************************************************************
84
- *
85
- * @type:
86
- * FT_Stroker
87
- *
88
- * @description:
89
- * Opaque handle to a path stroker object.
90
- */
91
- typedef struct FT_StrokerRec_* FT_Stroker;
92
-
93
-
94
- /**************************************************************************
95
- *
96
- * @enum:
97
- * FT_Stroker_LineJoin
98
- *
99
- * @description:
100
- * These values determine how two joining lines are rendered in a
101
- * stroker.
102
- *
103
- * @values:
104
- * FT_STROKER_LINEJOIN_ROUND ::
105
- * Used to render rounded line joins. Circular arcs are used to join
106
- * two lines smoothly.
107
- *
108
- * FT_STROKER_LINEJOIN_BEVEL ::
109
- * Used to render beveled line joins. The outer corner of the joined
110
- * lines is filled by enclosing the triangular region of the corner
111
- * with a straight line between the outer corners of each stroke.
112
- *
113
- * FT_STROKER_LINEJOIN_MITER_FIXED ::
114
- * Used to render mitered line joins, with fixed bevels if the miter
115
- * limit is exceeded. The outer edges of the strokes for the two
116
- * segments are extended until they meet at an angle. A bevel join
117
- * (see above) is used if the segments meet at too sharp an angle and
118
- * the outer edges meet beyond a distance corresponding to the meter
119
- * limit. This prevents long spikes being created.
120
- * `FT_STROKER_LINEJOIN_MITER_FIXED` generates a miter line join as
121
- * used in PostScript and PDF.
122
- *
123
- * FT_STROKER_LINEJOIN_MITER_VARIABLE ::
124
- * FT_STROKER_LINEJOIN_MITER ::
125
- * Used to render mitered line joins, with variable bevels if the miter
126
- * limit is exceeded. The intersection of the strokes is clipped
127
- * perpendicularly to the bisector, at a distance corresponding to
128
- * the miter limit. This prevents long spikes being created.
129
- * `FT_STROKER_LINEJOIN_MITER_VARIABLE` generates a mitered line join
130
- * as used in XPS. `FT_STROKER_LINEJOIN_MITER` is an alias for
131
- * `FT_STROKER_LINEJOIN_MITER_VARIABLE`, retained for backward
132
- * compatibility.
133
- */
134
- typedef enum FT_Stroker_LineJoin_
135
- {
136
- FT_STROKER_LINEJOIN_ROUND = 0,
137
- FT_STROKER_LINEJOIN_BEVEL = 1,
138
- FT_STROKER_LINEJOIN_MITER_VARIABLE = 2,
139
- FT_STROKER_LINEJOIN_MITER = FT_STROKER_LINEJOIN_MITER_VARIABLE,
140
- FT_STROKER_LINEJOIN_MITER_FIXED = 3
141
-
142
- } FT_Stroker_LineJoin;
143
-
144
-
145
- /**************************************************************************
146
- *
147
- * @enum:
148
- * FT_Stroker_LineCap
149
- *
150
- * @description:
151
- * These values determine how the end of opened sub-paths are rendered in
152
- * a stroke.
153
- *
154
- * @values:
155
- * FT_STROKER_LINECAP_BUTT ::
156
- * The end of lines is rendered as a full stop on the last point
157
- * itself.
158
- *
159
- * FT_STROKER_LINECAP_ROUND ::
160
- * The end of lines is rendered as a half-circle around the last point.
161
- *
162
- * FT_STROKER_LINECAP_SQUARE ::
163
- * The end of lines is rendered as a square around the last point.
164
- */
165
- typedef enum FT_Stroker_LineCap_
166
- {
167
- FT_STROKER_LINECAP_BUTT = 0,
168
- FT_STROKER_LINECAP_ROUND,
169
- FT_STROKER_LINECAP_SQUARE
170
-
171
- } FT_Stroker_LineCap;
172
-
173
-
174
- /**************************************************************************
175
- *
176
- * @enum:
177
- * FT_StrokerBorder
178
- *
179
- * @description:
180
- * These values are used to select a given stroke border in
181
- * @FT_Stroker_GetBorderCounts and @FT_Stroker_ExportBorder.
182
- *
183
- * @values:
184
- * FT_STROKER_BORDER_LEFT ::
185
- * Select the left border, relative to the drawing direction.
186
- *
187
- * FT_STROKER_BORDER_RIGHT ::
188
- * Select the right border, relative to the drawing direction.
189
- *
190
- * @note:
191
- * Applications are generally interested in the 'inside' and 'outside'
192
- * borders. However, there is no direct mapping between these and the
193
- * 'left' and 'right' ones, since this really depends on the glyph's
194
- * drawing orientation, which varies between font formats.
195
- *
196
- * You can however use @FT_Outline_GetInsideBorder and
197
- * @FT_Outline_GetOutsideBorder to get these.
198
- */
199
- typedef enum FT_StrokerBorder_
200
- {
201
- FT_STROKER_BORDER_LEFT = 0,
202
- FT_STROKER_BORDER_RIGHT
203
-
204
- } FT_StrokerBorder;
205
-
206
-
207
- /**************************************************************************
208
- *
209
- * @function:
210
- * FT_Outline_GetInsideBorder
211
- *
212
- * @description:
213
- * Retrieve the @FT_StrokerBorder value corresponding to the 'inside'
214
- * borders of a given outline.
215
- *
216
- * @input:
217
- * outline ::
218
- * The source outline handle.
219
- *
220
- * @return:
221
- * The border index. @FT_STROKER_BORDER_RIGHT for empty or invalid
222
- * outlines.
223
- */
224
- FT_EXPORT( FT_StrokerBorder )
225
- FT_Outline_GetInsideBorder( FT_Outline* outline );
226
-
227
-
228
- /**************************************************************************
229
- *
230
- * @function:
231
- * FT_Outline_GetOutsideBorder
232
- *
233
- * @description:
234
- * Retrieve the @FT_StrokerBorder value corresponding to the 'outside'
235
- * borders of a given outline.
236
- *
237
- * @input:
238
- * outline ::
239
- * The source outline handle.
240
- *
241
- * @return:
242
- * The border index. @FT_STROKER_BORDER_LEFT for empty or invalid
243
- * outlines.
244
- */
245
- FT_EXPORT( FT_StrokerBorder )
246
- FT_Outline_GetOutsideBorder( FT_Outline* outline );
247
-
248
-
249
- /**************************************************************************
250
- *
251
- * @function:
252
- * FT_Stroker_New
253
- *
254
- * @description:
255
- * Create a new stroker object.
256
- *
257
- * @input:
258
- * library ::
259
- * FreeType library handle.
260
- *
261
- * @output:
262
- * astroker ::
263
- * A new stroker object handle. `NULL` in case of error.
264
- *
265
- * @return:
266
- * FreeType error code. 0~means success.
267
- */
268
- FT_EXPORT( FT_Error )
269
- FT_Stroker_New( FT_Library library,
270
- FT_Stroker *astroker );
271
-
272
-
273
- /**************************************************************************
274
- *
275
- * @function:
276
- * FT_Stroker_Set
277
- *
278
- * @description:
279
- * Reset a stroker object's attributes.
280
- *
281
- * @input:
282
- * stroker ::
283
- * The target stroker handle.
284
- *
285
- * radius ::
286
- * The border radius.
287
- *
288
- * line_cap ::
289
- * The line cap style.
290
- *
291
- * line_join ::
292
- * The line join style.
293
- *
294
- * miter_limit ::
295
- * The maximum reciprocal sine of half-angle at the miter join,
296
- * expressed as 16.16 fixed point value.
297
- *
298
- * @note:
299
- * The `radius` is expressed in the same units as the outline
300
- * coordinates.
301
- *
302
- * The `miter_limit` multiplied by the `radius` gives the maximum size
303
- * of a miter spike, at which it is clipped for
304
- * @FT_STROKER_LINEJOIN_MITER_VARIABLE or replaced with a bevel join for
305
- * @FT_STROKER_LINEJOIN_MITER_FIXED.
306
- *
307
- * This function calls @FT_Stroker_Rewind automatically.
308
- */
309
- FT_EXPORT( void )
310
- FT_Stroker_Set( FT_Stroker stroker,
311
- FT_Fixed radius,
312
- FT_Stroker_LineCap line_cap,
313
- FT_Stroker_LineJoin line_join,
314
- FT_Fixed miter_limit );
315
-
316
-
317
- /**************************************************************************
318
- *
319
- * @function:
320
- * FT_Stroker_Rewind
321
- *
322
- * @description:
323
- * Reset a stroker object without changing its attributes. You should
324
- * call this function before beginning a new series of calls to
325
- * @FT_Stroker_BeginSubPath or @FT_Stroker_EndSubPath.
326
- *
327
- * @input:
328
- * stroker ::
329
- * The target stroker handle.
330
- */
331
- FT_EXPORT( void )
332
- FT_Stroker_Rewind( FT_Stroker stroker );
333
-
334
-
335
- /**************************************************************************
336
- *
337
- * @function:
338
- * FT_Stroker_ParseOutline
339
- *
340
- * @description:
341
- * A convenience function used to parse a whole outline with the stroker.
342
- * The resulting outline(s) can be retrieved later by functions like
343
- * @FT_Stroker_GetCounts and @FT_Stroker_Export.
344
- *
345
- * @input:
346
- * stroker ::
347
- * The target stroker handle.
348
- *
349
- * outline ::
350
- * The source outline.
351
- *
352
- * opened ::
353
- * A boolean. If~1, the outline is treated as an open path instead of
354
- * a closed one.
355
- *
356
- * @return:
357
- * FreeType error code. 0~means success.
358
- *
359
- * @note:
360
- * If `opened` is~0 (the default), the outline is treated as a closed
361
- * path, and the stroker generates two distinct 'border' outlines.
362
- *
363
- * If `opened` is~1, the outline is processed as an open path, and the
364
- * stroker generates a single 'stroke' outline.
365
- *
366
- * This function calls @FT_Stroker_Rewind automatically.
367
- */
368
- FT_EXPORT( FT_Error )
369
- FT_Stroker_ParseOutline( FT_Stroker stroker,
370
- FT_Outline* outline,
371
- FT_Bool opened );
372
-
373
-
374
- /**************************************************************************
375
- *
376
- * @function:
377
- * FT_Stroker_BeginSubPath
378
- *
379
- * @description:
380
- * Start a new sub-path in the stroker.
381
- *
382
- * @input:
383
- * stroker ::
384
- * The target stroker handle.
385
- *
386
- * to ::
387
- * A pointer to the start vector.
388
- *
389
- * open ::
390
- * A boolean. If~1, the sub-path is treated as an open one.
391
- *
392
- * @return:
393
- * FreeType error code. 0~means success.
394
- *
395
- * @note:
396
- * This function is useful when you need to stroke a path that is not
397
- * stored as an @FT_Outline object.
398
- */
399
- FT_EXPORT( FT_Error )
400
- FT_Stroker_BeginSubPath( FT_Stroker stroker,
401
- FT_Vector* to,
402
- FT_Bool open );
403
-
404
-
405
- /**************************************************************************
406
- *
407
- * @function:
408
- * FT_Stroker_EndSubPath
409
- *
410
- * @description:
411
- * Close the current sub-path in the stroker.
412
- *
413
- * @input:
414
- * stroker ::
415
- * The target stroker handle.
416
- *
417
- * @return:
418
- * FreeType error code. 0~means success.
419
- *
420
- * @note:
421
- * You should call this function after @FT_Stroker_BeginSubPath. If the
422
- * subpath was not 'opened', this function 'draws' a single line segment
423
- * to the start position when needed.
424
- */
425
- FT_EXPORT( FT_Error )
426
- FT_Stroker_EndSubPath( FT_Stroker stroker );
427
-
428
-
429
- /**************************************************************************
430
- *
431
- * @function:
432
- * FT_Stroker_LineTo
433
- *
434
- * @description:
435
- * 'Draw' a single line segment in the stroker's current sub-path, from
436
- * the last position.
437
- *
438
- * @input:
439
- * stroker ::
440
- * The target stroker handle.
441
- *
442
- * to ::
443
- * A pointer to the destination point.
444
- *
445
- * @return:
446
- * FreeType error code. 0~means success.
447
- *
448
- * @note:
449
- * You should call this function between @FT_Stroker_BeginSubPath and
450
- * @FT_Stroker_EndSubPath.
451
- */
452
- FT_EXPORT( FT_Error )
453
- FT_Stroker_LineTo( FT_Stroker stroker,
454
- FT_Vector* to );
455
-
456
-
457
- /**************************************************************************
458
- *
459
- * @function:
460
- * FT_Stroker_ConicTo
461
- *
462
- * @description:
463
- * 'Draw' a single quadratic Bezier in the stroker's current sub-path,
464
- * from the last position.
465
- *
466
- * @input:
467
- * stroker ::
468
- * The target stroker handle.
469
- *
470
- * control ::
471
- * A pointer to a Bezier control point.
472
- *
473
- * to ::
474
- * A pointer to the destination point.
475
- *
476
- * @return:
477
- * FreeType error code. 0~means success.
478
- *
479
- * @note:
480
- * You should call this function between @FT_Stroker_BeginSubPath and
481
- * @FT_Stroker_EndSubPath.
482
- */
483
- FT_EXPORT( FT_Error )
484
- FT_Stroker_ConicTo( FT_Stroker stroker,
485
- FT_Vector* control,
486
- FT_Vector* to );
487
-
488
-
489
- /**************************************************************************
490
- *
491
- * @function:
492
- * FT_Stroker_CubicTo
493
- *
494
- * @description:
495
- * 'Draw' a single cubic Bezier in the stroker's current sub-path, from
496
- * the last position.
497
- *
498
- * @input:
499
- * stroker ::
500
- * The target stroker handle.
501
- *
502
- * control1 ::
503
- * A pointer to the first Bezier control point.
504
- *
505
- * control2 ::
506
- * A pointer to second Bezier control point.
507
- *
508
- * to ::
509
- * A pointer to the destination point.
510
- *
511
- * @return:
512
- * FreeType error code. 0~means success.
513
- *
514
- * @note:
515
- * You should call this function between @FT_Stroker_BeginSubPath and
516
- * @FT_Stroker_EndSubPath.
517
- */
518
- FT_EXPORT( FT_Error )
519
- FT_Stroker_CubicTo( FT_Stroker stroker,
520
- FT_Vector* control1,
521
- FT_Vector* control2,
522
- FT_Vector* to );
523
-
524
-
525
- /**************************************************************************
526
- *
527
- * @function:
528
- * FT_Stroker_GetBorderCounts
529
- *
530
- * @description:
531
- * Call this function once you have finished parsing your paths with the
532
- * stroker. It returns the number of points and contours necessary to
533
- * export one of the 'border' or 'stroke' outlines generated by the
534
- * stroker.
535
- *
536
- * @input:
537
- * stroker ::
538
- * The target stroker handle.
539
- *
540
- * border ::
541
- * The border index.
542
- *
543
- * @output:
544
- * anum_points ::
545
- * The number of points.
546
- *
547
- * anum_contours ::
548
- * The number of contours.
549
- *
550
- * @return:
551
- * FreeType error code. 0~means success.
552
- *
553
- * @note:
554
- * When an outline, or a sub-path, is 'closed', the stroker generates two
555
- * independent 'border' outlines, named 'left' and 'right'.
556
- *
557
- * When the outline, or a sub-path, is 'opened', the stroker merges the
558
- * 'border' outlines with caps. The 'left' border receives all points,
559
- * while the 'right' border becomes empty.
560
- *
561
- * Use the function @FT_Stroker_GetCounts instead if you want to retrieve
562
- * the counts associated to both borders.
563
- */
564
- FT_EXPORT( FT_Error )
565
- FT_Stroker_GetBorderCounts( FT_Stroker stroker,
566
- FT_StrokerBorder border,
567
- FT_UInt *anum_points,
568
- FT_UInt *anum_contours );
569
-
570
-
571
- /**************************************************************************
572
- *
573
- * @function:
574
- * FT_Stroker_ExportBorder
575
- *
576
- * @description:
577
- * Call this function after @FT_Stroker_GetBorderCounts to export the
578
- * corresponding border to your own @FT_Outline structure.
579
- *
580
- * Note that this function appends the border points and contours to your
581
- * outline, but does not try to resize its arrays.
582
- *
583
- * @input:
584
- * stroker ::
585
- * The target stroker handle.
586
- *
587
- * border ::
588
- * The border index.
589
- *
590
- * outline ::
591
- * The target outline handle.
592
- *
593
- * @note:
594
- * Always call this function after @FT_Stroker_GetBorderCounts to get
595
- * sure that there is enough room in your @FT_Outline object to receive
596
- * all new data.
597
- *
598
- * When an outline, or a sub-path, is 'closed', the stroker generates two
599
- * independent 'border' outlines, named 'left' and 'right'.
600
- *
601
- * When the outline, or a sub-path, is 'opened', the stroker merges the
602
- * 'border' outlines with caps. The 'left' border receives all points,
603
- * while the 'right' border becomes empty.
604
- *
605
- * Use the function @FT_Stroker_Export instead if you want to retrieve
606
- * all borders at once.
607
- */
608
- FT_EXPORT( void )
609
- FT_Stroker_ExportBorder( FT_Stroker stroker,
610
- FT_StrokerBorder border,
611
- FT_Outline* outline );
612
-
613
-
614
- /**************************************************************************
615
- *
616
- * @function:
617
- * FT_Stroker_GetCounts
618
- *
619
- * @description:
620
- * Call this function once you have finished parsing your paths with the
621
- * stroker. It returns the number of points and contours necessary to
622
- * export all points/borders from the stroked outline/path.
623
- *
624
- * @input:
625
- * stroker ::
626
- * The target stroker handle.
627
- *
628
- * @output:
629
- * anum_points ::
630
- * The number of points.
631
- *
632
- * anum_contours ::
633
- * The number of contours.
634
- *
635
- * @return:
636
- * FreeType error code. 0~means success.
637
- */
638
- FT_EXPORT( FT_Error )
639
- FT_Stroker_GetCounts( FT_Stroker stroker,
640
- FT_UInt *anum_points,
641
- FT_UInt *anum_contours );
642
-
643
-
644
- /**************************************************************************
645
- *
646
- * @function:
647
- * FT_Stroker_Export
648
- *
649
- * @description:
650
- * Call this function after @FT_Stroker_GetBorderCounts to export all
651
- * borders to your own @FT_Outline structure.
652
- *
653
- * Note that this function appends the border points and contours to your
654
- * outline, but does not try to resize its arrays.
655
- *
656
- * @input:
657
- * stroker ::
658
- * The target stroker handle.
659
- *
660
- * outline ::
661
- * The target outline handle.
662
- */
663
- FT_EXPORT( void )
664
- FT_Stroker_Export( FT_Stroker stroker,
665
- FT_Outline* outline );
666
-
667
-
668
- /**************************************************************************
669
- *
670
- * @function:
671
- * FT_Stroker_Done
672
- *
673
- * @description:
674
- * Destroy a stroker object.
675
- *
676
- * @input:
677
- * stroker ::
678
- * A stroker handle. Can be `NULL`.
679
- */
680
- FT_EXPORT( void )
681
- FT_Stroker_Done( FT_Stroker stroker );
682
-
683
-
684
- /**************************************************************************
685
- *
686
- * @function:
687
- * FT_Glyph_Stroke
688
- *
689
- * @description:
690
- * Stroke a given outline glyph object with a given stroker.
691
- *
692
- * @inout:
693
- * pglyph ::
694
- * Source glyph handle on input, new glyph handle on output.
695
- *
696
- * @input:
697
- * stroker ::
698
- * A stroker handle.
699
- *
700
- * destroy ::
701
- * A Boolean. If~1, the source glyph object is destroyed on success.
702
- *
703
- * @return:
704
- * FreeType error code. 0~means success.
705
- *
706
- * @note:
707
- * The source glyph is untouched in case of error.
708
- *
709
- * Adding stroke may yield a significantly wider and taller glyph
710
- * depending on how large of a radius was used to stroke the glyph. You
711
- * may need to manually adjust horizontal and vertical advance amounts to
712
- * account for this added size.
713
- */
714
- FT_EXPORT( FT_Error )
715
- FT_Glyph_Stroke( FT_Glyph *pglyph,
716
- FT_Stroker stroker,
717
- FT_Bool destroy );
718
-
719
-
720
- /**************************************************************************
721
- *
722
- * @function:
723
- * FT_Glyph_StrokeBorder
724
- *
725
- * @description:
726
- * Stroke a given outline glyph object with a given stroker, but only
727
- * return either its inside or outside border.
728
- *
729
- * @inout:
730
- * pglyph ::
731
- * Source glyph handle on input, new glyph handle on output.
732
- *
733
- * @input:
734
- * stroker ::
735
- * A stroker handle.
736
- *
737
- * inside ::
738
- * A Boolean. If~1, return the inside border, otherwise the outside
739
- * border.
740
- *
741
- * destroy ::
742
- * A Boolean. If~1, the source glyph object is destroyed on success.
743
- *
744
- * @return:
745
- * FreeType error code. 0~means success.
746
- *
747
- * @note:
748
- * The source glyph is untouched in case of error.
749
- *
750
- * Adding stroke may yield a significantly wider and taller glyph
751
- * depending on how large of a radius was used to stroke the glyph. You
752
- * may need to manually adjust horizontal and vertical advance amounts to
753
- * account for this added size.
754
- */
755
- FT_EXPORT( FT_Error )
756
- FT_Glyph_StrokeBorder( FT_Glyph *pglyph,
757
- FT_Stroker stroker,
758
- FT_Bool inside,
759
- FT_Bool destroy );
760
-
761
- /* */
762
-
763
- FT_END_HEADER
764
-
765
- #endif /* FTSTROKE_H_ */
766
-
767
-
768
- /* END */
769
-
770
-
771
- /* Local Variables: */
772
- /* coding: utf-8 */
773
- /* End: */