@stll/text-normalize 0.0.1-placeholder.0 → 0.1.1
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.
- package/README.md +81 -1
- package/dist/arabic.d.ts +67 -0
- package/dist/arabic.js +156 -0
- package/dist/arabic.js.map +1 -0
- package/dist/ascii-fold-table.d.ts +29 -0
- package/dist/ascii-fold-table.js +513 -0
- package/dist/ascii-fold-table.js.map +1 -0
- package/dist/ascii-fold.d.ts +29 -0
- package/dist/ascii-fold.js +37 -0
- package/dist/ascii-fold.js.map +1 -0
- package/dist/diacritics.d.ts +32 -0
- package/dist/diacritics.js +34 -0
- package/dist/diacritics.js.map +1 -0
- package/dist/escape-regexp.d.ts +10 -0
- package/dist/escape-regexp.js +11 -0
- package/dist/escape-regexp.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -0
- package/dist/normalize.d.ts +16 -0
- package/dist/normalize.js +32 -0
- package/dist/normalize.js.map +1 -0
- package/dist/search-match.d.ts +38 -0
- package/dist/search-match.js +118 -0
- package/dist/search-match.js.map +1 -0
- package/dist/slug.d.ts +45 -0
- package/dist/slug.js +53 -0
- package/dist/slug.js.map +1 -0
- package/dist/spaced-letters.d.ts +57 -0
- package/dist/spaced-letters.js +101 -0
- package/dist/spaced-letters.js.map +1 -0
- package/package.json +54 -5
|
@@ -0,0 +1,513 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Latin-script fold table: the characters PostgreSQL `unaccent()` folds that
|
|
3
|
+
* NFD plus combining-mark removal cannot reach, either because the letter has
|
|
4
|
+
* no canonical decomposition (`ł`, `đ`, `ø`, `ß`) or because Unicode
|
|
5
|
+
* classifies it as a diacritic and a mark strip deletes it outright (`ʰ`, `ᴬ`).
|
|
6
|
+
*
|
|
7
|
+
* Generated from the extension's own rules, so the two sides cannot drift by
|
|
8
|
+
* hand:
|
|
9
|
+
*
|
|
10
|
+
* ```sql
|
|
11
|
+
* SELECT cp, unaccent(chr(cp))
|
|
12
|
+
* FROM generate_series(1, 196607) AS cp
|
|
13
|
+
* WHERE NOT (cp BETWEEN 55296 AND 57343)
|
|
14
|
+
* AND unaccent(chr(cp)) IS DISTINCT FROM chr(cp);
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* A row becomes an entry below when its character is `\p{Script=Latin}` and its
|
|
18
|
+
* `unaccent` output differs from NFD plus mark removal. Non-Latin scripts stay
|
|
19
|
+
* out of the contract and pass through unchanged; see `foldToAscii`.
|
|
20
|
+
*
|
|
21
|
+
* `apps/api/src/lib/search/ascii-fold-unaccent-parity.db.test.ts` re-runs the
|
|
22
|
+
* query against a live PostgreSQL and asserts both directions, so an extension
|
|
23
|
+
* upgrade that adds, drops, or retargets a rule fails CI instead of silently
|
|
24
|
+
* splitting the query-side fold from the indexed lexemes.
|
|
25
|
+
*
|
|
26
|
+
* Keys are single code points; values are ASCII, which is what makes
|
|
27
|
+
* `foldToAscii` idempotent.
|
|
28
|
+
*/
|
|
29
|
+
export const ASCII_FOLD_TABLE = {
|
|
30
|
+
// Latin-1 Supplement
|
|
31
|
+
ª: "a", // U+00AA
|
|
32
|
+
º: "o", // U+00BA
|
|
33
|
+
Æ: "AE", // U+00C6
|
|
34
|
+
Ð: "D", // U+00D0
|
|
35
|
+
Ø: "O", // U+00D8
|
|
36
|
+
Þ: "TH", // U+00DE
|
|
37
|
+
ß: "ss", // U+00DF
|
|
38
|
+
æ: "ae", // U+00E6
|
|
39
|
+
ð: "d", // U+00F0
|
|
40
|
+
ø: "o", // U+00F8
|
|
41
|
+
þ: "th", // U+00FE
|
|
42
|
+
// Latin Extended-A
|
|
43
|
+
Đ: "D", // U+0110
|
|
44
|
+
đ: "d", // U+0111
|
|
45
|
+
Ħ: "H", // U+0126
|
|
46
|
+
ħ: "h", // U+0127
|
|
47
|
+
ı: "i", // U+0131
|
|
48
|
+
IJ: "IJ", // U+0132
|
|
49
|
+
ij: "ij", // U+0133
|
|
50
|
+
ĸ: "q", // U+0138
|
|
51
|
+
Ŀ: "L", // U+013F
|
|
52
|
+
ŀ: "l", // U+0140
|
|
53
|
+
Ł: "L", // U+0141
|
|
54
|
+
ł: "l", // U+0142
|
|
55
|
+
ʼn: "'n", // U+0149
|
|
56
|
+
Ŋ: "N", // U+014A
|
|
57
|
+
ŋ: "n", // U+014B
|
|
58
|
+
Œ: "OE", // U+0152
|
|
59
|
+
œ: "oe", // U+0153
|
|
60
|
+
Ŧ: "T", // U+0166
|
|
61
|
+
ŧ: "t", // U+0167
|
|
62
|
+
ſ: "s", // U+017F
|
|
63
|
+
// Latin Extended-B
|
|
64
|
+
ƀ: "b", // U+0180
|
|
65
|
+
Ɓ: "B", // U+0181
|
|
66
|
+
Ƃ: "B", // U+0182
|
|
67
|
+
ƃ: "b", // U+0183
|
|
68
|
+
Ƈ: "C", // U+0187
|
|
69
|
+
ƈ: "c", // U+0188
|
|
70
|
+
Ɖ: "D", // U+0189
|
|
71
|
+
Ɗ: "D", // U+018A
|
|
72
|
+
Ƌ: "D", // U+018B
|
|
73
|
+
ƌ: "d", // U+018C
|
|
74
|
+
Ɛ: "E", // U+0190
|
|
75
|
+
Ƒ: "F", // U+0191
|
|
76
|
+
ƒ: "f", // U+0192
|
|
77
|
+
Ɠ: "G", // U+0193
|
|
78
|
+
ƕ: "hv", // U+0195
|
|
79
|
+
Ɩ: "I", // U+0196
|
|
80
|
+
Ɨ: "I", // U+0197
|
|
81
|
+
Ƙ: "K", // U+0198
|
|
82
|
+
ƙ: "k", // U+0199
|
|
83
|
+
ƚ: "l", // U+019A
|
|
84
|
+
Ɲ: "N", // U+019D
|
|
85
|
+
ƞ: "n", // U+019E
|
|
86
|
+
Ƣ: "OI", // U+01A2
|
|
87
|
+
ƣ: "oi", // U+01A3
|
|
88
|
+
Ƥ: "P", // U+01A4
|
|
89
|
+
ƥ: "p", // U+01A5
|
|
90
|
+
ƫ: "t", // U+01AB
|
|
91
|
+
Ƭ: "T", // U+01AC
|
|
92
|
+
ƭ: "t", // U+01AD
|
|
93
|
+
Ʈ: "T", // U+01AE
|
|
94
|
+
Ʋ: "V", // U+01B2
|
|
95
|
+
Ƴ: "Y", // U+01B3
|
|
96
|
+
ƴ: "y", // U+01B4
|
|
97
|
+
Ƶ: "Z", // U+01B5
|
|
98
|
+
ƶ: "z", // U+01B6
|
|
99
|
+
DŽ: "DZ", // U+01C4
|
|
100
|
+
Dž: "Dz", // U+01C5
|
|
101
|
+
dž: "dz", // U+01C6
|
|
102
|
+
LJ: "LJ", // U+01C7
|
|
103
|
+
Lj: "Lj", // U+01C8
|
|
104
|
+
lj: "lj", // U+01C9
|
|
105
|
+
NJ: "NJ", // U+01CA
|
|
106
|
+
Nj: "Nj", // U+01CB
|
|
107
|
+
nj: "nj", // U+01CC
|
|
108
|
+
Ǥ: "G", // U+01E4
|
|
109
|
+
ǥ: "g", // U+01E5
|
|
110
|
+
DZ: "DZ", // U+01F1
|
|
111
|
+
Dz: "Dz", // U+01F2
|
|
112
|
+
dz: "dz", // U+01F3
|
|
113
|
+
ȡ: "d", // U+0221
|
|
114
|
+
Ȥ: "Z", // U+0224
|
|
115
|
+
ȥ: "z", // U+0225
|
|
116
|
+
ȴ: "l", // U+0234
|
|
117
|
+
ȵ: "n", // U+0235
|
|
118
|
+
ȶ: "t", // U+0236
|
|
119
|
+
ȷ: "j", // U+0237
|
|
120
|
+
ȸ: "db", // U+0238
|
|
121
|
+
ȹ: "qp", // U+0239
|
|
122
|
+
Ⱥ: "A", // U+023A
|
|
123
|
+
Ȼ: "C", // U+023B
|
|
124
|
+
ȼ: "c", // U+023C
|
|
125
|
+
Ƚ: "L", // U+023D
|
|
126
|
+
Ⱦ: "T", // U+023E
|
|
127
|
+
ȿ: "s", // U+023F
|
|
128
|
+
ɀ: "z", // U+0240
|
|
129
|
+
Ƀ: "B", // U+0243
|
|
130
|
+
Ʉ: "U", // U+0244
|
|
131
|
+
Ɇ: "E", // U+0246
|
|
132
|
+
ɇ: "e", // U+0247
|
|
133
|
+
Ɉ: "J", // U+0248
|
|
134
|
+
ɉ: "j", // U+0249
|
|
135
|
+
Ɍ: "R", // U+024C
|
|
136
|
+
ɍ: "r", // U+024D
|
|
137
|
+
Ɏ: "Y", // U+024E
|
|
138
|
+
ɏ: "y", // U+024F
|
|
139
|
+
// IPA Extensions
|
|
140
|
+
ɓ: "b", // U+0253
|
|
141
|
+
ɕ: "c", // U+0255
|
|
142
|
+
ɖ: "d", // U+0256
|
|
143
|
+
ɗ: "d", // U+0257
|
|
144
|
+
ɛ: "e", // U+025B
|
|
145
|
+
ɟ: "j", // U+025F
|
|
146
|
+
ɠ: "g", // U+0260
|
|
147
|
+
ɡ: "g", // U+0261
|
|
148
|
+
ɢ: "G", // U+0262
|
|
149
|
+
ɦ: "h", // U+0266
|
|
150
|
+
ɧ: "h", // U+0267
|
|
151
|
+
ɨ: "i", // U+0268
|
|
152
|
+
ɪ: "I", // U+026A
|
|
153
|
+
ɫ: "l", // U+026B
|
|
154
|
+
ɬ: "l", // U+026C
|
|
155
|
+
ɭ: "l", // U+026D
|
|
156
|
+
ɱ: "m", // U+0271
|
|
157
|
+
ɲ: "n", // U+0272
|
|
158
|
+
ɳ: "n", // U+0273
|
|
159
|
+
ɴ: "N", // U+0274
|
|
160
|
+
ɶ: "OE", // U+0276
|
|
161
|
+
ɼ: "r", // U+027C
|
|
162
|
+
ɽ: "r", // U+027D
|
|
163
|
+
ɾ: "r", // U+027E
|
|
164
|
+
ʀ: "R", // U+0280
|
|
165
|
+
ʂ: "s", // U+0282
|
|
166
|
+
ʈ: "t", // U+0288
|
|
167
|
+
ʉ: "u", // U+0289
|
|
168
|
+
ʋ: "v", // U+028B
|
|
169
|
+
ʏ: "Y", // U+028F
|
|
170
|
+
ʐ: "z", // U+0290
|
|
171
|
+
ʑ: "z", // U+0291
|
|
172
|
+
ʙ: "B", // U+0299
|
|
173
|
+
ʛ: "G", // U+029B
|
|
174
|
+
ʜ: "H", // U+029C
|
|
175
|
+
ʝ: "j", // U+029D
|
|
176
|
+
ʟ: "L", // U+029F
|
|
177
|
+
ʠ: "q", // U+02A0
|
|
178
|
+
ʣ: "dz", // U+02A3
|
|
179
|
+
ʥ: "dz", // U+02A5
|
|
180
|
+
ʦ: "ts", // U+02A6
|
|
181
|
+
ʪ: "ls", // U+02AA
|
|
182
|
+
ʫ: "lz", // U+02AB
|
|
183
|
+
// Spacing Modifier Letters
|
|
184
|
+
ʰ: "h", // U+02B0
|
|
185
|
+
ʲ: "j", // U+02B2
|
|
186
|
+
ʳ: "r", // U+02B3
|
|
187
|
+
ʷ: "w", // U+02B7
|
|
188
|
+
ʸ: "y", // U+02B8
|
|
189
|
+
ˡ: "l", // U+02E1
|
|
190
|
+
ˢ: "s", // U+02E2
|
|
191
|
+
ˣ: "x", // U+02E3
|
|
192
|
+
// Phonetic Extensions
|
|
193
|
+
ᴀ: "A", // U+1D00
|
|
194
|
+
ᴁ: "AE", // U+1D01
|
|
195
|
+
ᴃ: "B", // U+1D03
|
|
196
|
+
ᴄ: "C", // U+1D04
|
|
197
|
+
ᴅ: "D", // U+1D05
|
|
198
|
+
ᴆ: "D", // U+1D06
|
|
199
|
+
ᴇ: "E", // U+1D07
|
|
200
|
+
ᴊ: "J", // U+1D0A
|
|
201
|
+
ᴋ: "K", // U+1D0B
|
|
202
|
+
ᴌ: "L", // U+1D0C
|
|
203
|
+
ᴍ: "M", // U+1D0D
|
|
204
|
+
ᴏ: "O", // U+1D0F
|
|
205
|
+
ᴘ: "P", // U+1D18
|
|
206
|
+
ᴛ: "T", // U+1D1B
|
|
207
|
+
ᴜ: "U", // U+1D1C
|
|
208
|
+
ᴠ: "V", // U+1D20
|
|
209
|
+
ᴡ: "W", // U+1D21
|
|
210
|
+
ᴢ: "Z", // U+1D22
|
|
211
|
+
ᴬ: "A", // U+1D2C
|
|
212
|
+
ᴮ: "B", // U+1D2E
|
|
213
|
+
ᴰ: "D", // U+1D30
|
|
214
|
+
ᴱ: "E", // U+1D31
|
|
215
|
+
ᴳ: "G", // U+1D33
|
|
216
|
+
ᴴ: "H", // U+1D34
|
|
217
|
+
ᴵ: "I", // U+1D35
|
|
218
|
+
ᴶ: "J", // U+1D36
|
|
219
|
+
ᴷ: "K", // U+1D37
|
|
220
|
+
ᴸ: "L", // U+1D38
|
|
221
|
+
ᴹ: "M", // U+1D39
|
|
222
|
+
ᴺ: "N", // U+1D3A
|
|
223
|
+
ᴼ: "O", // U+1D3C
|
|
224
|
+
ᴾ: "P", // U+1D3E
|
|
225
|
+
ᴿ: "R", // U+1D3F
|
|
226
|
+
ᵀ: "T", // U+1D40
|
|
227
|
+
ᵁ: "U", // U+1D41
|
|
228
|
+
ᵂ: "W", // U+1D42
|
|
229
|
+
ᵃ: "a", // U+1D43
|
|
230
|
+
ᵇ: "b", // U+1D47
|
|
231
|
+
ᵈ: "d", // U+1D48
|
|
232
|
+
ᵉ: "e", // U+1D49
|
|
233
|
+
ᵍ: "g", // U+1D4D
|
|
234
|
+
ᵏ: "k", // U+1D4F
|
|
235
|
+
ᵐ: "m", // U+1D50
|
|
236
|
+
ᵒ: "o", // U+1D52
|
|
237
|
+
ᵖ: "p", // U+1D56
|
|
238
|
+
ᵗ: "t", // U+1D57
|
|
239
|
+
ᵘ: "u", // U+1D58
|
|
240
|
+
ᵛ: "v", // U+1D5B
|
|
241
|
+
ᵢ: "i", // U+1D62
|
|
242
|
+
ᵣ: "r", // U+1D63
|
|
243
|
+
ᵤ: "u", // U+1D64
|
|
244
|
+
ᵥ: "v", // U+1D65
|
|
245
|
+
ᵫ: "ue", // U+1D6B
|
|
246
|
+
ᵬ: "b", // U+1D6C
|
|
247
|
+
ᵭ: "d", // U+1D6D
|
|
248
|
+
ᵮ: "f", // U+1D6E
|
|
249
|
+
ᵯ: "m", // U+1D6F
|
|
250
|
+
ᵰ: "n", // U+1D70
|
|
251
|
+
ᵱ: "p", // U+1D71
|
|
252
|
+
ᵲ: "r", // U+1D72
|
|
253
|
+
ᵳ: "r", // U+1D73
|
|
254
|
+
ᵴ: "s", // U+1D74
|
|
255
|
+
ᵵ: "t", // U+1D75
|
|
256
|
+
ᵶ: "z", // U+1D76
|
|
257
|
+
ᵺ: "th", // U+1D7A
|
|
258
|
+
ᵻ: "I", // U+1D7B
|
|
259
|
+
ᵽ: "p", // U+1D7D
|
|
260
|
+
ᵾ: "U", // U+1D7E
|
|
261
|
+
// Phonetic Extensions Supplement
|
|
262
|
+
ᶀ: "b", // U+1D80
|
|
263
|
+
ᶁ: "d", // U+1D81
|
|
264
|
+
ᶂ: "f", // U+1D82
|
|
265
|
+
ᶃ: "g", // U+1D83
|
|
266
|
+
ᶄ: "k", // U+1D84
|
|
267
|
+
ᶅ: "l", // U+1D85
|
|
268
|
+
ᶆ: "m", // U+1D86
|
|
269
|
+
ᶇ: "n", // U+1D87
|
|
270
|
+
ᶈ: "p", // U+1D88
|
|
271
|
+
ᶉ: "r", // U+1D89
|
|
272
|
+
ᶊ: "s", // U+1D8A
|
|
273
|
+
ᶌ: "v", // U+1D8C
|
|
274
|
+
ᶍ: "x", // U+1D8D
|
|
275
|
+
ᶎ: "z", // U+1D8E
|
|
276
|
+
ᶏ: "a", // U+1D8F
|
|
277
|
+
ᶑ: "d", // U+1D91
|
|
278
|
+
ᶒ: "e", // U+1D92
|
|
279
|
+
ᶓ: "e", // U+1D93
|
|
280
|
+
ᶖ: "i", // U+1D96
|
|
281
|
+
ᶙ: "u", // U+1D99
|
|
282
|
+
ᶜ: "c", // U+1D9C
|
|
283
|
+
ᶠ: "f", // U+1DA0
|
|
284
|
+
ᶻ: "z", // U+1DBB
|
|
285
|
+
// Latin Extended Additional
|
|
286
|
+
ẚ: "a", // U+1E9A
|
|
287
|
+
ẜ: "s", // U+1E9C
|
|
288
|
+
ẝ: "s", // U+1E9D
|
|
289
|
+
ẞ: "SS", // U+1E9E
|
|
290
|
+
Ỻ: "LL", // U+1EFA
|
|
291
|
+
ỻ: "ll", // U+1EFB
|
|
292
|
+
Ỽ: "V", // U+1EFC
|
|
293
|
+
ỽ: "v", // U+1EFD
|
|
294
|
+
Ỿ: "Y", // U+1EFE
|
|
295
|
+
ỿ: "y", // U+1EFF
|
|
296
|
+
// Superscripts and Subscripts
|
|
297
|
+
ⁱ: "i", // U+2071
|
|
298
|
+
ⁿ: "n", // U+207F
|
|
299
|
+
ₐ: "a", // U+2090
|
|
300
|
+
ₑ: "e", // U+2091
|
|
301
|
+
ₒ: "o", // U+2092
|
|
302
|
+
ₓ: "x", // U+2093
|
|
303
|
+
ₕ: "h", // U+2095
|
|
304
|
+
ₖ: "k", // U+2096
|
|
305
|
+
ₗ: "l", // U+2097
|
|
306
|
+
ₘ: "m", // U+2098
|
|
307
|
+
ₙ: "n", // U+2099
|
|
308
|
+
ₚ: "p", // U+209A
|
|
309
|
+
ₛ: "s", // U+209B
|
|
310
|
+
ₜ: "t", // U+209C
|
|
311
|
+
// Number Forms
|
|
312
|
+
Ⅰ: "I", // U+2160
|
|
313
|
+
Ⅱ: "II", // U+2161
|
|
314
|
+
Ⅲ: "III", // U+2162
|
|
315
|
+
Ⅳ: "IV", // U+2163
|
|
316
|
+
Ⅴ: "V", // U+2164
|
|
317
|
+
Ⅵ: "VI", // U+2165
|
|
318
|
+
Ⅶ: "VII", // U+2166
|
|
319
|
+
Ⅷ: "VIII", // U+2167
|
|
320
|
+
Ⅸ: "IX", // U+2168
|
|
321
|
+
Ⅹ: "X", // U+2169
|
|
322
|
+
Ⅺ: "XI", // U+216A
|
|
323
|
+
Ⅻ: "XII", // U+216B
|
|
324
|
+
Ⅼ: "L", // U+216C
|
|
325
|
+
Ⅽ: "C", // U+216D
|
|
326
|
+
Ⅾ: "D", // U+216E
|
|
327
|
+
Ⅿ: "M", // U+216F
|
|
328
|
+
ⅰ: "i", // U+2170
|
|
329
|
+
ⅱ: "ii", // U+2171
|
|
330
|
+
ⅲ: "iii", // U+2172
|
|
331
|
+
ⅳ: "iv", // U+2173
|
|
332
|
+
ⅴ: "v", // U+2174
|
|
333
|
+
ⅵ: "vi", // U+2175
|
|
334
|
+
ⅶ: "vii", // U+2176
|
|
335
|
+
ⅷ: "viii", // U+2177
|
|
336
|
+
ⅸ: "ix", // U+2178
|
|
337
|
+
ⅹ: "x", // U+2179
|
|
338
|
+
ⅺ: "xi", // U+217A
|
|
339
|
+
ⅻ: "xii", // U+217B
|
|
340
|
+
ⅼ: "l", // U+217C
|
|
341
|
+
ⅽ: "c", // U+217D
|
|
342
|
+
ⅾ: "d", // U+217E
|
|
343
|
+
ⅿ: "m", // U+217F
|
|
344
|
+
// Latin Extended-C
|
|
345
|
+
Ⱡ: "L", // U+2C60
|
|
346
|
+
ⱡ: "l", // U+2C61
|
|
347
|
+
Ɫ: "L", // U+2C62
|
|
348
|
+
Ᵽ: "P", // U+2C63
|
|
349
|
+
Ɽ: "R", // U+2C64
|
|
350
|
+
ⱥ: "a", // U+2C65
|
|
351
|
+
ⱦ: "t", // U+2C66
|
|
352
|
+
Ⱨ: "H", // U+2C67
|
|
353
|
+
ⱨ: "h", // U+2C68
|
|
354
|
+
Ⱪ: "K", // U+2C69
|
|
355
|
+
ⱪ: "k", // U+2C6A
|
|
356
|
+
Ⱬ: "Z", // U+2C6B
|
|
357
|
+
ⱬ: "z", // U+2C6C
|
|
358
|
+
Ɱ: "M", // U+2C6E
|
|
359
|
+
ⱱ: "v", // U+2C71
|
|
360
|
+
Ⱳ: "W", // U+2C72
|
|
361
|
+
ⱳ: "w", // U+2C73
|
|
362
|
+
ⱴ: "v", // U+2C74
|
|
363
|
+
ⱸ: "e", // U+2C78
|
|
364
|
+
ⱺ: "o", // U+2C7A
|
|
365
|
+
ⱼ: "j", // U+2C7C
|
|
366
|
+
ⱽ: "V", // U+2C7D
|
|
367
|
+
Ȿ: "S", // U+2C7E
|
|
368
|
+
Ɀ: "Z", // U+2C7F
|
|
369
|
+
// Latin Extended-D
|
|
370
|
+
ꜰ: "F", // U+A730
|
|
371
|
+
ꜱ: "S", // U+A731
|
|
372
|
+
Ꜳ: "AA", // U+A732
|
|
373
|
+
ꜳ: "aa", // U+A733
|
|
374
|
+
Ꜵ: "AO", // U+A734
|
|
375
|
+
ꜵ: "ao", // U+A735
|
|
376
|
+
Ꜷ: "AU", // U+A736
|
|
377
|
+
ꜷ: "au", // U+A737
|
|
378
|
+
Ꜹ: "AV", // U+A738
|
|
379
|
+
ꜹ: "av", // U+A739
|
|
380
|
+
Ꜻ: "AV", // U+A73A
|
|
381
|
+
ꜻ: "av", // U+A73B
|
|
382
|
+
Ꜽ: "AY", // U+A73C
|
|
383
|
+
ꜽ: "ay", // U+A73D
|
|
384
|
+
Ꝁ: "K", // U+A740
|
|
385
|
+
ꝁ: "k", // U+A741
|
|
386
|
+
Ꝃ: "K", // U+A742
|
|
387
|
+
ꝃ: "k", // U+A743
|
|
388
|
+
Ꝅ: "K", // U+A744
|
|
389
|
+
ꝅ: "k", // U+A745
|
|
390
|
+
Ꝇ: "L", // U+A746
|
|
391
|
+
ꝇ: "l", // U+A747
|
|
392
|
+
Ꝉ: "L", // U+A748
|
|
393
|
+
ꝉ: "l", // U+A749
|
|
394
|
+
Ꝋ: "O", // U+A74A
|
|
395
|
+
ꝋ: "o", // U+A74B
|
|
396
|
+
Ꝍ: "O", // U+A74C
|
|
397
|
+
ꝍ: "o", // U+A74D
|
|
398
|
+
Ꝏ: "OO", // U+A74E
|
|
399
|
+
ꝏ: "oo", // U+A74F
|
|
400
|
+
Ꝑ: "P", // U+A750
|
|
401
|
+
ꝑ: "p", // U+A751
|
|
402
|
+
Ꝓ: "P", // U+A752
|
|
403
|
+
ꝓ: "p", // U+A753
|
|
404
|
+
Ꝕ: "P", // U+A754
|
|
405
|
+
ꝕ: "p", // U+A755
|
|
406
|
+
Ꝗ: "Q", // U+A756
|
|
407
|
+
ꝗ: "q", // U+A757
|
|
408
|
+
Ꝙ: "Q", // U+A758
|
|
409
|
+
ꝙ: "q", // U+A759
|
|
410
|
+
Ꝟ: "V", // U+A75E
|
|
411
|
+
ꝟ: "v", // U+A75F
|
|
412
|
+
Ꝡ: "VY", // U+A760
|
|
413
|
+
ꝡ: "vy", // U+A761
|
|
414
|
+
Ꝥ: "TH", // U+A764
|
|
415
|
+
ꝥ: "th", // U+A765
|
|
416
|
+
Ꝧ: "TH", // U+A766
|
|
417
|
+
ꝧ: "th", // U+A767
|
|
418
|
+
ꝱ: "d", // U+A771
|
|
419
|
+
ꝲ: "l", // U+A772
|
|
420
|
+
ꝳ: "m", // U+A773
|
|
421
|
+
ꝴ: "n", // U+A774
|
|
422
|
+
ꝵ: "r", // U+A775
|
|
423
|
+
ꝶ: "R", // U+A776
|
|
424
|
+
ꝷ: "t", // U+A777
|
|
425
|
+
Ꝺ: "D", // U+A779
|
|
426
|
+
ꝺ: "d", // U+A77A
|
|
427
|
+
Ꝼ: "F", // U+A77B
|
|
428
|
+
ꝼ: "f", // U+A77C
|
|
429
|
+
Ꞇ: "T", // U+A786
|
|
430
|
+
ꞇ: "t", // U+A787
|
|
431
|
+
Ꞑ: "N", // U+A790
|
|
432
|
+
ꞑ: "n", // U+A791
|
|
433
|
+
Ꞓ: "C", // U+A792
|
|
434
|
+
ꞓ: "c", // U+A793
|
|
435
|
+
Ꞡ: "G", // U+A7A0
|
|
436
|
+
ꞡ: "g", // U+A7A1
|
|
437
|
+
Ꞣ: "K", // U+A7A2
|
|
438
|
+
ꞣ: "k", // U+A7A3
|
|
439
|
+
Ꞥ: "N", // U+A7A4
|
|
440
|
+
ꞥ: "n", // U+A7A5
|
|
441
|
+
Ꞧ: "R", // U+A7A6
|
|
442
|
+
ꞧ: "r", // U+A7A7
|
|
443
|
+
Ꞩ: "S", // U+A7A8
|
|
444
|
+
ꞩ: "s", // U+A7A9
|
|
445
|
+
Ɦ: "H", // U+A7AA
|
|
446
|
+
ꟲ: "C", // U+A7F2
|
|
447
|
+
ꟳ: "F", // U+A7F3
|
|
448
|
+
ꟴ: "Q", // U+A7F4
|
|
449
|
+
// Alphabetic Presentation Forms
|
|
450
|
+
ff: "ff", // U+FB00
|
|
451
|
+
fi: "fi", // U+FB01
|
|
452
|
+
fl: "fl", // U+FB02
|
|
453
|
+
ffi: "ffi", // U+FB03
|
|
454
|
+
ffl: "ffl", // U+FB04
|
|
455
|
+
ſt: "st", // U+FB05
|
|
456
|
+
st: "st", // U+FB06
|
|
457
|
+
// Halfwidth and Fullwidth Forms
|
|
458
|
+
A: "A", // U+FF21
|
|
459
|
+
B: "B", // U+FF22
|
|
460
|
+
C: "C", // U+FF23
|
|
461
|
+
D: "D", // U+FF24
|
|
462
|
+
E: "E", // U+FF25
|
|
463
|
+
F: "F", // U+FF26
|
|
464
|
+
G: "G", // U+FF27
|
|
465
|
+
H: "H", // U+FF28
|
|
466
|
+
I: "I", // U+FF29
|
|
467
|
+
J: "J", // U+FF2A
|
|
468
|
+
K: "K", // U+FF2B
|
|
469
|
+
L: "L", // U+FF2C
|
|
470
|
+
M: "M", // U+FF2D
|
|
471
|
+
N: "N", // U+FF2E
|
|
472
|
+
O: "O", // U+FF2F
|
|
473
|
+
P: "P", // U+FF30
|
|
474
|
+
Q: "Q", // U+FF31
|
|
475
|
+
R: "R", // U+FF32
|
|
476
|
+
S: "S", // U+FF33
|
|
477
|
+
T: "T", // U+FF34
|
|
478
|
+
U: "U", // U+FF35
|
|
479
|
+
V: "V", // U+FF36
|
|
480
|
+
W: "W", // U+FF37
|
|
481
|
+
X: "X", // U+FF38
|
|
482
|
+
Y: "Y", // U+FF39
|
|
483
|
+
Z: "Z", // U+FF3A
|
|
484
|
+
a: "a", // U+FF41
|
|
485
|
+
b: "b", // U+FF42
|
|
486
|
+
c: "c", // U+FF43
|
|
487
|
+
d: "d", // U+FF44
|
|
488
|
+
e: "e", // U+FF45
|
|
489
|
+
f: "f", // U+FF46
|
|
490
|
+
g: "g", // U+FF47
|
|
491
|
+
h: "h", // U+FF48
|
|
492
|
+
i: "i", // U+FF49
|
|
493
|
+
j: "j", // U+FF4A
|
|
494
|
+
k: "k", // U+FF4B
|
|
495
|
+
l: "l", // U+FF4C
|
|
496
|
+
m: "m", // U+FF4D
|
|
497
|
+
n: "n", // U+FF4E
|
|
498
|
+
o: "o", // U+FF4F
|
|
499
|
+
p: "p", // U+FF50
|
|
500
|
+
q: "q", // U+FF51
|
|
501
|
+
r: "r", // U+FF52
|
|
502
|
+
s: "s", // U+FF53
|
|
503
|
+
t: "t", // U+FF54
|
|
504
|
+
u: "u", // U+FF55
|
|
505
|
+
v: "v", // U+FF56
|
|
506
|
+
w: "w", // U+FF57
|
|
507
|
+
x: "x", // U+FF58
|
|
508
|
+
y: "y", // U+FF59
|
|
509
|
+
z: "z", // U+FF5A
|
|
510
|
+
// Latin Extended-F
|
|
511
|
+
𐞥: "q", // U+107A5
|
|
512
|
+
};
|
|
513
|
+
//# sourceMappingURL=ascii-fold-table.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ascii-fold-table.js","sourceRoot":"","sources":["../src/ascii-fold-table.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAqC;IAChE,qBAAqB;IACrB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,mBAAmB;IACnB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,mBAAmB;IACnB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,iBAAiB;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,2BAA2B;IAC3B,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,sBAAsB;IACtB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,iCAAiC;IACjC,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IA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,EAAE,GAAG,EAAE,SAAS;IACjB,mBAAmB;IACnB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,mBAAmB;IACnB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,gCAAgC;IAChC,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,KAAK,EAAE,SAAS;IACnB,CAAC,EAAE,KAAK,EAAE,SAAS;IACnB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,CAAC,EAAE,IAAI,EAAE,SAAS;IAClB,gCAAgC;IAChC,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,CAAC,EAAE,GAAG,EAAE,SAAS;IACjB,mBAAmB;IACnB,EAAE,EAAE,GAAG,EAAE,UAAU;CACpB,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Latin-ASCII folding for search keys whose counterpart is a PostgreSQL
|
|
3
|
+
* `unaccent()` index or a Tantivy `ascii_folding` index.
|
|
4
|
+
*
|
|
5
|
+
* `stripDiacritics` decomposes with NFD and drops combining marks, which can
|
|
6
|
+
* only fold letters that have a canonical decomposition. Polish `ł` has none,
|
|
7
|
+
* so it survives a mark strip while `unaccent('łaska')` yields `laska`: a query
|
|
8
|
+
* containing `ł` then under-matches the very lexemes the index stored for it.
|
|
9
|
+
* `foldToAscii` keeps NFD plus mark removal as the base and adds the rules
|
|
10
|
+
* `unaccent` applies that decomposition cannot express.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* The replace step of `foldToAscii`, for callers that decompose themselves
|
|
14
|
+
* (`foldSearchMatchText` decomposes with NFKD and per character). The input
|
|
15
|
+
* must already be decomposed or table-only characters would hide inside
|
|
16
|
+
* precomposed letters.
|
|
17
|
+
*/
|
|
18
|
+
export declare const applyAsciiFolds: (decomposed: string) => string;
|
|
19
|
+
/**
|
|
20
|
+
* Fold text to its ASCII search key.
|
|
21
|
+
*
|
|
22
|
+
* The contract is parity with `unaccent()` for Latin-script characters: for
|
|
23
|
+
* every rule the extension declares over `\p{Script=Latin}`, this produces the
|
|
24
|
+
* same output. Other scripts are out of contract and keep whatever NFD plus
|
|
25
|
+
* mark removal leaves, so Greek, Cyrillic, and Arabic text passes through with
|
|
26
|
+
* its own diacritics stripped and its letters intact. Output is ASCII wherever
|
|
27
|
+
* the input was Latin, and folding is idempotent.
|
|
28
|
+
*/
|
|
29
|
+
export declare const foldToAscii: (text: string) => string;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Latin-ASCII folding for search keys whose counterpart is a PostgreSQL
|
|
3
|
+
* `unaccent()` index or a Tantivy `ascii_folding` index.
|
|
4
|
+
*
|
|
5
|
+
* `stripDiacritics` decomposes with NFD and drops combining marks, which can
|
|
6
|
+
* only fold letters that have a canonical decomposition. Polish `ł` has none,
|
|
7
|
+
* so it survives a mark strip while `unaccent('łaska')` yields `laska`: a query
|
|
8
|
+
* containing `ł` then under-matches the very lexemes the index stored for it.
|
|
9
|
+
* `foldToAscii` keeps NFD plus mark removal as the base and adds the rules
|
|
10
|
+
* `unaccent` applies that decomposition cannot express.
|
|
11
|
+
*/
|
|
12
|
+
import { ASCII_FOLD_TABLE } from "./ascii-fold-table.js";
|
|
13
|
+
// The table is matched before `\p{Diacritic}` so modifier letters that Unicode
|
|
14
|
+
// classifies as diacritics (`ʰ`, `ᴬ`) fold to their base letter the way
|
|
15
|
+
// `unaccent` folds them, instead of being deleted by the mark strip. Every key
|
|
16
|
+
// is a single code point outside the character-class metacharacter set, so the
|
|
17
|
+
// class needs no escaping.
|
|
18
|
+
const ASCII_FOLD_RE = new RegExp(`[${Object.keys(ASCII_FOLD_TABLE).join("")}]|\\p{Diacritic}`, "gu");
|
|
19
|
+
/**
|
|
20
|
+
* The replace step of `foldToAscii`, for callers that decompose themselves
|
|
21
|
+
* (`foldSearchMatchText` decomposes with NFKD and per character). The input
|
|
22
|
+
* must already be decomposed or table-only characters would hide inside
|
|
23
|
+
* precomposed letters.
|
|
24
|
+
*/
|
|
25
|
+
export const applyAsciiFolds = (decomposed) => decomposed.replace(ASCII_FOLD_RE, (char) => ASCII_FOLD_TABLE[char] ?? "");
|
|
26
|
+
/**
|
|
27
|
+
* Fold text to its ASCII search key.
|
|
28
|
+
*
|
|
29
|
+
* The contract is parity with `unaccent()` for Latin-script characters: for
|
|
30
|
+
* every rule the extension declares over `\p{Script=Latin}`, this produces the
|
|
31
|
+
* same output. Other scripts are out of contract and keep whatever NFD plus
|
|
32
|
+
* mark removal leaves, so Greek, Cyrillic, and Arabic text passes through with
|
|
33
|
+
* its own diacritics stripped and its letters intact. Output is ASCII wherever
|
|
34
|
+
* the input was Latin, and folding is idempotent.
|
|
35
|
+
*/
|
|
36
|
+
export const foldToAscii = (text) => applyAsciiFolds(text.normalize("NFD"));
|
|
37
|
+
//# sourceMappingURL=ascii-fold.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ascii-fold.js","sourceRoot":"","sources":["../src/ascii-fold.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,+EAA+E;AAC/E,wEAAwE;AACxE,+EAA+E;AAC/E,+EAA+E;AAC/E,2BAA2B;AAC3B,MAAM,aAAa,GAAG,IAAI,MAAM,CAC9B,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,kBAAkB,EAC5D,IAAI,CACL,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,UAAkB,EAAU,EAAE,CAC5D,UAAU,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AAE5E;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAY,EAAU,EAAE,CAClD,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Latin/combining-mark diacritic stripping for search keys and slugs.
|
|
3
|
+
*
|
|
4
|
+
* Both variants decompose the input and then remove every character
|
|
5
|
+
* Unicode classifies as a diacritic (`\p{Diacritic}`). `\p{Diacritic}`
|
|
6
|
+
* is deliberate: it covers combining marks in every block, not only the
|
|
7
|
+
* Combining Diacritical Marks block (U+0300–U+036F). A range like
|
|
8
|
+
* `[̀-ͯ]` misses marks in the Extended (U+1AB0–U+1AFF) and
|
|
9
|
+
* Supplement (U+1DC0–U+1DFF) blocks, so two callers using different
|
|
10
|
+
* classes would disagree on the same text.
|
|
11
|
+
*
|
|
12
|
+
* The variants differ only in the decomposition form:
|
|
13
|
+
*
|
|
14
|
+
* - `stripDiacritics` uses NFD (canonical decomposition). Use it for
|
|
15
|
+
* search keys, where compatibility characters must survive unchanged.
|
|
16
|
+
* - `stripDiacriticsForSlug` uses NFKD (compatibility decomposition), so
|
|
17
|
+
* ligatures, full-width forms, superscripts, and similar fold to their
|
|
18
|
+
* ASCII base before the `[a-z0-9]` slug filter runs. Slugs are
|
|
19
|
+
* persisted, public URL segments, so this variant pins the exact form
|
|
20
|
+
* the existing slugs were generated with; do not switch it to NFD.
|
|
21
|
+
*/
|
|
22
|
+
/**
|
|
23
|
+
* Strip combining diacritics from search text (NFD). Non-diacritic
|
|
24
|
+
* characters, including compatibility characters, pass through unchanged.
|
|
25
|
+
*/
|
|
26
|
+
export declare const stripDiacritics: (text: string) => string;
|
|
27
|
+
/**
|
|
28
|
+
* Strip combining diacritics for slug generation (NFKD). Callers apply
|
|
29
|
+
* their own case folding and `[a-z0-9]` filtering around this; the NFKD
|
|
30
|
+
* form is load-bearing for byte-stable slugs and must not change.
|
|
31
|
+
*/
|
|
32
|
+
export declare const stripDiacriticsForSlug: (text: string) => string;
|