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,1011 @@
1
+ /****************************************************************************
2
+ *
3
+ * ftoption.h
4
+ *
5
+ * User-selectable configuration macros (specification only).
6
+ *
7
+ * Copyright (C) 1996-2021 by
8
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
9
+ *
10
+ * This file is part of the FreeType project, and may only be used,
11
+ * modified, and distributed under the terms of the FreeType project
12
+ * license, LICENSE.TXT. By continuing to use, modify, or distribute
13
+ * this file you indicate that you have read the license and
14
+ * understand and accept it fully.
15
+ *
16
+ */
17
+
18
+
19
+ #ifndef FTOPTION_H_
20
+ #define FTOPTION_H_
21
+
22
+
23
+ #include <ft2build.h>
24
+
25
+
26
+ FT_BEGIN_HEADER
27
+
28
+ /**************************************************************************
29
+ *
30
+ * USER-SELECTABLE CONFIGURATION MACROS
31
+ *
32
+ * This file contains the default configuration macro definitions for a
33
+ * standard build of the FreeType library. There are three ways to use
34
+ * this file to build project-specific versions of the library:
35
+ *
36
+ * - You can modify this file by hand, but this is not recommended in
37
+ * cases where you would like to build several versions of the library
38
+ * from a single source directory.
39
+ *
40
+ * - You can put a copy of this file in your build directory, more
41
+ * precisely in `$BUILD/freetype/config/ftoption.h`, where `$BUILD` is
42
+ * the name of a directory that is included _before_ the FreeType include
43
+ * path during compilation.
44
+ *
45
+ * The default FreeType Makefiles use the build directory
46
+ * `builds/<system>` by default, but you can easily change that for your
47
+ * own projects.
48
+ *
49
+ * - Copy the file <ft2build.h> to `$BUILD/ft2build.h` and modify it
50
+ * slightly to pre-define the macro `FT_CONFIG_OPTIONS_H` used to locate
51
+ * this file during the build. For example,
52
+ *
53
+ * ```
54
+ * #define FT_CONFIG_OPTIONS_H <myftoptions.h>
55
+ * #include <freetype/config/ftheader.h>
56
+ * ```
57
+ *
58
+ * will use `$BUILD/myftoptions.h` instead of this file for macro
59
+ * definitions.
60
+ *
61
+ * Note also that you can similarly pre-define the macro
62
+ * `FT_CONFIG_MODULES_H` used to locate the file listing of the modules
63
+ * that are statically linked to the library at compile time. By
64
+ * default, this file is `<freetype/config/ftmodule.h>`.
65
+ *
66
+ * We highly recommend using the third method whenever possible.
67
+ *
68
+ */
69
+
70
+
71
+ /*************************************************************************/
72
+ /*************************************************************************/
73
+ /**** ****/
74
+ /**** G E N E R A L F R E E T Y P E 2 C O N F I G U R A T I O N ****/
75
+ /**** ****/
76
+ /*************************************************************************/
77
+ /*************************************************************************/
78
+
79
+
80
+ /*#************************************************************************
81
+ *
82
+ * If you enable this configuration option, FreeType recognizes an
83
+ * environment variable called `FREETYPE_PROPERTIES`, which can be used to
84
+ * control the various font drivers and modules. The controllable
85
+ * properties are listed in the section @properties.
86
+ *
87
+ * You have to undefine this configuration option on platforms that lack
88
+ * the concept of environment variables (and thus don't have the `getenv`
89
+ * function), for example Windows CE.
90
+ *
91
+ * `FREETYPE_PROPERTIES` has the following syntax form (broken here into
92
+ * multiple lines for better readability).
93
+ *
94
+ * ```
95
+ * <optional whitespace>
96
+ * <module-name1> ':'
97
+ * <property-name1> '=' <property-value1>
98
+ * <whitespace>
99
+ * <module-name2> ':'
100
+ * <property-name2> '=' <property-value2>
101
+ * ...
102
+ * ```
103
+ *
104
+ * Example:
105
+ *
106
+ * ```
107
+ * FREETYPE_PROPERTIES=truetype:interpreter-version=35 \
108
+ * cff:no-stem-darkening=1
109
+ * ```
110
+ *
111
+ */
112
+ #define FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES
113
+
114
+
115
+ /**************************************************************************
116
+ *
117
+ * Uncomment the line below if you want to activate LCD rendering
118
+ * technology similar to ClearType in this build of the library. This
119
+ * technology triples the resolution in the direction color subpixels. To
120
+ * mitigate color fringes inherent to this technology, you also need to
121
+ * explicitly set up LCD filtering.
122
+ *
123
+ * When this macro is not defined, FreeType offers alternative LCD
124
+ * rendering technology that produces excellent output.
125
+ */
126
+ /* #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING */
127
+
128
+
129
+ /**************************************************************************
130
+ *
131
+ * Many compilers provide a non-ANSI 64-bit data type that can be used by
132
+ * FreeType to speed up some computations. However, this will create some
133
+ * problems when compiling the library in strict ANSI mode.
134
+ *
135
+ * For this reason, the use of 64-bit integers is normally disabled when
136
+ * the `__STDC__` macro is defined. You can however disable this by
137
+ * defining the macro `FT_CONFIG_OPTION_FORCE_INT64` here.
138
+ *
139
+ * For most compilers, this will only create compilation warnings when
140
+ * building the library.
141
+ *
142
+ * ObNote: The compiler-specific 64-bit integers are detected in the
143
+ * file `ftconfig.h` either statically or through the `configure`
144
+ * script on supported platforms.
145
+ */
146
+ #undef FT_CONFIG_OPTION_FORCE_INT64
147
+
148
+
149
+ /**************************************************************************
150
+ *
151
+ * If this macro is defined, do not try to use an assembler version of
152
+ * performance-critical functions (e.g., @FT_MulFix). You should only do
153
+ * that to verify that the assembler function works properly, or to execute
154
+ * benchmark tests of the various implementations.
155
+ */
156
+ /* #define FT_CONFIG_OPTION_NO_ASSEMBLER */
157
+
158
+
159
+ /**************************************************************************
160
+ *
161
+ * If this macro is defined, try to use an inlined assembler version of the
162
+ * @FT_MulFix function, which is a 'hotspot' when loading and hinting
163
+ * glyphs, and which should be executed as fast as possible.
164
+ *
165
+ * Note that if your compiler or CPU is not supported, this will default to
166
+ * the standard and portable implementation found in `ftcalc.c`.
167
+ */
168
+ #define FT_CONFIG_OPTION_INLINE_MULFIX
169
+
170
+
171
+ /**************************************************************************
172
+ *
173
+ * LZW-compressed file support.
174
+ *
175
+ * FreeType now handles font files that have been compressed with the
176
+ * `compress` program. This is mostly used to parse many of the PCF
177
+ * files that come with various X11 distributions. The implementation
178
+ * uses NetBSD's `zopen` to partially uncompress the file on the fly (see
179
+ * `src/lzw/ftgzip.c`).
180
+ *
181
+ * Define this macro if you want to enable this 'feature'.
182
+ */
183
+ #define FT_CONFIG_OPTION_USE_LZW
184
+
185
+
186
+ /**************************************************************************
187
+ *
188
+ * Gzip-compressed file support.
189
+ *
190
+ * FreeType now handles font files that have been compressed with the
191
+ * `gzip` program. This is mostly used to parse many of the PCF files
192
+ * that come with XFree86. The implementation uses 'zlib' to partially
193
+ * uncompress the file on the fly (see `src/gzip/ftgzip.c`).
194
+ *
195
+ * Define this macro if you want to enable this 'feature'. See also the
196
+ * macro `FT_CONFIG_OPTION_SYSTEM_ZLIB` below.
197
+ */
198
+ #define FT_CONFIG_OPTION_USE_ZLIB
199
+
200
+
201
+ /**************************************************************************
202
+ *
203
+ * ZLib library selection
204
+ *
205
+ * This macro is only used when `FT_CONFIG_OPTION_USE_ZLIB` is defined.
206
+ * It allows FreeType's 'ftgzip' component to link to the system's
207
+ * installation of the ZLib library. This is useful on systems like
208
+ * Unix or VMS where it generally is already available.
209
+ *
210
+ * If you let it undefined, the component will use its own copy of the
211
+ * zlib sources instead. These have been modified to be included
212
+ * directly within the component and **not** export external function
213
+ * names. This allows you to link any program with FreeType _and_ ZLib
214
+ * without linking conflicts.
215
+ *
216
+ * Do not `#undef` this macro here since the build system might define
217
+ * it for certain configurations only.
218
+ *
219
+ * If you use a build system like cmake or the `configure` script,
220
+ * options set by those programs have precedence, overwriting the value
221
+ * here with the configured one.
222
+ */
223
+ /* #undef FT_CONFIG_OPTION_SYSTEM_ZLIB */
224
+
225
+
226
+ /**************************************************************************
227
+ *
228
+ * Bzip2-compressed file support.
229
+ *
230
+ * FreeType now handles font files that have been compressed with the
231
+ * `bzip2` program. This is mostly used to parse many of the PCF files
232
+ * that come with XFree86. The implementation uses `libbz2` to partially
233
+ * uncompress the file on the fly (see `src/bzip2/ftbzip2.c`). Contrary
234
+ * to gzip, bzip2 currently is not included and need to use the system
235
+ * available bzip2 implementation.
236
+ *
237
+ * Define this macro if you want to enable this 'feature'.
238
+ *
239
+ * If you use a build system like cmake or the `configure` script,
240
+ * options set by those programs have precedence, overwriting the value
241
+ * here with the configured one.
242
+ */
243
+ /* #undef FT_CONFIG_OPTION_USE_BZIP2 */
244
+
245
+
246
+ /**************************************************************************
247
+ *
248
+ * Define to disable the use of file stream functions and types, `FILE`,
249
+ * `fopen`, etc. Enables the use of smaller system libraries on embedded
250
+ * systems that have multiple system libraries, some with or without file
251
+ * stream support, in the cases where file stream support is not necessary
252
+ * such as memory loading of font files.
253
+ */
254
+ /* #define FT_CONFIG_OPTION_DISABLE_STREAM_SUPPORT */
255
+
256
+
257
+ /**************************************************************************
258
+ *
259
+ * PNG bitmap support.
260
+ *
261
+ * FreeType now handles loading color bitmap glyphs in the PNG format.
262
+ * This requires help from the external libpng library. Uncompressed
263
+ * color bitmaps do not need any external libraries and will be supported
264
+ * regardless of this configuration.
265
+ *
266
+ * Define this macro if you want to enable this 'feature'.
267
+ *
268
+ * If you use a build system like cmake or the `configure` script,
269
+ * options set by those programs have precedence, overwriting the value
270
+ * here with the configured one.
271
+ */
272
+ /* #undef FT_CONFIG_OPTION_USE_PNG */
273
+
274
+
275
+ /**************************************************************************
276
+ *
277
+ * HarfBuzz support.
278
+ *
279
+ * FreeType uses the HarfBuzz library to improve auto-hinting of OpenType
280
+ * fonts. If available, many glyphs not directly addressable by a font's
281
+ * character map will be hinted also.
282
+ *
283
+ * Define this macro if you want to enable this 'feature'.
284
+ *
285
+ * If you use a build system like cmake or the `configure` script,
286
+ * options set by those programs have precedence, overwriting the value
287
+ * here with the configured one.
288
+ */
289
+ #define FT_CONFIG_OPTION_USE_HARFBUZZ
290
+
291
+
292
+ /**************************************************************************
293
+ *
294
+ * Brotli support.
295
+ *
296
+ * FreeType uses the Brotli library to provide support for decompressing
297
+ * WOFF2 streams.
298
+ *
299
+ * Define this macro if you want to enable this 'feature'.
300
+ *
301
+ * If you use a build system like cmake or the `configure` script,
302
+ * options set by those programs have precedence, overwriting the value
303
+ * here with the configured one.
304
+ */
305
+ #define FT_CONFIG_OPTION_USE_BROTLI
306
+
307
+
308
+ /**************************************************************************
309
+ *
310
+ * Glyph Postscript Names handling
311
+ *
312
+ * By default, FreeType 2 is compiled with the 'psnames' module. This
313
+ * module is in charge of converting a glyph name string into a Unicode
314
+ * value, or return a Macintosh standard glyph name for the use with the
315
+ * TrueType 'post' table.
316
+ *
317
+ * Undefine this macro if you do not want 'psnames' compiled in your
318
+ * build of FreeType. This has the following effects:
319
+ *
320
+ * - The TrueType driver will provide its own set of glyph names, if you
321
+ * build it to support postscript names in the TrueType 'post' table,
322
+ * but will not synthesize a missing Unicode charmap.
323
+ *
324
+ * - The Type~1 driver will not be able to synthesize a Unicode charmap
325
+ * out of the glyphs found in the fonts.
326
+ *
327
+ * You would normally undefine this configuration macro when building a
328
+ * version of FreeType that doesn't contain a Type~1 or CFF driver.
329
+ */
330
+ #define FT_CONFIG_OPTION_POSTSCRIPT_NAMES
331
+
332
+
333
+ /**************************************************************************
334
+ *
335
+ * Postscript Names to Unicode Values support
336
+ *
337
+ * By default, FreeType~2 is built with the 'psnames' module compiled in.
338
+ * Among other things, the module is used to convert a glyph name into a
339
+ * Unicode value. This is especially useful in order to synthesize on
340
+ * the fly a Unicode charmap from the CFF/Type~1 driver through a big
341
+ * table named the 'Adobe Glyph List' (AGL).
342
+ *
343
+ * Undefine this macro if you do not want the Adobe Glyph List compiled
344
+ * in your 'psnames' module. The Type~1 driver will not be able to
345
+ * synthesize a Unicode charmap out of the glyphs found in the fonts.
346
+ */
347
+ #define FT_CONFIG_OPTION_ADOBE_GLYPH_LIST
348
+
349
+
350
+ /**************************************************************************
351
+ *
352
+ * Support for Mac fonts
353
+ *
354
+ * Define this macro if you want support for outline fonts in Mac format
355
+ * (mac dfont, mac resource, macbinary containing a mac resource) on
356
+ * non-Mac platforms.
357
+ *
358
+ * Note that the 'FOND' resource isn't checked.
359
+ */
360
+ #define FT_CONFIG_OPTION_MAC_FONTS
361
+
362
+
363
+ /**************************************************************************
364
+ *
365
+ * Guessing methods to access embedded resource forks
366
+ *
367
+ * Enable extra Mac fonts support on non-Mac platforms (e.g., GNU/Linux).
368
+ *
369
+ * Resource forks which include fonts data are stored sometimes in
370
+ * locations which users or developers don't expected. In some cases,
371
+ * resource forks start with some offset from the head of a file. In
372
+ * other cases, the actual resource fork is stored in file different from
373
+ * what the user specifies. If this option is activated, FreeType tries
374
+ * to guess whether such offsets or different file names must be used.
375
+ *
376
+ * Note that normal, direct access of resource forks is controlled via
377
+ * the `FT_CONFIG_OPTION_MAC_FONTS` option.
378
+ */
379
+ #ifdef FT_CONFIG_OPTION_MAC_FONTS
380
+ #define FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK
381
+ #endif
382
+
383
+
384
+ /**************************************************************************
385
+ *
386
+ * Allow the use of `FT_Incremental_Interface` to load typefaces that
387
+ * contain no glyph data, but supply it via a callback function. This is
388
+ * required by clients supporting document formats which supply font data
389
+ * incrementally as the document is parsed, such as the Ghostscript
390
+ * interpreter for the PostScript language.
391
+ */
392
+ #define FT_CONFIG_OPTION_INCREMENTAL
393
+
394
+
395
+ /**************************************************************************
396
+ *
397
+ * The size in bytes of the render pool used by the scan-line converter to
398
+ * do all of its work.
399
+ */
400
+ #define FT_RENDER_POOL_SIZE 16384L
401
+
402
+
403
+ /**************************************************************************
404
+ *
405
+ * FT_MAX_MODULES
406
+ *
407
+ * The maximum number of modules that can be registered in a single
408
+ * FreeType library object. 32~is the default.
409
+ */
410
+ #define FT_MAX_MODULES 32
411
+
412
+
413
+ /**************************************************************************
414
+ *
415
+ * Debug level
416
+ *
417
+ * FreeType can be compiled in debug or trace mode. In debug mode,
418
+ * errors are reported through the 'ftdebug' component. In trace mode,
419
+ * additional messages are sent to the standard output during execution.
420
+ *
421
+ * Define `FT_DEBUG_LEVEL_ERROR` to build the library in debug mode.
422
+ * Define `FT_DEBUG_LEVEL_TRACE` to build it in trace mode.
423
+ *
424
+ * Don't define any of these macros to compile in 'release' mode!
425
+ *
426
+ * Do not `#undef` these macros here since the build system might define
427
+ * them for certain configurations only.
428
+ */
429
+ /* #define FT_DEBUG_LEVEL_ERROR */
430
+ /* #define FT_DEBUG_LEVEL_TRACE */
431
+
432
+
433
+ /**************************************************************************
434
+ *
435
+ * Logging
436
+ *
437
+ * Compiling FreeType in debug or trace mode makes FreeType write error
438
+ * and trace log messages to `stderr`. Enabling this macro
439
+ * automatically forces the `FT_DEBUG_LEVEL_ERROR` and
440
+ * `FT_DEBUG_LEVEL_TRACE` macros and allows FreeType to write error and
441
+ * trace log messages to a file instead of `stderr`. For writing logs
442
+ * to a file, FreeType uses an the external `dlg` library (the source
443
+ * code is in `src/dlg`).
444
+ *
445
+ * This option needs a C99 compiler.
446
+ */
447
+ /* #define FT_DEBUG_LOGGING */
448
+
449
+
450
+ /**************************************************************************
451
+ *
452
+ * Autofitter debugging
453
+ *
454
+ * If `FT_DEBUG_AUTOFIT` is defined, FreeType provides some means to
455
+ * control the autofitter behaviour for debugging purposes with global
456
+ * boolean variables (consequently, you should **never** enable this
457
+ * while compiling in 'release' mode):
458
+ *
459
+ * ```
460
+ * _af_debug_disable_horz_hints
461
+ * _af_debug_disable_vert_hints
462
+ * _af_debug_disable_blue_hints
463
+ * ```
464
+ *
465
+ * Additionally, the following functions provide dumps of various
466
+ * internal autofit structures to stdout (using `printf`):
467
+ *
468
+ * ```
469
+ * af_glyph_hints_dump_points
470
+ * af_glyph_hints_dump_segments
471
+ * af_glyph_hints_dump_edges
472
+ * af_glyph_hints_get_num_segments
473
+ * af_glyph_hints_get_segment_offset
474
+ * ```
475
+ *
476
+ * As an argument, they use another global variable:
477
+ *
478
+ * ```
479
+ * _af_debug_hints
480
+ * ```
481
+ *
482
+ * Please have a look at the `ftgrid` demo program to see how those
483
+ * variables and macros should be used.
484
+ *
485
+ * Do not `#undef` these macros here since the build system might define
486
+ * them for certain configurations only.
487
+ */
488
+ /* #define FT_DEBUG_AUTOFIT */
489
+
490
+
491
+ /**************************************************************************
492
+ *
493
+ * Memory Debugging
494
+ *
495
+ * FreeType now comes with an integrated memory debugger that is capable
496
+ * of detecting simple errors like memory leaks or double deletes. To
497
+ * compile it within your build of the library, you should define
498
+ * `FT_DEBUG_MEMORY` here.
499
+ *
500
+ * Note that the memory debugger is only activated at runtime when when
501
+ * the _environment_ variable `FT2_DEBUG_MEMORY` is defined also!
502
+ *
503
+ * Do not `#undef` this macro here since the build system might define it
504
+ * for certain configurations only.
505
+ */
506
+ /* #define FT_DEBUG_MEMORY */
507
+
508
+
509
+ /**************************************************************************
510
+ *
511
+ * Module errors
512
+ *
513
+ * If this macro is set (which is _not_ the default), the higher byte of
514
+ * an error code gives the module in which the error has occurred, while
515
+ * the lower byte is the real error code.
516
+ *
517
+ * Setting this macro makes sense for debugging purposes only, since it
518
+ * would break source compatibility of certain programs that use
519
+ * FreeType~2.
520
+ *
521
+ * More details can be found in the files `ftmoderr.h` and `fterrors.h`.
522
+ */
523
+ #undef FT_CONFIG_OPTION_USE_MODULE_ERRORS
524
+
525
+
526
+ /**************************************************************************
527
+ *
528
+ * Error Strings
529
+ *
530
+ * If this macro is set, `FT_Error_String` will return meaningful
531
+ * descriptions. This is not enabled by default to reduce the overall
532
+ * size of FreeType.
533
+ *
534
+ * More details can be found in the file `fterrors.h`.
535
+ */
536
+ /* #define FT_CONFIG_OPTION_ERROR_STRINGS */
537
+
538
+
539
+ /*************************************************************************/
540
+ /*************************************************************************/
541
+ /**** ****/
542
+ /**** S F N T D R I V E R C O N F I G U R A T I O N ****/
543
+ /**** ****/
544
+ /*************************************************************************/
545
+ /*************************************************************************/
546
+
547
+
548
+ /**************************************************************************
549
+ *
550
+ * Define `TT_CONFIG_OPTION_EMBEDDED_BITMAPS` if you want to support
551
+ * embedded bitmaps in all formats using the 'sfnt' module (namely
552
+ * TrueType~& OpenType).
553
+ */
554
+ #define TT_CONFIG_OPTION_EMBEDDED_BITMAPS
555
+
556
+
557
+ /**************************************************************************
558
+ *
559
+ * Define `TT_CONFIG_OPTION_COLOR_LAYERS` if you want to support colored
560
+ * outlines (from the 'COLR'/'CPAL' tables) in all formats using the 'sfnt'
561
+ * module (namely TrueType~& OpenType).
562
+ */
563
+ #define TT_CONFIG_OPTION_COLOR_LAYERS
564
+
565
+
566
+ /**************************************************************************
567
+ *
568
+ * Define `TT_CONFIG_OPTION_POSTSCRIPT_NAMES` if you want to be able to
569
+ * load and enumerate the glyph Postscript names in a TrueType or OpenType
570
+ * file.
571
+ *
572
+ * Note that when you do not compile the 'psnames' module by undefining the
573
+ * above `FT_CONFIG_OPTION_POSTSCRIPT_NAMES`, the 'sfnt' module will
574
+ * contain additional code used to read the PS Names table from a font.
575
+ *
576
+ * (By default, the module uses 'psnames' to extract glyph names.)
577
+ */
578
+ #define TT_CONFIG_OPTION_POSTSCRIPT_NAMES
579
+
580
+
581
+ /**************************************************************************
582
+ *
583
+ * Define `TT_CONFIG_OPTION_SFNT_NAMES` if your applications need to access
584
+ * the internal name table in a SFNT-based format like TrueType or
585
+ * OpenType. The name table contains various strings used to describe the
586
+ * font, like family name, copyright, version, etc. It does not contain
587
+ * any glyph name though.
588
+ *
589
+ * Accessing SFNT names is done through the functions declared in
590
+ * `ftsnames.h`.
591
+ */
592
+ #define TT_CONFIG_OPTION_SFNT_NAMES
593
+
594
+
595
+ /**************************************************************************
596
+ *
597
+ * TrueType CMap support
598
+ *
599
+ * Here you can fine-tune which TrueType CMap table format shall be
600
+ * supported.
601
+ */
602
+ #define TT_CONFIG_CMAP_FORMAT_0
603
+ #define TT_CONFIG_CMAP_FORMAT_2
604
+ #define TT_CONFIG_CMAP_FORMAT_4
605
+ #define TT_CONFIG_CMAP_FORMAT_6
606
+ #define TT_CONFIG_CMAP_FORMAT_8
607
+ #define TT_CONFIG_CMAP_FORMAT_10
608
+ #define TT_CONFIG_CMAP_FORMAT_12
609
+ #define TT_CONFIG_CMAP_FORMAT_13
610
+ #define TT_CONFIG_CMAP_FORMAT_14
611
+
612
+
613
+ /*************************************************************************/
614
+ /*************************************************************************/
615
+ /**** ****/
616
+ /**** T R U E T Y P E D R I V E R C O N F I G U R A T I O N ****/
617
+ /**** ****/
618
+ /*************************************************************************/
619
+ /*************************************************************************/
620
+
621
+ /**************************************************************************
622
+ *
623
+ * Define `TT_CONFIG_OPTION_BYTECODE_INTERPRETER` if you want to compile a
624
+ * bytecode interpreter in the TrueType driver.
625
+ *
626
+ * By undefining this, you will only compile the code necessary to load
627
+ * TrueType glyphs without hinting.
628
+ *
629
+ * Do not `#undef` this macro here, since the build system might define it
630
+ * for certain configurations only.
631
+ */
632
+ #define TT_CONFIG_OPTION_BYTECODE_INTERPRETER
633
+
634
+
635
+ /**************************************************************************
636
+ *
637
+ * Define `TT_CONFIG_OPTION_SUBPIXEL_HINTING` if you want to compile
638
+ * subpixel hinting support into the TrueType driver. This modifies the
639
+ * TrueType hinting mechanism when anything but `FT_RENDER_MODE_MONO` is
640
+ * requested.
641
+ *
642
+ * In particular, it modifies the bytecode interpreter to interpret (or
643
+ * not) instructions in a certain way so that all TrueType fonts look like
644
+ * they do in a Windows ClearType (DirectWrite) environment. See [1] for a
645
+ * technical overview on what this means. See `ttinterp.h` for more
646
+ * details on the LEAN option.
647
+ *
648
+ * There are three possible values.
649
+ *
650
+ * Value 1:
651
+ * This value is associated with the 'Infinality' moniker, contributed by
652
+ * an individual nicknamed Infinality with the goal of making TrueType
653
+ * fonts render better than on Windows. A high amount of configurability
654
+ * and flexibility, down to rules for single glyphs in fonts, but also
655
+ * very slow. Its experimental and slow nature and the original
656
+ * developer losing interest meant that this option was never enabled in
657
+ * default builds.
658
+ *
659
+ * The corresponding interpreter version is v38.
660
+ *
661
+ * Value 2:
662
+ * The new default mode for the TrueType driver. The Infinality code
663
+ * base was stripped to the bare minimum and all configurability removed
664
+ * in the name of speed and simplicity. The configurability was mainly
665
+ * aimed at legacy fonts like 'Arial', 'Times New Roman', or 'Courier'.
666
+ * Legacy fonts are fonts that modify vertical stems to achieve clean
667
+ * black-and-white bitmaps. The new mode focuses on applying a minimal
668
+ * set of rules to all fonts indiscriminately so that modern and web
669
+ * fonts render well while legacy fonts render okay.
670
+ *
671
+ * The corresponding interpreter version is v40.
672
+ *
673
+ * Value 3:
674
+ * Compile both, making both v38 and v40 available (the latter is the
675
+ * default).
676
+ *
677
+ * By undefining these, you get rendering behavior like on Windows without
678
+ * ClearType, i.e., Windows XP without ClearType enabled and Win9x
679
+ * (interpreter version v35). Or not, depending on how much hinting blood
680
+ * and testing tears the font designer put into a given font. If you
681
+ * define one or both subpixel hinting options, you can switch between
682
+ * between v35 and the ones you define (using `FT_Property_Set`).
683
+ *
684
+ * This option requires `TT_CONFIG_OPTION_BYTECODE_INTERPRETER` to be
685
+ * defined.
686
+ *
687
+ * [1]
688
+ * https://www.microsoft.com/typography/cleartype/truetypecleartype.aspx
689
+ */
690
+ /* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING 1 */
691
+ #define TT_CONFIG_OPTION_SUBPIXEL_HINTING 2
692
+ /* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING ( 1 | 2 ) */
693
+
694
+
695
+ /**************************************************************************
696
+ *
697
+ * Define `TT_CONFIG_OPTION_COMPONENT_OFFSET_SCALED` to compile the
698
+ * TrueType glyph loader to use Apple's definition of how to handle
699
+ * component offsets in composite glyphs.
700
+ *
701
+ * Apple and MS disagree on the default behavior of component offsets in
702
+ * composites. Apple says that they should be scaled by the scaling
703
+ * factors in the transformation matrix (roughly, it's more complex) while
704
+ * MS says they should not. OpenType defines two bits in the composite
705
+ * flags array which can be used to disambiguate, but old fonts will not
706
+ * have them.
707
+ *
708
+ * https://www.microsoft.com/typography/otspec/glyf.htm
709
+ * https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6glyf.html
710
+ */
711
+ #undef TT_CONFIG_OPTION_COMPONENT_OFFSET_SCALED
712
+
713
+
714
+ /**************************************************************************
715
+ *
716
+ * Define `TT_CONFIG_OPTION_GX_VAR_SUPPORT` if you want to include support
717
+ * for Apple's distortable font technology ('fvar', 'gvar', 'cvar', and
718
+ * 'avar' tables). Tagged 'Font Variations', this is now part of OpenType
719
+ * also. This has many similarities to Type~1 Multiple Masters support.
720
+ */
721
+ #define TT_CONFIG_OPTION_GX_VAR_SUPPORT
722
+
723
+
724
+ /**************************************************************************
725
+ *
726
+ * Define `TT_CONFIG_OPTION_BDF` if you want to include support for an
727
+ * embedded 'BDF~' table within SFNT-based bitmap formats.
728
+ */
729
+ #define TT_CONFIG_OPTION_BDF
730
+
731
+
732
+ /**************************************************************************
733
+ *
734
+ * Option `TT_CONFIG_OPTION_MAX_RUNNABLE_OPCODES` controls the maximum
735
+ * number of bytecode instructions executed for a single run of the
736
+ * bytecode interpreter, needed to prevent infinite loops. You don't want
737
+ * to change this except for very special situations (e.g., making a
738
+ * library fuzzer spend less time to handle broken fonts).
739
+ *
740
+ * It is not expected that this value is ever modified by a configuring
741
+ * script; instead, it gets surrounded with `#ifndef ... #endif` so that
742
+ * the value can be set as a preprocessor option on the compiler's command
743
+ * line.
744
+ */
745
+ #ifndef TT_CONFIG_OPTION_MAX_RUNNABLE_OPCODES
746
+ #define TT_CONFIG_OPTION_MAX_RUNNABLE_OPCODES 1000000L
747
+ #endif
748
+
749
+
750
+ /*************************************************************************/
751
+ /*************************************************************************/
752
+ /**** ****/
753
+ /**** T Y P E 1 D R I V E R C O N F I G U R A T I O N ****/
754
+ /**** ****/
755
+ /*************************************************************************/
756
+ /*************************************************************************/
757
+
758
+
759
+ /**************************************************************************
760
+ *
761
+ * `T1_MAX_DICT_DEPTH` is the maximum depth of nest dictionaries and arrays
762
+ * in the Type~1 stream (see `t1load.c`). A minimum of~4 is required.
763
+ */
764
+ #define T1_MAX_DICT_DEPTH 5
765
+
766
+
767
+ /**************************************************************************
768
+ *
769
+ * `T1_MAX_SUBRS_CALLS` details the maximum number of nested sub-routine
770
+ * calls during glyph loading.
771
+ */
772
+ #define T1_MAX_SUBRS_CALLS 16
773
+
774
+
775
+ /**************************************************************************
776
+ *
777
+ * `T1_MAX_CHARSTRING_OPERANDS` is the charstring stack's capacity. A
778
+ * minimum of~16 is required.
779
+ *
780
+ * The Chinese font 'MingTiEG-Medium' (covering the CNS 11643 character
781
+ * set) needs 256.
782
+ */
783
+ #define T1_MAX_CHARSTRINGS_OPERANDS 256
784
+
785
+
786
+ /**************************************************************************
787
+ *
788
+ * Define this configuration macro if you want to prevent the compilation
789
+ * of the 't1afm' module, which is in charge of reading Type~1 AFM files
790
+ * into an existing face. Note that if set, the Type~1 driver will be
791
+ * unable to produce kerning distances.
792
+ */
793
+ #undef T1_CONFIG_OPTION_NO_AFM
794
+
795
+
796
+ /**************************************************************************
797
+ *
798
+ * Define this configuration macro if you want to prevent the compilation
799
+ * of the Multiple Masters font support in the Type~1 driver.
800
+ */
801
+ #undef T1_CONFIG_OPTION_NO_MM_SUPPORT
802
+
803
+
804
+ /**************************************************************************
805
+ *
806
+ * `T1_CONFIG_OPTION_OLD_ENGINE` controls whether the pre-Adobe Type~1
807
+ * engine gets compiled into FreeType. If defined, it is possible to
808
+ * switch between the two engines using the `hinting-engine` property of
809
+ * the 'type1' driver module.
810
+ */
811
+ /* #define T1_CONFIG_OPTION_OLD_ENGINE */
812
+
813
+
814
+ /*************************************************************************/
815
+ /*************************************************************************/
816
+ /**** ****/
817
+ /**** C F F D R I V E R C O N F I G U R A T I O N ****/
818
+ /**** ****/
819
+ /*************************************************************************/
820
+ /*************************************************************************/
821
+
822
+
823
+ /**************************************************************************
824
+ *
825
+ * Using `CFF_CONFIG_OPTION_DARKENING_PARAMETER_{X,Y}{1,2,3,4}` it is
826
+ * possible to set up the default values of the four control points that
827
+ * define the stem darkening behaviour of the (new) CFF engine. For more
828
+ * details please read the documentation of the `darkening-parameters`
829
+ * property (file `ftdriver.h`), which allows the control at run-time.
830
+ *
831
+ * Do **not** undefine these macros!
832
+ */
833
+ #define CFF_CONFIG_OPTION_DARKENING_PARAMETER_X1 500
834
+ #define CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y1 400
835
+
836
+ #define CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2 1000
837
+ #define CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y2 275
838
+
839
+ #define CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3 1667
840
+ #define CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y3 275
841
+
842
+ #define CFF_CONFIG_OPTION_DARKENING_PARAMETER_X4 2333
843
+ #define CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y4 0
844
+
845
+
846
+ /**************************************************************************
847
+ *
848
+ * `CFF_CONFIG_OPTION_OLD_ENGINE` controls whether the pre-Adobe CFF engine
849
+ * gets compiled into FreeType. If defined, it is possible to switch
850
+ * between the two engines using the `hinting-engine` property of the 'cff'
851
+ * driver module.
852
+ */
853
+ /* #define CFF_CONFIG_OPTION_OLD_ENGINE */
854
+
855
+
856
+ /*************************************************************************/
857
+ /*************************************************************************/
858
+ /**** ****/
859
+ /**** P C F D R I V E R C O N F I G U R A T I O N ****/
860
+ /**** ****/
861
+ /*************************************************************************/
862
+ /*************************************************************************/
863
+
864
+
865
+ /**************************************************************************
866
+ *
867
+ * There are many PCF fonts just called 'Fixed' which look completely
868
+ * different, and which have nothing to do with each other. When selecting
869
+ * 'Fixed' in KDE or Gnome one gets results that appear rather random, the
870
+ * style changes often if one changes the size and one cannot select some
871
+ * fonts at all. This option makes the 'pcf' module prepend the foundry
872
+ * name (plus a space) to the family name.
873
+ *
874
+ * We also check whether we have 'wide' characters; all put together, we
875
+ * get family names like 'Sony Fixed' or 'Misc Fixed Wide'.
876
+ *
877
+ * If this option is activated, it can be controlled with the
878
+ * `no-long-family-names` property of the 'pcf' driver module.
879
+ */
880
+ /* #define PCF_CONFIG_OPTION_LONG_FAMILY_NAMES */
881
+
882
+
883
+ /*************************************************************************/
884
+ /*************************************************************************/
885
+ /**** ****/
886
+ /**** A U T O F I T M O D U L E C O N F I G U R A T I O N ****/
887
+ /**** ****/
888
+ /*************************************************************************/
889
+ /*************************************************************************/
890
+
891
+
892
+ /**************************************************************************
893
+ *
894
+ * Compile 'autofit' module with CJK (Chinese, Japanese, Korean) script
895
+ * support.
896
+ */
897
+ #define AF_CONFIG_OPTION_CJK
898
+
899
+
900
+ /**************************************************************************
901
+ *
902
+ * Compile 'autofit' module with fallback Indic script support, covering
903
+ * some scripts that the 'latin' submodule of the 'autofit' module doesn't
904
+ * (yet) handle. Currently, this needs option `AF_CONFIG_OPTION_CJK`.
905
+ */
906
+ #ifdef AF_CONFIG_OPTION_CJK
907
+ #define AF_CONFIG_OPTION_INDIC
908
+ #endif
909
+
910
+
911
+ /**************************************************************************
912
+ *
913
+ * Use TrueType-like size metrics for 'light' auto-hinting.
914
+ *
915
+ * It is strongly recommended to avoid this option, which exists only to
916
+ * help some legacy applications retain its appearance and behaviour with
917
+ * respect to auto-hinted TrueType fonts.
918
+ *
919
+ * The very reason this option exists at all are GNU/Linux distributions
920
+ * like Fedora that did not un-patch the following change (which was
921
+ * present in FreeType between versions 2.4.6 and 2.7.1, inclusive).
922
+ *
923
+ * ```
924
+ * 2011-07-16 Steven Chu <steven.f.chu@gmail.com>
925
+ *
926
+ * [truetype] Fix metrics on size request for scalable fonts.
927
+ * ```
928
+ *
929
+ * This problematic commit is now reverted (more or less).
930
+ */
931
+ /* #define AF_CONFIG_OPTION_TT_SIZE_METRICS */
932
+
933
+ /* */
934
+
935
+
936
+ /*
937
+ * This macro is obsolete. Support has been removed in FreeType version
938
+ * 2.5.
939
+ */
940
+ /* #define FT_CONFIG_OPTION_OLD_INTERNALS */
941
+
942
+
943
+ /*
944
+ * The next three macros are defined if native TrueType hinting is
945
+ * requested by the definitions above. Don't change this.
946
+ */
947
+ #ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER
948
+ #define TT_USE_BYTECODE_INTERPRETER
949
+
950
+ #ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING
951
+ #if TT_CONFIG_OPTION_SUBPIXEL_HINTING & 1
952
+ #define TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
953
+ #endif
954
+
955
+ #if TT_CONFIG_OPTION_SUBPIXEL_HINTING & 2
956
+ #define TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
957
+ #endif
958
+ #endif
959
+ #endif
960
+
961
+
962
+ /*
963
+ * The TT_SUPPORT_COLRV1 macro is defined to indicate to clients that this
964
+ * version of FreeType has support for 'COLR' v1 API. This definition is
965
+ * useful to FreeType clients that want to build in support for 'COLR' v1
966
+ * depending on a tip-of-tree checkout before it is officially released in
967
+ * FreeType, and while the feature cannot yet be tested against using
968
+ * version macros. Don't change this macro. This may be removed once the
969
+ * feature is in a FreeType release version and version macros can be used
970
+ * to test for availability.
971
+ */
972
+ #ifdef TT_CONFIG_OPTION_COLOR_LAYERS
973
+ #define TT_SUPPORT_COLRV1
974
+ #endif
975
+
976
+
977
+ /*
978
+ * Check CFF darkening parameters. The checks are the same as in function
979
+ * `cff_property_set` in file `cffdrivr.c`.
980
+ */
981
+ #if CFF_CONFIG_OPTION_DARKENING_PARAMETER_X1 < 0 || \
982
+ CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2 < 0 || \
983
+ CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3 < 0 || \
984
+ CFF_CONFIG_OPTION_DARKENING_PARAMETER_X4 < 0 || \
985
+ \
986
+ CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y1 < 0 || \
987
+ CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y2 < 0 || \
988
+ CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y3 < 0 || \
989
+ CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y4 < 0 || \
990
+ \
991
+ CFF_CONFIG_OPTION_DARKENING_PARAMETER_X1 > \
992
+ CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2 || \
993
+ CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2 > \
994
+ CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3 || \
995
+ CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3 > \
996
+ CFF_CONFIG_OPTION_DARKENING_PARAMETER_X4 || \
997
+ \
998
+ CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y1 > 500 || \
999
+ CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y2 > 500 || \
1000
+ CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y3 > 500 || \
1001
+ CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y4 > 500
1002
+ #error "Invalid CFF darkening parameters!"
1003
+ #endif
1004
+
1005
+ FT_END_HEADER
1006
+
1007
+
1008
+ #endif /* FTOPTION_H_ */
1009
+
1010
+
1011
+ /* END */