From c95835e1595736e2b0747ea893a4b3c65b7f35ad Mon Sep 17 00:00:00 2001 From: tomo Date: Tue, 29 Jun 1999 13:00:13 +0000 Subject: [PATCH] 1998-08-31 Paul Eggert * mule/european.el: Add coding: local variable, to avoid bootstrapping problem if you need to recompile all the Lisp files using interpreted code. (setup-8-bit-environment): Deleted. (setup-latin1-environment): Just call `set-language-environment'. - Specify `coding-priority' and `input-method' properties of each language environment. --- lisp/mule/european.el | 379 ++++++++++++++++++++++--------------------------- 1 file changed, 171 insertions(+), 208 deletions(-) diff --git a/lisp/mule/european.el b/lisp/mule/european.el index 420ca2c..54a3ca3 100644 --- a/lisp/mule/european.el +++ b/lisp/mule/european.el @@ -1,4 +1,4 @@ -;;; european.el --- Support for European languages +;;; european.el --- European languages -*- coding: iso-2022-7bit; -*- ;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN. ;; Licensed to the Free Software Foundation. @@ -52,126 +52,87 @@ ;;; EUROPEANS ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; (define-prefix-command 'describe-european-environment-map) -;; (define-key-after describe-language-environment-map [European] -;; '("European" . describe-european-environment-map) -;; t) - -;; (define-prefix-command 'setup-european-environment-map) -;; (define-key-after setup-language-environment-map [European] -;; '("European" . setup-european-environment-map) -;; t) - -;; Setup for LANGAUGE which uses one-byte 8-bit CHARSET, one-byte -;; 8-bit CODING-SYSTEM, and INPUT-METHOD. -(defun setup-8-bit-environment (language charset coding-system input-method) - (setup-english-environment) - (set-default-coding-systems coding-system) - ;; (setq coding-category-iso-8-1 coding-system - ;; coding-category-iso-8-2 coding-system) - (set-coding-category-system 'iso-8-1 coding-system) - (set-coding-category-system 'iso-8-2 coding-system) - - ;; (if charset - ;; (let ((nonascii-offset (- (make-char charset) 128))) - ;; ;; Set up for insertion of characters in this character set - ;; ;; when codes 0200 - 0377 are typed in. - ;; (setq nonascii-insert-offset nonascii-offset))) - - (if input-method - (setq default-input-method input-method)) - - ;; If this is a Latin-N character set, set up syntax for it in - ;; single-byte mode. We can't use require because the file - ;; must be eval'd each time in case we change from one Latin-N to another. - ;; (if (string-match "^Latin-\\([1-9]\\)$" language) - ;; (load (downcase language) nil t)) - ) ;; Latin-1 (ISO-8859-1) ;; (make-coding-system ;; 'iso-latin-1 2 ?1 -;; "ISO 2022 based 8-bit encoding (MIME:ISO-8859-1, Compound Text Encoding)" -;; '((ascii t) (latin-iso8859-1 t) nil nil -;; nil ascii-eol ascii-cntl nil nil nil nil nil nil nil nil nil t)) +;; "ISO 2022 based 8-bit encoding for Latin-1 (MIME:ISO-8859-1)" +;; '(ascii latin-iso8859-1 nil nil +;; nil nil nil nil nil nil nil nil nil nil nil nil t) +;; '((safe-charsets ascii latin-iso8859-1) +;; (mime-charset . iso-8859-1))) ;; (define-coding-system-alias 'iso-8859-1 'iso-latin-1) ;; (define-coding-system-alias 'latin-1 'iso-latin-1) -;; (define-coding-system-alias 'ctext 'iso-latin-1) + +;; (make-coding-system +;; 'compound-text 2 ?1 +;; "ISO 2022 based encoding used in inter client communication of X" +;; '((ascii t) (latin-iso8859-1 t) nil nil +;; nil ascii-eol ascii-cntl nil nil nil nil nil nil nil nil nil t) +;; '((safe-charsets . t))) + +;; (define-coding-system-alias 'ctext 'compound-text) (defun setup-latin1-environment () "Set up multilingual environment (MULE) for European Latin-1 users." (interactive) - (setup-8-bit-environment "Latin-1" 'latin-iso8859-1 'iso-8859-1 - "latin-1-prefix")) + (set-language-environment "Latin-1")) (set-language-info-alist - "Latin-1" '((setup-function . (setup-latin1-environment - . setup-european-environment-map)) - (charset . (ascii latin-iso8859-1)) - (coding-system . (iso-8859-1)) + "Latin-1" '((charset ascii latin-iso8859-1) + (coding-system iso-8859-1) + (coding-priority iso-8859-1) + (input-method . "latin-1-prefix") (sample-text . "Hello, Hej, Tere, Hei, Bonjour, Gr,A|_(B Gott, Ciao, ,A!(BHola!") - (documentation . ("\ -These languages are supported with the Latin-1 (ISO-8859-1) character set: + (documentation . "\ +This language environment is a generic one for Latin-1 (ISO-8859-1) +character set which supports the following languages: Danish, Dutch, English, Faeroese, Finnish, French, German, Icelandic, Irish, Italian, Norwegian, Portuguese, Spanish, and Swedish. -" . describe-european-environment-map)) - )) +We also have a German specific language environment \"German\".")) + '("European")) (set-language-info-alist - "German" '((setup-function . (setup-latin1-environment - . setup-european-environment-map)) - (charset . (ascii latin-iso8859-1)) - (coding-system . (iso-8859-1)) - (tutorial . "TUTORIAL.de") - (sample-text - . "Hello, Hej, Tere, Hei, Bonjour, Gr,A|_(B Gott, Ciao, ,A!(BHola!") - (documentation . ("\ + "French" '((charset ascii latin-iso8859-1) + (coding-system iso-8859-1) + (coding-priority iso-8859-1) + (tutorial . "TUTORIAL.fr") + (sample-text + . "Hello, Hej, Tere, Hei, Bonjour, Gr,A|_(B Gott, Ciao, ,A!(BHola!") + (documentation . ("\ These languages are supported with the Latin-1 (ISO-8859-1) character set: Danish, Dutch, English, Faeroese, Finnish, French, German, Icelandic, Irish, Italian, Norwegian, Portuguese, Spanish, and Swedish. -" . describe-european-environment-map)) - )) +"))) + '("European")) (set-language-info-alist - "French" '((setup-function . (setup-latin1-environment - . setup-european-environment-map)) - (charset . (ascii latin-iso8859-1)) - (coding-system . (iso-8859-1)) - (tutorial . "TUTORIAL.fr") - (sample-text - . "Hello, Hej, Tere, Hei, Bonjour, Gr,A|_(B Gott, Ciao, ,A!(BHola!") - (documentation . ("\ + "Norwegian" '((charset ascii latin-iso8859-1) + (coding-system iso-8859-1) + (coding-priority iso-8859-1) + (tutorial . "TUTORIAL.no") + (sample-text + . "Hello, Hej, Tere, Hei, Bonjour, Gr,A|_(B Gott, Ciao, ,A!(BHola!") + (documentation . ("\ These languages are supported with the Latin-1 (ISO-8859-1) character set: Danish, Dutch, English, Faeroese, Finnish, French, German, Icelandic, Irish, Italian, Norwegian, Portuguese, Spanish, and Swedish. -" . describe-european-environment-map)) - )) +"))) + '("European")) -(set-language-info-alist - "Norwegian" '((setup-function . (setup-latin1-environment - . setup-european-environment-map)) - (charset . (ascii latin-iso8859-1)) - (coding-system . (iso-8859-1)) - (tutorial . "TUTORIAL.no") - (sample-text - . "Hello, Hej, Tere, Hei, Bonjour, Gr,A|_(B Gott, Ciao, ,A!(BHola!") - (documentation . ("\ -These languages are supported with the Latin-1 (ISO-8859-1) character set: - Danish, Dutch, English, Faeroese, Finnish, French, German, Icelandic, - Irish, Italian, Norwegian, Portuguese, Spanish, and Swedish. -" . describe-european-environment-map)) - )) ;; Latin-2 (ISO-8859-2) ;; (make-coding-system ;; 'iso-latin-2 2 ?2 ;; "ISO 2022 based 8-bit encoding (MIME:ISO-8859-2)" -;; '((ascii t) (latin-iso8859-2 t) nil nil -;; nil ascii-eol ascii-cntl nil nil nil nil)) +;; '(ascii latin-iso8859-2 nil nil +;; nil nil nil nil nil nil nil) +;; '((safe-charsets ascii latin-iso8859-2) +;; (mime-charset . iso-8859-2))) ;; (define-coding-system-alias 'iso-8859-2 'iso-latin-2) ;; (define-coding-system-alias 'latin-2 'iso-latin-2) @@ -188,67 +149,65 @@ These languages are supported with the Latin-1 (ISO-8859-1) character set: (defun setup-latin2-environment () "Set up multilingual environment (MULE) for European Latin-2 users." (interactive) - (setup-8-bit-environment "Latin-2" 'latin-iso8859-2 'iso-8859-2 - "latin-2-prefix")) + (set-language-environment "Latin-2")) (set-language-info-alist - "Latin-2" '((setup-function . (setup-latin2-environment - . setup-european-environment-map)) - (charset . (ascii latin-iso8859-2)) - (coding-system . (iso-8859-2)) - (documentation . ("\ -These languages are supported with the Latin-2 (ISO-8859-2) character set: + "Latin-2" '((charset ascii latin-iso8859-2) + (coding-system iso-8859-2) + (coding-priority iso-8859-2) + (input-method . "latin-2-prefix") + (documentation . "\ +This language environment is a generic one for Latin-2 (ISO-8859-2) +character set which supports the following languages: Albanian, Czech, English, German, Hungarian, Polish, Romanian, - Serbian, Croatian, Slovak, Slovene, and Swedish. -" . describe-european-environment-map)) - )) + Serbian, Croatian, Slovak, Slovene, Sorbian (upper and lower), + and Swedish.")) + '("European")) (set-language-info-alist - "Croatian" '((setup-function . (setup-latin2-environment - . setup-european-environment-map)) - (charset . (ascii latin-iso8859-2)) + "Croatian" '((charset ascii latin-iso8859-2) + (coding-system iso-8859-2) + (coding-priority iso-8859-2) (tutorial . "TUTORIAL.hr") - (coding-system . (iso-8859-2)) - (documentation . ("\ -These languages are supported with the Latin-2 (ISO-8859-2) character set: + (documentation . "\ +This language environment is a generic one for Latin-2 (ISO-8859-2) +character set which supports the following languages: Albanian, Czech, English, German, Hungarian, Polish, Romanian, - Serbian, Croatian, Slovak, Slovene, and Swedish. -" . describe-european-environment-map)) - )) + Serbian, Croatian, Slovak, Slovene, Sorbian (upper and lower), + and Swedish.")) + '("European")) (set-language-info-alist - "Polish" '((setup-function . (setup-latin2-environment - . setup-european-environment-map)) - (charset . (ascii latin-iso8859-2)) - (tutorial . "TUTORIAL.pl") - (coding-system . (iso-8859-2)) - (documentation . ("\ -These languages are supported with the Latin-2 (ISO-8859-2) character set: + "Polish" '((charset ascii latin-iso8859-2) + (coding-system iso-8859-2) + (coding-priority iso-8859-2) + (tutorial . "TUTORIAL.pl") + (documentation . "\ +This language environment is a generic one for Latin-2 (ISO-8859-2) +character set which supports the following languages: Albanian, Czech, English, German, Hungarian, Polish, Romanian, - Serbian, Croatian, Slovak, Slovene, and Swedish. -" . describe-european-environment-map)) - )) + Serbian, Croatian, Slovak, Slovene, Sorbian (upper and lower), + and Swedish.")) + '("European")) ;; Romanian support originally from romanian.el (defun setup-romanian-environment () "Setup multilingual environment (MULE) for Romanian." (interactive) - (setup-8-bit-environment "Romanian" 'latin-iso8859-2 'iso-8859-2 - "romanian")) + (set-language-environment "Romanian")) (set-language-info-alist - "Romanian" '((setup-function . (setup-romanian-environment - . setup-european-environment-map)) - (charset . (ascii latin-iso8859-2)) + "Romanian" '((charset ascii latin-iso8859-2) + (coding-system iso-8859-2) + (coding-priority iso-8859-2) + (input-method . "latin-2-postfix") (tutorial . "TUTORIAL.ro") - (coding-system . (iso-8859-2)) - (documentation . ("\ -These languages are supported with the Latin-2 (ISO-8859-2) character set: - Albanian, Czech, English, German, Hungarian, Polish, Romanian, - Serbian, Croatian, Slovak, Slovene, and Swedish. -" . describe-european-environment-map)) - )) + (sample-text . "Bun,Bc(B ziua, bine a,B~(Bi venit!") + (documentation . t)) + '("European")) + +(provide 'romanian) ;; Czech support originally from czech.el ;; Author: Milan Zamazal @@ -257,24 +216,18 @@ These languages are supported with the Latin-2 (ISO-8859-2) character set: (defun setup-czech-environment () "Set up multilingual environment (MULE) for czech users." (interactive) - (setup-8-bit-environment "Czech" 'latin-iso8859-2 'iso-8859-2 - "czech")) - + (set-language-environment "Czech")) (set-language-info-alist - "Czech" - '((setup-function . (setup-czech-environment - . setup-european-environment-map)) - (charset . (ascii latin-iso8859-2)) - (coding-system . (iso-8859-2)) - (tutorial . "TUTORIAL.cs") - (documentation . ("\ -These languages are supported with the Latin-2 (ISO-8859-2) character set: -Albanian, Czech, English, German, Hungarian, Polish, Romanian, -Serbian, Croatian, Slovak, Slovene, and Swedish. -" . describe-european-environment-map)) -)) + "Czech" '((charset ascii latin-iso8859-2) + (coding-system iso-8859-2) + (coding-priority iso-8859-2) + (tutorial . "TUTORIAL.cs") + (sample-text . "P,Bx(Bejeme v,Ba(Bm hezk,B}(B den!") + (documentation . t)) + '("European")) +(provide 'czech) ;; Latin-3 (ISO-8859-3) @@ -282,8 +235,10 @@ Serbian, Croatian, Slovak, Slovene, and Swedish. ;; (make-coding-system ;; 'iso-latin-3 2 ?3 ;; "ISO 2022 based 8-bit encoding (MIME:ISO-8859-3)" -;; '((ascii t) (latin-iso8859-3 t) nil nil -;; nil ascii-eol ascii-cntl nil nil nil nil)) +;; '(ascii latin-iso8859-3 nil nil +;; nil nil nil nil nil nil nil) +;; '((safe-charsets ascii latin-iso8859-3) +;; (mime-charset . iso-8859-3))) ;; (define-coding-system-alias 'iso-8859-3 'iso-latin-3) ;; (define-coding-system-alias 'latin-3 'iso-latin-3) @@ -300,28 +255,29 @@ Serbian, Croatian, Slovak, Slovene, and Swedish. (defun setup-latin3-environment () "Set up multilingual environment (MULE) for European Latin-3 users." (interactive) - (setup-8-bit-environment "Latin-3" 'latin-iso8859-3 'iso-8859-3 - "latin-3-prefix")) + (set-language-environment "Latin-3")) (set-language-info-alist - "Latin-3" '((setup-function . (setup-latin3-environment - . setup-european-environment-map)) - (charset . (ascii latin-iso8859-3)) - (coding-system . (iso-8859-3)) - (documentation . ("\ + "Latin-3" '((charset ascii latin-iso8859-3) + (coding-system iso-8859-3) + (coding-priority iso-8859-3) + (input-method . "latin-3-prefix") + (documentation . "\ These languages are supported with the Latin-3 (ISO-8859-3) character set: Afrikaans, Catalan, Dutch, English, Esperanto, French, Galician, - German, Italian, Maltese, Spanish, and Turkish. -" . describe-european-environment-map)) - )) + German, Italian, Maltese, Spanish, and Turkish.")) + '("European")) + ;; Latin-4 (ISO-8859-4) ;; (make-coding-system ;; 'iso-latin-4 2 ?4 ;; "ISO 2022 based 8-bit encoding (MIME:ISO-8859-4)" -;; '((ascii t) (latin-iso8859-4 t) nil nil -;; nil ascii-eol ascii-cntl nil nil nil nil)) +;; '(ascii latin-iso8859-4 nil nil +;; nil nil nil nil nil nil nil) +;; '((safe-charsets ascii latin-iso8859-4) +;; (mime-charset . iso-8895-4))) ;; (define-coding-system-alias 'iso-8859-4 'iso-latin-4) ;; (define-coding-system-alias 'latin-4 'iso-latin-4) @@ -338,28 +294,29 @@ These languages are supported with the Latin-3 (ISO-8859-3) character set: (defun setup-latin4-environment () "Set up multilingual environment (MULE) for European Latin-4 users." (interactive) - (setup-8-bit-environment "Latin-4" 'latin-iso8859-4 'iso-8859-4 - "latin-4-prefix")) + (set-language-environment "Latin-4")) (set-language-info-alist - "Latin-4" '((setup-function . (setup-latin4-environment - . setup-european-environment-map)) - (charset . (ascii latin-iso8859-4)) - (coding-system . (iso-8859-4)) - (documentation . ("\ + "Latin-4" '((charset ascii latin-iso8859-4) + (coding-system iso-8859-4) + (coding-priority iso-8859-4) + (input-method . "latin-4-prefix") + (documentation . "\ These languages are supported with the Latin-4 (ISO-8859-4) character set: Danish, English, Estonian, Finnish, German, Greenlandic, Lappish, - Latvian, Lithuanian, and Norwegian. -" . describe-european-environment-map)) - )) + Latvian, Lithuanian, and Norwegian.")) + '("European")) + ;; Latin-5 (ISO-8859-9) ;; (make-coding-system ;; 'iso-latin-5 2 ?9 ;; "ISO 2022 based 8-bit encoding (MIME:ISO-8859-9)" -;; '((ascii t) (latin-iso8859-9 t) nil nil -;; nil ascii-eol ascii-cntl nil nil nil nil)) +;; '(ascii latin-iso8859-9 nil nil +;; nil nil nil nil nil nil nil) +;; '((safe-charsets ascii latin-iso8859-9) +;; (mime-charset . iso-8859-9))) ;; (define-coding-system-alias 'iso-8859-9 'iso-latin-5) ;; (define-coding-system-alias 'latin-5 'iso-latin-5) @@ -376,46 +333,52 @@ These languages are supported with the Latin-4 (ISO-8859-4) character set: (defun setup-latin5-environment () "Set up multilingual environment (MULE) for European Latin-5 users." (interactive) - (setup-8-bit-environment "Latin-5" 'latin-iso8859-9 'iso-8859-5 - "latin-5-prefix")) + (set-language-environment "Latin-5")) + +(set-language-info-alist + "Latin-5" '((charset ascii latin-iso8859-9) + (coding-system iso-8859-9) + (coding-priority iso-8859-9) + (input-method . "latin-5-prefix") + (documentation . "\ +These languages are supported with the Latin-5 (ISO-8859-9) character set.")) + '("European")) + + +(defun setup-german-environment () + "Set up multilingual environment (MULE) for German users." + (interactive) + (set-language-environment "German")) + +(set-language-info-alist + "German" '((tutorial . "TUTORIAL.de") + (charset ascii latin-iso8859-1) + (coding-system iso-8859-1) + (coding-priority iso-8859-1) + (input-method . "german-postfix") + (sample-text . "\ +German (Deutsch Nord) Guten Tag +German (Deutsch S,A|(Bd) Gr,A|_(B Gott") + (documentation . "\ +This language environment is almost the same as Latin-1, +but default input method is set to \"german-postfix\".")) + '("European")) + +(defun setup-slovenian-environment () + "Setup multilingual environment (MULE) for Slovenian." + (interactive) + (set-language-environment "Slovenian")) (set-language-info-alist - "Latin-5" '((setup-function . (setup-latin5-environment - . setup-european-environment-map)) - (charset . (ascii latin-iso8859-9)) - (coding-system . (iso-8859-5)) - (documentation . ("\ -These languages are supported with the Latin-5 (ISO-8859-9) character set. -" . describe-european-environment-map)) - )) - -;; (defun setup-european-environment () -;; "Setup multilingual environment (MULE) for European languages users. -;; It actually reset MULE to the default status, and -;; set quail-latin-1 as the default input method to be selected. -;; See also the documentation of setup-english-environment." -;; (setup-english-environment) -;; (setq default-input-method '("European" . "quail-latin-1"))) - -;; (defun describe-european-support () -;; "Describe how Emacs support European languages." -;; (interactive) -;; (describe-language-support-internal "European")) - -;; (set-language-info-alist -;; "European" '((setup-function . setup-european-environment) -;; (describe-function . describe-european-support) -;; (charset . (ascii latin-iso8859-1 latin-iso8859-2 -;; latin-iso8859-3 latin-iso8859-4 latin-iso8859-9)) -;; (coding-system . (iso-8859-1 iso-8859-2 iso-8859-3 -;; iso-8859-4 iso-8859-9)) -;; (sample-text -;; . "Hello, Hej, Tere, Hei, Bonjour, Gr,A|_(B Gott, Ciao, ,A!(BHola!") -;; (documentation . "\ -;; Almost all of European languages are supported by the character sets and -;; coding systems listed below. -;; To input them, LEIM (Libraries for Emacs Input Methods) should have been -;; installed.") -;; )) + "Slovenian" '((charset . (ascii latin-iso8859-2)) + (coding-system . (iso-8859-2)) + (coding-priority . (iso-8859-2)) + (input-method . "latin-2-postfix") + (tutorial . "TUTORIAL.sl") + (sample-text . ",B.(Belimo vam uspe,B9(Ben dan!") + (documentation . t)) + '("European")) + +(provide 'slovenian) ;;; european.el ends here -- 1.7.10.4