In case of encoding problems, there’s a bzip2’d version of the patch
attached.
# HG changeset patch
# User Aidan Kehoe <kehoea(a)parhasard.net>
# 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 <kehoea(a)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(a)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(a)parhasard.net>
* 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 <kehoea(a)parhasard.net>
+
+ * HELLO: Encode the Arabic using UTF-8 sequences, not ISO-8859-6.
+
2008-02-21 Stephen J. Turnbull <stephen(a)xemacs.org>
* 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!<!N"^(B) $(3!A!,!>(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 <kehoea(a)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.
+
2008-07-26 Aidan Kehoe <kehoea(a)parhasard.net>
* 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 <kehoea(a)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.
+
2008-07-20 John Paul Wallington <jpw(a)pobox.com>
* 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,
--
¿Dónde estará ahora mi sobrino Yoghurtu Nghé, que tuvo que huir
precipitadamente de la aldea por culpa de la escasez de rinocerontes?
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches