3 # winucase_convert.pl -- convert "Windows 8 Upper Case Mapping Table.txt" to
4 # a two-level set of C arrays.
6 # Copyright 2013: Jeff Layton <jlayton@redhat.com>
8 # This program is free software: you can redistribute it and/or modify
9 # it under the terms of the GNU General Public License as published by
10 # the Free Software Foundation, either version 3 of the License, or
11 # (at your option) any later version.
13 # This program is distributed in the hope that it will be useful,
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 # GNU General Public License for more details.
18 # You should have received a copy of the GNU General Public License
19 # along with this program. If not, see <http://www.gnu.org/licenses/>.
23 next if (!/^0x(..)(..)\t0x(....)\t/);
25 $secondchar = hex($2);
28 $top[$firstchar][$secondchar] = $uppercase;
31 for ($i = 0; $i < 256; $i++) {
34 printf("static const wchar_t t2_%2.2x[256] = {", $i);
35 for ($j = 0; $j < 256; $j++) {
41 printf("0x%4.4x,", $top[$i][$j] ?
$top[$i][$j] : 0);
46 printf("static const wchar_t *const toplevel[256] = {", $i);
47 for ($i = 0; $i < 256; $i++) {
57 printf("t2_%2.2x,", $i);