Move the JOIN and TOUCH keys to more accessible key combinations.
[m17n/m17n-contrib.git] / tbl2mim.awk
1 #!/usr/bin/gawk
2 # Copyright (C) 2006
3 #   National Institute of Advanced Industrial Science and Technology (AIST)
4 #   Registration Number H15PRO112
5
6 # This file is part of the m17n contrib; a sub-part of the m17n
7 # library.
8
9 # The m17n library is free software; you can redistribute it and/or
10 # modify it under the terms of the GNU Lesser General Public License
11 # as published by the Free Software Foundation; either version 2.1 of
12 # the License, or (at your option) any later version.
13
14 # The m17n library is distributed in the hope that it will be useful,
15 # but WITHOUT ANY WARRANTY; without even the implied warranty of
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17 # Lesser General Public License for more details.
18
19 # You should have received a copy of the GNU Lesser General Public
20 # License along with the m17n library; if not, write to the Free
21 # Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
22 # Boston, MA 02110-1301, USA.
23
24 BEGIN {
25     begin_table = 0;
26 }
27
28 /^ICON *=/ { ICON = " \""$3"\""; next; }
29 /^NAME *=/ { NAME = tolower($3); next; }
30 /^LANGUAGES *=/ { LANG = $3; next; }
31 /^STATUS_PROMPT *=/ { TITLE = $3; next; }
32 /^BEGIN_TABLE/ {
33     printf "(input-method %s %s)\n", LANG, NAME;
34     printf "(title \"%s\"%s)\n", TITLE, ICON;
35     printf "(map\n (trans";
36     begin_table = 1;
37     next;
38 }
39 /^END_TABLE/ {
40     begin_table = 0;
41     printf "))\n(state (init (trans)))\n";
42     next;
43 }
44
45 {
46     if (begin_table) {
47         gsub("[\\\\\"]", "\\\\&");
48         printf "\n  (\"%s\" \"%s\")", $1, $2;
49     }
50 }