/[emacs]/emacs/lisp/language/european.el
ViewVC logotype

Diff of /emacs/lisp/language/european.el

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.69 by eliz, Thu Dec 27 11:26:56 2001 UTC revision 1.69.2.1 by handa, Fri Mar 1 02:28:29 2002 UTC
# Line 32  Line 32 
32    
33  ;; Latin-1 (ISO-8859-1)  ;; Latin-1 (ISO-8859-1)
34    
 (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)  
   
35  (set-language-info-alist  (set-language-info-alist
36   "Latin-1" '((charset ascii latin-iso8859-1)   "Latin-1" '((charset iso-8859-1)
37               (coding-system iso-latin-1)               (coding-system iso-latin-1)
38               (coding-priority iso-latin-1)               (coding-priority iso-latin-1)
39               (nonascii-translation . latin-iso8859-1)               (nonascii-translation . iso-8859-1)
40               (unibyte-syntax . "latin-1")               (unibyte-syntax . "latin-1")
41               (unibyte-display . iso-latin-1)               (unibyte-display . iso-latin-1)
42               (input-method . "latin-1-prefix")               (input-method . "latin-1-prefix")
# Line 74  Indonesian/Malay, Tagalog (Philippines), Line 63  Indonesian/Malay, Tagalog (Philippines),
63    
64  ;; Latin-2 (ISO-8859-2)  ;; Latin-2 (ISO-8859-2)
65    
66  (make-coding-system  (define-coding-system 'iso-latin-2
67   'iso-latin-2 2 ?2     "ISO 2022 based 8-bit encoding for Latin-2 (MIME:ISO-8859-2)."
68   "ISO 2022 based 8-bit encoding for Latin-2 (MIME:ISO-8859-2)."    :coding-type 'charset
69   '(ascii latin-iso8859-2 nil nil    :mnemonic ?2
70     nil nil nil nil nil nil nil)    :charset-list '(iso-8859-2)
71   '((safe-charsets ascii latin-iso8859-2)    :plist '(mime-charset iso-8859-2))
    (mime-charset . iso-8859-2)))  
72    
73  (define-coding-system-alias 'iso-8859-2 'iso-latin-2)  (define-coding-system-alias 'iso-8859-2 'iso-latin-2)
74  (define-coding-system-alias 'latin-2 'iso-latin-2)  (define-coding-system-alias 'latin-2 'iso-latin-2)
75    
76  (set-language-info-alist  (set-language-info-alist
77   "Latin-2" '((charset ascii latin-iso8859-2)   "Latin-2" '((charset iso-8859-2)
78               (coding-system iso-latin-2)               (coding-system iso-latin-2)
79               (coding-priority iso-latin-2)               (coding-priority iso-latin-2)
80               (nonascii-translation . latin-iso8859-2)               (nonascii-translation . iso-8859-2)
81               (unibyte-syntax . "latin-2")               (unibyte-syntax . "latin-2")
82               (unibyte-display . iso-latin-2)               (unibyte-display . iso-latin-2)
83               (input-method . "latin-2-prefix")               (input-method . "latin-2-prefix")
# Line 108  We also have specific language environme Line 96  We also have specific language environme
96    
97  ;; Latin-3 (ISO-8859-3)  ;; Latin-3 (ISO-8859-3)
98    
99  (make-coding-system  (define-coding-system 'iso-latin-3
100   'iso-latin-3 2 ?3    "ISO 2022 based 8-bit encoding for Latin-3 (MIME:ISO-8859-3)."
101   "ISO 2022 based 8-bit encoding for Latin-3 (MIME:ISO-8859-3)."    :coding-type 'charset
102   '(ascii latin-iso8859-3 nil nil    :mnemonic ?3
103     nil nil nil nil nil nil nil)    :charset-list '(iso-8859-3)
104   '((safe-charsets ascii latin-iso8859-3)    :plist '(mime-charset iso-8859-3))
    (mime-charset . iso-8859-3)))  
105    
106  (define-coding-system-alias 'iso-8859-3 'iso-latin-3)  (define-coding-system-alias 'iso-8859-3 'iso-latin-3)
107  (define-coding-system-alias 'latin-3 'iso-latin-3)  (define-coding-system-alias 'latin-3 'iso-latin-3)
108    
109  (set-language-info-alist  (set-language-info-alist
110   "Latin-3" '((charset ascii latin-iso8859-3)   "Latin-3" '((charset iso-8859-3)
111               (coding-system iso-latin-3)               (coding-system iso-latin-3)
112               (coding-priority iso-latin-3)               (coding-priority iso-latin-3)
113               (nonascii-translation . latin-iso8859-3)               (nonascii-translation . iso-8859-3)
114               (unibyte-syntax . "latin-3")               (unibyte-syntax . "latin-3")
115               (unibyte-display . iso-latin-3)               (unibyte-display . iso-latin-3)
116               (input-method . "latin-3-prefix")               (input-method . "latin-3-prefix")
# Line 136  These languages are supported with the L Line 123  These languages are supported with the L
123    
124  ;; Latin-4 (ISO-8859-4)  ;; Latin-4 (ISO-8859-4)
125    
126  (make-coding-system  (define-coding-system 'iso-latin-4
127   'iso-latin-4 2 ?4    "ISO 2022 based 8-bit encoding for Latin-4 (MIME:ISO-8859-4)."
128   "ISO 2022 based 8-bit encoding for Latin-4 (MIME:ISO-8859-4)."    :coding-type 'charset
129   '(ascii latin-iso8859-4 nil nil    :mnemonic ?4
130     nil nil nil nil nil nil nil)    :charset-list '(iso-8859-4)
131   '((safe-charsets ascii latin-iso8859-4)    :plist '(mime-charset iso-8859-4))
    (mime-charset . iso-8859-4)))  
132    
133  (define-coding-system-alias 'iso-8859-4 'iso-latin-4)  (define-coding-system-alias 'iso-8859-4 'iso-latin-4)
134  (define-coding-system-alias 'latin-4 'iso-latin-4)  (define-coding-system-alias 'latin-4 'iso-latin-4)
135    
136  (set-language-info-alist  (set-language-info-alist
137   "Latin-4" '((charset ascii latin-iso8859-4)   "Latin-4" '((charset iso-8859-4)
138               (coding-system iso-8859-4)               (coding-system iso-8859-4)
139               (coding-priority iso-8859-4)               (coding-priority iso-8859-4)
140               (nonascii-translation . latin-iso8859-4)               (nonascii-translation . iso-8859-4)
141               (unibyte-syntax . "latin-4")               (unibyte-syntax . "latin-4")
142               (unibyte-display . iso-8859-4)               (unibyte-display . iso-8859-4)
143               (input-method . "latin-4-postfix")               (input-method . "latin-4-postfix")
# Line 164  These languages are supported with the L Line 150  These languages are supported with the L
150    
151  ;; Latin-5 (ISO-8859-9)  ;; Latin-5 (ISO-8859-9)
152    
153  (make-coding-system  (define-coding-system 'iso-latin-5
154   'iso-latin-5 2 ?9    "ISO 2022 based 8-bit encoding for Latin-5 (MIME:ISO-8859-9)."
155   "ISO 2022 based 8-bit encoding for Latin-5 (MIME:ISO-8859-9)."    :coding-type 'charset
156   '(ascii latin-iso8859-9 nil nil    :mnemonic ?9
157     nil nil nil nil nil nil nil)    :charset-list '(iso-8859-9)
158   '((safe-charsets ascii latin-iso8859-9)    :plist '(mime-charset iso-8859-9))
    (mime-charset . iso-8859-9)))  
159    
160  (define-coding-system-alias 'iso-8859-9 'iso-latin-5)  (define-coding-system-alias 'iso-8859-9 'iso-latin-5)
161  (define-coding-system-alias 'latin-5 'iso-latin-5)  (define-coding-system-alias 'latin-5 'iso-latin-5)
162    
163  (set-language-info-alist  (set-language-info-alist
164   "Latin-5" '((charset ascii latin-iso8859-9)   "Latin-5" '((charset iso-8859-9)
165               (coding-system iso-latin-5)               (coding-system iso-latin-5)
166               (coding-priority iso-latin-5)               (coding-priority iso-latin-5)
167               (nonascii-translation . latin-iso8859-9)               (nonascii-translation . iso-8859-9)
168               (unibyte-syntax . "latin-5")               (unibyte-syntax . "latin-5")
169               (unibyte-display . iso-latin-5)               (unibyte-display . iso-latin-5)
170               (input-method . "latin-5-postfix")               (input-method . "latin-5-postfix")
# Line 189  These languages are supported with the L Line 174  These languages are supported with the L
174    
175  ;; Latin-8 (ISO-8859-14)  ;; Latin-8 (ISO-8859-14)
176    
177  (make-coding-system  (define-coding-system 'iso-latin-8
178   'iso-latin-8 2 ?W                      ; `W' for `Welsh', since `C'    "ISO 2022 based 8-bit encoding for Latin-8 (MIME:ISO-8859-14)."
179                                          ; for `Celtic' is taken.    :coding-type 'charset
180   "ISO 2022 based 8-bit encoding for Latin-8 (MIME:ISO-8859-14)."    ;; `W' for `Welsh', since `C' for `Celtic' is taken.
181   '(ascii latin-iso8859-14 nil nil    :mnemonic ?W                          
182     nil nil nil nil nil nil nil nil nil nil nil nil t)    :charset-list '(iso-8859-14)
183   '((safe-charsets ascii latin-iso8859-14)    :plist '(mime-charset iso-8859-14))
    (mime-charset . iso-8859-14)))  
184    
185  (define-coding-system-alias 'iso-8859-14 'iso-latin-8)  (define-coding-system-alias 'iso-8859-14 'iso-latin-8)
186  (define-coding-system-alias 'latin-8 'iso-latin-8)  (define-coding-system-alias 'latin-8 'iso-latin-8)
187    
188  (set-language-info-alist  (set-language-info-alist
189   "Latin-8" '((charset ascii latin-iso8859-14)   "Latin-8" '((charset iso-8859-14)
190               (coding-system iso-latin-8)               (coding-system iso-latin-8)
191               (coding-priority iso-latin-8)               (coding-priority iso-latin-8)
192               (nonascii-translation . latin-iso8859-14)               (nonascii-translation . iso-8859-14)
193               (unibyte-syntax . "latin-8")               (unibyte-syntax . "latin-8")
194               (unibyte-display . iso-latin-8)               (unibyte-display . iso-latin-8)
195               (input-method . "latin-8-prefix")               (input-method . "latin-8-prefix")
# Line 220  covered by other ISO-8859 character sets Line 204  covered by other ISO-8859 character sets
204    
205  ;; Latin-9 (ISO-8859-15)  ;; Latin-9 (ISO-8859-15)
206    
207  (make-coding-system  (define-coding-system 'iso-latin-9
208   'iso-latin-9 2 ?0                      ; `0' for `Latin-0'    "ISO 2022 based 8-bit encoding for Latin-9 (MIME:ISO-8859-15)."
209   "ISO 2022 based 8-bit encoding for Latin-9 (MIME:ISO-8859-15)."    :coding-type 'charset
210   '(ascii latin-iso8859-15 nil nil    ;; `0' for `Latin-0'
211     nil nil nil nil nil nil nil nil nil nil nil nil t)    :mnemonic ?0
212   '((safe-charsets ascii latin-iso8859-15)    :charset-list '(iso-8859-15)
213     (mime-charset . iso-8859-15)))    :plist '(mime-charset iso-8859-15))
214    
215  (define-coding-system-alias 'iso-8859-15 'iso-latin-9)  (define-coding-system-alias 'iso-8859-15 'iso-latin-9)
216  (define-coding-system-alias 'latin-9 'iso-latin-9)  (define-coding-system-alias 'latin-9 'iso-latin-9)
217  (define-coding-system-alias 'latin-0 'iso-latin-9)  (define-coding-system-alias 'latin-0 'iso-latin-9)
218    
219  (set-language-info-alist  (set-language-info-alist
220   "Latin-9" '((charset ascii latin-iso8859-15)   "Latin-9" '((charset iso-8859-15)
221               (coding-system iso-latin-9)               (coding-system iso-latin-9)
222               (coding-priority iso-latin-9)               (coding-priority iso-latin-9)
223               (nonascii-translation . latin-iso8859-15)               (nonascii-translation . iso-8859-15)
224               (unibyte-syntax . "latin-9")               (unibyte-syntax . "latin-9")
225               (unibyte-display . iso-latin-9)               (unibyte-display . iso-latin-9)
226               (input-method . "latin-9-prefix")               (input-method . "latin-9-prefix")
# Line 251  Latin-9 is sometimes nicknamed `Latin-0' Line 235  Latin-9 is sometimes nicknamed `Latin-0'
235    
236  (set-language-info-alist  (set-language-info-alist
237   "German" '((tutorial . "TUTORIAL.de")   "German" '((tutorial . "TUTORIAL.de")
238              (charset ascii latin-iso8859-1)              (charset iso-8859-1)
239              (coding-system iso-latin-1)              (coding-system iso-latin-1)
240              (coding-priority iso-latin-1)              (coding-priority iso-latin-1)
241                (nonascii-translation . iso-8859-1)
242              (input-method . "german-postfix")              (input-method . "german-postfix")
             (nonascii-translation . iso-latin-1)  
243              (unibyte-syntax . "latin-1")              (unibyte-syntax . "latin-1")
244              (unibyte-display . iso-latin-1)              (unibyte-display . iso-latin-1)
245              (sample-text . "\              (sample-text . "\
# Line 269  Additionally, it selects the German tuto Line 253  Additionally, it selects the German tuto
253    
254  (set-language-info-alist  (set-language-info-alist
255   "French" '((tutorial . "TUTORIAL.fr")   "French" '((tutorial . "TUTORIAL.fr")
256              (charset ascii latin-iso8859-1)              (charset iso-8859-1)
257              (coding-system iso-latin-1)              (coding-system iso-latin-1)
258              (coding-priority iso-latin-1)              (coding-priority iso-latin-1)
259              (nonascii-translation . latin-iso8859-1)              (nonascii-translation . iso-8859-1)
260              (unibyte-syntax . "latin-1")              (unibyte-syntax . "latin-1")
261              (unibyte-display . iso-latin-1)              (unibyte-display . iso-latin-1)
262              (input-method . "latin-1-prefix")              (input-method . "latin-1-prefix")
# Line 283  but it selects the French tutorial.")) Line 267  but it selects the French tutorial."))
267   '("European"))   '("European"))
268    
269  (set-language-info-alist  (set-language-info-alist
270   "Slovenian" '((charset . (ascii latin-iso8859-2))   "Slovenian" '((charset iso-8859-2)
271                (coding-system . (iso-8859-2))                (coding-system . (iso-8859-2))
272                (coding-priority . (iso-8859-2))                (coding-priority . (iso-8859-2))
273                (nonascii-translation . latin-iso8859-2)                (nonascii-translation . iso-8859-2)
274                (input-method . "latin-2-postfix")                (input-method . "latin-2-postfix")
275                (unibyte-syntax . "latin-2")                (unibyte-syntax . "latin-2")
276                (unibyte-display . iso-8859-2)                (unibyte-display . iso-8859-2)
# Line 297  but it selects the French tutorial.")) Line 281  but it selects the French tutorial."))
281    
282  (set-language-info-alist  (set-language-info-alist
283   "Spanish" '((tutorial . "TUTORIAL.es")   "Spanish" '((tutorial . "TUTORIAL.es")
284              (charset ascii latin-iso8859-1)              (charset iso-8859-1)
285              (coding-system iso-latin-1)              (coding-system iso-latin-1)
286              (coding-priority iso-latin-1)              (coding-priority iso-latin-1)
287                (nonascii-translation . iso-8859-1)
288              (input-method . "spanish-postfix")              (input-method . "spanish-postfix")
             (nonascii-translation . iso-latin-1)  
289              (unibyte-syntax . "latin-1")              (unibyte-syntax . "latin-1")
290              (unibyte-display . iso-latin-1)              (unibyte-display . iso-latin-1)
291              (sample-text . "Spanish (Espa,Aq(Bol)     ,A!(BHola!")              (sample-text . "Spanish (Espa,Aq(Bol)     ,A!(BHola!")
# Line 313  and it selects the Spanish tutorial.")) Line 297  and it selects the Spanish tutorial."))
297    
298  (set-language-info-alist  (set-language-info-alist
299   "Dutch" '((tutorial . "TUTORIAL.nl")   "Dutch" '((tutorial . "TUTORIAL.nl")
300             (charset ascii latin-iso8859-1)             (charset iso-8859-1)
301             (coding-system iso-latin-1)             (coding-system iso-latin-1)
302             (coding-priority iso-latin-1)             (coding-priority iso-latin-1)
303             (nonascii-translation . iso-latin-1)             (nonascii-translation . iso-8859-1)
304             (unibyte-syntax . "latin-1")             (unibyte-syntax . "latin-1")
305             (unibyte-display . iso-latin-1)             (unibyte-display . iso-latin-1)
306             (sample-text . "Er is een aantal manieren waarop je dit kan doen")             (sample-text . "Er is een aantal manieren waarop je dit kan doen")
# Line 331  but it selects the Dutch tutorial.")) Line 315  but it selects the Dutch tutorial."))
315  ;; "Latin-3" language environment.  ;; "Latin-3" language environment.
316    
317  (set-language-info-alist  (set-language-info-alist
318   "Turkish" '((charset ascii latin-iso8859-9)   "Turkish" '((charset iso-8859-9)
319               (coding-system iso-latin-5)               (coding-system iso-latin-5)
320               (coding-priority iso-latin-5)               (coding-priority iso-latin-5)
321               (nonascii-translation . latin-iso8859-9)               (nonascii-translation . iso-8859-9)
322               (unibyte-syntax . "latin-5")               (unibyte-syntax . "latin-5")
323               (unibyte-display . iso-latin-5)               (unibyte-display . iso-latin-5)
324               (input-method . "turkish-postfix")               (input-method . "turkish-postfix")
# Line 346  but it selects the Dutch tutorial.")) Line 330  but it selects the Dutch tutorial."))
330  ;; Keywords: multilingual, Polish  ;; Keywords: multilingual, Polish
331    
332  (set-language-info-alist  (set-language-info-alist
333   "Polish" '((charset . (ascii latin-iso8859-2))   "Polish" '((charset . (iso-8859-2))
334             (coding-system . (iso-8859-2))             (coding-system . (iso-8859-2))
335             (coding-priority . (iso-8859-2))             (coding-priority . (iso-8859-2))
336               (nonascii-translation . iso-8859-2)
337             (input-method . "polish-slash")             (input-method . "polish-slash")
            (nonascii-translation . latin-iso8859-2)  
338             (unibyte-syntax . "latin-2")             (unibyte-syntax . "latin-2")
339             (unibyte-display . iso-8859-2)             (unibyte-display . iso-8859-2)
340             (tutorial . "TUTORIAL.pl")             (tutorial . "TUTORIAL.pl")
# Line 361  but it selects the Dutch tutorial.")) Line 345  but it selects the Dutch tutorial."))
345  (set-language-info-alist  (set-language-info-alist
346   "Welsh" `((coding-system utf-8 latin-8) ; the input method is Unicode-based   "Welsh" `((coding-system utf-8 latin-8) ; the input method is Unicode-based
347             (coding-priority utf-8 latin-8)             (coding-priority utf-8 latin-8)
348               (nonascii-translation . iso-8859-14)
349             (input-method . "welsh")             (input-method . "welsh")
350             (documentation . "Support for Welsh, using Unicode."))             (documentation . "Support for Welsh, using Unicode."))
351   '("European"))   '("European"))
# Line 368  but it selects the Dutch tutorial.")) Line 353  but it selects the Dutch tutorial."))
353  (set-language-info-alist  (set-language-info-alist
354   "Latin-7" `((coding-system latin-7)   "Latin-7" `((coding-system latin-7)
355               (coding-priority latin-7)               (coding-priority latin-7)
356                 (nonascii-translation . iso-8859-13)
357               ;; Fixme: input-method               ;; Fixme: input-method
358               (features code-pages)               (features code-pages)
359               (documentation . "Support for Latin-7, e.g. Latvian, Lithuanian."))               (documentation . "Support for Latin-7, e.g. Latvian, Lithuanian."))
# Line 376  but it selects the Dutch tutorial.")) Line 362  but it selects the Dutch tutorial."))
362  (set-language-info-alist  (set-language-info-alist
363   "Lithuanian" `((coding-system latin-7)   "Lithuanian" `((coding-system latin-7)
364                  (coding-priority latin-7)                  (coding-priority latin-7)
365                    (nonascii-translation . iso-8859-13)
366                  (input-method . "lithuanian-keyboard")                  (input-method . "lithuanian-keyboard")
367                  (features code-pages)                  (features code-pages)
368                  (documentation . "Support for Lithuanian."))                  (documentation . "Support for Lithuanian."))
# Line 384  but it selects the Dutch tutorial.")) Line 371  but it selects the Dutch tutorial."))
371  (set-language-info-alist  (set-language-info-alist
372   "Latvian" `((coding-system latin-7)   "Latvian" `((coding-system latin-7)
373               (coding-priority latin-7)               (coding-priority latin-7)
374                 (nonascii-translation . iso-8859-13)
375               (input-method . "latvian-keyboard")               (input-method . "latvian-keyboard")
376               (features code-pages)               (features code-pages)
377               (documentation . "Support for Latvian."))               (documentation . "Support for Latvian."))
378   '("European"))   '("European"))
379    
380    
381  ;; Definitions for the Mac Roman character sets and coding system.  (define-coding-system 'mac-roman
382  ;; The Mac Roman encoding uses all 128 code points in the range 128 to    "Mac Roman Encoding (MIME:MACINTOSH)."
383  ;; 255 for actual characters.  Emacs decodes them to one of the    :coding-type 'charset
384  ;; following character sets.    :mnemonic ?M
385  ;;      ascii, latin-iso8859-1, mule-unicode-0100-24ff,    :charset-list '(mac-roman)
386  ;;      mule-unicode-2500-33ff, mule-unicode-e000-ffff    ;; per IANA, rfc1345
387      :mime-charset 'macintosh)
 (let  
     ((encoding-vector (make-vector 256 nil))  
      (i 0)  
      (vec       ;; mac-roman (128..255) -> UCS mapping  
       [ #x00C4  ;; 128:LATIN CAPITAL LETTER A WITH DIAERESIS  
         #x00C5  ;; 129:LATIN CAPITAL LETTER A WITH RING ABOVE  
         #x00C7  ;; 130:LATIN CAPITAL LETTER C WITH CEDILLA  
         #x00C9  ;; 131:LATIN CAPITAL LETTER E WITH ACUTE  
         #x00D1  ;; 132:LATIN CAPITAL LETTER N WITH TILDE  
         #x00D6  ;; 133:LATIN CAPITAL LETTER O WITH DIAERESIS  
         #x00DC  ;; 134:LATIN CAPITAL LETTER U WITH DIAERESIS  
         #x00E1  ;; 135:LATIN SMALL LETTER A WITH ACUTE  
         #x00E0  ;; 136:LATIN SMALL LETTER A WITH GRAVE  
         #x00E2  ;; 137:LATIN SMALL LETTER A WITH CIRCUMFLEX  
         #x00E4  ;; 138:LATIN SMALL LETTER A WITH DIAERESIS  
         #x00E3  ;; 139:LATIN SMALL LETTER A WITH TILDE  
         #x00E5  ;; 140:LATIN SMALL LETTER A WITH RING ABOVE  
         #x00E7  ;; 141:LATIN SMALL LETTER C WITH CEDILLA  
         #x00E9  ;; 142:LATIN SMALL LETTER E WITH ACUTE  
         #x00E8  ;; 143:LATIN SMALL LETTER E WITH GRAVE  
         #x00EA  ;; 144:LATIN SMALL LETTER E WITH CIRCUMFLEX  
         #x00EB  ;; 145:LATIN SMALL LETTER E WITH DIAERESIS  
         #x00ED  ;; 146:LATIN SMALL LETTER I WITH ACUTE  
         #x00EC  ;; 147:LATIN SMALL LETTER I WITH GRAVE  
         #x00EE  ;; 148:LATIN SMALL LETTER I WITH CIRCUMFLEX  
         #x00EF  ;; 149:LATIN SMALL LETTER I WITH DIAERESIS  
         #x00F1  ;; 150:LATIN SMALL LETTER N WITH TILDE  
         #x00F3  ;; 151:LATIN SMALL LETTER O WITH ACUTE  
         #x00F2  ;; 152:LATIN SMALL LETTER O WITH GRAVE  
         #x00F4  ;; 153:LATIN SMALL LETTER O WITH CIRCUMFLEX  
         #x00F6  ;; 154:LATIN SMALL LETTER O WITH DIAERESIS  
         #x00F5  ;; 155:LATIN SMALL LETTER O WITH TILDE  
         #x00FA  ;; 156:LATIN SMALL LETTER U WITH ACUTE  
         #x00F9  ;; 157:LATIN SMALL LETTER U WITH GRAVE  
         #x00FB  ;; 158:LATIN SMALL LETTER U WITH CIRCUMFLEX  
         #x00FC  ;; 159:LATIN SMALL LETTER U WITH DIAERESIS  
         #x2020  ;; 160:DAGGER  
         #x00B0  ;; 161:DEGREE SIGN  
         #x00A2  ;; 162:CENT SIGN  
         #x00A3  ;; 163:POUND SIGN  
         #x00A7  ;; 164:SECTION SIGN  
         #x2022  ;; 165:BULLET  
         #x00B6  ;; 166:PILCROW SIGN  
         #x00DF  ;; 167:LATIN SMALL LETTER SHARP S  
         #x00AE  ;; 168:REGISTERED SIGN  
         #x00A9  ;; 169:COPYRIGHT SIGN  
         #x2122  ;; 170:TRADE MARK SIGN  
         #x00B4  ;; 171:ACUTE ACCENT  
         #x00A8  ;; 172:DIAERESIS  
         #x2260  ;; 173:NOT EQUAL TO  
         #x00C6  ;; 174:LATIN CAPITAL LETTER AE  
         #x00D8  ;; 175:LATIN CAPITAL LETTER O WITH STROKE  
         #x221E  ;; 176:INFINITY  
         #x00B1  ;; 177:PLUS-MINUS SIGN  
         #x2264  ;; 178:LESS-THAN OR EQUAL TO  
         #x2265  ;; 179:GREATER-THAN OR EQUAL TO  
         #x00A5  ;; 180:YEN SIGN  
         #x00B5  ;; 181:MICRO SIGN  
         #x2202  ;; 182:PARTIAL DIFFERENTIAL  
         #x2211  ;; 183:N-ARY SUMMATION  
         #x220F  ;; 184:N-ARY PRODUCT  
         #x03C0  ;; 185:GREEK SMALL LETTER PI  
         #x222B  ;; 186:INTEGRAL  
         #x00AA  ;; 187:FEMININE ORDINAL INDICATOR  
         #x00BA  ;; 188:MASCULINE ORDINAL INDICATOR  
         #x03A9  ;; 189:GREEK CAPITAL LETTER OMEGA  
         #x00E6  ;; 190:LATIN SMALL LETTER AE  
         #x00F8  ;; 191:LATIN SMALL LETTER O WITH STROKE  
         #x00BF  ;; 192:INVERTED QUESTION MARK  
         #x00A1  ;; 193:INVERTED EXCLAMATION MARK  
         #x00AC  ;; 194:NOT SIGN  
         #x221A  ;; 195:SQUARE ROOT  
         #x0192  ;; 196:LATIN SMALL LETTER F WITH HOOK  
         #x2248  ;; 197:ALMOST EQUAL TO  
         #x2206  ;; 198:INCREMENT  
         #x00AB  ;; 199:LEFT-POINTING DOUBLE ANGLE QUOTATION MARK  
         #x00BB  ;; 200:RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK  
         #x2026  ;; 201:HORIZONTAL ELLIPSIS  
         #x00A0  ;; 202:NO-BREAK SPACE  
         #x00C0  ;; 203:LATIN CAPITAL LETTER A WITH GRAVE  
         #x00C3  ;; 204:LATIN CAPITAL LETTER A WITH TILDE  
         #x00D5  ;; 205:LATIN CAPITAL LETTER O WITH TILDE  
         #x0152  ;; 206:LATIN CAPITAL LIGATURE OE  
         #x0153  ;; 207:LATIN SMALL LIGATURE OE  
         #x2013  ;; 208:EN DASH  
         #x2014  ;; 209:EM DASH  
         #x201C  ;; 210:LEFT DOUBLE QUOTATION MARK  
         #x201D  ;; 211:RIGHT DOUBLE QUOTATION MARK  
         #x2018  ;; 212:LEFT SINGLE QUOTATION MARK  
         #x2019  ;; 213:RIGHT SINGLE QUOTATION MARK  
         #x00F7  ;; 214:DIVISION SIGN  
         #x25CA  ;; 215:LOZENGE  
         #x00FF  ;; 216:LATIN SMALL LETTER Y WITH DIAERESIS  
         #x0178  ;; 217:LATIN CAPITAL LETTER Y WITH DIAERESIS  
         #x2044  ;; 218:FRACTION SLASH  
         #x20AC  ;; 219:EURO SIGN  
         #x2039  ;; 220:SINGLE LEFT-POINTING ANGLE QUOTATION MARK  
         #x203A  ;; 221:SINGLE RIGHT-POINTING ANGLE QUOTATION MARK  
         #xFB01  ;; 222:LATIN SMALL LIGATURE FI  
         #xFB02  ;; 223:LATIN SMALL LIGATURE FL  
         #x2021  ;; 224:DOUBLE DAGGER  
         #x00B7  ;; 225:MIDDLE DOT  
         #x201A  ;; 226:SINGLE LOW-9 QUOTATION MARK  
         #x201E  ;; 227:DOUBLE LOW-9 QUOTATION MARK  
         #x2030  ;; 228:PER MILLE SIGN  
         #x00C2  ;; 229:LATIN CAPITAL LETTER A WITH CIRCUMFLEX  
         #x00CA  ;; 230:LATIN CAPITAL LETTER E WITH CIRCUMFLEX  
         #x00C1  ;; 231:LATIN CAPITAL LETTER A WITH ACUTE  
         #x00CB  ;; 232:LATIN CAPITAL LETTER E WITH DIAERESIS  
         #x00C8  ;; 233:LATIN CAPITAL LETTER E WITH GRAVE  
         #x00CD  ;; 234:LATIN CAPITAL LETTER I WITH ACUTE  
         #x00CE  ;; 235:LATIN CAPITAL LETTER I WITH CIRCUMFLEX  
         #x00CF  ;; 236:LATIN CAPITAL LETTER I WITH DIAERESIS  
         #x00CC  ;; 237:LATIN CAPITAL LETTER I WITH GRAVE  
         #x00D3  ;; 238:LATIN CAPITAL LETTER O WITH ACUTE  
         #x00D4  ;; 239:LATIN CAPITAL LETTER O WITH CIRCUMFLEX  
         #xF8FF  ;; 240:Apple logo  
         #x00D2  ;; 241:LATIN CAPITAL LETTER O WITH GRAVE  
         #x00DA  ;; 242:LATIN CAPITAL LETTER U WITH ACUTE  
         #x00DB  ;; 243:LATIN CAPITAL LETTER U WITH CIRCUMFLEX  
         #x00D9  ;; 244:LATIN CAPITAL LETTER U WITH GRAVE  
         #x0131  ;; 245:LATIN SMALL LETTER DOTLESS I  
         #x02C6  ;; 246:MODIFIER LETTER CIRCUMFLEX ACCENT  
         #x02DC  ;; 247:SMALL TILDE  
         #x00AF  ;; 248:MACRON  
         #x02D8  ;; 249:BREVE  
         #x02D9  ;; 250:DOT ABOVE  
         #x02DA  ;; 251:RING ABOVE  
         #x00B8  ;; 252:CEDILLA  
         #x02DD  ;; 253:DOUBLE ACUTE ACCENT  
         #x02DB  ;; 254:OGONEK  
         #x02C7  ;; 255:CARON  
         ])  
      translation-table)  
   (while (< i 128)  
     (aset encoding-vector i i)  
     (setq i (1+ i)))  
   (while (< i 256)  
     (aset encoding-vector i  
           (decode-char 'ucs (aref vec (- i 128))))  
     (setq i (1+ i)))  
   (setq translation-table  
         (make-translation-table-from-vector encoding-vector))  
   (define-translation-table 'mac-roman-decoder translation-table)  
   (define-translation-table 'mac-roman-encoder  
     (char-table-extra-slot translation-table 0)))  
   
 (define-ccl-program decode-mac-roman  
   `(4  
     ((loop  
       (read r1)  
       (if (r1 < 128)  ;; ASCII  
           (r0 = ,(charset-id 'ascii))  
         (if (r1 < 160)  
             (r0 = ,(charset-id 'eight-bit-control))  
           (r0 = ,(charset-id 'eight-bit-graphic))))  
       (translate-character mac-roman-decoder r0 r1)  
       (write-multibyte-character r0 r1)  
       (repeat))))  
   "CCL program to decode Mac Roman")  
   
 (define-ccl-program encode-mac-roman  
   `(1  
     ((loop  
       (read-multibyte-character r0 r1)  
       (translate-character mac-roman-encoder r0 r1)  
       (write-repeat r1))))  
   "CCL program to encode Mac Roman")  
   
 (make-coding-system  
  'mac-roman 4 ?M  
  "Mac Roman Encoding (MIME:MACINTOSH)."  
  '(decode-mac-roman . encode-mac-roman)  
  '((safe-chars . mac-roman-encoder)  
    (valid-codes (0 . 255))  
    (mime-charset . macintosh)))         ; per IANA, rfc1345  
388    
389  (defconst diacritic-composition-pattern "\\C^\\c^+")  (defconst diacritic-composition-pattern "\\C^\\c^+")
390    
# Line 621  The return value is number of composed c Line 434  The return value is number of composed c
434  (let ((patterns '(("\\C^\\c^+" . diacritic-composition-function))))  (let ((patterns '(("\\C^\\c^+" . diacritic-composition-function))))
435    (let ((c #x300))    (let ((c #x300))
436      (while (<= c #x362)      (while (<= c #x362)
437        (aset composition-function-table (decode-char 'ucs c) patterns)        (aset composition-function-table (decode-char 'unicode c) patterns)
438        (setq c (1+ c)))        (setq c (1+ c)))
439      (setq c #x20d0)      (setq c #x20d0)
440      (while (<= c #x20e3)      (while (<= c #x20e3)
441        (aset composition-function-table (decode-char 'ucs c) patterns)        (aset composition-function-table (decode-char 'unicode c) patterns)
442        (setq c (1+ c)))))        (setq c (1+ c)))))
443    
444  (provide 'european)  (provide 'european)

Legend:
Removed from v.1.69  
changed lines
  Added in v.1.69.2.1

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26