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