New file.
[m17n/m17n-contrib.git] / tbl2mim.awk
1 #!/usr/bin/gawk -f
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 *=/ {
31     LANG = $3;
32     if (LANG == "other")
33         LANG = "t";
34     next; }
35 /^STATUS_PROMPT *=/ { TITLE = $3; next; }
36 /^BEGIN_TABLE/ {
37     printf "(input-method %s %s)\n", LANG, NAME;
38     printf "(title \"%s\"%s)\n", TITLE, ICON;
39     printf "(map\n (trans";
40     begin_table = 1;
41     next;
42 }
43 /^END_TABLE/ {
44     begin_table = 0;
45     printf "))\n(state (init (trans)))\n";
46     next;
47 }
48
49 {
50     if (begin_table) {
51         gsub("[\\\\\"]", "\\\\&");
52         printf "\n  (\"%s\" \"%s\")", $1, $2;
53     }
54 }