4 This file is generated by
5 contrib/shell_utils/make-casetable.pl UnicodeData.txt utf16_casetable.h utf16_case.c
7 UnicodeData.txt is got from
8 http://www.unicode.org/Public/UNIDATA/UnicodeData.txt
12 #include <atalk/unicode.h>
13 #include "utf16_casetable.h"
15 /*******************************************************************
16 Convert a wide character to upper case.
17 *******************************************************************/
18 ucs2_t toupper_w(ucs2_t val)
21 return upper_table_1[val];
23 if ( val >= 0x0340 && val <= 0x05BF)
24 return upper_table_2[val-0x0340];
26 if ( val >= 0x1D40 && val <= 0x1D7F)
27 return upper_table_3[val-0x1D40];
29 if ( val >= 0x1E00 && val <= 0x1FFF)
30 return upper_table_4[val-0x1E00];
32 if ( val >= 0x2140 && val <= 0x21BF)
33 return upper_table_5[val-0x2140];
35 if ( val >= 0x24C0 && val <= 0x24FF)
36 return upper_table_6[val-0x24C0];
38 if ( val >= 0x2C00 && val <= 0x2D3F)
39 return upper_table_7[val-0x2C00];
41 if ( val >= 0xA640 && val <= 0xA6BF)
42 return upper_table_8[val-0xA640];
44 if ( val >= 0xA700 && val <= 0xA7BF)
45 return upper_table_9[val-0xA700];
47 if ( val >= 0xFF40 && val <= 0xFF7F)
48 return upper_table_10[val-0xFF40];
53 /*******************************************************************
54 Convert a surrogate pair to upper case.
55 *******************************************************************/
56 uint32_t toupper_sp(uint32_t val)
58 if ( val >= 0xD801DC00 && val <= 0xD801DC7F)
59 return upper_table_sp_1[val-0xD801DC00];
61 if ( val >= 0xD806DCC0 && val <= 0xD806DCFF)
62 return upper_table_sp_2[val-0xD806DCC0];
67 /*******************************************************************
68 Convert a wide character to lower case.
69 *******************************************************************/
70 ucs2_t tolower_w(ucs2_t val)
73 return lower_table_1[val];
75 if ( val >= 0x00C0 && val <= 0x027F)
76 return lower_table_2[val-0x00C0];
78 if ( val >= 0x0340 && val <= 0x057F)
79 return lower_table_3[val-0x0340];
81 if ( val >= 0x1080 && val <= 0x10FF)
82 return lower_table_4[val-0x1080];
84 if ( val >= 0x1E00 && val <= 0x1FFF)
85 return lower_table_5[val-0x1E00];
87 if ( val >= 0x2100 && val <= 0x21BF)
88 return lower_table_6[val-0x2100];
90 if ( val >= 0x2480 && val <= 0x24FF)
91 return lower_table_7[val-0x2480];
93 if ( val >= 0x2C00 && val <= 0x2CFF)
94 return lower_table_8[val-0x2C00];
96 if ( val >= 0xA640 && val <= 0xA6BF)
97 return lower_table_9[val-0xA640];
99 if ( val >= 0xA700 && val <= 0xA7BF)
100 return lower_table_10[val-0xA700];
102 if ( val >= 0xFF00 && val <= 0xFF3F)
103 return lower_table_11[val-0xFF00];
108 /*******************************************************************
109 Convert a surrogate pair to lower case.
110 *******************************************************************/
111 uint32_t tolower_sp(uint32_t val)
113 if ( val >= 0xD801DC00 && val <= 0xD801DC3F)
114 return lower_table_sp_1[val-0xD801DC00];
116 if ( val >= 0xD806DC80 && val <= 0xD806DCBF)
117 return lower_table_sp_2[val-0xD806DC80];