# HG changeset patch # User Aidan Kehoe # Date 1217918237 -7200 # Node ID d402d7b18bd88bab41f37a186554f8c1f2f0eaae # Parent 6b0000935adc3f79cb189350d6014d4b4aff734e Revamp the Arabic support. Create greek-iso-8bit-with-esc, arabic-iso-8bit-with-esc. src/ChangeLog addition: 2008-08-05 Aidan Kehoe * 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 * 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 * HELLO: Encode the Arabic using UTF-8 sequences, not ISO-8859-6. diff -r 6b0000935adc -r d402d7b18bd8 etc/ChangeLog --- a/etc/ChangeLog Sat Jul 26 13:50:27 2008 +0300 +++ b/etc/ChangeLog Tue Aug 05 08:37:17 2008 +0200 @@ -1,3 +1,7 @@ +2008-08-05 Aidan Kehoe + + * HELLO: Encode the Arabic using UTF-8 sequences, not ISO-8859-6. + 2008-02-21 Stephen J. Turnbull * README: Add descriptions of Daniel Polansky's icons. diff -r 6b0000935adc -r d402d7b18bd8 etc/HELLO --- a/etc/HELLO Sat Jul 26 13:50:27 2008 +0300 +++ b/etc/HELLO Tue Aug 05 08:37:17 2008 +0200 @@ -3,7 +3,7 @@ --------------------------------------------------------- Amharic ($(3"c!(B -Arabic [2](38R(47d(3T!JSa(4W(3W[0](B +Arabic (%Gةّيبرعلا%@) %Gمكيلع%@ %Gمالّسلا%@ Croatian (Hrvatski) Bog (Bok), Dobar dan Czech (,Bh(Besky) Dobr,B}(B den Danish (Dansk) Hej, Goddag diff -r 6b0000935adc -r d402d7b18bd8 lisp/ChangeLog --- a/lisp/ChangeLog Sat Jul 26 13:50:27 2008 +0300 +++ b/lisp/ChangeLog Tue Aug 05 08:37:17 2008 +0200 @@ -1,3 +1,20 @@ +2008-08-05 Aidan Kehoe + + * 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. + 2008-07-26 Aidan Kehoe * x-init.el (x-initialize-compose): diff -r 6b0000935adc -r d402d7b18bd8 lisp/mule/arabic.el --- a/lisp/mule/arabic.el Sat Jul 26 13:50:27 2008 +0300 +++ b/lisp/mule/arabic.el Tue Aug 05 08:37:17 2008 +0200 @@ -28,79 +28,204 @@ ;;; Code: -; (make-charset 'arabic-iso8859-6 -; "Right-Hand Part of Latin/Arabic Alphabet (ISO/IEC 8859-6): ISO-IR-127" -; '(dimension -; 1 -; registry "ISO8859-6" -; chars 96 -; columns 1 -; direction r2l -; final ?G -; graphic 1 -; short-name "RHP of ISO8859/6" -; long-name "RHP of Arabic (ISO 8859-6): ISO-IR-127" -; )) +;; See iso-with-esc.el for commentary on the ISO standard Arabic character +;; set. -;; For Arabic, we need three different types of character sets. -;; Digits are of direction left-to-right and of width 1-column. -;; Others are of direction right-to-left and of width 1-column or -;; 2-column. -(make-charset 'arabic-digit "Arabic digit" - '(dimension 1 - registries ["MuleArabic-0"] - chars 94 - columns 1 - direction l2r - final ?2 - graphic 0 - short-name "Arabic digit" - long-name "Arabic digit" - )) +(make-8-bit-coding-system + 'iso-8859-6 + '((#xA0 ?\u00A0) ;; NO-BREAK SPACE + (#xA4 ?\u00A4) ;; CURRENCY SIGN + (#xAC ?\u060C) ;; ARABIC COMMA + (#xAD ?\u00AD) ;; SOFT HYPHEN + (#xBB ?\u061B) ;; ARABIC SEMICOLON + (#xBF ?\u061F) ;; ARABIC QUESTION MARK + (#xC1 ?\u0621) ;; ARABIC LETTER HAMZA + (#xC2 ?\u0622) ;; ARABIC LETTER ALEF WITH MADDA ABOVE + (#xC3 ?\u0623) ;; ARABIC LETTER ALEF WITH HAMZA ABOVE + (#xC4 ?\u0624) ;; ARABIC LETTER WAW WITH HAMZA ABOVE + (#xC5 ?\u0625) ;; ARABIC LETTER ALEF WITH HAMZA BELOW + (#xC6 ?\u0626) ;; ARABIC LETTER YEH WITH HAMZA ABOVE + (#xC7 ?\u0627) ;; ARABIC LETTER ALEF + (#xC8 ?\u0628) ;; ARABIC LETTER BEH + (#xC9 ?\u0629) ;; ARABIC LETTER TEH MARBUTA + (#xCA ?\u062A) ;; ARABIC LETTER TEH + (#xCB ?\u062B) ;; ARABIC LETTER THEH + (#xCC ?\u062C) ;; ARABIC LETTER JEEM + (#xCD ?\u062D) ;; ARABIC LETTER HAH + (#xCE ?\u062E) ;; ARABIC LETTER KHAH + (#xCF ?\u062F) ;; ARABIC LETTER DAL + (#xD0 ?\u0630) ;; ARABIC LETTER THAL + (#xD1 ?\u0631) ;; ARABIC LETTER REH + (#xD2 ?\u0632) ;; ARABIC LETTER ZAIN + (#xD3 ?\u0633) ;; ARABIC LETTER SEEN + (#xD4 ?\u0634) ;; ARABIC LETTER SHEEN + (#xD5 ?\u0635) ;; ARABIC LETTER SAD + (#xD6 ?\u0636) ;; ARABIC LETTER DAD + (#xD7 ?\u0637) ;; ARABIC LETTER TAH + (#xD8 ?\u0638) ;; ARABIC LETTER ZAH + (#xD9 ?\u0639) ;; ARABIC LETTER AIN + (#xDA ?\u063A) ;; ARABIC LETTER GHAIN + (#xE0 ?\u0640) ;; ARABIC TATWEEL + (#xE1 ?\u0641) ;; ARABIC LETTER FEH + (#xE2 ?\u0642) ;; ARABIC LETTER QAF + (#xE3 ?\u0643) ;; ARABIC LETTER KAF + (#xE4 ?\u0644) ;; ARABIC LETTER LAM + (#xE5 ?\u0645) ;; ARABIC LETTER MEEM + (#xE6 ?\u0646) ;; ARABIC LETTER NOON + (#xE7 ?\u0647) ;; ARABIC LETTER HEH + (#xE8 ?\u0648) ;; ARABIC LETTER WAW + (#xE9 ?\u0649) ;; ARABIC LETTER ALEF MAKSURA + (#xEA ?\u064A) ;; ARABIC LETTER YEH + (#xEB ?\u064B) ;; ARABIC FATHATAN + (#xEC ?\u064C) ;; ARABIC DAMMATAN + (#xED ?\u064D) ;; ARABIC KASRATAN + (#xEE ?\u064E) ;; ARABIC FATHA + (#xEF ?\u064F) ;; ARABIC DAMMA + (#xF0 ?\u0650) ;; ARABIC KASRA + (#xF1 ?\u0651) ;; ARABIC SHADDA + (#xF2 ?\u0652)) ;; ARABIC SUKUN + "ISO 8859-6 (Arabic)" +'(mnemonic "ArISO")) -(make-charset 'arabic-1-column "Arabic 1-column" - '(dimension - 1 - registries ["MuleArabic-1"] - chars 94 - columns 1 - direction r2l - final ?3 - graphic 0 - short-name "Arabic 1-col" - long-name "Arabic 1-column" - )) +(make-8-bit-coding-system + 'windows-1256 + '((#x80 ?\u20AC) ;; EURO SIGN + (#x81 ?\u067E) ;; ARABIC LETTER PEH + (#x82 ?\u201A) ;; SINGLE LOW-9 QUOTATION MARK + (#x83 ?\u0192) ;; LATIN SMALL LETTER F WITH HOOK + (#x84 ?\u201E) ;; DOUBLE LOW-9 QUOTATION MARK + (#x85 ?\u2026) ;; HORIZONTAL ELLIPSIS + (#x86 ?\u2020) ;; DAGGER + (#x87 ?\u2021) ;; DOUBLE DAGGER + (#x88 ?\u02C6) ;; MODIFIER LETTER CIRCUMFLEX ACCENT + (#x89 ?\u2030) ;; PER MILLE SIGN + (#x8A ?\u0679) ;; ARABIC LETTER TTEH + (#x8B ?\u2039) ;; SINGLE LEFT-POINTING ANGLE QUOTATION MARK + (#x8C ?\u0152) ;; LATIN CAPITAL LIGATURE OE + (#x8D ?\u0686) ;; ARABIC LETTER TCHEH + (#x8E ?\u0698) ;; ARABIC LETTER JEH + (#x8F ?\u0688) ;; ARABIC LETTER DDAL + (#x90 ?\u06AF) ;; ARABIC LETTER GAF + (#x91 ?\u2018) ;; LEFT SINGLE QUOTATION MARK + (#x92 ?\u2019) ;; RIGHT SINGLE QUOTATION MARK + (#x93 ?\u201C) ;; LEFT DOUBLE QUOTATION MARK + (#x94 ?\u201D) ;; RIGHT DOUBLE QUOTATION MARK + (#x95 ?\u2022) ;; BULLET + (#x96 ?\u2013) ;; EN DASH + (#x97 ?\u2014) ;; EM DASH + (#x98 ?\u06A9) ;; ARABIC LETTER KEHEH + (#x99 ?\u2122) ;; TRADE MARK SIGN + (#x9A ?\u0691) ;; ARABIC LETTER RREH + (#x9B ?\u203A) ;; SINGLE RIGHT-POINTING ANGLE QUOTATION MARK + (#x9C ?\u0153) ;; LATIN SMALL LIGATURE OE + (#x9D ?\u200C) ;; ZERO WIDTH NON-JOINER + (#x9E ?\u200D) ;; ZERO WIDTH JOINER + (#x9F ?\u06BA) ;; ARABIC LETTER NOON GHUNNA + (#xA0 ?\u00A0) ;; NO-BREAK SPACE + (#xA1 ?\u060C) ;; ARABIC COMMA + (#xA2 ?\u00A2) ;; CENT SIGN + (#xA3 ?\u00A3) ;; POUND SIGN + (#xA4 ?\u00A4) ;; CURRENCY SIGN + (#xA5 ?\u00A5) ;; YEN SIGN + (#xA6 ?\u00A6) ;; BROKEN BAR + (#xA7 ?\u00A7) ;; SECTION SIGN + (#xA8 ?\u00A8) ;; DIAERESIS + (#xA9 ?\u00A9) ;; COPYRIGHT SIGN + (#xAA ?\u06BE) ;; ARABIC LETTER HEH DOACHASHMEE + (#xAB ?\u00AB) ;; LEFT-POINTING DOUBLE ANGLE QUOTATION MARK + (#xAC ?\u00AC) ;; NOT SIGN + (#xAD ?\u00AD) ;; SOFT HYPHEN + (#xAE ?\u00AE) ;; REGISTERED SIGN + (#xAF ?\u00AF) ;; MACRON + (#xB0 ?\u00B0) ;; DEGREE SIGN + (#xB1 ?\u00B1) ;; PLUS-MINUS SIGN + (#xB2 ?\u00B2) ;; SUPERSCRIPT TWO + (#xB3 ?\u00B3) ;; SUPERSCRIPT THREE + (#xB4 ?\u00B4) ;; ACUTE ACCENT + (#xB5 ?\u00B5) ;; MICRO SIGN + (#xB6 ?\u00B6) ;; PILCROW SIGN + (#xB7 ?\u00B7) ;; MIDDLE DOT + (#xB8 ?\u00B8) ;; CEDILLA + (#xB9 ?\u00B9) ;; SUPERSCRIPT ONE + (#xBA ?\u061B) ;; ARABIC SEMICOLON + (#xBB ?\u00BB) ;; RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK + (#xBC ?\u00BC) ;; VULGAR FRACTION ONE QUARTER + (#xBD ?\u00BD) ;; VULGAR FRACTION ONE HALF + (#xBE ?\u00BE) ;; VULGAR FRACTION THREE QUARTERS + (#xBF ?\u061F) ;; ARABIC QUESTION MARK + (#xC0 ?\u06C1) ;; ARABIC LETTER HEH GOAL + (#xC1 ?\u0621) ;; ARABIC LETTER HAMZA + (#xC2 ?\u0622) ;; ARABIC LETTER ALEF WITH MADDA ABOVE + (#xC3 ?\u0623) ;; ARABIC LETTER ALEF WITH HAMZA ABOVE + (#xC4 ?\u0624) ;; ARABIC LETTER WAW WITH HAMZA ABOVE + (#xC5 ?\u0625) ;; ARABIC LETTER ALEF WITH HAMZA BELOW + (#xC6 ?\u0626) ;; ARABIC LETTER YEH WITH HAMZA ABOVE + (#xC7 ?\u0627) ;; ARABIC LETTER ALEF + (#xC8 ?\u0628) ;; ARABIC LETTER BEH + (#xC9 ?\u0629) ;; ARABIC LETTER TEH MARBUTA + (#xCA ?\u062A) ;; ARABIC LETTER TEH + (#xCB ?\u062B) ;; ARABIC LETTER THEH + (#xCC ?\u062C) ;; ARABIC LETTER JEEM + (#xCD ?\u062D) ;; ARABIC LETTER HAH + (#xCE ?\u062E) ;; ARABIC LETTER KHAH + (#xCF ?\u062F) ;; ARABIC LETTER DAL + (#xD0 ?\u0630) ;; ARABIC LETTER THAL + (#xD1 ?\u0631) ;; ARABIC LETTER REH + (#xD2 ?\u0632) ;; ARABIC LETTER ZAIN + (#xD3 ?\u0633) ;; ARABIC LETTER SEEN + (#xD4 ?\u0634) ;; ARABIC LETTER SHEEN + (#xD5 ?\u0635) ;; ARABIC LETTER SAD + (#xD6 ?\u0636) ;; ARABIC LETTER DAD + (#xD7 ?\u00D7) ;; MULTIPLICATION SIGN + (#xD8 ?\u0637) ;; ARABIC LETTER TAH + (#xD9 ?\u0638) ;; ARABIC LETTER ZAH + (#xDA ?\u0639) ;; ARABIC LETTER AIN + (#xDB ?\u063A) ;; ARABIC LETTER GHAIN + (#xDC ?\u0640) ;; ARABIC TATWEEL + (#xDD ?\u0641) ;; ARABIC LETTER FEH + (#xDE ?\u0642) ;; ARABIC LETTER QAF + (#xDF ?\u0643) ;; ARABIC LETTER KAF + (#xE0 ?\u00E0) ;; LATIN SMALL LETTER A WITH GRAVE + (#xE1 ?\u0644) ;; ARABIC LETTER LAM + (#xE2 ?\u00E2) ;; LATIN SMALL LETTER A WITH CIRCUMFLEX + (#xE3 ?\u0645) ;; ARABIC LETTER MEEM + (#xE4 ?\u0646) ;; ARABIC LETTER NOON + (#xE5 ?\u0647) ;; ARABIC LETTER HEH + (#xE6 ?\u0648) ;; ARABIC LETTER WAW + (#xE7 ?\u00E7) ;; LATIN SMALL LETTER C WITH CEDILLA + (#xE8 ?\u00E8) ;; LATIN SMALL LETTER E WITH GRAVE + (#xE9 ?\u00E9) ;; LATIN SMALL LETTER E WITH ACUTE + (#xEA ?\u00EA) ;; LATIN SMALL LETTER E WITH CIRCUMFLEX + (#xEB ?\u00EB) ;; LATIN SMALL LETTER E WITH DIAERESIS + (#xEC ?\u0649) ;; ARABIC LETTER ALEF MAKSURA + (#xED ?\u064A) ;; ARABIC LETTER YEH + (#xEE ?\u00EE) ;; LATIN SMALL LETTER I WITH CIRCUMFLEX + (#xEF ?\u00EF) ;; LATIN SMALL LETTER I WITH DIAERESIS + (#xF0 ?\u064B) ;; ARABIC FATHATAN + (#xF1 ?\u064C) ;; ARABIC DAMMATAN + (#xF2 ?\u064D) ;; ARABIC KASRATAN + (#xF3 ?\u064E) ;; ARABIC FATHA + (#xF4 ?\u00F4) ;; LATIN SMALL LETTER O WITH CIRCUMFLEX + (#xF5 ?\u064F) ;; ARABIC DAMMA + (#xF6 ?\u0650) ;; ARABIC KASRA + (#xF7 ?\u00F7) ;; DIVISION SIGN + (#xF8 ?\u0651) ;; ARABIC SHADDA + (#xF9 ?\u00F9) ;; LATIN SMALL LETTER U WITH GRAVE + (#xFA ?\u0652) ;; ARABIC SUKUN + (#xFB ?\u00FB) ;; LATIN SMALL LETTER U WITH CIRCUMFLEX + (#xFC ?\u00FC) ;; LATIN SMALL LETTER U WITH DIAERESIS + (#xFD ?\u200E) ;; LEFT-TO-RIGHT MARK + (#xFE ?\u200F) ;; RIGHT-TO-LEFT MARK + (#xFF ?\u06D2));; ARABIC LETTER YEH BARREE + "Windows-1256 (Arabic)" + '(mnemonic "cp1256" + documentation + "This is the much Windows encoding for Arabic, much superior to the ISO +standard one." + aliases (cp1256))) -(make-charset 'arabic-2-column "Arabic 2-column" - '(dimension - 1 - registries ["MuleArabic-2"] - chars 94 - columns 2 - direction r2l - final ?4 - graphic 0 - short-name "Arabic 2-col" - long-name "Arabic 2-column" - )) +;; The Mac Arabic coding systems don't have defined MIME names. -(make-coding-system 'iso-8859-6 'iso2022 - "ISO-8859-6 (Arabic)" - '(charset-g0 ascii - charset-g1 arabic-iso8859-6 - charset-g2 t - charset-g3 t - no-iso6429 t - mnemonic "MIME/Arbc" - )) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; ARABIC -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;; (define-language-environment 'arabic -;; "Arabic" -;; (lambda () -;; (require 'arabic))) +;; #### Decide what to do about the syntax of the Arabic punctuation. ;;; arabic.el ends here diff -r 6b0000935adc -r d402d7b18bd8 lisp/mule/iso-with-esc.el --- a/lisp/mule/iso-with-esc.el Sat Jul 26 13:50:27 2008 +0300 +++ b/lisp/mule/iso-with-esc.el Tue Aug 05 08:37:17 2008 +0200 @@ -98,3 +98,108 @@ charset-g3 t no-iso6429 t mnemonic "MIME/Hbrw")) + +;;;###autoload +(make-coding-system + 'greek-iso-8bit-with-esc 'iso2022 "MIME ISO-8859-7" + '(charset-g0 ascii + charset-g1 greek-iso8859-7 + charset-g2 t + charset-g3 t + mnemonic "Grk")) + +;; ISO 8859-6 is such a useless character set that it seems a waste of +;; codespace to dump it. Let me count the ways: +;; +;; 1. It doesn't support Persian or Urdu, let alone Sinhalese, despite +;; plenty of unallocated code points. +;; +;; 2. It doesn't encode all the vowel diacritics (the Harakaat) despite that +;; they are necessary, even for the Arabs, for basic things like +;; dictionary entries, children's books, and occasional disambiguation. +;; +;; 3. The Arabs don't use it, they use Windows-1256, which also supports +;; Persian, at least, as well as the French characters necessary in +;; Lebanon and North Africa. + +(make-charset + 'arabic-iso8859-6 + "Right-Hand Part of Latin/Arabic Alphabet (ISO/IEC 8859-6): ISO-IR-127" + '(dimension 1 + registry "ISO8859-6" + chars 96 + columns 1 + direction r2l + final ?G + graphic 1 + short-name "RHP of ISO8859/6" + long-name "RHP of Arabic (ISO 8859-6): ISO-IR-127")) + +(loop + for (iso8859-6 unicode) + in '((#xA0 #x00A0) ;; NO-BREAK SPACE + (#xA4 #x00A4) ;; CURRENCY SIGN + (#xAC #x060C) ;; ARABIC COMMA + (#xAD #x00AD) ;; SOFT HYPHEN + (#xBB #x061B) ;; ARABIC SEMICOLON + (#xBF #x061F) ;; ARABIC QUESTION MARK + (#xC1 #x0621) ;; ARABIC LETTER HAMZA + (#xC2 #x0622) ;; ARABIC LETTER ALEF WITH MADDA ABOVE + (#xC3 #x0623) ;; ARABIC LETTER ALEF WITH HAMZA ABOVE + (#xC4 #x0624) ;; ARABIC LETTER WAW WITH HAMZA ABOVE + (#xC5 #x0625) ;; ARABIC LETTER ALEF WITH HAMZA BELOW + (#xC6 #x0626) ;; ARABIC LETTER YEH WITH HAMZA ABOVE + (#xC7 #x0627) ;; ARABIC LETTER ALEF + (#xC8 #x0628) ;; ARABIC LETTER BEH + (#xC9 #x0629) ;; ARABIC LETTER TEH MARBUTA + (#xCA #x062A) ;; ARABIC LETTER TEH + (#xCB #x062B) ;; ARABIC LETTER THEH + (#xCC #x062C) ;; ARABIC LETTER JEEM + (#xCD #x062D) ;; ARABIC LETTER HAH + (#xCE #x062E) ;; ARABIC LETTER KHAH + (#xCF #x062F) ;; ARABIC LETTER DAL + (#xD0 #x0630) ;; ARABIC LETTER THAL + (#xD1 #x0631) ;; ARABIC LETTER REH + (#xD2 #x0632) ;; ARABIC LETTER ZAIN + (#xD3 #x0633) ;; ARABIC LETTER SEEN + (#xD4 #x0634) ;; ARABIC LETTER SHEEN + (#xD5 #x0635) ;; ARABIC LETTER SAD + (#xD6 #x0636) ;; ARABIC LETTER DAD + (#xD7 #x0637) ;; ARABIC LETTER TAH + (#xD8 #x0638) ;; ARABIC LETTER ZAH + (#xD9 #x0639) ;; ARABIC LETTER AIN + (#xDA #x063A) ;; ARABIC LETTER GHAIN + (#xE0 #x0640) ;; ARABIC TATWEEL + (#xE1 #x0641) ;; ARABIC LETTER FEH + (#xE2 #x0642) ;; ARABIC LETTER QAF + (#xE3 #x0643) ;; ARABIC LETTER KAF + (#xE4 #x0644) ;; ARABIC LETTER LAM + (#xE5 #x0645) ;; ARABIC LETTER MEEM + (#xE6 #x0646) ;; ARABIC LETTER NOON + (#xE7 #x0647) ;; ARABIC LETTER HEH + (#xE8 #x0648) ;; ARABIC LETTER WAW + (#xE9 #x0649) ;; ARABIC LETTER ALEF MAKSURA + (#xEA #x064A) ;; ARABIC LETTER YEH + (#xEB #x064B) ;; ARABIC FATHATAN + (#xEC #x064C) ;; ARABIC DAMMATAN + (#xED #x064D) ;; ARABIC KASRATAN + (#xEE #x064E) ;; ARABIC FATHA + (#xEF #x064F) ;; ARABIC DAMMA + (#xF0 #x0650) ;; ARABIC KASRA + (#xF1 #x0651) ;; ARABIC SHADDA + (#xF2 #x0652));; ARABIC SUKUN + do (set-unicode-conversion (make-char 'arabic-iso8859-6 iso8859-6) + unicode)) + +;;;###autoload +(make-coding-system + 'arabic-iso-8bit-with-esc 'iso2022 ;; GNU's iso-8859-6 is + ;; iso2022-compatible. + "ISO-8859-6 (Arabic)" + '(charset-g0 ascii + charset-g1 arabic-iso8859-6 + charset-g2 t + charset-g3 t + no-iso6429 t + mnemonic "MIME/Arbc")) + diff -r 6b0000935adc -r d402d7b18bd8 lisp/mule/mule-category.el --- a/lisp/mule/mule-category.el Sat Jul 26 13:50:27 2008 +0300 +++ b/lisp/mule/mule-category.el Tue Aug 05 08:37:17 2008 +0200 @@ -244,7 +244,6 @@ (latin-iso8859-4 ?l) (latin-iso8859-9 ?l) (cyrillic-iso8859-5 ?y "Cyrillic character set") - (arabic-iso8859-6 ?b "Arabic character set") (greek-iso8859-7 ?g "Greek character set") (hebrew-iso8859-8 ?w "Hebrew character set") (katakana-jisx0201 ?k "Japanese 1-byte Katakana character set") diff -r 6b0000935adc -r d402d7b18bd8 lisp/mule/mule-msw-init-late.el --- a/lisp/mule/mule-msw-init-late.el Sat Jul 26 13:50:27 2008 +0300 +++ b/lisp/mule/mule-msw-init-late.el Tue Aug 05 08:37:17 2008 +0200 @@ -37,7 +37,6 @@ (greek-iso8859-7 . "Greek") (latin-iso8859-9 . "Turkish") (hebrew-iso8859-8 . "Hebrew") - (arabic-iso8859-6 . "Arabic") (latin-iso8859-4 . "Baltic") (vietnamese-viscii-lower . "Viet Nam") (vietnamese-viscii-upper . "Viet Nam") diff -r 6b0000935adc -r d402d7b18bd8 lisp/mule/mule-win32-init.el --- a/lisp/mule/mule-win32-init.el Sat Jul 26 13:50:27 2008 +0300 +++ b/lisp/mule/mule-win32-init.el Tue Aug 05 08:37:17 2008 +0200 @@ -162,7 +162,8 @@ ; ("ANSI" 1253 no-conversion "Windows 3.1 Greek") ("ANSI" 1254 no-conversion "Windows 3.1 Turkish") ("ANSI" 1255 no-conversion "Hebrew") - ("ANSI" 1256 no-conversion "Arabic") + ;; We implement these ourselves. + ; ("ANSI" 1256 no-conversion "Arabic") ("ANSI" 1257 no-conversion "Baltic") ("ANSI" 1258 no-conversion "VietNam") ;; #### Is this category right? I don't have Lunde to hand, and the diff -r 6b0000935adc -r d402d7b18bd8 lisp/unicode.el --- a/lisp/unicode.el Sat Jul 26 13:50:27 2008 +0300 +++ b/lisp/unicode.el Tue Aug 05 08:37:17 2008 +0200 @@ -73,7 +73,6 @@ ("8859-3.TXT" latin-iso8859-3 #xA0 #xFF #x-80) ("8859-4.TXT" latin-iso8859-4 #xA0 #xFF #x-80) ("8859-5.TXT" cyrillic-iso8859-5 #xA0 #xFF #x-80) - ("8859-6.TXT" arabic-iso8859-6 #xA0 #xFF #x-80) ("8859-7.TXT" greek-iso8859-7 #xA0 #xFF #x-80) ("8859-8.TXT" hebrew-iso8859-8 #xA0 #xFF #x-80) ("8859-9.TXT" latin-iso8859-9 #xA0 #xFF #x-80) @@ -154,12 +153,12 @@ '(ascii control-1 latin-iso8859-1 latin-iso8859-2 latin-iso8859-15 greek-iso8859-7 hebrew-iso8859-8 ipa cyrillic-iso8859-5 latin-iso8859-16 latin-iso8859-3 latin-iso8859-4 latin-iso8859-9 - vietnamese-viscii-lower vietnamese-viscii-upper arabic-iso8859-6 + vietnamese-viscii-lower vietnamese-viscii-upper jit-ucs-charset-0 japanese-jisx0208 japanese-jisx0208-1978 japanese-jisx0212 japanese-jisx0213-1 japanese-jisx0213-2 chinese-gb2312 chinese-sisheng chinese-big5-1 chinese-big5-2 indian-is13194 korean-ksc5601 chinese-cns11643-1 chinese-cns11643-2 - chinese-isoir165 arabic-1-column arabic-2-column arabic-digit + chinese-isoir165 composite ethiopic indian-1-column indian-2-column jit-ucs-charset-0 katakana-jisx0201 lao thai-tis620 thai-xtis tibetan tibetan-1-column latin-jisx0201 chinese-cns11643-3 chinese-cns11643-4 diff -r 6b0000935adc -r d402d7b18bd8 src/ChangeLog --- a/src/ChangeLog Sat Jul 26 13:50:27 2008 +0300 +++ b/src/ChangeLog Tue Aug 05 08:37:17 2008 +0200 @@ -1,3 +1,10 @@ +2008-08-05 Aidan Kehoe + + * 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. + 2008-07-20 John Paul Wallington * nt.c (Fmswindows_short_file_name, Fmswindows_long_file_name): diff -r 6b0000935adc -r d402d7b18bd8 src/lisp.h --- a/src/lisp.h Sat Jul 26 13:50:27 2008 +0300 +++ b/src/lisp.h Tue Aug 05 08:37:17 2008 +0200 @@ -5229,7 +5229,6 @@ extern Lisp_Object Vcharset_latin_iso8859_4; extern Lisp_Object Vcharset_thai_tis620; extern Lisp_Object Vcharset_greek_iso8859_7; -extern Lisp_Object Vcharset_arabic_iso8859_6; extern Lisp_Object Vcharset_hebrew_iso8859_8; extern Lisp_Object Vcharset_katakana_jisx0201; extern Lisp_Object Vcharset_latin_jisx0201; diff -r 6b0000935adc -r d402d7b18bd8 src/mule-charset.c --- a/src/mule-charset.c Sat Jul 26 13:50:27 2008 +0300 +++ b/src/mule-charset.c Tue Aug 05 08:37:17 2008 +0200 @@ -47,7 +47,6 @@ Lisp_Object Vcharset_latin_iso8859_4; Lisp_Object Vcharset_thai_tis620; Lisp_Object Vcharset_greek_iso8859_7; -Lisp_Object Vcharset_arabic_iso8859_6; Lisp_Object Vcharset_hebrew_iso8859_8; Lisp_Object Vcharset_katakana_jisx0201; Lisp_Object Vcharset_latin_jisx0201; @@ -94,7 +93,6 @@ Qlatin_iso8859_4, Qthai_tis620, Qgreek_iso8859_7, - Qarabic_iso8859_6, Qhebrew_iso8859_8, Qkatakana_jisx0201, Qlatin_jisx0201, @@ -1112,7 +1110,6 @@ DEFSYMBOL (Qlatin_iso8859_4); DEFSYMBOL (Qthai_tis620); DEFSYMBOL (Qgreek_iso8859_7); - DEFSYMBOL (Qarabic_iso8859_6); DEFSYMBOL (Qhebrew_iso8859_8); DEFSYMBOL (Qkatakana_jisx0201); DEFSYMBOL (Qlatin_jisx0201); @@ -1236,15 +1233,6 @@ build_msg_string ("ISO8859-7 (Greek)"), build_msg_string ("ISO8859-7 (Greek)"), vector1(build_string("iso8859-7")), 0, 0); - staticpro (&Vcharset_arabic_iso8859_6); - Vcharset_arabic_iso8859_6 = - make_charset (LEADING_BYTE_ARABIC_ISO8859_6, Qarabic_iso8859_6, 2, - CHARSET_TYPE_96, 1, 1, 'G', - CHARSET_RIGHT_TO_LEFT, - build_string ("ISO8859-6"), - build_msg_string ("ISO8859-6 (Arabic)"), - build_msg_string ("ISO8859-6 (Arabic)"), - vector1(build_string ("iso8859-6")), 0, 0); staticpro (&Vcharset_hebrew_iso8859_8); Vcharset_hebrew_iso8859_8 = make_charset (LEADING_BYTE_HEBREW_ISO8859_8, Qhebrew_iso8859_8, 2,