(completion-ignored-extensions) [ms-dos, windows-nt]:
[bpt/emacs.git] / lisp / language / japanese.el
dissimilarity index 66%
index f0dd5eb..20ec1aa 100644 (file)
-;;; japanese.el --- Japanese support
-
-;; Copyright (C) 1995 Free Software Foundation, Inc.
-;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN.
-
-;; Keywords: multilingual, Japanese
-
-;; This file is part of GNU Emacs.
-
-;; GNU Emacs is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2, or (at your option)
-;; any later version.
-
-;; GNU Emacs is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to
-;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
-
-;;; Commentary:
-
-;; For Japanese, character sets JISX0201, JISX0208, JISX0212 are
-;; supported.
-
-;;; Code:
-
-(make-coding-system
- 'coding-system-sjis 1 ?S
- "Coding-system of Shift-JIS used in Japan." t)
-
-;; ISO-2022-JP and JUNET are aliases for ISO-2022-7.
-(put 'coding-system-iso-2022-jp 'coding-system 'coding-system-iso-2022-7)
-(put 'coding-system-junet 'coding-system 'coding-system-iso-2022-7)
-
-(make-coding-system
- 'coding-system-old-jis 2 ?J
- "Coding-system used for old jis terminal."
- '((ascii t) nil nil nil
-   short ascii-eol ascii-cntl seven nil nil use-roman use-oldjis))
-
-(make-coding-system
- 'coding-system-euc-japan 2 ?E
- "Coding-system of Japanese EUC (Extended Unix Code)."
- '(ascii japanese-jisx0208 katakana-jisx0201 japanese-jisx0212
-        short ascii-eol ascii-cntl nil nil single-shift))
-
-(register-input-method
- "Japanese" '("quail-ja" quail-use-package "quail/japanese"))
-
-(register-input-method
- "Japanese" '("quail-ja-hiragana" quail-use-package "quail/japanese"))
-
-(defun setup-japanese-environment ()
-  (interactive)
-  (setq coding-category-iso-8-2 'coding-system-euc-japan)
-
-  (set-coding-priority
-   '(coding-category-iso-7
-     coding-category-iso-8-2
-     coding-category-sjis
-     coding-category-iso-8-1
-     coding-category-iso-else
-     coding-category-internal))
-
-  (if (eq system-type 'ms-dos)
-      (progn
-       (setq-default buffer-file-coding-system 'coding-system-sjis)
-       (set-terminal-coding-system 'coding-system-sjis)
-       (set-keyboard-coding-system 'coding-system-sjis)
-       (setq default-process-coding-system
-             '(coding-system-sjis-dos . coding-system-sjis-dos)))
-    (setq-default buffer-file-coding-system 'coding-system-iso-2022-jp)
-    (set-terminal-coding-system 'coding-system-iso-2022-jp)
-    (set-keyboard-coding-system 'coding-system-iso-2022-jp))
-
-  (set-default-input-method "Japanese" "quail-ja")
-  )
-
-(set-language-info-alist
- "Japanese" '((setup-function . setup-japanese-environment)
-             (tutorial . "TUTORIAL.jp")
-             (charset . (japanese-jisx0208 japanese-jisx0208-1978
-                         japanese-jisx0212 latin-jisx0201
-                         katakana-jisx0201))
-             (coding-system . (coding-system-euc-japan
-                               coding-system-sjis
-                               coding-system-old-jis
-                               coding-system-iso-2022-jp))
-             (documentation . t)
-             (sample-text . "Japanese (\e$BF|K\8l\e(B)           \e$B$3$s$K$A$O\e(B, \e(I:]FAJ\e(B")))
-
-;;; japanese.el ends here
+;;; japanese.el --- support for Japanese -*- coding: iso-2022-7bit; -*-
+
+;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN.
+;; Licensed to the Free Software Foundation.
+
+;; Keywords: multilingual, Japanese
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 2, or (at your option)
+;; any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING.  If not, write to the
+;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+;; Boston, MA 02111-1307, USA.
+
+;;; Commentary:
+
+;; For Japanese, character sets JISX0201, JISX0208, JISX0212 are
+;; supported.
+
+;;; Code:
+
+(make-coding-system
+ 'iso-2022-jp 2 ?J
+ "ISO 2022 based 7bit encoding for Japanese (MIME:ISO-2022-JP)"
+ '((ascii japanese-jisx0208-1978 japanese-jisx0208
+         latin-jisx0201 japanese-jisx0212) nil nil nil
+   short ascii-eol ascii-cntl seven)
+ '((safe-charsets ascii japanese-jisx0208-1978 japanese-jisx0208
+                 latin-jisx0201 japanese-jisx0212)
+   (mime-charset . iso-2022-jp)))
+
+(define-coding-system-alias 'junet 'iso-2022-jp)
+
+(make-coding-system
+ 'iso-2022-jp-2 2 ?J
+ "ISO 2022 based 7bit encoding for CJK, Latin-1, and Greek (MIME:ISO-2022-JP-2)"
+ '((ascii japanese-jisx0208-1978 japanese-jisx0208
+         latin-jisx0201 japanese-jisx0212
+         chinese-gb2312 korean-ksc5601) nil
+         (nil latin-iso8859-1 greek-iso8859-7) nil
+ short ascii-eol ascii-cntl seven nil single-shift)
+ '((safe-charsets ascii japanese-jisx0208-1978 japanese-jisx0208
+                 latin-jisx0201 japanese-jisx0212
+                 chinese-gb2312 korean-ksc5601
+                 latin-iso8859-1 greek-iso8859-7)
+   (mime-charset . iso-2022-jp-2)))
+
+(make-coding-system
+ 'japanese-shift-jis 1 ?S
+ "Shift-JIS 8-bit encoding for Japanese (MIME:SHIFT_JIS)"
+ nil
+ '((safe-charsets ascii japanese-jisx0208 japanese-jisx0208-1978
+                 latin-jisx0201 katakana-jisx0201)
+   (mime-charset . shift_jis)
+   (charset-origin-alist (japanese-jisx0208 "SJIS" encode-sjis-char)
+                        (katakana-jisx0201 "SJIS" encode-sjis-char))))
+
+(define-coding-system-alias 'shift_jis 'japanese-shift-jis)
+(define-coding-system-alias 'sjis 'japanese-shift-jis)
+
+(make-coding-system
+ 'japanese-iso-7bit-1978-irv 2 ?j
+ "ISO 2022 based 7-bit encoding for Japanese JISX0208-1978 and JISX0201-Roman"
+ '((ascii japanese-jisx0208-1978 japanese-jisx0208
+         latin-jisx0201 japanese-jisx0212 katakana-jisx0201 t) nil nil nil
+   short ascii-eol ascii-cntl seven nil nil use-roman use-oldjis)
+ '(ascii japanese-jisx0208-1978 japanese-jisx0208 latin-jisx0201))
+
+(define-coding-system-alias 'iso-2022-jp-1978-irv 'japanese-iso-7bit-1978-irv)
+(define-coding-system-alias 'old-jis 'japanese-iso-7bit-1978-irv)
+
+(make-coding-system
+ 'japanese-iso-8bit 2 ?E
+ "ISO 2022 based EUC encoding for Japanese (MIME:EUC-JP)"
+ '(ascii japanese-jisx0208 katakana-jisx0201 japanese-jisx0212
+   short ascii-eol ascii-cntl nil nil single-shift)
+ '((safe-charsets ascii latin-jisx0201 japanese-jisx0208 japanese-jisx0208-1978
+                katakana-jisx0201 japanese-jisx0212)
+   (mime-charset . euc-jp)))
+
+(define-coding-system-alias 'euc-japan-1990 'japanese-iso-8bit)
+(define-coding-system-alias 'euc-japan 'japanese-iso-8bit)
+(define-coding-system-alias 'euc-jp 'japanese-iso-8bit)
+
+(set-language-info-alist
+ "Japanese" '((setup-function . setup-japanese-environment-internal)
+             (exit-function . exit-japanese-environment)
+             (tutorial . "TUTORIAL.ja")
+             (charset japanese-jisx0208 japanese-jisx0208-1978
+                      japanese-jisx0212 latin-jisx0201 katakana-jisx0201
+                      japanese-jisx0213-1 japanese-jisx0213-2)
+             (coding-system iso-2022-jp japanese-iso-8bit
+                            japanese-shift-jis japanese-iso-7bit-1978-irv)
+             (coding-priority iso-2022-jp japanese-iso-8bit
+                              japanese-shift-jis iso-2022-jp-2)
+             (input-method . "japanese")
+             (features japan-util)
+             (sample-text . "Japanese (\e$BF|K\8l\e(B)   \e$B$3$s$K$A$O\e(B, \e(I:]FAJ\e(B")
+             (documentation . t)))
+
+(provide 'japanese)
+
+;;; japanese.el ends here