on a80bdad help sign in
text/Data/Text/Fusion/CaseMapping.hs
456 lines 27 kB history raw
1{-# LANGUAGE Rank2Types #-}
2-- AUTOMATICALLY GENERATED - DO NOT EDIT
3-- Generated by scripts/SpecialCasing.hs
4module Data.Text.Fusion.CaseMapping where
5import Data.Char
6import Data.Text.Fusion.Internal
8upperMapping :: forall s. Char -> s -> Step (CC s) Char
9{-# INLINE upperMapping #-}
10-- LATIN SMALL LETTER SHARP S
11upperMapping '\x00df' s = Yield '\x0053' (CC s '\x0053' '\x0000')
12-- LATIN SMALL LIGATURE FF
13upperMapping '\xfb00' s = Yield '\x0046' (CC s '\x0046' '\x0000')
14-- LATIN SMALL LIGATURE FI
15upperMapping '\xfb01' s = Yield '\x0046' (CC s '\x0049' '\x0000')
16-- LATIN SMALL LIGATURE FL
17upperMapping '\xfb02' s = Yield '\x0046' (CC s '\x004c' '\x0000')
18-- LATIN SMALL LIGATURE FFI
19upperMapping '\xfb03' s = Yield '\x0046' (CC s '\x0046' '\x0049')
20-- LATIN SMALL LIGATURE FFL
21upperMapping '\xfb04' s = Yield '\x0046' (CC s '\x0046' '\x004c')
22-- LATIN SMALL LIGATURE LONG S T
23upperMapping '\xfb05' s = Yield '\x0053' (CC s '\x0054' '\x0000')
24-- LATIN SMALL LIGATURE ST
25upperMapping '\xfb06' s = Yield '\x0053' (CC s '\x0054' '\x0000')
26-- ARMENIAN SMALL LIGATURE ECH YIWN
27upperMapping '\x0587' s = Yield '\x0535' (CC s '\x0552' '\x0000')
28-- ARMENIAN SMALL LIGATURE MEN NOW
29upperMapping '\xfb13' s = Yield '\x0544' (CC s '\x0546' '\x0000')
30-- ARMENIAN SMALL LIGATURE MEN ECH
31upperMapping '\xfb14' s = Yield '\x0544' (CC s '\x0535' '\x0000')
32-- ARMENIAN SMALL LIGATURE MEN INI
33upperMapping '\xfb15' s = Yield '\x0544' (CC s '\x053b' '\x0000')
34-- ARMENIAN SMALL LIGATURE VEW NOW
35upperMapping '\xfb16' s = Yield '\x054e' (CC s '\x0546' '\x0000')
36-- ARMENIAN SMALL LIGATURE MEN XEH
37upperMapping '\xfb17' s = Yield '\x0544' (CC s '\x053d' '\x0000')
38-- LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
39upperMapping '\x0149' s = Yield '\x02bc' (CC s '\x004e' '\x0000')
40-- GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
41upperMapping '\x0390' s = Yield '\x0399' (CC s '\x0308' '\x0301')
42-- GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
43upperMapping '\x03b0' s = Yield '\x03a5' (CC s '\x0308' '\x0301')
44-- LATIN SMALL LETTER J WITH CARON
45upperMapping '\x01f0' s = Yield '\x004a' (CC s '\x030c' '\x0000')
46-- LATIN SMALL LETTER H WITH LINE BELOW
47upperMapping '\x1e96' s = Yield '\x0048' (CC s '\x0331' '\x0000')
48-- LATIN SMALL LETTER T WITH DIAERESIS
49upperMapping '\x1e97' s = Yield '\x0054' (CC s '\x0308' '\x0000')
50-- LATIN SMALL LETTER W WITH RING ABOVE
51upperMapping '\x1e98' s = Yield '\x0057' (CC s '\x030a' '\x0000')
52-- LATIN SMALL LETTER Y WITH RING ABOVE
53upperMapping '\x1e99' s = Yield '\x0059' (CC s '\x030a' '\x0000')
54-- LATIN SMALL LETTER A WITH RIGHT HALF RING
55upperMapping '\x1e9a' s = Yield '\x0041' (CC s '\x02be' '\x0000')
56-- GREEK SMALL LETTER UPSILON WITH PSILI
57upperMapping '\x1f50' s = Yield '\x03a5' (CC s '\x0313' '\x0000')
58-- GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA
59upperMapping '\x1f52' s = Yield '\x03a5' (CC s '\x0313' '\x0300')
60-- GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA
61upperMapping '\x1f54' s = Yield '\x03a5' (CC s '\x0313' '\x0301')
62-- GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI
63upperMapping '\x1f56' s = Yield '\x03a5' (CC s '\x0313' '\x0342')
64-- GREEK SMALL LETTER ALPHA WITH PERISPOMENI
65upperMapping '\x1fb6' s = Yield '\x0391' (CC s '\x0342' '\x0000')
66-- GREEK SMALL LETTER ETA WITH PERISPOMENI
67upperMapping '\x1fc6' s = Yield '\x0397' (CC s '\x0342' '\x0000')
68-- GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA
69upperMapping '\x1fd2' s = Yield '\x0399' (CC s '\x0308' '\x0300')
70-- GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
71upperMapping '\x1fd3' s = Yield '\x0399' (CC s '\x0308' '\x0301')
72-- GREEK SMALL LETTER IOTA WITH PERISPOMENI
73upperMapping '\x1fd6' s = Yield '\x0399' (CC s '\x0342' '\x0000')
74-- GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI
75upperMapping '\x1fd7' s = Yield '\x0399' (CC s '\x0308' '\x0342')
76-- GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA
77upperMapping '\x1fe2' s = Yield '\x03a5' (CC s '\x0308' '\x0300')
78-- GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA
79upperMapping '\x1fe3' s = Yield '\x03a5' (CC s '\x0308' '\x0301')
80-- GREEK SMALL LETTER RHO WITH PSILI
81upperMapping '\x1fe4' s = Yield '\x03a1' (CC s '\x0313' '\x0000')
82-- GREEK SMALL LETTER UPSILON WITH PERISPOMENI
83upperMapping '\x1fe6' s = Yield '\x03a5' (CC s '\x0342' '\x0000')
84-- GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI
85upperMapping '\x1fe7' s = Yield '\x03a5' (CC s '\x0308' '\x0342')
86-- GREEK SMALL LETTER OMEGA WITH PERISPOMENI
87upperMapping '\x1ff6' s = Yield '\x03a9' (CC s '\x0342' '\x0000')
88-- GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI
89upperMapping '\x1f80' s = Yield '\x1f08' (CC s '\x0399' '\x0000')
90-- GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI
91upperMapping '\x1f81' s = Yield '\x1f09' (CC s '\x0399' '\x0000')
92-- GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI
93upperMapping '\x1f82' s = Yield '\x1f0a' (CC s '\x0399' '\x0000')
94-- GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI
95upperMapping '\x1f83' s = Yield '\x1f0b' (CC s '\x0399' '\x0000')
96-- GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI
97upperMapping '\x1f84' s = Yield '\x1f0c' (CC s '\x0399' '\x0000')
98-- GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI
99upperMapping '\x1f85' s = Yield '\x1f0d' (CC s '\x0399' '\x0000')
100-- GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
101upperMapping '\x1f86' s = Yield '\x1f0e' (CC s '\x0399' '\x0000')
102-- GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
103upperMapping '\x1f87' s = Yield '\x1f0f' (CC s '\x0399' '\x0000')
104-- GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI
105upperMapping '\x1f88' s = Yield '\x1f08' (CC s '\x0399' '\x0000')
106-- GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI
107upperMapping '\x1f89' s = Yield '\x1f09' (CC s '\x0399' '\x0000')
108-- GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI
109upperMapping '\x1f8a' s = Yield '\x1f0a' (CC s '\x0399' '\x0000')
110-- GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI
111upperMapping '\x1f8b' s = Yield '\x1f0b' (CC s '\x0399' '\x0000')
112-- GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI
113upperMapping '\x1f8c' s = Yield '\x1f0c' (CC s '\x0399' '\x0000')
114-- GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI
115upperMapping '\x1f8d' s = Yield '\x1f0d' (CC s '\x0399' '\x0000')
116-- GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
117upperMapping '\x1f8e' s = Yield '\x1f0e' (CC s '\x0399' '\x0000')
118-- GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
119upperMapping '\x1f8f' s = Yield '\x1f0f' (CC s '\x0399' '\x0000')
120-- GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI
121upperMapping '\x1f90' s = Yield '\x1f28' (CC s '\x0399' '\x0000')
122-- GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI
123upperMapping '\x1f91' s = Yield '\x1f29' (CC s '\x0399' '\x0000')
124-- GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI
125upperMapping '\x1f92' s = Yield '\x1f2a' (CC s '\x0399' '\x0000')
126-- GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI
127upperMapping '\x1f93' s = Yield '\x1f2b' (CC s '\x0399' '\x0000')
128-- GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI
129upperMapping '\x1f94' s = Yield '\x1f2c' (CC s '\x0399' '\x0000')
130-- GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI
131upperMapping '\x1f95' s = Yield '\x1f2d' (CC s '\x0399' '\x0000')
132-- GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
133upperMapping '\x1f96' s = Yield '\x1f2e' (CC s '\x0399' '\x0000')
134-- GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
135upperMapping '\x1f97' s = Yield '\x1f2f' (CC s '\x0399' '\x0000')
136-- GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI
137upperMapping '\x1f98' s = Yield '\x1f28' (CC s '\x0399' '\x0000')
138-- GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI
139upperMapping '\x1f99' s = Yield '\x1f29' (CC s '\x0399' '\x0000')
140-- GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI
141upperMapping '\x1f9a' s = Yield '\x1f2a' (CC s '\x0399' '\x0000')
142-- GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI
143upperMapping '\x1f9b' s = Yield '\x1f2b' (CC s '\x0399' '\x0000')
144-- GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI
145upperMapping '\x1f9c' s = Yield '\x1f2c' (CC s '\x0399' '\x0000')
146-- GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI
147upperMapping '\x1f9d' s = Yield '\x1f2d' (CC s '\x0399' '\x0000')
148-- GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
149upperMapping '\x1f9e' s = Yield '\x1f2e' (CC s '\x0399' '\x0000')
150-- GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
151upperMapping '\x1f9f' s = Yield '\x1f2f' (CC s '\x0399' '\x0000')
152-- GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI
153upperMapping '\x1fa0' s = Yield '\x1f68' (CC s '\x0399' '\x0000')
154-- GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI
155upperMapping '\x1fa1' s = Yield '\x1f69' (CC s '\x0399' '\x0000')
156-- GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI
157upperMapping '\x1fa2' s = Yield '\x1f6a' (CC s '\x0399' '\x0000')
158-- GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI
159upperMapping '\x1fa3' s = Yield '\x1f6b' (CC s '\x0399' '\x0000')
160-- GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI
161upperMapping '\x1fa4' s = Yield '\x1f6c' (CC s '\x0399' '\x0000')
162-- GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI
163upperMapping '\x1fa5' s = Yield '\x1f6d' (CC s '\x0399' '\x0000')
164-- GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
165upperMapping '\x1fa6' s = Yield '\x1f6e' (CC s '\x0399' '\x0000')
166-- GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
167upperMapping '\x1fa7' s = Yield '\x1f6f' (CC s '\x0399' '\x0000')
168-- GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI
169upperMapping '\x1fa8' s = Yield '\x1f68' (CC s '\x0399' '\x0000')
170-- GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI
171upperMapping '\x1fa9' s = Yield '\x1f69' (CC s '\x0399' '\x0000')
172-- GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI
173upperMapping '\x1faa' s = Yield '\x1f6a' (CC s '\x0399' '\x0000')
174-- GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI
175upperMapping '\x1fab' s = Yield '\x1f6b' (CC s '\x0399' '\x0000')
176-- GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI
177upperMapping '\x1fac' s = Yield '\x1f6c' (CC s '\x0399' '\x0000')
178-- GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI
179upperMapping '\x1fad' s = Yield '\x1f6d' (CC s '\x0399' '\x0000')
180-- GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
181upperMapping '\x1fae' s = Yield '\x1f6e' (CC s '\x0399' '\x0000')
182-- GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
183upperMapping '\x1faf' s = Yield '\x1f6f' (CC s '\x0399' '\x0000')
184-- GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI
185upperMapping '\x1fb3' s = Yield '\x0391' (CC s '\x0399' '\x0000')
186-- GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
187upperMapping '\x1fbc' s = Yield '\x0391' (CC s '\x0399' '\x0000')
188-- GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI
189upperMapping '\x1fc3' s = Yield '\x0397' (CC s '\x0399' '\x0000')
190-- GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
191upperMapping '\x1fcc' s = Yield '\x0397' (CC s '\x0399' '\x0000')
192-- GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI
193upperMapping '\x1ff3' s = Yield '\x03a9' (CC s '\x0399' '\x0000')
194-- GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
195upperMapping '\x1ffc' s = Yield '\x03a9' (CC s '\x0399' '\x0000')
196-- GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI
197upperMapping '\x1fb2' s = Yield '\x1fba' (CC s '\x0399' '\x0000')
198-- GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
199upperMapping '\x1fb4' s = Yield '\x0386' (CC s '\x0399' '\x0000')
200-- GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI
201upperMapping '\x1fc2' s = Yield '\x1fca' (CC s '\x0399' '\x0000')
202-- GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
203upperMapping '\x1fc4' s = Yield '\x0389' (CC s '\x0399' '\x0000')
204-- GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI
205upperMapping '\x1ff2' s = Yield '\x1ffa' (CC s '\x0399' '\x0000')
206-- GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
207upperMapping '\x1ff4' s = Yield '\x038f' (CC s '\x0399' '\x0000')
208-- GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI
209upperMapping '\x1fb7' s = Yield '\x0391' (CC s '\x0342' '\x0399')
210-- GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI
211upperMapping '\x1fc7' s = Yield '\x0397' (CC s '\x0342' '\x0399')
212-- GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI
213upperMapping '\x1ff7' s = Yield '\x03a9' (CC s '\x0342' '\x0399')
214upperMapping c s = Yield (toUpper c) (CC s '\0' '\0')
215lowerMapping :: forall s. Char -> s -> Step (CC s) Char
216{-# INLINE lowerMapping #-}
217-- LATIN CAPITAL LETTER I WITH DOT ABOVE
218lowerMapping '\x0130' s = Yield '\x0069' (CC s '\x0307' '\x0000')
219lowerMapping c s = Yield (toLower c) (CC s '\0' '\0')
220foldMapping :: forall s. Char -> s -> Step (CC s) Char
221{-# INLINE foldMapping #-}
222-- MICRO SIGN
223foldMapping '\x00b5' s = Yield '\x03bc' (CC s '\x0000' '\x0000')
224-- LATIN SMALL LETTER SHARP S
225foldMapping '\x00df' s = Yield '\x0073' (CC s '\x0073' '\x0000')
226-- LATIN CAPITAL LETTER I WITH DOT ABOVE
227foldMapping '\x0130' s = Yield '\x0069' (CC s '\x0307' '\x0000')
228-- LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
229foldMapping '\x0149' s = Yield '\x02bc' (CC s '\x006e' '\x0000')
230-- LATIN SMALL LETTER LONG S
231foldMapping '\x017f' s = Yield '\x0073' (CC s '\x0000' '\x0000')
232-- LATIN SMALL LETTER J WITH CARON
233foldMapping '\x01f0' s = Yield '\x006a' (CC s '\x030c' '\x0000')
234-- COMBINING GREEK YPOGEGRAMMENI
235foldMapping '\x0345' s = Yield '\x03b9' (CC s '\x0000' '\x0000')
236-- GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
237foldMapping '\x0390' s = Yield '\x03b9' (CC s '\x0308' '\x0301')
238-- GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
239foldMapping '\x03b0' s = Yield '\x03c5' (CC s '\x0308' '\x0301')
240-- GREEK SMALL LETTER FINAL SIGMA
241foldMapping '\x03c2' s = Yield '\x03c3' (CC s '\x0000' '\x0000')
242-- GREEK BETA SYMBOL
243foldMapping '\x03d0' s = Yield '\x03b2' (CC s '\x0000' '\x0000')
244-- GREEK THETA SYMBOL
245foldMapping '\x03d1' s = Yield '\x03b8' (CC s '\x0000' '\x0000')
246-- GREEK PHI SYMBOL
247foldMapping '\x03d5' s = Yield '\x03c6' (CC s '\x0000' '\x0000')
248-- GREEK PI SYMBOL
249foldMapping '\x03d6' s = Yield '\x03c0' (CC s '\x0000' '\x0000')
250-- GREEK KAPPA SYMBOL
251foldMapping '\x03f0' s = Yield '\x03ba' (CC s '\x0000' '\x0000')
252-- GREEK RHO SYMBOL
253foldMapping '\x03f1' s = Yield '\x03c1' (CC s '\x0000' '\x0000')
254-- GREEK LUNATE EPSILON SYMBOL
255foldMapping '\x03f5' s = Yield '\x03b5' (CC s '\x0000' '\x0000')
256-- ARMENIAN SMALL LIGATURE ECH YIWN
257foldMapping '\x0587' s = Yield '\x0565' (CC s '\x0582' '\x0000')
258-- LATIN SMALL LETTER H WITH LINE BELOW
259foldMapping '\x1e96' s = Yield '\x0068' (CC s '\x0331' '\x0000')
260-- LATIN SMALL LETTER T WITH DIAERESIS
261foldMapping '\x1e97' s = Yield '\x0074' (CC s '\x0308' '\x0000')
262-- LATIN SMALL LETTER W WITH RING ABOVE
263foldMapping '\x1e98' s = Yield '\x0077' (CC s '\x030a' '\x0000')
264-- LATIN SMALL LETTER Y WITH RING ABOVE
265foldMapping '\x1e99' s = Yield '\x0079' (CC s '\x030a' '\x0000')
266-- LATIN SMALL LETTER A WITH RIGHT HALF RING
267foldMapping '\x1e9a' s = Yield '\x0061' (CC s '\x02be' '\x0000')
268-- LATIN SMALL LETTER LONG S WITH DOT ABOVE
269foldMapping '\x1e9b' s = Yield '\x1e61' (CC s '\x0000' '\x0000')
270-- LATIN CAPITAL LETTER SHARP S
271foldMapping '\x1e9e' s = Yield '\x0073' (CC s '\x0073' '\x0000')
272-- GREEK SMALL LETTER UPSILON WITH PSILI
273foldMapping '\x1f50' s = Yield '\x03c5' (CC s '\x0313' '\x0000')
274-- GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA
275foldMapping '\x1f52' s = Yield '\x03c5' (CC s '\x0313' '\x0300')
276-- GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA
277foldMapping '\x1f54' s = Yield '\x03c5' (CC s '\x0313' '\x0301')
278-- GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI
279foldMapping '\x1f56' s = Yield '\x03c5' (CC s '\x0313' '\x0342')
280-- GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI
281foldMapping '\x1f80' s = Yield '\x1f00' (CC s '\x03b9' '\x0000')
282-- GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI
283foldMapping '\x1f81' s = Yield '\x1f01' (CC s '\x03b9' '\x0000')
284-- GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI
285foldMapping '\x1f82' s = Yield '\x1f02' (CC s '\x03b9' '\x0000')
286-- GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI
287foldMapping '\x1f83' s = Yield '\x1f03' (CC s '\x03b9' '\x0000')
288-- GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI
289foldMapping '\x1f84' s = Yield '\x1f04' (CC s '\x03b9' '\x0000')
290-- GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI
291foldMapping '\x1f85' s = Yield '\x1f05' (CC s '\x03b9' '\x0000')
292-- GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
293foldMapping '\x1f86' s = Yield '\x1f06' (CC s '\x03b9' '\x0000')
294-- GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
295foldMapping '\x1f87' s = Yield '\x1f07' (CC s '\x03b9' '\x0000')
296-- GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI
297foldMapping '\x1f88' s = Yield '\x1f00' (CC s '\x03b9' '\x0000')
298-- GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI
299foldMapping '\x1f89' s = Yield '\x1f01' (CC s '\x03b9' '\x0000')
300-- GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI
301foldMapping '\x1f8a' s = Yield '\x1f02' (CC s '\x03b9' '\x0000')
302-- GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI
303foldMapping '\x1f8b' s = Yield '\x1f03' (CC s '\x03b9' '\x0000')
304-- GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI
305foldMapping '\x1f8c' s = Yield '\x1f04' (CC s '\x03b9' '\x0000')
306-- GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI
307foldMapping '\x1f8d' s = Yield '\x1f05' (CC s '\x03b9' '\x0000')
308-- GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
309foldMapping '\x1f8e' s = Yield '\x1f06' (CC s '\x03b9' '\x0000')
310-- GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
311foldMapping '\x1f8f' s = Yield '\x1f07' (CC s '\x03b9' '\x0000')
312-- GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI
313foldMapping '\x1f90' s = Yield '\x1f20' (CC s '\x03b9' '\x0000')
314-- GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI
315foldMapping '\x1f91' s = Yield '\x1f21' (CC s '\x03b9' '\x0000')
316-- GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI
317foldMapping '\x1f92' s = Yield '\x1f22' (CC s '\x03b9' '\x0000')
318-- GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI
319foldMapping '\x1f93' s = Yield '\x1f23' (CC s '\x03b9' '\x0000')
320-- GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI
321foldMapping '\x1f94' s = Yield '\x1f24' (CC s '\x03b9' '\x0000')
322-- GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI
323foldMapping '\x1f95' s = Yield '\x1f25' (CC s '\x03b9' '\x0000')
324-- GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
325foldMapping '\x1f96' s = Yield '\x1f26' (CC s '\x03b9' '\x0000')
326-- GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
327foldMapping '\x1f97' s = Yield '\x1f27' (CC s '\x03b9' '\x0000')
328-- GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI
329foldMapping '\x1f98' s = Yield '\x1f20' (CC s '\x03b9' '\x0000')
330-- GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI
331foldMapping '\x1f99' s = Yield '\x1f21' (CC s '\x03b9' '\x0000')
332-- GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI
333foldMapping '\x1f9a' s = Yield '\x1f22' (CC s '\x03b9' '\x0000')
334-- GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI
335foldMapping '\x1f9b' s = Yield '\x1f23' (CC s '\x03b9' '\x0000')
336-- GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI
337foldMapping '\x1f9c' s = Yield '\x1f24' (CC s '\x03b9' '\x0000')
338-- GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI
339foldMapping '\x1f9d' s = Yield '\x1f25' (CC s '\x03b9' '\x0000')
340-- GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
341foldMapping '\x1f9e' s = Yield '\x1f26' (CC s '\x03b9' '\x0000')
342-- GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
343foldMapping '\x1f9f' s = Yield '\x1f27' (CC s '\x03b9' '\x0000')
344-- GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI
345foldMapping '\x1fa0' s = Yield '\x1f60' (CC s '\x03b9' '\x0000')
346-- GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI
347foldMapping '\x1fa1' s = Yield '\x1f61' (CC s '\x03b9' '\x0000')
348-- GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI
349foldMapping '\x1fa2' s = Yield '\x1f62' (CC s '\x03b9' '\x0000')
350-- GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI
351foldMapping '\x1fa3' s = Yield '\x1f63' (CC s '\x03b9' '\x0000')
352-- GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI
353foldMapping '\x1fa4' s = Yield '\x1f64' (CC s '\x03b9' '\x0000')
354-- GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI
355foldMapping '\x1fa5' s = Yield '\x1f65' (CC s '\x03b9' '\x0000')
356-- GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
357foldMapping '\x1fa6' s = Yield '\x1f66' (CC s '\x03b9' '\x0000')
358-- GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
359foldMapping '\x1fa7' s = Yield '\x1f67' (CC s '\x03b9' '\x0000')
360-- GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI
361foldMapping '\x1fa8' s = Yield '\x1f60' (CC s '\x03b9' '\x0000')
362-- GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI
363foldMapping '\x1fa9' s = Yield '\x1f61' (CC s '\x03b9' '\x0000')
364-- GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI
365foldMapping '\x1faa' s = Yield '\x1f62' (CC s '\x03b9' '\x0000')
366-- GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI
367foldMapping '\x1fab' s = Yield '\x1f63' (CC s '\x03b9' '\x0000')
368-- GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI
369foldMapping '\x1fac' s = Yield '\x1f64' (CC s '\x03b9' '\x0000')
370-- GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI
371foldMapping '\x1fad' s = Yield '\x1f65' (CC s '\x03b9' '\x0000')
372-- GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
373foldMapping '\x1fae' s = Yield '\x1f66' (CC s '\x03b9' '\x0000')
374-- GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
375foldMapping '\x1faf' s = Yield '\x1f67' (CC s '\x03b9' '\x0000')
376-- GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI
377foldMapping '\x1fb2' s = Yield '\x1f70' (CC s '\x03b9' '\x0000')
378-- GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI
379foldMapping '\x1fb3' s = Yield '\x03b1' (CC s '\x03b9' '\x0000')
380-- GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
381foldMapping '\x1fb4' s = Yield '\x03ac' (CC s '\x03b9' '\x0000')
382-- GREEK SMALL LETTER ALPHA WITH PERISPOMENI
383foldMapping '\x1fb6' s = Yield '\x03b1' (CC s '\x0342' '\x0000')
384-- GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI
385foldMapping '\x1fb7' s = Yield '\x03b1' (CC s '\x0342' '\x03b9')
386-- GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
387foldMapping '\x1fbc' s = Yield '\x03b1' (CC s '\x03b9' '\x0000')
388-- GREEK PROSGEGRAMMENI
389foldMapping '\x1fbe' s = Yield '\x03b9' (CC s '\x0000' '\x0000')
390-- GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI
391foldMapping '\x1fc2' s = Yield '\x1f74' (CC s '\x03b9' '\x0000')
392-- GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI
393foldMapping '\x1fc3' s = Yield '\x03b7' (CC s '\x03b9' '\x0000')
394-- GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
395foldMapping '\x1fc4' s = Yield '\x03ae' (CC s '\x03b9' '\x0000')
396-- GREEK SMALL LETTER ETA WITH PERISPOMENI
397foldMapping '\x1fc6' s = Yield '\x03b7' (CC s '\x0342' '\x0000')
398-- GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI
399foldMapping '\x1fc7' s = Yield '\x03b7' (CC s '\x0342' '\x03b9')
400-- GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
401foldMapping '\x1fcc' s = Yield '\x03b7' (CC s '\x03b9' '\x0000')
402-- GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA
403foldMapping '\x1fd2' s = Yield '\x03b9' (CC s '\x0308' '\x0300')
404-- GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
405foldMapping '\x1fd3' s = Yield '\x03b9' (CC s '\x0308' '\x0301')
406-- GREEK SMALL LETTER IOTA WITH PERISPOMENI
407foldMapping '\x1fd6' s = Yield '\x03b9' (CC s '\x0342' '\x0000')
408-- GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI
409foldMapping '\x1fd7' s = Yield '\x03b9' (CC s '\x0308' '\x0342')
410-- GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA
411foldMapping '\x1fe2' s = Yield '\x03c5' (CC s '\x0308' '\x0300')
412-- GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA
413foldMapping '\x1fe3' s = Yield '\x03c5' (CC s '\x0308' '\x0301')
414-- GREEK SMALL LETTER RHO WITH PSILI
415foldMapping '\x1fe4' s = Yield '\x03c1' (CC s '\x0313' '\x0000')
416-- GREEK SMALL LETTER UPSILON WITH PERISPOMENI
417foldMapping '\x1fe6' s = Yield '\x03c5' (CC s '\x0342' '\x0000')
418-- GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI
419foldMapping '\x1fe7' s = Yield '\x03c5' (CC s '\x0308' '\x0342')
420-- GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI
421foldMapping '\x1ff2' s = Yield '\x1f7c' (CC s '\x03b9' '\x0000')
422-- GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI
423foldMapping '\x1ff3' s = Yield '\x03c9' (CC s '\x03b9' '\x0000')
424-- GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
425foldMapping '\x1ff4' s = Yield '\x03ce' (CC s '\x03b9' '\x0000')
426-- GREEK SMALL LETTER OMEGA WITH PERISPOMENI
427foldMapping '\x1ff6' s = Yield '\x03c9' (CC s '\x0342' '\x0000')
428-- GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI
429foldMapping '\x1ff7' s = Yield '\x03c9' (CC s '\x0342' '\x03b9')
430-- GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
431foldMapping '\x1ffc' s = Yield '\x03c9' (CC s '\x03b9' '\x0000')
432-- LATIN SMALL LIGATURE FF
433foldMapping '\xfb00' s = Yield '\x0066' (CC s '\x0066' '\x0000')
434-- LATIN SMALL LIGATURE FI
435foldMapping '\xfb01' s = Yield '\x0066' (CC s '\x0069' '\x0000')
436-- LATIN SMALL LIGATURE FL
437foldMapping '\xfb02' s = Yield '\x0066' (CC s '\x006c' '\x0000')
438-- LATIN SMALL LIGATURE FFI
439foldMapping '\xfb03' s = Yield '\x0066' (CC s '\x0066' '\x0069')
440-- LATIN SMALL LIGATURE FFL
441foldMapping '\xfb04' s = Yield '\x0066' (CC s '\x0066' '\x006c')
442-- LATIN SMALL LIGATURE LONG S T
443foldMapping '\xfb05' s = Yield '\x0073' (CC s '\x0074' '\x0000')
444-- LATIN SMALL LIGATURE ST
445foldMapping '\xfb06' s = Yield '\x0073' (CC s '\x0074' '\x0000')
446-- ARMENIAN SMALL LIGATURE MEN NOW
447foldMapping '\xfb13' s = Yield '\x0574' (CC s '\x0576' '\x0000')
448-- ARMENIAN SMALL LIGATURE MEN ECH
449foldMapping '\xfb14' s = Yield '\x0574' (CC s '\x0565' '\x0000')
450-- ARMENIAN SMALL LIGATURE MEN INI
451foldMapping '\xfb15' s = Yield '\x0574' (CC s '\x056b' '\x0000')
452-- ARMENIAN SMALL LIGATURE VEW NOW
453foldMapping '\xfb16' s = Yield '\x057e' (CC s '\x0576' '\x0000')
454-- ARMENIAN SMALL LIGATURE MEN XEH
455foldMapping '\xfb17' s = Yield '\x0574' (CC s '\x056d' '\x0000')
456foldMapping c s = Yield (toLower c) (CC s '\0' '\0')