[I had some trouble accessing this list through gnu.org, so my apologies if this message appeared twice, or if someone is inappropriately CCed]
Gregg Reynolds <[EMAIL PROTECTED]> writes:
> I had to create an Arabic Quail package to get an Arabic keyboard
> layout, e.g.
>
I have previously submitted a patch to emacs-dev with such additions
and other minor improvements for Arabic. It did not receive any
responses from emacs-dev, however.
Eli, any thoughts on the attached patch? Is there an interest in
seeing it checked in to Emacs proper? It's a trivial patch, but I'd be
willing to sign the GNU papers if necessary.
This makes distributing a minor mode for Arabic editing, or adapting
other Hebrew-specific packages for use with Arabic, alot easier.
The attached files include the following:
arabic.patch:
- Enable support for iso-8859-6.
- Add properly encoded Arabic characters to the HELLO file.
- Remove a block of code from code-pages.el that conflicts
with the new iso-8859-6 support.
arabic.el: Language file for Arabic.
arabic.el: quail input modes for Arabic and Persian.
Regards,
Thamer Mahmoud
? arabic22.patch
? leim/quail/arabic.el
? lisp/language/arabic.el
Index: etc/HELLO
===================================================================
RCS file: /cvsroot/emacs/emacs/etc/HELLO,v
retrieving revision 1.40
diff -u -u -r1.40 HELLO
--- etc/HELLO 3 Apr 2004 04:41:21 -0000 1.40
+++ etc/HELLO 22 Nov 2005 05:59:14 -0000
@@ -2,7 +2,7 @@
Its purpose is to illustrate a number of scripts.
---------------------------------------------------------
Amharic ($(3"c!<!N"^(B) $(3!A!,!>(B
-Arabic (38R(47d(3T!JSa(4W(3W(B
+Arabic (,GGdYQHjI(B) (,GGdSdGe(B ,GYdjce(B)
Braille $,2(3(1('('(5(B
C printf ("Hello, world!\n");
Czech (,Bh(Be,B9(Btina) Dobr,B}(B den
@@ -57,6 +57,7 @@
A short test for characters represented by the character set
mule-unicode-0100-24ff:
+Arabic ($,1-g.$-y-q-h.*-i(B) ($,1-g.$-s.$-g.%(B $,1-y.$.*.#.%(B)
Czech ($,1 ,(Besky) Dobr,A}(B den
Esperanto Saluton (E$,1 E(Bo$,1 }(Ban$,1 =(Bo $,1 )(Biu$,1 U(Ba$,1!-(Bde)
Greek ($,1'5';';'7'='9':',(B) $,1&s'5'9',(B $,1'C'1'B(B
Index: leim/Makefile.in
===================================================================
RCS file: /cvsroot/emacs/emacs/leim/Makefile.in,v
retrieving revision 1.72
diff -u -u -r1.72 Makefile.in
--- leim/Makefile.in 3 Nov 2005 17:00:51 -0000 1.72
+++ leim/Makefile.in 22 Nov 2005 05:59:14 -0000
@@ -125,6 +125,7 @@
RUSSIAN=${srcdir}/quail/cyrillic.elc ${srcdir}/quail/cyril-jis.elc
OTHERS= \
+ ${srcdir}/quail/arabic.elc \
${srcdir}/quail/ethiopic.elc \
${srcdir}/quail/ipa.elc \
${srcdir}/quail/hebrew.elc \
Index: leim/makefile.w32-in
===================================================================
RCS file: /cvsroot/emacs/emacs/leim/makefile.w32-in,v
retrieving revision 1.29
diff -u -u -r1.29 makefile.w32-in
--- leim/makefile.w32-in 4 Jul 2005 15:27:32 -0000 1.29
+++ leim/makefile.w32-in 22 Nov 2005 05:59:15 -0000
@@ -114,6 +114,7 @@
RUSSIAN=$(srcdir)/quail/cyrillic.elc $(srcdir)/quail/cyril-jis.elc
MISC= \
+ $(srcdir)/quail/arabic.elc \
$(srcdir)/quail/ethiopic.elc \
$(srcdir)/quail/ipa.elc \
$(srcdir)/quail/hebrew.elc \
Index: lib-src/makefile.w32-in
===================================================================
RCS file: /cvsroot/emacs/emacs/lib-src/makefile.w32-in,v
retrieving revision 2.38
diff -u -u -r2.38 makefile.w32-in
--- lib-src/makefile.w32-in 11 Sep 2005 22:28:28 -0000 2.38
+++ lib-src/makefile.w32-in 22 Nov 2005 05:59:15 -0000
@@ -203,6 +203,7 @@
$(lispsource)case-table.elc
lisp2 = \
+ $(lispsource)language/arabic.el \
$(lispsource)language/chinese.elc \
$(lispsource)language/cyrillic.elc \
$(lispsource)language/indian.elc \
Index: lisp/ldefs-boot.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/ldefs-boot.el,v
retrieving revision 1.11
diff -u -u -r1.11 ldefs-boot.el
--- lisp/ldefs-boot.el 28 Oct 2005 17:06:02 -0000 1.11
+++ lisp/ldefs-boot.el 22 Nov 2005 05:59:38 -0000
@@ -29877,7 +29877,7 @@
;;;;;; "international/subst-gb2312.el" "international/subst-jis.el"
;;;;;; "international/subst-ksc.el" "international/ucs-tables.el"
;;;;;; "international/utf-16.el" "international/utf-8.el" "isearch.el"
-;;;;;; "jka-cmpr-hook.el" "kermit.el" "language/chinese.el" "language/cyrillic.el"
+;;;;;; "jka-cmpr-hook.el" "kermit.el" "language/arabic.el" "language/chinese.el" "language/cyrillic.el"
;;;;;; "language/czech.el" "language/devanagari.el" "language/english.el"
;;;;;; "language/ethiopic.el" "language/european.el" "language/georgian.el"
;;;;;; "language/greek.el" "language/hebrew.el" "language/indian.el"
Index: lisp/loadup.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/loadup.el,v
retrieving revision 1.144
diff -u -u -r1.144 loadup.el
--- lisp/loadup.el 16 Nov 2005 02:26:37 -0000 1.144
+++ lisp/loadup.el 22 Nov 2005 05:59:39 -0000
@@ -98,6 +98,7 @@
(load "international/latin-8")
(load "international/latin-9"))
;; Load language-specific files.
+(load "language/arabic")
(load "language/chinese")
(load "language/cyrillic")
(load "language/indian")
Index: lisp/international/characters.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/international/characters.el,v
retrieving revision 1.54
diff -u -u -r1.54 characters.el
--- lisp/international/characters.el 4 Jul 2005 17:22:27 -0000 1.54
+++ lisp/international/characters.el 22 Nov 2005 05:59:40 -0000
@@ -1235,7 +1235,7 @@
(latin-iso8859-4 . iso-latin-4)
(thai-tis620 . thai-tis620)
(greek-iso8859-7 . greek-iso-8bit)
- (arabic-iso8859-6 . iso-2022-7bit)
+ (arabic-iso8859-6 . arabic-iso-8bit)
(hebrew-iso8859-8 . hebrew-iso-8bit)
(katakana-jisx0201 . japanese-shift-jis)
(latin-jisx0201 . japanese-shift-jis)
Index: lisp/international/code-pages.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/international/code-pages.el,v
retrieving revision 1.31
diff -u -u -r1.31 code-pages.el
--- lisp/international/code-pages.el 24 Sep 2005 13:43:59 -0000 1.31
+++ lisp/international/code-pages.el 22 Nov 2005 05:59:41 -0000
@@ -3791,72 +3791,6 @@
(define-coding-system-alias 'iso-8859-16 'iso-latin-10)
(define-coding-system-alias 'latin-10 'iso-latin-10)
-;; Unicode-based alternative which has the possible advantage of
-;; having its relative sparseness specified.
-;;;###autoload(autoload-coding-system 'iso-8859-6 '(require 'code-pages))
-(cp-make-coding-system
- ;; The base system uses arabic-iso-8bit, but that's not a MIME charset.
- iso-8859-6
- [nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil
- nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil
- ?\Â
- ?\¤
- ?\Ø
- ?\Â
- ?\Ø
- ?\Ø
- ?\Ø¡
- ?\Ø¢
- ?\Ø£
- ?\ؤ
- ?\Ø¥
- ?\ئ
- ?\ا
- ?\ب
- ?\Ø©
- ?\ت
- ?\Ø«
- ?\ج
- ?\Ø
- ?\Ø®
- ?\د
- ?\ذ
- ?\ر
- ?\ز
- ?\س
- ?\Ø´
- ?\ص
- ?\ض
- ?\Ø·
- ?\ظ
- ?\ع
- ?\غ
- ?\Ù
- ?\Ù
- ?\Ù
- ?\Ù
- ?\Ù
- ?\Ù
- ?\Ù
- ?\Ù
- ?\Ù
- ?\Ù
- ?\Ù
- ?\Ù
- ?\Ù
- ?\Ù
- ?\Ù
- ?\Ù
- ?\Ù
- ?\Ù
- ?\Ù
- nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil
- nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil
- nil nil nil nil nil nil nil nil nil nil nil]
- "Unicode-based Arabic ISO/IEC 8859-6 (MIME: ISO-8859-6)"
- ?6)
-(define-coding-system-alias 'arabic-iso-8bit 'iso-8859-6)
-
;;;###autoload(autoload-coding-system 'iso-8859-10 '(require 'code-pages))
(cp-make-coding-system
iso-latin-6
Index: lisp/international/mule-cmds.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/international/mule-cmds.el,v
retrieving revision 1.287
diff -u -u -r1.287 mule-cmds.el
--- lisp/international/mule-cmds.el 20 Nov 2005 07:45:19 -0000 1.287
+++ lisp/international/mule-cmds.el 22 Nov 2005 05:59:44 -0000
@@ -2103,7 +2103,7 @@
("af" . "Latin-1") ; Afrikaans
("am" "Ethiopic" utf-8) ; Amharic
("an" . "Latin-9") ; Aragonese
- ; ar Arabic glibc uses 8859-6
+ ("ar" "Arabic" iso-8859-6)
; as Assamese
; ay Aymara
("az" . "UTF-8") ; Azerbaijani
Index: lisp/international/ucs-tables.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/international/ucs-tables.el,v
retrieving revision 1.43
diff -u -u -r1.43 ucs-tables.el
--- lisp/international/ucs-tables.el 16 Nov 2005 22:21:16 -0000 1.43
+++ lisp/international/ucs-tables.el 22 Nov 2005 05:59:46 -0000
@@ -129,6 +129,10 @@
"Used as `translation-table-for-encode' for iso-8859-5.
Translates from the iso8859 charsets and `mule-unicode-0100-24ff'.")
+(defvar ucs-8859-6-encode-table nil
+ "Used as `translation-table-for-encode' for iso-8859-6.
+Translates from the iso8859 charsets and `mule-unicode-0100-24ff'.")
+
(defvar ucs-8859-7-encode-table nil
"Used as `translation-table-for-encode' for iso-8859-7.
Translates from the iso8859 charsets and `mule-unicode-0100-24ff'.")
@@ -1114,8 +1118,7 @@
;; Derive tables that can be used as per-coding-system
;; `translation-table-for-encode's.
- ;; N.B., there's no 8859-6 coding system.
- (dolist (n (list 15 14 9 8 7 5 4 3 2 1))
+ (dolist (n (list 15 14 9 8 7 6 5 4 3 2 1))
(let* ((alist (symbol-value (intern (format "ucs-8859-%d-alist" n))))
(encode-translator (set (intern (format "ucs-8859-%d-encode-table"
n))
@@ -1194,7 +1197,7 @@
;; Adjust the 8859 coding systems to fragment the unified characters
;; on encoding.
- (dolist (n '(1 2 3 4 5 7 8 9 14 15))
+ (dolist (n '(1 2 3 4 5 6 7 8 9 14 15))
(let* ((coding-system
(coding-system-base (intern (format "iso-8859-%d" n))))
(table (symbol-value
@@ -1237,7 +1240,7 @@
;; For each charset, remove the parent of `safe-chars' property of
;; the corresponding coding system.
- (dolist (n '(1 2 3 4 5 7 8 9 14 15))
+ (dolist (n '(1 2 3 4 5 6 7 8 9 14 15))
(let* ((coding-system
(coding-system-base (intern (format "iso-8859-%d" n))))
(safe (coding-system-get coding-system 'safe-chars)))
Index: src/Makefile.in
===================================================================
RCS file: /cvsroot/emacs/emacs/src/Makefile.in,v
retrieving revision 1.318
diff -u -u -r1.318 Makefile.in
--- src/Makefile.in 16 Nov 2005 02:38:24 -0000 1.318
+++ src/Makefile.in 22 Nov 2005 05:59:48 -0000
@@ -745,6 +745,7 @@
${lispsource}international/latin-8.el \
${lispsource}international/latin-9.el \
${lispsource}case-table.elc \
+ ${lispsource}language/arabic.el \
${lispsource}language/chinese.elc \
${lispsource}language/cyrillic.elc \
${lispsource}language/indian.elc \
@@ -841,6 +842,7 @@
../lisp/international/latin-8.el \
../lisp/international/latin-9.el \
../lisp/case-table.elc \
+ ../lisp/language/arabic.el \
../lisp/language/chinese.elc \
../lisp/language/cyrillic.elc \
../lisp/language/indian.elc \
arabic.el
Description: language file
arabic.el
Description: quail file
_______________________________________________ emacs-bidi mailing list [email protected] http://lists.gnu.org/mailman/listinfo/emacs-bidi
