annotate lisp/mule/greek.el @ 3749:f37a5923ceba

[xemacs-hg @ 2006-12-17 13:41:33 by aidan] Add case support for Cyrillic, change various syntax choices.
author aidan
date Sun, 17 Dec 2006 13:41:49 +0000
parents ed9fdfb69780
children 6b2ef948e140
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
502
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 428
diff changeset
1 ;;; greek.el --- Support for Greek -*- coding: iso-2022-7bit; -*-
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3 ;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4 ;; Licensed to the Free Software Foundation.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5 ;; Copyright (C) 1997 MORIOKA Tomohiko
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
6
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
7 ;; Keywords: multilingual, Greek
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
9 ;; This file is part of XEmacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
10
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
11 ;; XEmacs is free software; you can redistribute it and/or modify it
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
12 ;; under the terms of the GNU General Public License as published by
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
13 ;; the Free Software Foundation; either version 2, or (at your option)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
14 ;; any later version.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
15
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
16 ;; XEmacs is distributed in the hope that it will be useful, but
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
17 ;; WITHOUT ANY WARRANTY; without even the implied warranty of
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
19 ;; General Public License for more details.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
20
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
21 ;; You should have received a copy of the GNU General Public License
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
22 ;; along with XEmacs; see the file COPYING. If not, write to the Free
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
23 ;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
24 ;; 02111-1307, USA.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
25
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
26 ;;; Commentary:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
27
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
28 ;; For Greek, the character set ISO8859-7 is supported.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
29
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
30 ;;; Code:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
31
3748
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
32 (loop
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
33 for (upper lower)
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
34 in '((#xdb #xfb) ;; UPSILON WITH DIALYTIKA
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
35 (#xda #xfa) ;; IOTA WITH DIALYTIKA
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
36 (#xd9 #xf9) ;; OMEGA
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
37 (#xd8 #xf8) ;; PSI
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
38 (#xd7 #xf7) ;; CHI
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
39 (#xd6 #xf6) ;; PHI
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
40 (#xd5 #xf5) ;; UPSILON
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
41 (#xd4 #xf4) ;; TAU
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
42 (#xd3 #xf3) ;; SIGMA
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
43 (#xd1 #xf1) ;; RHO
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
44 (#xd0 #xf0) ;; PI
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
45 (#xcf #xef) ;; OMICRON
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
46 (#xce #xee) ;; XI
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
47 (#xcd #xed) ;; NU
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
48 (#xcc #xec) ;; MU
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
49 (#xcb #xeb) ;; LAMDA
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
50 (#xca #xea) ;; KAPPA
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
51 (#xc9 #xe9) ;; IOTA
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
52 (#xc8 #xe8) ;; THETA
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
53 (#xc7 #xe7) ;; ETA
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
54 (#xc6 #xe6) ;; ZETA
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
55 (#xc5 #xe5) ;; EPSILON
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
56 (#xc4 #xe4) ;; DELTA
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
57 (#xc3 #xe3) ;; GAMMA
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
58 (#xc2 #xe2) ;; BETA
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
59 (#xc1 #xe1) ;; ALPHA
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
60 (#xbf #xfe) ;; OMEGA WITH TONOS
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
61 (#xbe #xfd) ;; UPSILON WITH TONOS
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
62 (#xbc #xfc) ;; OMICRON WITH TONOS
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
63 (#xba #xdf) ;; IOTA WITH TONOS
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
64 (#xb9 #xde) ;; ETA WITH TONOS
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
65 (#xb8 #xdd) ;; EPSILON WITH TONOS
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
66 (#xb6 #xdc) ;; ALPHA WITH TONOS
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
67 (#xD3 #xF2)) ;; FINAL SIGMA
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
68 ;; No case mappings for:
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
69 ;;
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
70 ;; (#xE0 "GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS")
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
71 ;; (#xC0 "GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS")
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
72 ;;
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
73 with case-table = (standard-case-table)
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
74 do
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
75 (put-case-table-pair (make-char 'greek-iso8859-7 upper)
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
76 (make-char 'greek-iso8859-7 lower) case-table))
778
2923009caf47 [xemacs-hg @ 2002-03-16 10:38:59 by ben]
ben
parents: 771
diff changeset
77
3748
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
78 ;; Now, syntax.
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
79 (dolist (code '(#xA1 ;; LEFT SINGLE QUOTATION MARK
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
80 #xA2 ;; RIGHT SINGLE QUOTATION MARK
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
81 #xA3 ;; POUND SIGN
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
82 #xA6 ;; BROKEN BAR
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
83 #xA7 ;; SECTION SIGN
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
84 #xA8 ;; DIAERESIS
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
85 #xA9 ;; COPYRIGHT SIGN
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
86 #xAB ;; LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
87 #xAC ;; NOT SIGN
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
88 #xAD ;; SOFT HYPHEN
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
89 #xAF ;; HORIZONTAL BAR
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
90 #xB0 ;; DEGREE SIGN
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
91 #xB1 ;; PLUS-MINUS SIGN
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
92 #xB7 ;; MIDDLE DOT
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
93 #xBB)) ;; RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
94 (modify-syntax-entry (make-char 'greek-iso8859-7 code) "."))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
95
3748
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
96 ;; NO-BREAK SPACE
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
97 (modify-syntax-entry (make-char 'greek-iso8859-7 #xA0) " ")
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
98
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
99 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
100 ;;; GREEK
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
101 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
102
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
103
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
104 (make-coding-system
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 502
diff changeset
105 'iso-8859-7 'iso2022 "ISO-8859-7 (Greek)"
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
106 '(charset-g0 ascii
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
107 charset-g1 greek-iso8859-7
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
108 charset-g2 t
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
109 charset-g3 t
3748
ed9fdfb69780 [xemacs-hg @ 2006-12-17 13:23:34 by aidan]
aidan
parents: 778
diff changeset
110 mnemonic "Grk"))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
111
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
112 (set-language-info-alist
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
113 "Greek" '((charset greek-iso8859-7)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
114 (coding-system iso-8859-7)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
115 (coding-priority iso-8859-7)
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 502
diff changeset
116 (locale "el_GR.iso88597" "el_GR.greek8" "el_GR" "greek" "el")
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
117 (input-method . "greek")
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 502
diff changeset
118 (sample-text . "Greek (,FGkk]mija(B) ,FCei\(B ,Fsar(B")
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
119 (documentation . t)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
120
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
121 ;;; greek.el ends here