Mercurial > hg > xemacs-beta
comparison lisp/mule/european.el @ 2765:4ee3cf8de81d
[xemacs-hg @ 2005-05-10 17:02:52 by aidan]
Add full syntax info for 8859-14, -15, -16
author | aidan |
---|---|
date | Tue, 10 May 2005 17:03:00 +0000 |
parents | c4235ee1f733 |
children | 98af8a976fc3 |
comparison
equal
deleted
inserted
replaced
2764:5ea65b8a540f | 2765:4ee3cf8de81d |
---|---|
143 graphic 1 | 143 graphic 1 |
144 short-name "RHP of Latin-10" | 144 short-name "RHP of Latin-10" |
145 long-name "RHP of Latin-10 (ISO 8859-16)" | 145 long-name "RHP of Latin-10 (ISO 8859-16)" |
146 )) | 146 )) |
147 | 147 |
148 (loop for c from 64 to 127 | 148 ;; Latin-1 is dealt with in iso8859-1.el, which see. |
149 | |
150 ;; ISO 8859-14. | |
151 ;; | |
152 ;; Initialise all characters to word syntax. | |
153 (loop for c from #xa0 to #xff | |
154 do (modify-syntax-entry (make-char 'latin-iso8859-14 c) "w")) | |
155 | |
156 ;; Now, the exceptions. There's just punctuation in this character set. | |
157 (dolist (code '(#xa0 ;; NO BREAK SPACE | |
158 #xa3 ;; POUND SIGN | |
159 #xa7 ;; SECTION SIGN | |
160 #xa9 ;; COPYRIGHT | |
161 #xad ;; SOFT HYPHEN | |
162 #xae ;; REGISTERED | |
163 #xb6)) ;; PILCROW SIGN | |
164 (modify-syntax-entry (make-char 'latin-iso8859-14 code) "_")) | |
165 ;; end of ISO 8859-14. | |
166 | |
167 ;; ISO 8859-16. | |
168 ;; | |
169 ;; Initialise all of iso-8859-16 to word syntax. | |
170 (loop for c from #xa0 to #xff | |
149 do (modify-syntax-entry (make-char 'latin-iso8859-16 c) "w")) | 171 do (modify-syntax-entry (make-char 'latin-iso8859-16 c) "w")) |
150 (mapc (lambda (c) | 172 |
151 (modify-syntax-entry (make-char 'latin-iso8859-16 c) "w")) | 173 ;; And then do the exceptions. First, the punctuation (following the model |
152 '(#xA1 #xA2 #xA3 #xA6 #xA8 #xAA #xAC #xAE #xAF | 174 ;; of Latin-1): |
153 #xB3 #xB4 #xB5 #xB8 #xB9 #xBA #xBC #xBD #xBE #xBF)) | 175 (dolist (code '(#xa0 ;; NO BREAK SPACE |
154 | 176 #xa4 ;; EURO SIGN |
155 | 177 #xa7 ;; SECTION SIGN |
156 ;; For syntax of Latin-1 characters. | 178 #xa9 ;; COPYRIGHT |
157 (loop for c from 64 to 127 ; from ',A@(B' to ',A(B' | 179 #xad ;; SOFT HYPHEN |
158 do (modify-syntax-entry (make-char 'latin-iso8859-1 c) "w")) | 180 #xb0 ;; DEGREE |
159 | 181 #xb1 ;; PLUS-MINUS SIGN |
160 (modify-syntax-entry (make-char 'latin-iso8859-1 32) "w") ; no-break space | 182 #xb6 ;; PILCROW SIGN |
161 (modify-syntax-entry ?,AW(B "_") | 183 #xb7)) ;; MIDDLE DOT |
162 (modify-syntax-entry ?,Aw(B "_") | 184 (modify-syntax-entry (make-char 'latin-iso8859-16 code) "_")) |
163 | 185 |
164 ;; For syntax of Latin-9 characters. | 186 ;; Mark the DOUBLE LOW-9 QUOTATION MARK and its closing character as |
165 ;; Based on Latin-1 and differences from Jukka Korpela | 187 ;; quotation marks. |
166 ;; http://www.cs.tut.fi/~jkorpela/latin9.html | 188 (modify-syntax-entry (make-char 'latin-iso8859-16 #xa5) "\"") |
189 (modify-syntax-entry (make-char 'latin-iso8859-16 #xb5) "\"") | |
190 | |
191 ;; For some crazy reason--well, in truth, probably because Jamie never used | |
192 ;; them in anger--the guillemets have open- and close-parenthesis syntax in | |
193 ;; Latin 1. We will probably change that in the future; for the moment, I'm | |
194 ;; preserving it. | |
195 (modify-syntax-entry (make-char 'latin-iso8859-16 #xab) | |
196 (format "(%c" (make-char 'latin-iso8859-16 #xbb))) | |
197 (modify-syntax-entry (make-char 'latin-iso8859-16 #xbb) | |
198 (format ")%c" (make-char 'latin-iso8859-16 #xab))) | |
199 | |
200 ;; end of ISO 8859-16. | |
201 | |
202 ;; ISO 8859-15. | |
203 ;; | |
204 ;; Based on Latin-1 and differences therefrom. | |
205 ;; | |
206 ;; First, initialise the syntax from the corresponding Latin-1 characters. | |
207 (loop for c from #xa0 to #xff | |
208 do (modify-syntax-entry | |
209 (make-char 'latin-iso8859-15 c) | |
210 (string (char-syntax (make-char 'latin-iso8859-1 c))))) | |
211 ;; Now, the exceptions | |
167 (loop for c in '(?,b&(B ?,b((B ?,b4(B ?,b8(B ?,b<(B ?,b=(B ?,b>(B) | 212 (loop for c in '(?,b&(B ?,b((B ?,b4(B ?,b8(B ?,b<(B ?,b=(B ?,b>(B) |
168 do (modify-syntax-entry c "w")) | 213 do (modify-syntax-entry c "w")) |
169 | 214 |
170 (loop for c from 64 to 127 ; from ',b@(B' to ',b(B' | 215 ;; Again, perpetuating insanity with the guillemets. |
171 do (modify-syntax-entry (make-char 'latin-iso8859-1 c) "w")) | 216 (modify-syntax-entry (make-char 'latin-iso8859-16 #xab) |
172 | 217 (format "(%c" (make-char 'latin-iso8859-16 #xbb))) |
173 (modify-syntax-entry (make-char 'latin-iso8859-15 32) "w") ; no-break space | 218 (modify-syntax-entry (make-char 'latin-iso8859-16 #xbb) |
174 (modify-syntax-entry ?,bW(B "_") | 219 (format ")%c" (make-char 'latin-iso8859-16 #xab))) |
175 (modify-syntax-entry ?,bw(B "_") | 220 ;; end of ISO 8859-15. |
176 | 221 |
177 ;; For syntax of Latin-2 | 222 ;; For syntax of Latin-2 |
178 (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) | 223 (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) |
179 do (modify-syntax-entry c "w")) | 224 do (modify-syntax-entry c "w")) |
180 | 225 |