diff lisp/mule/european.el @ 428:3ecd8885ac67 r21-2-22

Import from CVS: tag r21-2-22
author cvs
date Mon, 13 Aug 2007 11:28:15 +0200
parents
children 8de8e3f6228a
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lisp/mule/european.el	Mon Aug 13 11:28:15 2007 +0200
@@ -0,0 +1,384 @@
+;;; european.el --- European languages -*- coding: iso-2022-7bit; -*-
+
+;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN.
+;; Licensed to the Free Software Foundation.
+;; Copyright (C) 1997 MORIOKA Tomohiko
+
+;; Keywords: multilingual, European
+
+;; This file is part of XEmacs.
+
+;; XEmacs 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.
+
+;; XEmacs 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 XEmacs; 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 Europeans, five character sets ISO8859-1,2,3,4,9 are supported.
+
+;;; Code:
+
+;; For syntax of Latin-1 characters.
+(loop for c from 64 to 127              ; from ',A@(B' to ',A(B'
+      do (modify-syntax-entry (make-char 'latin-iso8859-1 c) "w"))
+
+(modify-syntax-entry (make-char 'latin-iso8859-1 32) "w") ; no-break space
+(modify-syntax-entry ?,AW(B "_")
+(modify-syntax-entry ?,Aw(B "_")
+
+;; For syntax of Latin-2
+(loop for c in '(?,B!(B ?,B#(B ?,B%(B ?,B&(B ?,B)(B ?,B*(B ?,B+(B ?,B,(B ?,B.(B ?,B/(B ?,B1(B ?,B3(B ?,B5(B ?,B6(B ?,B9(B ?,B:(B ?,B;(B ?,B<(B)
+      do (modify-syntax-entry c "w"))
+
+(loop for c from 62 to 126
+      do (modify-syntax-entry (make-char 'latin-iso8859-2 c) "w"))
+
+(modify-syntax-entry (make-char 'latin-iso8859-2 32) "w") ; no-break space
+(modify-syntax-entry ?,BW(B ".")
+(modify-syntax-entry ?,Bw(B ".")
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;; EUROPEANS
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+
+;; Latin-1 (ISO-8859-1)
+
+;; (make-coding-system
+;;  'iso-latin-1 2 ?1
+;;  "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)
+
+;; (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)
+  (set-language-environment "Latin-1"))
+
+(set-language-info-alist
+ "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 . "\
+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.
+We also have a German specific language environment \"German\"."))
+ '("European"))
+
+(set-language-info-alist
+ "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.
+")))
+ '("European"))
+
+(set-language-info-alist
+ "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.
+")))
+ '("European"))
+
+
+;; Latin-2 (ISO-8859-2)
+
+;; (make-coding-system
+;;  'iso-latin-2 2 ?2
+;;  "ISO 2022 based 8-bit encoding (MIME:ISO-8859-2)"
+;;  '(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)
+
+(make-coding-system
+ 'iso-8859-2 'iso2022 "MIME ISO-8859-2"
+ '(charset-g0 ascii
+   charset-g1 latin-iso8859-2
+   charset-g2 t
+   charset-g3 t
+   mnemonic "MIME/Ltn-2"
+   ))
+
+(defun setup-latin2-environment ()
+  "Set up multilingual environment (MULE) for European Latin-2 users."
+  (interactive)
+  (set-language-environment "Latin-2"))
+
+(set-language-info-alist
+ "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, Sorbian (upper and lower),
+ and Swedish."))
+ '("European"))
+
+(set-language-info-alist
+ "Croatian" '((charset ascii latin-iso8859-2)
+	      (coding-system iso-8859-2)
+	      (coding-priority iso-8859-2)
+	      (tutorial . "TUTORIAL.hr")
+	      (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, Sorbian (upper and lower),
+ and Swedish."))
+ '("European"))
+
+(set-language-info-alist
+ "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, Sorbian (upper and lower),
+ and Swedish."))
+ '("European"))
+
+;; Romanian support originally from romanian.el
+
+(defun setup-romanian-environment ()
+  "Setup multilingual environment (MULE) for Romanian."
+  (interactive)
+  (set-language-environment "Romanian"))
+
+(set-language-info-alist
+ "Romanian" '((charset ascii latin-iso8859-2)
+	      (coding-system iso-8859-2)
+	      (coding-priority iso-8859-2)
+	      (input-method . "latin-2-postfix")
+	      (tutorial . "TUTORIAL.ro")
+	      (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 <pdm@fi.muni.cz>
+;; Maintainer(for XEmacs): David Sauer <davids@penguin.cz>
+
+(defun setup-czech-environment ()
+  "Set up multilingual environment (MULE) for czech users."
+  (interactive)
+  (set-language-environment "Czech"))
+
+(set-language-info-alist
+ "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)
+
+;; (make-coding-system
+;;  'iso-latin-3 2 ?3
+;;  "ISO 2022 based 8-bit encoding (MIME:ISO-8859-3)"
+;;  '(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)
+
+(make-coding-system
+ 'iso-8859-3 'iso2022 "MIME ISO-8859-3"
+ '(charset-g0 ascii
+   charset-g1 latin-iso8859-3
+   charset-g2 t
+   charset-g3 t
+   mnemonic "MIME/Ltn-3"
+   ))
+
+(defun setup-latin3-environment ()
+  "Set up multilingual environment (MULE) for European Latin-3 users."
+  (interactive)
+  (set-language-environment "Latin-3"))
+
+(set-language-info-alist
+ "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."))
+ '("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 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)
+
+(make-coding-system
+ 'iso-8859-4 'iso2022 "MIME ISO-8859-4"
+ '(charset-g0 ascii
+   charset-g1 latin-iso8859-4
+   charset-g2 t
+   charset-g3 t
+   mnemonic "MIME/Ltn-4"
+   ))
+
+(defun setup-latin4-environment ()
+  "Set up multilingual environment (MULE) for European Latin-4 users."
+  (interactive)
+  (set-language-environment "Latin-4"))
+
+(set-language-info-alist
+ "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."))
+ '("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 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)
+
+(make-coding-system
+ 'iso-8859-9 'iso2022 "MIME ISO-8859-9"
+ '(charset-g0 ascii
+   charset-g1 latin-iso8859-9
+   charset-g2 t
+   charset-g3 t
+   mnemonic "MIME/Ltn-5"
+   ))
+
+(defun setup-latin5-environment ()
+  "Set up multilingual environment (MULE) for European Latin-5 users."
+  (interactive)
+  (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
+ "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