Commit | Line | Data |
---|---|---|
5d1bff20 | 1 | # cp51932.awk -- Generate a translation table for CP51932. |
114f9c96 | 2 | # Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
5d1bff20 KH |
3 | # National Institute of Advanced Industrial Science and Technology (AIST) |
4 | # Registration Number H13PRO009 | |
9ad5de0c | 5 | |
5d1bff20 | 6 | # This file is part of GNU Emacs. |
9ad5de0c GM |
7 | |
8 | # GNU Emacs is free software: you can redistribute it and/or modify | |
5d1bff20 | 9 | # it under the terms of the GNU General Public License as published by |
9ad5de0c GM |
10 | # the Free Software Foundation, either version 3 of the License, or |
11 | # (at your option) any later version. | |
12 | ||
5d1bff20 KH |
13 | # GNU Emacs 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. | |
9ad5de0c | 17 | |
5d1bff20 | 18 | # You should have received a copy of the GNU General Public License |
9ad5de0c | 19 | # along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |
5d1bff20 | 20 | |
9ad5de0c | 21 | # Commentary: |
5d1bff20 KH |
22 | |
23 | # Genereate a translation table for CP51932 (EUC-JP of MicroSoft Version). | |
24 | # It maps invalid JISX0208 code points used by CP51932 to Unicode. | |
25 | # 4th field of the input has these meanings: | |
26 | # 0: JISX0208 characters. | |
27 | # 1: NEC special characters. | |
28 | # 2: IBM extension characters. | |
29 | # 3: NEC selection of IBM extension characters. | |
30 | # Among them, 1 and 3 are the target characters. 2 should have | |
31 | # already been mapped to 1 or 3. | |
32 | ||
33 | BEGIN { | |
34 | print ";;; cp51932.el -- translation table for CP51932. -*- no-byte-compile: t -*-"; | |
35 | print ";;; Automatically genrated from CP932-2BYTE.map"; | |
36 | print "(let ((map"; | |
37 | printf " '(;JISEXT<->UNICODE"; | |
38 | } | |
39 | ||
40 | /# [13]/ { | |
41 | printf "\n (#x%s . #x%s)", $5 ,substr($2, 3, 4); | |
42 | } | |
43 | ||
44 | END { | |
45 | print ")))"; | |
46 | print " (mapc #'(lambda (x)"; | |
47 | print " (setcar x (decode-char 'japanese-jisx0208 (car x))))"; | |
48 | print " map)"; | |
49 | print " (define-translation-table 'cp51932-decode map)"; | |
50 | print " (mapc #'(lambda (x)"; | |
51 | print " (let ((tmp (car x)))"; | |
52 | print " (setcar x (cdr x)) (setcdr x tmp)))"; | |
53 | print " map)"; | |
54 | print " (define-translation-table 'cp51932-encode map))"; | |
d581a3d0 KH |
55 | print ""; |
56 | print ";; arch-tag: d21c06e5-a548-4dda-8802-c2922ff19da3"; | |
5d1bff20 | 57 | } |
21e99729 MB |
58 | |
59 | # arch-tag: bbae996b-2d1c-4e85-bb55-ac30146d7504 |