Add 2008 to copyright years.
[bpt/emacs.git] / lisp / language / japanese.el
1 ;;; japanese.el --- support for Japanese -*- coding: iso-2022-7bit; no-byte-compile: t -*-
2
3 ;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
4 ;; Free Software Foundation, Inc.
5 ;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
6 ;; 2005, 2006, 2007, 2008
7 ;; National Institute of Advanced Industrial Science and Technology (AIST)
8 ;; Registration Number H14PRO021
9
10 ;; Keywords: multilingual, Japanese
11
12 ;; This file is part of GNU Emacs.
13
14 ;; GNU Emacs is free software; you can redistribute it and/or modify
15 ;; it under the terms of the GNU General Public License as published by
16 ;; the Free Software Foundation; either version 3, or (at your option)
17 ;; any later version.
18
19 ;; GNU Emacs is distributed in the hope that it will be useful,
20 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
21 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 ;; GNU General Public License for more details.
23
24 ;; You should have received a copy of the GNU General Public License
25 ;; along with GNU Emacs; see the file COPYING. If not, write to the
26 ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
27 ;; Boston, MA 02110-1301, USA.
28
29 ;;; Commentary:
30
31 ;; For Japanese, character sets JISX0201, JISX0208, JISX0212 are
32 ;; supported.
33
34 ;;; Code:
35
36 (make-coding-system
37 'iso-2022-jp 2 ?J
38 "ISO 2022 based 7bit encoding for Japanese (MIME:ISO-2022-JP)."
39 '((ascii japanese-jisx0208-1978 japanese-jisx0208
40 latin-jisx0201 japanese-jisx0212) nil nil nil
41 short ascii-eol ascii-cntl seven)
42 '((safe-charsets ascii japanese-jisx0208-1978 japanese-jisx0208
43 latin-jisx0201 japanese-jisx0212)
44 (mime-charset . iso-2022-jp)))
45
46 (define-coding-system-alias 'junet 'iso-2022-jp)
47
48 (make-coding-system
49 'iso-2022-jp-2 2 ?J
50 "ISO 2022 based 7bit encoding for CJK, Latin-1, and Greek (MIME:ISO-2022-JP-2)."
51 '((ascii japanese-jisx0208-1978 japanese-jisx0208
52 latin-jisx0201 japanese-jisx0212
53 chinese-gb2312 korean-ksc5601) nil
54 (nil latin-iso8859-1 greek-iso8859-7) nil
55 short ascii-eol ascii-cntl seven nil single-shift nil nil nil init-bol)
56 '((safe-charsets ascii japanese-jisx0208-1978 japanese-jisx0208
57 latin-jisx0201 japanese-jisx0212
58 chinese-gb2312 korean-ksc5601
59 latin-iso8859-1 greek-iso8859-7)
60 (mime-charset . iso-2022-jp-2)))
61
62 (make-coding-system
63 'japanese-shift-jis 1 ?S
64 "Shift-JIS 8-bit encoding for Japanese (MIME:SHIFT_JIS)."
65 nil
66 '((safe-charsets ascii japanese-jisx0208 japanese-jisx0208-1978
67 latin-jisx0201 katakana-jisx0201)
68 (mime-charset . shift_jis)
69 (charset-origin-alist (japanese-jisx0208 "SJIS" encode-sjis-char)
70 (katakana-jisx0201 "SJIS" encode-sjis-char))))
71
72 (define-coding-system-alias 'shift_jis 'japanese-shift-jis)
73 (define-coding-system-alias 'sjis 'japanese-shift-jis)
74 (define-coding-system-alias 'cp932 'japanese-shift-jis)
75
76 (make-coding-system
77 'japanese-iso-7bit-1978-irv 2 ?j
78 "ISO 2022 based 7-bit encoding for Japanese JISX0208-1978 and JISX0201-Roman."
79 '((ascii japanese-jisx0208-1978 japanese-jisx0208
80 latin-jisx0201 japanese-jisx0212 katakana-jisx0201 t) nil nil nil
81 short ascii-eol ascii-cntl seven nil nil use-roman use-oldjis)
82 '(ascii japanese-jisx0208-1978 japanese-jisx0208 latin-jisx0201))
83
84 (define-coding-system-alias 'iso-2022-jp-1978-irv 'japanese-iso-7bit-1978-irv)
85 (define-coding-system-alias 'old-jis 'japanese-iso-7bit-1978-irv)
86
87 (make-coding-system
88 'japanese-iso-8bit 2 ?E
89 "ISO 2022 based EUC encoding for Japanese (MIME:EUC-JP)."
90 '(ascii japanese-jisx0208 katakana-jisx0201 japanese-jisx0212
91 short ascii-eol ascii-cntl nil nil single-shift)
92 '((safe-charsets ascii latin-jisx0201 japanese-jisx0208 japanese-jisx0208-1978
93 katakana-jisx0201 japanese-jisx0212)
94 (mime-charset . euc-jp)))
95
96 (define-coding-system-alias 'euc-japan-1990 'japanese-iso-8bit)
97 (define-coding-system-alias 'euc-japan 'japanese-iso-8bit)
98 (define-coding-system-alias 'euc-jp 'japanese-iso-8bit)
99
100 (set-language-info-alist
101 "Japanese" '((setup-function . setup-japanese-environment-internal)
102 (tutorial . "TUTORIAL.ja")
103 (charset japanese-jisx0208 japanese-jisx0208-1978
104 japanese-jisx0212 latin-jisx0201 katakana-jisx0201
105 japanese-jisx0213-1 japanese-jisx0213-2)
106 (coding-system iso-2022-jp japanese-iso-8bit
107 japanese-shift-jis japanese-iso-7bit-1978-irv)
108 (coding-priority iso-2022-jp japanese-iso-8bit
109 japanese-shift-jis iso-2022-jp-2)
110 (input-method . "japanese")
111 (features japan-util)
112 (sample-text . "Japanese (\e$BF|K\8l\e(B) \e$B$3$s$K$A$O\e(B, \e(I:]FAJ\e(B")
113 (documentation . t)))
114
115 (provide 'japanese)
116
117 ;;; arch-tag: 450f5537-9d53-4d5e-b731-4cf116d8cbc9
118 ;;; japanese.el ends here