diff options
author | Timo Myyrä <timo.myyra@bittivirhe.fi> | 2020-12-24 17:29:49 +0200 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2020-12-25 15:43:52 +0200 |
commit | c3c1863d9504dd04ca6d5f169de2d0348ea78d62 (patch) | |
tree | 6e3fd76d152a344ff51680cc071f6d2c99bbe5f0 | |
parent | 64513abf3eb5f845f56250ff8dc0ab8a9d193956 (diff) | |
download | emacs-c3c1863d9504dd04ca6d5f169de2d0348ea78d62.tar.gz |
Add support for more EBCDIC code pages IBM2XX
There was already charset file present in etc/charsets for IBM2XX
character sets but there wasn't definitions for them in Emacs.
Add character set and coding system definitions for them.
* lisp/language/japanese.el (ibm281, ibm290):
* lisp/language/european.el (ibm256, ibm273, ibm274, ibm277)
(ibm278, ibm280, ibm284, ibm285, ibm297):
* lisp/language/english.el (ibm275): New coding systems.
* lisp/international/mule-conf.el (ibm256, ibm273, ibm274)
(ibm275, ibm277, ibm278, ibm280, ibm281, ibm284, ibm285, ibm290)
(ibm297): New charsets.
-rw-r--r-- | lisp/international/mule-conf.el | 109 | ||||
-rw-r--r-- | lisp/language/english.el | 8 | ||||
-rw-r--r-- | lisp/language/european.el | 73 | ||||
-rw-r--r-- | lisp/language/japanese.el | 16 |
4 files changed, 206 insertions, 0 deletions
diff --git a/lisp/international/mule-conf.el b/lisp/international/mule-conf.el index 99449ad359f..dd6d0326d73 100644 --- a/lisp/international/mule-conf.el +++ b/lisp/international/mule-conf.el @@ -1075,6 +1075,115 @@ (define-charset-alias 'ebcdic-int 'ibm038) (define-charset-alias 'cp038 'ibm038) +(define-charset 'ibm256 + "Netherlands version of EBCDIC" + :short-name "IBM256" + :code-space [0 255] + :mime-charset 'ibm256 + :map "IBM256") +(define-charset-alias 'ebcdic-int1 'ibm256) +(define-charset-alias 'cp256 'ibm256) + +(define-charset 'ibm273 + "Austrian / German version of EBCDIC" + :short-name "IBM273" + :code-space [0 255] + :mime-charset 'ibm273 + :map "IBM273") +(define-charset-alias 'cp273 'ibm273) + +(define-charset 'ibm274 + "Belgian version of EBCDIC" + :short-name "IBM274" + :code-space [0 255] + :mime-charset 'ibm274 + :map "IBM274") +(define-charset-alias 'ebcdic-be 'ibm274) +(define-charset-alias 'cp274 'ibm274) + +(define-charset 'ibm275 + "Brazilian version of EBCDIC" + :short-name "IBM275" + :code-space [0 255] + :mime-charset 'ibm275 + :map "IBM275") +(define-charset-alias 'ebcdic-br 'ibm275) +(define-charset-alias 'cp275 'ibm275) + +(define-charset 'ibm277 + "Danish / Norwegian version of EBCDIC" + :short-name "IBM277" + :code-space [0 255] + :mime-charset 'ibm277 + :map "IBM277") +(define-charset-alias 'ebcdic-cp-dk 'ibm277) +(define-charset-alias 'ebcdic-cp-no 'ibm277) +(define-charset-alias 'cp277 'ibm277) + +(define-charset 'ibm278 + "Finnish / Swedish version of EBCDIC" + :short-name "IBM278" + :code-space [0 255] + :mime-charset 'ibm278 + :map "IBM278") +(define-charset-alias 'ebcdic-cp-fi 'ibm278) +(define-charset-alias 'ebcdic-cp-se 'ibm278) +(define-charset-alias 'cp278 'ibm278) + +(define-charset 'ibm280 + "Italian version of EBCDIC" + :short-name "IBM280" + :code-space [0 255] + :mime-charset 'ibm270 + :map "IBM280") +(define-charset-alias 'ebcdic-cp-it 'ibm280) +(define-charset-alias 'cp280 'ibm280) + +(define-charset 'ibm281 + "Japanese-E version of EBCDIC" + :short-name "IBM281" + :code-space [0 255] + :mime-charset 'ibm281 + :map "IBM281") +(define-charset-alias 'ebcdic-jp-e 'ibm281) +(define-charset-alias 'cp281 'ibm281) + +(define-charset 'ibm284 + "Spanish version of EBCDIC" + :short-name "IBM284" + :code-space [0 255] + :mime-charset 'ibm284 + :map "IBM284") +(define-charset-alias 'ebcdic-cp-es 'ibm284) +(define-charset-alias 'cp284 'ibm284) + +(define-charset 'ibm285 + "UK english version of EBCDIC" + :short-name "IBM285" + :code-space [0 255] + :mime-charset 'ibm285 + :map "IBM285") +(define-charset-alias 'ebcdic-cp-gb 'ibm285) ;; how this differs from ebcdic-uk? +(define-charset-alias 'cp285 'ibm285) + +(define-charset 'ibm290 + "Japanese katakana version of EBCDIC" + :short-name "IBM290" + :code-space [0 255] + :mime-charset 'ibm290 + :map "IBM290") +(define-charset-alias 'ebcdic-jp-kana 'ibm290) +(define-charset-alias 'cp290 'ibm290) + +(define-charset 'ibm297 + "French version of EBCDIC" + :short-name "IBM297" + :code-space [0 255] + :mime-charset 'ibm297 + :map "IBM297") +(define-charset-alias 'ebcdic-cp-fr 'ibm297) +(define-charset-alias 'cp297 'ibm297) + (define-charset 'ibm1047 ;; Says groff: "IBM1047, `EBCDIC Latin 1/Open Systems' used by OS/390 Unix." diff --git a/lisp/language/english.el b/lisp/language/english.el index b7af84c8f75..d5254effa9d 100644 --- a/lisp/language/english.el +++ b/lisp/language/english.el @@ -70,6 +70,14 @@ Nothing special is needed to handle English.") (define-coding-system-alias 'ebcdic-int 'ibm038) (define-coding-system-alias 'cp038 'ibm038) +(define-coding-system 'ibm275 + "Brazilian version of EBCDIC" + :coding-type 'charset + :charset-list '(ibm275) + :mnemonic ?*) +(define-coding-system-alias 'ebcdic-br 'ibm275) +(define-coding-system-alias 'cp275 'ibm275) + ;; Make "ASCII" an alias of "English" language environment. (set-language-info-alist "ASCII" (cdr (assoc "English" language-info-alist))) diff --git a/lisp/language/european.el b/lisp/language/european.el index 713a0fdb344..99f062215f6 100644 --- a/lisp/language/european.el +++ b/lisp/language/european.el @@ -324,6 +324,79 @@ Latin-9 is sometimes nicknamed `Latin-0'.")) :mime-charset 'windows-1257) (define-coding-system-alias 'cp1257 'windows-1257) +(define-coding-system 'ibm256 + "Netherlands version of EBCDIC" + :coding-type 'charset + :charset-list '(ibm256) + :mnemonic ?*) +(define-coding-system-alias 'ebcdic-int1 'ibm256) +(define-coding-system-alias 'cp256 'ibm256) + +(define-coding-system 'ibm273 + "Austrian / German version of EBCDIC" + :coding-type 'charset + :charset-list '(ibm273) + :mnemonic ?*) +(define-coding-system-alias 'cp273 'ibm273) + +(define-coding-system 'ibm274 + "Belgian version of EBCDIC" + :coding-type 'charset + :charset-list '(ibm274) + :mnemonic ?*) +(define-coding-system-alias 'ebcdic-be 'ibm274) +(define-coding-system-alias 'cp274 'ibm274) + +(define-coding-system 'ibm277 + "Danish / Norwegian version of EBCDIC" + :coding-type 'charset + :charset-list '(ibm277) + :mnemonic ?*) +(define-coding-system-alias 'ebcdic-cp-dk 'ibm277) +(define-coding-system-alias 'ebcdic-cp-no 'ibm277) +(define-coding-system-alias 'cp277 'ibm277) + +(define-coding-system 'ibm278 + "Finnish / Swedish version of EBCDIC" + :coding-type 'charset + :charset-list '(ibm278) + :mnemonic ?*) +(define-coding-system-alias 'ebcdic-cp-fi 'ibm278) +(define-coding-system-alias 'ebcdic-cp-se 'ibm278) +(define-coding-system-alias 'cp278 'ibm278) + +(define-coding-system 'ibm280 + "Italian version of EBCDIC" + :coding-type 'charset + :charset-list '(ibm280) + :mnemonic ?*) +(define-coding-system-alias 'ebcdic-cp-it 'ibm280) +(define-coding-system-alias 'cp280 'ibm280) + +(define-coding-system 'ibm284 + "Spanish version of EBCDIC" + :coding-type 'charset + :charset-list '(ibm284) + :mnemonic ?*) +(define-coding-system-alias 'ebcdic-cp-es 'ibm284) +(define-coding-system-alias 'cp284 'ibm284) + +(define-coding-system 'ibm285 + "UK english version of EBCDIC" + :coding-type 'charset + :charset-list '(ibm285) + :mnemonic ?*) +(define-coding-system-alias 'ebcdic-cp-gb 'ibm285) +(define-coding-system-alias 'cp285 'ibm285) + +(define-coding-system 'ibm297 + "French version of EBCDIC" + :coding-type 'charset + :charset-list '(ibm297) + :mnemonic ?*) +(define-coding-system-alias 'ebcdic-cp-fr 'ibm297) +(define-coding-system-alias 'cp297 'ibm297) + (define-coding-system 'cp775 "DOS codepage 775 (PC Baltic, MS-DOS Baltic Rim)" :coding-type 'charset diff --git a/lisp/language/japanese.el b/lisp/language/japanese.el index 9a99245dfde..a517b4ea8eb 100644 --- a/lisp/language/japanese.el +++ b/lisp/language/japanese.el @@ -188,6 +188,22 @@ eucJP-ms is defined in <http://www.opengroup.or.jp/jvc/cde/appendix.html>." (define-coding-system-alias 'shift_jis-2004 'japanese-shift-jis-2004) +(define-coding-system 'ibm281 + "Japanese-E version of EBCDIC" + :coding-type 'charset + :charset-list '(ibm281) + :mnemonic ?*) +(define-coding-system-alias 'ebcdic-jp-e 'ibm281) +(define-coding-system-alias 'cp281 'ibm281) + +(define-coding-system 'ibm290 + "Japanese katakana version of EBCDIC" + :coding-type 'charset + :charset-list '(ibm290) + :mnemonic ?*) +(define-coding-system-alias 'ebcdic-jp-kana 'ibm290) +(define-coding-system-alias 'cp290 'ibm290) + (set-language-info-alist "Japanese" '((setup-function . setup-japanese-environment-internal) (exit-function . use-default-char-width-table) |