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