-;;; japanese.el --- Japanese support
+;;; japanese.el --- support for Japanese -*- coding: iso-2022-7bit; no-byte-compile: t -*-
-;; Copyright (C) 1995 Free Software Foundation, Inc.
;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN.
+;; Licensed to the Free Software Foundation.
;; Keywords: multilingual, Japanese
;;; Code:
-(define-coding-system-alias 'iso-2022-7 'iso-2022-jp)
-(define-coding-system-alias 'iso-2022-7 'junet)
+(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
- 'shift_jis 1 ?S
- "Coding-system of Shift-JIS used in Japan." t)
+ '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 nil nil nil init-bol)
+ '((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)))
-(define-coding-system-alias 'shift_jis 'sjis)
+(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
- 'iso-2022-jp-1978-irv 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))
+ '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 'old-jis)
+(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
- 'euc-japan-1990 2 ?E
- "Coding-system of Japanese EUC (Extended Unix Code)."
+ '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))
-
-(define-coding-system-alias 'euc-japan-1990 'euc-japan)
-
-(register-input-method
- "Japanese" '("quail-ja-hiragana" quail-use-package "quail/japanese"))
-(register-input-method
- "Japanese" '("quail-ja" quail-use-package "quail/japanese"))
-
-(defun setup-japanese-environment ()
- "Setup multilingual environment (MULE) for Japanese."
- (interactive)
- (setq coding-category-iso-8-2 'euc-japan-1990)
-
- (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-emacs-mule))
-
- (if (eq system-type 'ms-dos)
- (progn
- (setq-default buffer-file-coding-system 'sjis)
- (set-terminal-coding-system 'sjis)
- (set-keyboard-coding-system 'sjis)
- (setq default-process-coding-system '(sjis-dos . sjis-dos)))
- (setq-default buffer-file-coding-system 'iso-2022-jp)
- (set-terminal-coding-system 'iso-2022-jp)
- (set-keyboard-coding-system 'iso-2022-jp))
-
- (set-default-input-method "Japanese" "quail-ja")
-
- (setq sendmail-coding-system 'iso-2022-jp
- rmail-file-coding-system 'iso-2022-jp)
- )
+ 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)
- (tutorial . "TUTORIAL.jp")
- (charset . (japanese-jisx0208 japanese-jisx0208-1978
- japanese-jisx0212 latin-jisx0201
- katakana-jisx0201))
- (coding-system . (euc-japan-1990 sjis
- iso-2022-jp iso-2022-jp-1978-irv))
- (sample-text . "Japanese (\e$BF|K\8l\e(B) \e$B$3$s$K$A$O\e(B, \e(I:]FAJ\e(B")
+ "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