jassub 1.7.11 → 1.7.13

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/LICENSE +22 -22
  2. package/README.md +251 -251
  3. package/dist/COPYRIGHT +951 -951
  4. package/dist/jassub-worker-modern.wasm +0 -0
  5. package/dist/jassub-worker.js +11 -11
  6. package/dist/jassub-worker.wasm +0 -0
  7. package/dist/jassub-worker.wasm.js +1 -1
  8. package/dist/jassub.es.js +1 -1
  9. package/dist/jassub.umd.js +1 -1
  10. package/dist/js/jassub-worker-modern.js +119 -1
  11. package/dist/js/jassub-worker-modern.wasm +0 -0
  12. package/dist/js/jassub-worker.js +122 -4
  13. package/dist/js/jassub-worker.wasm +0 -0
  14. package/dist/js/jassub-worker.wasm.js +26 -25
  15. package/dist/js/jassub.js +832 -832
  16. package/dist/libraries/bin/brotli.js +1 -0
  17. package/dist/libraries/include/ass/ass.h +812 -0
  18. package/dist/libraries/include/ass/ass_types.h +292 -0
  19. package/dist/libraries/include/brotli/decode.h +344 -0
  20. package/dist/libraries/include/brotli/encode.h +448 -0
  21. package/dist/libraries/include/brotli/port.h +288 -0
  22. package/dist/libraries/include/brotli/types.h +83 -0
  23. package/dist/libraries/include/expat.h +1064 -0
  24. package/dist/libraries/include/expat_config.h +115 -0
  25. package/dist/libraries/include/expat_external.h +165 -0
  26. package/dist/libraries/include/fontconfig/fcfreetype.h +59 -0
  27. package/dist/libraries/include/fontconfig/fcprivate.h +134 -0
  28. package/dist/libraries/include/fontconfig/fontconfig.h +1154 -0
  29. package/dist/libraries/include/freetype2/freetype/config/ftconfig.h +63 -0
  30. package/dist/libraries/include/freetype2/freetype/config/ftheader.h +824 -0
  31. package/dist/libraries/include/freetype2/freetype/config/ftmodule.h +20 -0
  32. package/dist/libraries/include/freetype2/freetype/config/ftoption.h +1011 -0
  33. package/dist/libraries/include/freetype2/freetype/config/ftstdlib.h +175 -0
  34. package/dist/libraries/include/freetype2/freetype/config/integer-types.h +245 -0
  35. package/dist/libraries/include/freetype2/freetype/config/mac-support.h +49 -0
  36. package/dist/libraries/include/freetype2/freetype/config/public-macros.h +120 -0
  37. package/dist/libraries/include/freetype2/freetype/freetype.h +4833 -0
  38. package/dist/libraries/include/freetype2/freetype/ftadvanc.h +188 -0
  39. package/dist/libraries/include/freetype2/freetype/ftbbox.h +101 -0
  40. package/dist/libraries/include/freetype2/freetype/ftbdf.h +212 -0
  41. package/dist/libraries/include/freetype2/freetype/ftbitmap.h +329 -0
  42. package/dist/libraries/include/freetype2/freetype/ftbzip2.h +102 -0
  43. package/dist/libraries/include/freetype2/freetype/ftcache.h +1087 -0
  44. package/dist/libraries/include/freetype2/freetype/ftchapters.h +147 -0
  45. package/dist/libraries/include/freetype2/freetype/ftcid.h +167 -0
  46. package/dist/libraries/include/freetype2/freetype/ftcolor.h +1609 -0
  47. package/dist/libraries/include/freetype2/freetype/ftdriver.h +1193 -0
  48. package/dist/libraries/include/freetype2/freetype/fterrdef.h +279 -0
  49. package/dist/libraries/include/freetype2/freetype/fterrors.h +296 -0
  50. package/dist/libraries/include/freetype2/freetype/ftfntfmt.h +93 -0
  51. package/dist/libraries/include/freetype2/freetype/ftgasp.h +143 -0
  52. package/dist/libraries/include/freetype2/freetype/ftglyph.h +664 -0
  53. package/dist/libraries/include/freetype2/freetype/ftgxval.h +354 -0
  54. package/dist/libraries/include/freetype2/freetype/ftgzip.h +151 -0
  55. package/dist/libraries/include/freetype2/freetype/ftimage.h +1276 -0
  56. package/dist/libraries/include/freetype2/freetype/ftincrem.h +348 -0
  57. package/dist/libraries/include/freetype2/freetype/ftlcdfil.h +323 -0
  58. package/dist/libraries/include/freetype2/freetype/ftlist.h +296 -0
  59. package/dist/libraries/include/freetype2/freetype/ftlogging.h +184 -0
  60. package/dist/libraries/include/freetype2/freetype/ftlzw.h +100 -0
  61. package/dist/libraries/include/freetype2/freetype/ftmac.h +289 -0
  62. package/dist/libraries/include/freetype2/freetype/ftmm.h +752 -0
  63. package/dist/libraries/include/freetype2/freetype/ftmodapi.h +806 -0
  64. package/dist/libraries/include/freetype2/freetype/ftmoderr.h +204 -0
  65. package/dist/libraries/include/freetype2/freetype/ftotval.h +206 -0
  66. package/dist/libraries/include/freetype2/freetype/ftoutln.h +586 -0
  67. package/dist/libraries/include/freetype2/freetype/ftparams.h +203 -0
  68. package/dist/libraries/include/freetype2/freetype/ftpfr.h +179 -0
  69. package/dist/libraries/include/freetype2/freetype/ftrender.h +244 -0
  70. package/dist/libraries/include/freetype2/freetype/ftsizes.h +159 -0
  71. package/dist/libraries/include/freetype2/freetype/ftsnames.h +272 -0
  72. package/dist/libraries/include/freetype2/freetype/ftstroke.h +773 -0
  73. package/dist/libraries/include/freetype2/freetype/ftsynth.h +83 -0
  74. package/dist/libraries/include/freetype2/freetype/ftsystem.h +352 -0
  75. package/dist/libraries/include/freetype2/freetype/fttrigon.h +350 -0
  76. package/dist/libraries/include/freetype2/freetype/fttypes.h +615 -0
  77. package/dist/libraries/include/freetype2/freetype/ftwinfnt.h +276 -0
  78. package/dist/libraries/include/freetype2/freetype/t1tables.h +773 -0
  79. package/dist/libraries/include/freetype2/freetype/ttnameid.h +1235 -0
  80. package/dist/libraries/include/freetype2/freetype/tttables.h +855 -0
  81. package/dist/libraries/include/freetype2/freetype/tttags.h +123 -0
  82. package/dist/libraries/include/freetype2/ft2build.h +42 -0
  83. package/dist/libraries/include/fribidi/fribidi-arabic.h +81 -0
  84. package/dist/libraries/include/fribidi/fribidi-begindecls.h +3 -0
  85. package/dist/libraries/include/fribidi/fribidi-bidi-types-list.h +96 -0
  86. package/dist/libraries/include/fribidi/fribidi-bidi-types.h +405 -0
  87. package/dist/libraries/include/fribidi/fribidi-bidi.h +142 -0
  88. package/dist/libraries/include/fribidi/fribidi-brackets.h +89 -0
  89. package/dist/libraries/include/fribidi/fribidi-char-sets-list.h +54 -0
  90. package/dist/libraries/include/fribidi/fribidi-char-sets.h +106 -0
  91. package/dist/libraries/include/fribidi/fribidi-common.h +158 -0
  92. package/dist/libraries/include/fribidi/fribidi-config.h +23 -0
  93. package/dist/libraries/include/fribidi/fribidi-deprecated.h +175 -0
  94. package/dist/libraries/include/fribidi/fribidi-enddecls.h +3 -0
  95. package/dist/libraries/include/fribidi/fribidi-flags.h +72 -0
  96. package/dist/libraries/include/fribidi/fribidi-joining-types-list.h +44 -0
  97. package/dist/libraries/include/fribidi/fribidi-joining-types.h +249 -0
  98. package/dist/libraries/include/fribidi/fribidi-joining.h +74 -0
  99. package/dist/libraries/include/fribidi/fribidi-mirroring.h +86 -0
  100. package/dist/libraries/include/fribidi/fribidi-shape.h +71 -0
  101. package/dist/libraries/include/fribidi/fribidi-types.h +79 -0
  102. package/dist/libraries/include/fribidi/fribidi-unicode-version.h +10 -0
  103. package/dist/libraries/include/fribidi/fribidi-unicode.h +105 -0
  104. package/dist/libraries/include/fribidi/fribidi.h +129 -0
  105. package/dist/libraries/include/harfbuzz/hb-aat-layout.h +795 -0
  106. package/dist/libraries/include/harfbuzz/hb-aat.h +38 -0
  107. package/dist/libraries/include/harfbuzz/hb-blob.h +160 -0
  108. package/dist/libraries/include/harfbuzz/hb-buffer.h +799 -0
  109. package/dist/libraries/include/harfbuzz/hb-common.h +902 -0
  110. package/dist/libraries/include/harfbuzz/hb-cplusplus.hh +221 -0
  111. package/dist/libraries/include/harfbuzz/hb-deprecated.h +251 -0
  112. package/dist/libraries/include/harfbuzz/hb-draw.h +325 -0
  113. package/dist/libraries/include/harfbuzz/hb-face.h +181 -0
  114. package/dist/libraries/include/harfbuzz/hb-font.h +1108 -0
  115. package/dist/libraries/include/harfbuzz/hb-ft.h +145 -0
  116. package/dist/libraries/include/harfbuzz/hb-map.h +124 -0
  117. package/dist/libraries/include/harfbuzz/hb-ot-color.h +146 -0
  118. package/dist/libraries/include/harfbuzz/hb-ot-deprecated.h +141 -0
  119. package/dist/libraries/include/harfbuzz/hb-ot-font.h +45 -0
  120. package/dist/libraries/include/harfbuzz/hb-ot-layout.h +503 -0
  121. package/dist/libraries/include/harfbuzz/hb-ot-math.h +333 -0
  122. package/dist/libraries/include/harfbuzz/hb-ot-meta.h +72 -0
  123. package/dist/libraries/include/harfbuzz/hb-ot-metrics.h +129 -0
  124. package/dist/libraries/include/harfbuzz/hb-ot-name.h +158 -0
  125. package/dist/libraries/include/harfbuzz/hb-ot-shape.h +53 -0
  126. package/dist/libraries/include/harfbuzz/hb-ot-var.h +191 -0
  127. package/dist/libraries/include/harfbuzz/hb-ot.h +49 -0
  128. package/dist/libraries/include/harfbuzz/hb-set.h +200 -0
  129. package/dist/libraries/include/harfbuzz/hb-shape-plan.h +122 -0
  130. package/dist/libraries/include/harfbuzz/hb-shape.h +62 -0
  131. package/dist/libraries/include/harfbuzz/hb-style.h +81 -0
  132. package/dist/libraries/include/harfbuzz/hb-subset-repacker.h +81 -0
  133. package/dist/libraries/include/harfbuzz/hb-subset.h +234 -0
  134. package/dist/libraries/include/harfbuzz/hb-unicode.h +643 -0
  135. package/dist/libraries/include/harfbuzz/hb-version.h +95 -0
  136. package/dist/libraries/include/harfbuzz/hb.h +50 -0
  137. package/dist/libraries/lib/cmake/expat-2.4.7/expat-config-version.cmake +70 -0
  138. package/dist/libraries/lib/cmake/expat-2.4.7/expat-config.cmake +99 -0
  139. package/dist/libraries/lib/cmake/expat-2.4.7/expat-noconfig.cmake +19 -0
  140. package/dist/libraries/lib/cmake/expat-2.4.7/expat.cmake +99 -0
  141. package/dist/libraries/lib/libass.a +0 -0
  142. package/dist/libraries/lib/libass.la +41 -0
  143. package/dist/libraries/lib/libbrotlicommon.a +0 -0
  144. package/dist/libraries/lib/libbrotlidec.a +0 -0
  145. package/dist/libraries/lib/libbrotlienc.a +0 -0
  146. package/dist/libraries/lib/libexpat.a +0 -0
  147. package/dist/libraries/lib/libfontconfig.a +0 -0
  148. package/dist/libraries/lib/libfontconfig.la +41 -0
  149. package/dist/libraries/lib/libfreetype.a +0 -0
  150. package/dist/libraries/lib/libfreetype.la +41 -0
  151. package/dist/libraries/lib/libfribidi.a +0 -0
  152. package/dist/libraries/lib/libfribidi.la +41 -0
  153. package/dist/libraries/lib/libharfbuzz-subset.a +0 -0
  154. package/dist/libraries/lib/libharfbuzz-subset.la +41 -0
  155. package/dist/libraries/lib/libharfbuzz.a +0 -0
  156. package/dist/libraries/lib/libharfbuzz.la +41 -0
  157. package/dist/libraries/lib/pkgconfig/expat.pc +11 -0
  158. package/dist/libraries/lib/pkgconfig/fontconfig.pc +18 -0
  159. package/dist/libraries/lib/pkgconfig/freetype2.pc +14 -0
  160. package/dist/libraries/lib/pkgconfig/fribidi.pc +13 -0
  161. package/dist/libraries/lib/pkgconfig/harfbuzz-subset.pc +12 -0
  162. package/dist/libraries/lib/pkgconfig/harfbuzz.pc +13 -0
  163. package/dist/libraries/lib/pkgconfig/libass.pc +13 -0
  164. package/dist/libraries/lib/pkgconfig/libbrotlicommon.pc +11 -0
  165. package/dist/libraries/lib/pkgconfig/libbrotlidec.pc +12 -0
  166. package/dist/libraries/lib/pkgconfig/libbrotlienc.pc +12 -0
  167. package/dist/libraries/share/aclocal/freetype2.m4 +194 -0
  168. package/dist/libraries/share/doc/expat/AUTHORS +10 -0
  169. package/dist/libraries/share/doc/expat/changelog +1161 -0
  170. package/index.d.ts +115 -115
  171. package/package.json +1 -1
@@ -0,0 +1,175 @@
1
+ /****************************************************************************
2
+ *
3
+ * ftstdlib.h
4
+ *
5
+ * ANSI-specific library and header configuration file (specification
6
+ * only).
7
+ *
8
+ * Copyright (C) 2002-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
+ /**************************************************************************
21
+ *
22
+ * This file is used to group all `#includes` to the ANSI~C library that
23
+ * FreeType normally requires. It also defines macros to rename the
24
+ * standard functions within the FreeType source code.
25
+ *
26
+ * Load a file which defines `FTSTDLIB_H_` before this one to override it.
27
+ *
28
+ */
29
+
30
+
31
+ #ifndef FTSTDLIB_H_
32
+ #define FTSTDLIB_H_
33
+
34
+
35
+ #include <stddef.h>
36
+
37
+ #define ft_ptrdiff_t ptrdiff_t
38
+
39
+
40
+ /**************************************************************************
41
+ *
42
+ * integer limits
43
+ *
44
+ * `UINT_MAX` and `ULONG_MAX` are used to automatically compute the size of
45
+ * `int` and `long` in bytes at compile-time. So far, this works for all
46
+ * platforms the library has been tested on.
47
+ *
48
+ * Note that on the extremely rare platforms that do not provide integer
49
+ * types that are _exactly_ 16 and 32~bits wide (e.g., some old Crays where
50
+ * `int` is 36~bits), we do not make any guarantee about the correct
51
+ * behaviour of FreeType~2 with all fonts.
52
+ *
53
+ * In these cases, `ftconfig.h` will refuse to compile anyway with a
54
+ * message like 'couldn't find 32-bit type' or something similar.
55
+ *
56
+ */
57
+
58
+
59
+ #include <limits.h>
60
+
61
+ #define FT_CHAR_BIT CHAR_BIT
62
+ #define FT_USHORT_MAX USHRT_MAX
63
+ #define FT_INT_MAX INT_MAX
64
+ #define FT_INT_MIN INT_MIN
65
+ #define FT_UINT_MAX UINT_MAX
66
+ #define FT_LONG_MIN LONG_MIN
67
+ #define FT_LONG_MAX LONG_MAX
68
+ #define FT_ULONG_MAX ULONG_MAX
69
+
70
+
71
+ /**************************************************************************
72
+ *
73
+ * character and string processing
74
+ *
75
+ */
76
+
77
+
78
+ #include <string.h>
79
+
80
+ #define ft_memchr memchr
81
+ #define ft_memcmp memcmp
82
+ #define ft_memcpy memcpy
83
+ #define ft_memmove memmove
84
+ #define ft_memset memset
85
+ #define ft_strcat strcat
86
+ #define ft_strcmp strcmp
87
+ #define ft_strcpy strcpy
88
+ #define ft_strlen strlen
89
+ #define ft_strncmp strncmp
90
+ #define ft_strncpy strncpy
91
+ #define ft_strrchr strrchr
92
+ #define ft_strstr strstr
93
+
94
+
95
+ /**************************************************************************
96
+ *
97
+ * file handling
98
+ *
99
+ */
100
+
101
+
102
+ #include <stdio.h>
103
+
104
+ #define FT_FILE FILE
105
+ #define ft_fclose fclose
106
+ #define ft_fopen fopen
107
+ #define ft_fread fread
108
+ #define ft_fseek fseek
109
+ #define ft_ftell ftell
110
+ #define ft_sprintf sprintf
111
+
112
+
113
+ /**************************************************************************
114
+ *
115
+ * sorting
116
+ *
117
+ */
118
+
119
+
120
+ #include <stdlib.h>
121
+
122
+ #define ft_qsort qsort
123
+
124
+
125
+ /**************************************************************************
126
+ *
127
+ * memory allocation
128
+ *
129
+ */
130
+
131
+
132
+ #define ft_scalloc calloc
133
+ #define ft_sfree free
134
+ #define ft_smalloc malloc
135
+ #define ft_srealloc realloc
136
+
137
+
138
+ /**************************************************************************
139
+ *
140
+ * miscellaneous
141
+ *
142
+ */
143
+
144
+
145
+ #define ft_strtol strtol
146
+ #define ft_getenv getenv
147
+
148
+
149
+ /**************************************************************************
150
+ *
151
+ * execution control
152
+ *
153
+ */
154
+
155
+
156
+ #include <setjmp.h>
157
+
158
+ #define ft_jmp_buf jmp_buf /* note: this cannot be a typedef since */
159
+ /* `jmp_buf` is defined as a macro */
160
+ /* on certain platforms */
161
+
162
+ #define ft_longjmp longjmp
163
+ #define ft_setjmp( b ) setjmp( *(ft_jmp_buf*) &(b) ) /* same thing here */
164
+
165
+
166
+ /* The following is only used for debugging purposes, i.e., if */
167
+ /* `FT_DEBUG_LEVEL_ERROR` or `FT_DEBUG_LEVEL_TRACE` are defined. */
168
+
169
+ #include <stdarg.h>
170
+
171
+
172
+ #endif /* FTSTDLIB_H_ */
173
+
174
+
175
+ /* END */
@@ -0,0 +1,245 @@
1
+ /****************************************************************************
2
+ *
3
+ * config/integer-types.h
4
+ *
5
+ * FreeType integer types definitions.
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
+ #ifndef FREETYPE_CONFIG_INTEGER_TYPES_H_
18
+ #define FREETYPE_CONFIG_INTEGER_TYPES_H_
19
+
20
+ /* There are systems (like the Texas Instruments 'C54x) where a `char` */
21
+ /* has 16~bits. ANSI~C says that `sizeof(char)` is always~1. Since an */
22
+ /* `int` has 16~bits also for this system, `sizeof(int)` gives~1 which */
23
+ /* is probably unexpected. */
24
+ /* */
25
+ /* `CHAR_BIT` (defined in `limits.h`) gives the number of bits in a */
26
+ /* `char` type. */
27
+
28
+ #ifndef FT_CHAR_BIT
29
+ #define FT_CHAR_BIT CHAR_BIT
30
+ #endif
31
+
32
+ #ifndef FT_SIZEOF_INT
33
+
34
+ /* The size of an `int` type. */
35
+ #if FT_UINT_MAX == 0xFFFFUL
36
+ #define FT_SIZEOF_INT ( 16 / FT_CHAR_BIT )
37
+ #elif FT_UINT_MAX == 0xFFFFFFFFUL
38
+ #define FT_SIZEOF_INT ( 32 / FT_CHAR_BIT )
39
+ #elif FT_UINT_MAX > 0xFFFFFFFFUL && FT_UINT_MAX == 0xFFFFFFFFFFFFFFFFUL
40
+ #define FT_SIZEOF_INT ( 64 / FT_CHAR_BIT )
41
+ #else
42
+ #error "Unsupported size of `int' type!"
43
+ #endif
44
+
45
+ #endif /* !defined(FT_SIZEOF_INT) */
46
+
47
+ #ifndef FT_SIZEOF_LONG
48
+
49
+ /* The size of a `long` type. A five-byte `long` (as used e.g. on the */
50
+ /* DM642) is recognized but avoided. */
51
+ #if FT_ULONG_MAX == 0xFFFFFFFFUL
52
+ #define FT_SIZEOF_LONG ( 32 / FT_CHAR_BIT )
53
+ #elif FT_ULONG_MAX > 0xFFFFFFFFUL && FT_ULONG_MAX == 0xFFFFFFFFFFUL
54
+ #define FT_SIZEOF_LONG ( 32 / FT_CHAR_BIT )
55
+ #elif FT_ULONG_MAX > 0xFFFFFFFFUL && FT_ULONG_MAX == 0xFFFFFFFFFFFFFFFFUL
56
+ #define FT_SIZEOF_LONG ( 64 / FT_CHAR_BIT )
57
+ #else
58
+ #error "Unsupported size of `long' type!"
59
+ #endif
60
+
61
+ #endif /* !defined(FT_SIZEOF_LONG) */
62
+
63
+ /**************************************************************************
64
+ *
65
+ * @section:
66
+ * basic_types
67
+ *
68
+ */
69
+
70
+
71
+ /**************************************************************************
72
+ *
73
+ * @type:
74
+ * FT_Int16
75
+ *
76
+ * @description:
77
+ * A typedef for a 16bit signed integer type.
78
+ */
79
+ typedef signed short FT_Int16;
80
+
81
+
82
+ /**************************************************************************
83
+ *
84
+ * @type:
85
+ * FT_UInt16
86
+ *
87
+ * @description:
88
+ * A typedef for a 16bit unsigned integer type.
89
+ */
90
+ typedef unsigned short FT_UInt16;
91
+
92
+ /* */
93
+
94
+
95
+ /* this #if 0 ... #endif clause is for documentation purposes */
96
+ #if 0
97
+
98
+ /**************************************************************************
99
+ *
100
+ * @type:
101
+ * FT_Int32
102
+ *
103
+ * @description:
104
+ * A typedef for a 32bit signed integer type. The size depends on the
105
+ * configuration.
106
+ */
107
+ typedef signed XXX FT_Int32;
108
+
109
+
110
+ /**************************************************************************
111
+ *
112
+ * @type:
113
+ * FT_UInt32
114
+ *
115
+ * A typedef for a 32bit unsigned integer type. The size depends on the
116
+ * configuration.
117
+ */
118
+ typedef unsigned XXX FT_UInt32;
119
+
120
+
121
+ /**************************************************************************
122
+ *
123
+ * @type:
124
+ * FT_Int64
125
+ *
126
+ * A typedef for a 64bit signed integer type. The size depends on the
127
+ * configuration. Only defined if there is real 64bit support;
128
+ * otherwise, it gets emulated with a structure (if necessary).
129
+ */
130
+ typedef signed XXX FT_Int64;
131
+
132
+
133
+ /**************************************************************************
134
+ *
135
+ * @type:
136
+ * FT_UInt64
137
+ *
138
+ * A typedef for a 64bit unsigned integer type. The size depends on the
139
+ * configuration. Only defined if there is real 64bit support;
140
+ * otherwise, it gets emulated with a structure (if necessary).
141
+ */
142
+ typedef unsigned XXX FT_UInt64;
143
+
144
+ /* */
145
+
146
+ #endif
147
+
148
+ #if FT_SIZEOF_INT == ( 32 / FT_CHAR_BIT )
149
+
150
+ typedef signed int FT_Int32;
151
+ typedef unsigned int FT_UInt32;
152
+
153
+ #elif FT_SIZEOF_LONG == ( 32 / FT_CHAR_BIT )
154
+
155
+ typedef signed long FT_Int32;
156
+ typedef unsigned long FT_UInt32;
157
+
158
+ #else
159
+ #error "no 32bit type found -- please check your configuration files"
160
+ #endif
161
+
162
+
163
+ /* look up an integer type that is at least 32~bits */
164
+ #if FT_SIZEOF_INT >= ( 32 / FT_CHAR_BIT )
165
+
166
+ typedef int FT_Fast;
167
+ typedef unsigned int FT_UFast;
168
+
169
+ #elif FT_SIZEOF_LONG >= ( 32 / FT_CHAR_BIT )
170
+
171
+ typedef long FT_Fast;
172
+ typedef unsigned long FT_UFast;
173
+
174
+ #endif
175
+
176
+
177
+ /* determine whether we have a 64-bit `int` type for platforms without */
178
+ /* Autoconf */
179
+ #if FT_SIZEOF_LONG == ( 64 / FT_CHAR_BIT )
180
+
181
+ /* `FT_LONG64` must be defined if a 64-bit type is available */
182
+ #define FT_LONG64
183
+ #define FT_INT64 long
184
+ #define FT_UINT64 unsigned long
185
+
186
+ /**************************************************************************
187
+ *
188
+ * A 64-bit data type may create compilation problems if you compile in
189
+ * strict ANSI mode. To avoid them, we disable other 64-bit data types if
190
+ * `__STDC__` is defined. You can however ignore this rule by defining the
191
+ * `FT_CONFIG_OPTION_FORCE_INT64` configuration macro.
192
+ */
193
+ #elif !defined( __STDC__ ) || defined( FT_CONFIG_OPTION_FORCE_INT64 )
194
+
195
+ #if defined( __STDC_VERSION__ ) && __STDC_VERSION__ >= 199901L
196
+
197
+ #define FT_LONG64
198
+ #define FT_INT64 long long int
199
+ #define FT_UINT64 unsigned long long int
200
+
201
+ #elif defined( _MSC_VER ) && _MSC_VER >= 900 /* Visual C++ (and Intel C++) */
202
+
203
+ /* this compiler provides the `__int64` type */
204
+ #define FT_LONG64
205
+ #define FT_INT64 __int64
206
+ #define FT_UINT64 unsigned __int64
207
+
208
+ #elif defined( __BORLANDC__ ) /* Borland C++ */
209
+
210
+ /* XXXX: We should probably check the value of `__BORLANDC__` in order */
211
+ /* to test the compiler version. */
212
+
213
+ /* this compiler provides the `__int64` type */
214
+ #define FT_LONG64
215
+ #define FT_INT64 __int64
216
+ #define FT_UINT64 unsigned __int64
217
+
218
+ #elif defined( __WATCOMC__ ) /* Watcom C++ */
219
+
220
+ /* Watcom doesn't provide 64-bit data types */
221
+
222
+ #elif defined( __MWERKS__ ) /* Metrowerks CodeWarrior */
223
+
224
+ #define FT_LONG64
225
+ #define FT_INT64 long long int
226
+ #define FT_UINT64 unsigned long long int
227
+
228
+ #elif defined( __GNUC__ )
229
+
230
+ /* GCC provides the `long long` type */
231
+ #define FT_LONG64
232
+ #define FT_INT64 long long int
233
+ #define FT_UINT64 unsigned long long int
234
+
235
+ #endif /* __STDC_VERSION__ >= 199901L */
236
+
237
+ #endif /* FT_SIZEOF_LONG == (64 / FT_CHAR_BIT) */
238
+
239
+ #ifdef FT_LONG64
240
+ typedef FT_INT64 FT_Int64;
241
+ typedef FT_UINT64 FT_UInt64;
242
+ #endif
243
+
244
+
245
+ #endif /* FREETYPE_CONFIG_INTEGER_TYPES_H_ */
@@ -0,0 +1,49 @@
1
+ /****************************************************************************
2
+ *
3
+ * config/mac-support.h
4
+ *
5
+ * Mac/OS X support configuration header.
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
+ #ifndef FREETYPE_CONFIG_MAC_SUPPORT_H_
18
+ #define FREETYPE_CONFIG_MAC_SUPPORT_H_
19
+
20
+ /**************************************************************************
21
+ *
22
+ * Mac support
23
+ *
24
+ * This is the only necessary change, so it is defined here instead
25
+ * providing a new configuration file.
26
+ */
27
+ #if defined( __APPLE__ ) || ( defined( __MWERKS__ ) && defined( macintosh ) )
28
+ /* No Carbon frameworks for 64bit 10.4.x. */
29
+ /* `AvailabilityMacros.h` is available since Mac OS X 10.2, */
30
+ /* so guess the system version by maximum errno before inclusion. */
31
+ #include <errno.h>
32
+ #ifdef ECANCELED /* defined since 10.2 */
33
+ #include "AvailabilityMacros.h"
34
+ #endif
35
+ #if defined( __LP64__ ) && \
36
+ ( MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_4 )
37
+ #undef FT_MACINTOSH
38
+ #endif
39
+
40
+ #elif defined( __SC__ ) || defined( __MRC__ )
41
+ /* Classic MacOS compilers */
42
+ #include "ConditionalMacros.h"
43
+ #if TARGET_OS_MAC
44
+ #define FT_MACINTOSH 1
45
+ #endif
46
+
47
+ #endif /* Mac support */
48
+
49
+ #endif /* FREETYPE_CONFIG_MAC_SUPPORT_H_ */
@@ -0,0 +1,120 @@
1
+ /****************************************************************************
2
+ *
3
+ * config/public-macros.h
4
+ *
5
+ * Define a set of compiler macros used in public FreeType headers.
6
+ *
7
+ * Copyright (C) 2020-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
+ * The definitions in this file are used by the public FreeType headers
20
+ * and thus should be considered part of the public API.
21
+ *
22
+ * Other compiler-specific macro definitions that are not exposed by the
23
+ * FreeType API should go into
24
+ * `include/freetype/internal/compiler-macros.h` instead.
25
+ */
26
+ #ifndef FREETYPE_CONFIG_PUBLIC_MACROS_H_
27
+ #define FREETYPE_CONFIG_PUBLIC_MACROS_H_
28
+
29
+ /*
30
+ * `FT_BEGIN_HEADER` and `FT_END_HEADER` might have already been defined
31
+ * by `freetype/config/ftheader.h`, but we don't want to include this
32
+ * header here, so redefine the macros here only when needed. Their
33
+ * definition is very stable, so keeping them in sync with the ones in the
34
+ * header should not be a maintenance issue.
35
+ */
36
+ #ifndef FT_BEGIN_HEADER
37
+ #ifdef __cplusplus
38
+ #define FT_BEGIN_HEADER extern "C" {
39
+ #else
40
+ #define FT_BEGIN_HEADER /* empty */
41
+ #endif
42
+ #endif /* FT_BEGIN_HEADER */
43
+
44
+ #ifndef FT_END_HEADER
45
+ #ifdef __cplusplus
46
+ #define FT_END_HEADER }
47
+ #else
48
+ #define FT_END_HEADER /* empty */
49
+ #endif
50
+ #endif /* FT_END_HEADER */
51
+
52
+
53
+ FT_BEGIN_HEADER
54
+
55
+ /*
56
+ * Mark a function declaration as public. This ensures it will be
57
+ * properly exported to client code. Place this before a function
58
+ * declaration.
59
+ *
60
+ * NOTE: This macro should be considered an internal implementation
61
+ * detail, and not part of the FreeType API. It is only defined here
62
+ * because it is needed by `FT_EXPORT`.
63
+ */
64
+
65
+ /* Visual C, mingw */
66
+ #if defined( _WIN32 )
67
+
68
+ #if defined( FT2_BUILD_LIBRARY ) && defined( DLL_EXPORT )
69
+ #define FT_PUBLIC_FUNCTION_ATTRIBUTE __declspec( dllexport )
70
+ #elif defined( DLL_IMPORT )
71
+ #define FT_PUBLIC_FUNCTION_ATTRIBUTE __declspec( dllimport )
72
+ #endif
73
+
74
+ /* gcc, clang */
75
+ #elif ( defined( __GNUC__ ) && __GNUC__ >= 4 ) || defined( __clang__ )
76
+ #define FT_PUBLIC_FUNCTION_ATTRIBUTE \
77
+ __attribute__(( visibility( "default" ) ))
78
+
79
+ /* Sun */
80
+ #elif defined( __SUNPRO_C ) && __SUNPRO_C >= 0x550
81
+ #define FT_PUBLIC_FUNCTION_ATTRIBUTE __global
82
+ #endif
83
+
84
+
85
+ #ifndef FT_PUBLIC_FUNCTION_ATTRIBUTE
86
+ #define FT_PUBLIC_FUNCTION_ATTRIBUTE /* empty */
87
+ #endif
88
+
89
+
90
+ /*
91
+ * Define a public FreeType API function. This ensures it is properly
92
+ * exported or imported at build time. The macro parameter is the
93
+ * function's return type as in:
94
+ *
95
+ * FT_EXPORT( FT_Bool )
96
+ * FT_Object_Method( FT_Object obj,
97
+ * ... );
98
+ *
99
+ * NOTE: This requires that all `FT_EXPORT` uses are inside
100
+ * `FT_BEGIN_HEADER ... FT_END_HEADER` blocks. This guarantees that the
101
+ * functions are exported with C linkage, even when the header is included
102
+ * by a C++ source file.
103
+ */
104
+ #define FT_EXPORT( x ) FT_PUBLIC_FUNCTION_ATTRIBUTE extern x
105
+
106
+ /*
107
+ * `FT_UNUSED` indicates that a given parameter is not used -- this is
108
+ * only used to get rid of unpleasant compiler warnings.
109
+ *
110
+ * Technically, this was not meant to be part of the public API, but some
111
+ * third-party code depends on it.
112
+ */
113
+ #ifndef FT_UNUSED
114
+ #define FT_UNUSED( arg ) ( (arg) = (arg) )
115
+ #endif
116
+
117
+
118
+ FT_END_HEADER
119
+
120
+ #endif /* FREETYPE_CONFIG_PUBLIC_MACROS_H_ */