Mercurial > hg > xemacs-beta
comparison lisp/mule/arabic.el @ 4491:d402d7b18bd8
Revamp the Arabic support. Create greek-iso-8bit-with-esc, arabic-iso-8bit-with-esc.
src/ChangeLog addition:
2008-08-05 Aidan Kehoe <kehoea@parhasard.net>
* mule-charset.c (complex_vars_of_mule_charset):
Remove Vcharset_arabic_iso8859_7.
* lisp.h: Remove Vcharset_arabic_iso8859_7.
See commentary in lisp/mule/iso-with-esc.el for motivation.
lisp/ChangeLog addition:
2008-08-05 Aidan Kehoe <kehoea@parhasard.net>
* mule/iso-with-esc.el (greek-iso-8bit-with-esc):
(arabic-iso-8bit-with-esc):
Add these two here. Move the implementation of the
'arabic-iso8859-6 character set here, with commentary on why that
is reasonable.
* mule/arabic.el (iso-8859-6):
Add iso-8859-6, windows-1256 implementations using
make-8-bit-coding-system. Remove our non-standard Mule character
sets.
* unicode.el (load-unicode-tables): Remove Arabic since it's no
longer dumped.
* mule/mule-msw-init-late.el: Remove Arabic.
* mule/mule-category.el (predefined-category-list): Remove
Arabic.
etc/ChangeLog addition:
2008-08-05 Aidan Kehoe <kehoea@parhasard.net>
* HELLO: Encode the Arabic using UTF-8 sequences, not ISO-8859-6.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Tue, 05 Aug 2008 08:37:17 +0200 |
parents | 98af8a976fc3 |
children | e0a8715fdb1f |
comparison
equal
deleted
inserted
replaced
4488:6b0000935adc | 4491:d402d7b18bd8 |
---|---|
26 | 26 |
27 ;; Synched up with: Mule 2.3, FSF 21.1. | 27 ;; Synched up with: Mule 2.3, FSF 21.1. |
28 | 28 |
29 ;;; Code: | 29 ;;; Code: |
30 | 30 |
31 ; (make-charset 'arabic-iso8859-6 | 31 ;; See iso-with-esc.el for commentary on the ISO standard Arabic character |
32 ; "Right-Hand Part of Latin/Arabic Alphabet (ISO/IEC 8859-6): ISO-IR-127" | 32 ;; set. |
33 ; '(dimension | 33 |
34 ; 1 | 34 (make-8-bit-coding-system |
35 ; registry "ISO8859-6" | 35 'iso-8859-6 |
36 ; chars 96 | 36 '((#xA0 ?\u00A0) ;; NO-BREAK SPACE |
37 ; columns 1 | 37 (#xA4 ?\u00A4) ;; CURRENCY SIGN |
38 ; direction r2l | 38 (#xAC ?\u060C) ;; ARABIC COMMA |
39 ; final ?G | 39 (#xAD ?\u00AD) ;; SOFT HYPHEN |
40 ; graphic 1 | 40 (#xBB ?\u061B) ;; ARABIC SEMICOLON |
41 ; short-name "RHP of ISO8859/6" | 41 (#xBF ?\u061F) ;; ARABIC QUESTION MARK |
42 ; long-name "RHP of Arabic (ISO 8859-6): ISO-IR-127" | 42 (#xC1 ?\u0621) ;; ARABIC LETTER HAMZA |
43 ; )) | 43 (#xC2 ?\u0622) ;; ARABIC LETTER ALEF WITH MADDA ABOVE |
44 | 44 (#xC3 ?\u0623) ;; ARABIC LETTER ALEF WITH HAMZA ABOVE |
45 ;; For Arabic, we need three different types of character sets. | 45 (#xC4 ?\u0624) ;; ARABIC LETTER WAW WITH HAMZA ABOVE |
46 ;; Digits are of direction left-to-right and of width 1-column. | 46 (#xC5 ?\u0625) ;; ARABIC LETTER ALEF WITH HAMZA BELOW |
47 ;; Others are of direction right-to-left and of width 1-column or | 47 (#xC6 ?\u0626) ;; ARABIC LETTER YEH WITH HAMZA ABOVE |
48 ;; 2-column. | 48 (#xC7 ?\u0627) ;; ARABIC LETTER ALEF |
49 (make-charset 'arabic-digit "Arabic digit" | 49 (#xC8 ?\u0628) ;; ARABIC LETTER BEH |
50 '(dimension 1 | 50 (#xC9 ?\u0629) ;; ARABIC LETTER TEH MARBUTA |
51 registries ["MuleArabic-0"] | 51 (#xCA ?\u062A) ;; ARABIC LETTER TEH |
52 chars 94 | 52 (#xCB ?\u062B) ;; ARABIC LETTER THEH |
53 columns 1 | 53 (#xCC ?\u062C) ;; ARABIC LETTER JEEM |
54 direction l2r | 54 (#xCD ?\u062D) ;; ARABIC LETTER HAH |
55 final ?2 | 55 (#xCE ?\u062E) ;; ARABIC LETTER KHAH |
56 graphic 0 | 56 (#xCF ?\u062F) ;; ARABIC LETTER DAL |
57 short-name "Arabic digit" | 57 (#xD0 ?\u0630) ;; ARABIC LETTER THAL |
58 long-name "Arabic digit" | 58 (#xD1 ?\u0631) ;; ARABIC LETTER REH |
59 )) | 59 (#xD2 ?\u0632) ;; ARABIC LETTER ZAIN |
60 | 60 (#xD3 ?\u0633) ;; ARABIC LETTER SEEN |
61 (make-charset 'arabic-1-column "Arabic 1-column" | 61 (#xD4 ?\u0634) ;; ARABIC LETTER SHEEN |
62 '(dimension | 62 (#xD5 ?\u0635) ;; ARABIC LETTER SAD |
63 1 | 63 (#xD6 ?\u0636) ;; ARABIC LETTER DAD |
64 registries ["MuleArabic-1"] | 64 (#xD7 ?\u0637) ;; ARABIC LETTER TAH |
65 chars 94 | 65 (#xD8 ?\u0638) ;; ARABIC LETTER ZAH |
66 columns 1 | 66 (#xD9 ?\u0639) ;; ARABIC LETTER AIN |
67 direction r2l | 67 (#xDA ?\u063A) ;; ARABIC LETTER GHAIN |
68 final ?3 | 68 (#xE0 ?\u0640) ;; ARABIC TATWEEL |
69 graphic 0 | 69 (#xE1 ?\u0641) ;; ARABIC LETTER FEH |
70 short-name "Arabic 1-col" | 70 (#xE2 ?\u0642) ;; ARABIC LETTER QAF |
71 long-name "Arabic 1-column" | 71 (#xE3 ?\u0643) ;; ARABIC LETTER KAF |
72 )) | 72 (#xE4 ?\u0644) ;; ARABIC LETTER LAM |
73 | 73 (#xE5 ?\u0645) ;; ARABIC LETTER MEEM |
74 (make-charset 'arabic-2-column "Arabic 2-column" | 74 (#xE6 ?\u0646) ;; ARABIC LETTER NOON |
75 '(dimension | 75 (#xE7 ?\u0647) ;; ARABIC LETTER HEH |
76 1 | 76 (#xE8 ?\u0648) ;; ARABIC LETTER WAW |
77 registries ["MuleArabic-2"] | 77 (#xE9 ?\u0649) ;; ARABIC LETTER ALEF MAKSURA |
78 chars 94 | 78 (#xEA ?\u064A) ;; ARABIC LETTER YEH |
79 columns 2 | 79 (#xEB ?\u064B) ;; ARABIC FATHATAN |
80 direction r2l | 80 (#xEC ?\u064C) ;; ARABIC DAMMATAN |
81 final ?4 | 81 (#xED ?\u064D) ;; ARABIC KASRATAN |
82 graphic 0 | 82 (#xEE ?\u064E) ;; ARABIC FATHA |
83 short-name "Arabic 2-col" | 83 (#xEF ?\u064F) ;; ARABIC DAMMA |
84 long-name "Arabic 2-column" | 84 (#xF0 ?\u0650) ;; ARABIC KASRA |
85 )) | 85 (#xF1 ?\u0651) ;; ARABIC SHADDA |
86 | 86 (#xF2 ?\u0652)) ;; ARABIC SUKUN |
87 (make-coding-system 'iso-8859-6 'iso2022 | 87 "ISO 8859-6 (Arabic)" |
88 "ISO-8859-6 (Arabic)" | 88 '(mnemonic "ArISO")) |
89 '(charset-g0 ascii | 89 |
90 charset-g1 arabic-iso8859-6 | 90 (make-8-bit-coding-system |
91 charset-g2 t | 91 'windows-1256 |
92 charset-g3 t | 92 '((#x80 ?\u20AC) ;; EURO SIGN |
93 no-iso6429 t | 93 (#x81 ?\u067E) ;; ARABIC LETTER PEH |
94 mnemonic "MIME/Arbc" | 94 (#x82 ?\u201A) ;; SINGLE LOW-9 QUOTATION MARK |
95 )) | 95 (#x83 ?\u0192) ;; LATIN SMALL LETTER F WITH HOOK |
96 | 96 (#x84 ?\u201E) ;; DOUBLE LOW-9 QUOTATION MARK |
97 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 97 (#x85 ?\u2026) ;; HORIZONTAL ELLIPSIS |
98 ;;; ARABIC | 98 (#x86 ?\u2020) ;; DAGGER |
99 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 99 (#x87 ?\u2021) ;; DOUBLE DAGGER |
100 | 100 (#x88 ?\u02C6) ;; MODIFIER LETTER CIRCUMFLEX ACCENT |
101 ;; (define-language-environment 'arabic | 101 (#x89 ?\u2030) ;; PER MILLE SIGN |
102 ;; "Arabic" | 102 (#x8A ?\u0679) ;; ARABIC LETTER TTEH |
103 ;; (lambda () | 103 (#x8B ?\u2039) ;; SINGLE LEFT-POINTING ANGLE QUOTATION MARK |
104 ;; (require 'arabic))) | 104 (#x8C ?\u0152) ;; LATIN CAPITAL LIGATURE OE |
105 (#x8D ?\u0686) ;; ARABIC LETTER TCHEH | |
106 (#x8E ?\u0698) ;; ARABIC LETTER JEH | |
107 (#x8F ?\u0688) ;; ARABIC LETTER DDAL | |
108 (#x90 ?\u06AF) ;; ARABIC LETTER GAF | |
109 (#x91 ?\u2018) ;; LEFT SINGLE QUOTATION MARK | |
110 (#x92 ?\u2019) ;; RIGHT SINGLE QUOTATION MARK | |
111 (#x93 ?\u201C) ;; LEFT DOUBLE QUOTATION MARK | |
112 (#x94 ?\u201D) ;; RIGHT DOUBLE QUOTATION MARK | |
113 (#x95 ?\u2022) ;; BULLET | |
114 (#x96 ?\u2013) ;; EN DASH | |
115 (#x97 ?\u2014) ;; EM DASH | |
116 (#x98 ?\u06A9) ;; ARABIC LETTER KEHEH | |
117 (#x99 ?\u2122) ;; TRADE MARK SIGN | |
118 (#x9A ?\u0691) ;; ARABIC LETTER RREH | |
119 (#x9B ?\u203A) ;; SINGLE RIGHT-POINTING ANGLE QUOTATION MARK | |
120 (#x9C ?\u0153) ;; LATIN SMALL LIGATURE OE | |
121 (#x9D ?\u200C) ;; ZERO WIDTH NON-JOINER | |
122 (#x9E ?\u200D) ;; ZERO WIDTH JOINER | |
123 (#x9F ?\u06BA) ;; ARABIC LETTER NOON GHUNNA | |
124 (#xA0 ?\u00A0) ;; NO-BREAK SPACE | |
125 (#xA1 ?\u060C) ;; ARABIC COMMA | |
126 (#xA2 ?\u00A2) ;; CENT SIGN | |
127 (#xA3 ?\u00A3) ;; POUND SIGN | |
128 (#xA4 ?\u00A4) ;; CURRENCY SIGN | |
129 (#xA5 ?\u00A5) ;; YEN SIGN | |
130 (#xA6 ?\u00A6) ;; BROKEN BAR | |
131 (#xA7 ?\u00A7) ;; SECTION SIGN | |
132 (#xA8 ?\u00A8) ;; DIAERESIS | |
133 (#xA9 ?\u00A9) ;; COPYRIGHT SIGN | |
134 (#xAA ?\u06BE) ;; ARABIC LETTER HEH DOACHASHMEE | |
135 (#xAB ?\u00AB) ;; LEFT-POINTING DOUBLE ANGLE QUOTATION MARK | |
136 (#xAC ?\u00AC) ;; NOT SIGN | |
137 (#xAD ?\u00AD) ;; SOFT HYPHEN | |
138 (#xAE ?\u00AE) ;; REGISTERED SIGN | |
139 (#xAF ?\u00AF) ;; MACRON | |
140 (#xB0 ?\u00B0) ;; DEGREE SIGN | |
141 (#xB1 ?\u00B1) ;; PLUS-MINUS SIGN | |
142 (#xB2 ?\u00B2) ;; SUPERSCRIPT TWO | |
143 (#xB3 ?\u00B3) ;; SUPERSCRIPT THREE | |
144 (#xB4 ?\u00B4) ;; ACUTE ACCENT | |
145 (#xB5 ?\u00B5) ;; MICRO SIGN | |
146 (#xB6 ?\u00B6) ;; PILCROW SIGN | |
147 (#xB7 ?\u00B7) ;; MIDDLE DOT | |
148 (#xB8 ?\u00B8) ;; CEDILLA | |
149 (#xB9 ?\u00B9) ;; SUPERSCRIPT ONE | |
150 (#xBA ?\u061B) ;; ARABIC SEMICOLON | |
151 (#xBB ?\u00BB) ;; RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK | |
152 (#xBC ?\u00BC) ;; VULGAR FRACTION ONE QUARTER | |
153 (#xBD ?\u00BD) ;; VULGAR FRACTION ONE HALF | |
154 (#xBE ?\u00BE) ;; VULGAR FRACTION THREE QUARTERS | |
155 (#xBF ?\u061F) ;; ARABIC QUESTION MARK | |
156 (#xC0 ?\u06C1) ;; ARABIC LETTER HEH GOAL | |
157 (#xC1 ?\u0621) ;; ARABIC LETTER HAMZA | |
158 (#xC2 ?\u0622) ;; ARABIC LETTER ALEF WITH MADDA ABOVE | |
159 (#xC3 ?\u0623) ;; ARABIC LETTER ALEF WITH HAMZA ABOVE | |
160 (#xC4 ?\u0624) ;; ARABIC LETTER WAW WITH HAMZA ABOVE | |
161 (#xC5 ?\u0625) ;; ARABIC LETTER ALEF WITH HAMZA BELOW | |
162 (#xC6 ?\u0626) ;; ARABIC LETTER YEH WITH HAMZA ABOVE | |
163 (#xC7 ?\u0627) ;; ARABIC LETTER ALEF | |
164 (#xC8 ?\u0628) ;; ARABIC LETTER BEH | |
165 (#xC9 ?\u0629) ;; ARABIC LETTER TEH MARBUTA | |
166 (#xCA ?\u062A) ;; ARABIC LETTER TEH | |
167 (#xCB ?\u062B) ;; ARABIC LETTER THEH | |
168 (#xCC ?\u062C) ;; ARABIC LETTER JEEM | |
169 (#xCD ?\u062D) ;; ARABIC LETTER HAH | |
170 (#xCE ?\u062E) ;; ARABIC LETTER KHAH | |
171 (#xCF ?\u062F) ;; ARABIC LETTER DAL | |
172 (#xD0 ?\u0630) ;; ARABIC LETTER THAL | |
173 (#xD1 ?\u0631) ;; ARABIC LETTER REH | |
174 (#xD2 ?\u0632) ;; ARABIC LETTER ZAIN | |
175 (#xD3 ?\u0633) ;; ARABIC LETTER SEEN | |
176 (#xD4 ?\u0634) ;; ARABIC LETTER SHEEN | |
177 (#xD5 ?\u0635) ;; ARABIC LETTER SAD | |
178 (#xD6 ?\u0636) ;; ARABIC LETTER DAD | |
179 (#xD7 ?\u00D7) ;; MULTIPLICATION SIGN | |
180 (#xD8 ?\u0637) ;; ARABIC LETTER TAH | |
181 (#xD9 ?\u0638) ;; ARABIC LETTER ZAH | |
182 (#xDA ?\u0639) ;; ARABIC LETTER AIN | |
183 (#xDB ?\u063A) ;; ARABIC LETTER GHAIN | |
184 (#xDC ?\u0640) ;; ARABIC TATWEEL | |
185 (#xDD ?\u0641) ;; ARABIC LETTER FEH | |
186 (#xDE ?\u0642) ;; ARABIC LETTER QAF | |
187 (#xDF ?\u0643) ;; ARABIC LETTER KAF | |
188 (#xE0 ?\u00E0) ;; LATIN SMALL LETTER A WITH GRAVE | |
189 (#xE1 ?\u0644) ;; ARABIC LETTER LAM | |
190 (#xE2 ?\u00E2) ;; LATIN SMALL LETTER A WITH CIRCUMFLEX | |
191 (#xE3 ?\u0645) ;; ARABIC LETTER MEEM | |
192 (#xE4 ?\u0646) ;; ARABIC LETTER NOON | |
193 (#xE5 ?\u0647) ;; ARABIC LETTER HEH | |
194 (#xE6 ?\u0648) ;; ARABIC LETTER WAW | |
195 (#xE7 ?\u00E7) ;; LATIN SMALL LETTER C WITH CEDILLA | |
196 (#xE8 ?\u00E8) ;; LATIN SMALL LETTER E WITH GRAVE | |
197 (#xE9 ?\u00E9) ;; LATIN SMALL LETTER E WITH ACUTE | |
198 (#xEA ?\u00EA) ;; LATIN SMALL LETTER E WITH CIRCUMFLEX | |
199 (#xEB ?\u00EB) ;; LATIN SMALL LETTER E WITH DIAERESIS | |
200 (#xEC ?\u0649) ;; ARABIC LETTER ALEF MAKSURA | |
201 (#xED ?\u064A) ;; ARABIC LETTER YEH | |
202 (#xEE ?\u00EE) ;; LATIN SMALL LETTER I WITH CIRCUMFLEX | |
203 (#xEF ?\u00EF) ;; LATIN SMALL LETTER I WITH DIAERESIS | |
204 (#xF0 ?\u064B) ;; ARABIC FATHATAN | |
205 (#xF1 ?\u064C) ;; ARABIC DAMMATAN | |
206 (#xF2 ?\u064D) ;; ARABIC KASRATAN | |
207 (#xF3 ?\u064E) ;; ARABIC FATHA | |
208 (#xF4 ?\u00F4) ;; LATIN SMALL LETTER O WITH CIRCUMFLEX | |
209 (#xF5 ?\u064F) ;; ARABIC DAMMA | |
210 (#xF6 ?\u0650) ;; ARABIC KASRA | |
211 (#xF7 ?\u00F7) ;; DIVISION SIGN | |
212 (#xF8 ?\u0651) ;; ARABIC SHADDA | |
213 (#xF9 ?\u00F9) ;; LATIN SMALL LETTER U WITH GRAVE | |
214 (#xFA ?\u0652) ;; ARABIC SUKUN | |
215 (#xFB ?\u00FB) ;; LATIN SMALL LETTER U WITH CIRCUMFLEX | |
216 (#xFC ?\u00FC) ;; LATIN SMALL LETTER U WITH DIAERESIS | |
217 (#xFD ?\u200E) ;; LEFT-TO-RIGHT MARK | |
218 (#xFE ?\u200F) ;; RIGHT-TO-LEFT MARK | |
219 (#xFF ?\u06D2));; ARABIC LETTER YEH BARREE | |
220 "Windows-1256 (Arabic)" | |
221 '(mnemonic "cp1256" | |
222 documentation | |
223 "This is the much Windows encoding for Arabic, much superior to the ISO | |
224 standard one." | |
225 aliases (cp1256))) | |
226 | |
227 ;; The Mac Arabic coding systems don't have defined MIME names. | |
228 | |
229 ;; #### Decide what to do about the syntax of the Arabic punctuation. | |
105 | 230 |
106 ;;; arabic.el ends here | 231 ;;; arabic.el ends here |