changeset 109989:b9af37ce659c

Add Arabic support.
author Kenichi Handa <handa@m17n.org>
date Thu, 26 Aug 2010 09:29:02 +0900
parents a44dc3503539 (current diff) ae3fecdc3276 (diff)
children 7a475b5bbabe ab4ed8456c4e
files
diffstat 6 files changed, 32 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/etc/ChangeLog	Wed Aug 25 14:25:32 2010 -0600
+++ b/etc/ChangeLog	Thu Aug 26 09:29:02 2010 +0900
@@ -1,3 +1,7 @@
+2010-08-25  Kenichi Handa  <handa@m17n.org>
+
+	* HELLO: Change designation sequences for Arabic text.
+
 2010-08-23  Michael Albinus  <michael.albinus@gmx.de>
 
 	* NEWS: dbus.el supports alternative buses.
--- a/etc/HELLO	Wed Aug 25 14:25:32 2010 -0600
+++ b/etc/HELLO	Thu Aug 26 09:29:02 2010 +0900
@@ -4,7 +4,7 @@
   Europe: ,A!(BHola!, Gr,A|_(B Gott, Hyv,Add(B p,Ad(Biv,Add(B, Tere ,Au(Bhtust, Bon,Cu(Bu
           Cze,B6f(B!, Dobr,B}(B den, ,L7T`PRabRcYbU(B!, ,FCei\(B ,Fsar(B, $,1J2J0J;J0J@JOJ=J1J0(B
   Africa: $(3!A!,!>(B
-  Middle/Near East: ,Hylem(B, ,GGdSqdGe(B ,GYdjce(B
+  Middle/Near East: ,Hylem(B, $,1-g.$-s.1.$-g.%(B $,1-y.$.*.#.%(B
   South Asia: $,19h9n9x:-9d:'(B, $,15h5n5x6-5d6'(B, $,1?(?.?8?M>u?>?0(B, $,1@H@N@X@m@5@^@P@"(B, $,1;6;A;#;?;,;G(B,
               $,1AFAzB4AvB=B AqB*(B, $,1<U<C<5<m<5<N<m(B, $,1=h=n=x>-=U=~=p=B(B, $(7"7"!#C!;"E"S"G!;"7"2"[!;"D"["#"G!>(B
   South East Asia: $,1\'\f\:\V\4\?\]\:(B, (1JP:R-4U(B, $,1H9H$HZHYH"H<HLH5HK(B, ,TJGQJ4U$CQ:(B, Ch,1`(Bo b,1U(Bn
@@ -16,7 +16,7 @@
 LANGUAGE (NATIVE NAME)	HELLO
 ----------------------	-----
 Amharic ($,1O M[MmN{(B)	$,1M`MKM](B
-Arabic $,1ro(B(,GGdYQHjqI(B)	,GGdSqdGe(B ,GYdjce(B
+Arabic $,1ro(B($,1-g.$-y-q-h.*.1-i(B)	$,1-g.$-s.1.$-g.%(B $,1-y.$.*.#.%(B
 Bengali ($,17,7>6b727>(B)	$,17(7.787M6u7>70(B
 Braille	$,2(3(1('('(5(B
 Burmese ($,1H9H\H4HZH9HL(B)	$,1H9H$HZHYH"H<HLH5HK(B
--- a/lisp/ChangeLog	Wed Aug 25 14:25:32 2010 -0600
+++ b/lisp/ChangeLog	Thu Aug 26 09:29:02 2010 +0900
@@ -1,3 +1,11 @@
+2010-08-25  Kenichi Handa  <handa@m17n.org>
+
+	* language/misc-lang.el ("Arabic"): New language environment.
+	Setup composition-function-table for Arabic characters.
+
+	* international/fontset.el (setup-default-fontset): Fix typo for
+	arabic OTF spec (fini->fina).
+
 2010-08-25  Jan Djärv  <jan.h.d@swipnet.se>
 
 	* menu-bar.el (menu-bar-set-tool-bar-position): Set frame parameter
--- a/lisp/international/fontset.el	Wed Aug 25 14:25:32 2010 -0600
+++ b/lisp/international/fontset.el	Thu Aug 26 09:29:02 2010 +0900
@@ -433,7 +433,7 @@
 	       (nil . "koi8-r"))
 
      (arabic ,(font-spec :registry "iso10646-1"
-			 :otf '(arab nil (init medi fini liga)))
+			 :otf '(arab nil (init medi fina liga)))
 	     (nil . "MuleArabic-0")
 	     (nil . "MuleArabic-1")
 	     (nil . "MuleArabic-2")
--- a/lisp/international/mule-cmds.el	Wed Aug 25 14:25:32 2010 -0600
+++ b/lisp/international/mule-cmds.el	Thu Aug 26 09:29:02 2010 +0900
@@ -2179,7 +2179,7 @@
     ("af" . "Latin-1") ; Afrikaans
     ("am" "Ethiopic" utf-8) ; Amharic
     ("an" . "Latin-9") ; Aragonese
-    ; ar Arabic glibc uses 8859-6
+    ("ar" . "Arabic")
     ; as Assamese
     ; ay Aymara
     ("az" . "UTF-8") ; Azerbaijani
--- a/lisp/language/misc-lang.el	Wed Aug 25 14:25:32 2010 -0600
+++ b/lisp/language/misc-lang.el	Thu Aug 26 09:29:02 2010 +0900
@@ -40,8 +40,9 @@
 IPA is International Phonetic Alphabet for English, French, German
 and Italian.")))
 
-;; This is for Arabic.  But, as we still don't have Arabic language
-;; support, we at least define a coding system here.
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Arabic
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
 (define-coding-system 'iso-8859-6
   "ISO-8859-6 based encoding (MIME:ISO-8859-6)."
@@ -58,6 +59,19 @@
   :mime-charset 'windows-1256)
 (define-coding-system-alias 'cp1256 'windows-1256)
 
+(set-language-info-alist
+ "Arabic" '((charset unicode)
+	    (coding-system utf-8 iso-8859-6 windows-1256)
+	    (coding-priority utf-8 iso-8859-6 windows-1256)
+	    (input-method . "arabic")
+	    (sample-text . "Arabic	السّلام عليكم")
+	    (documentation . "Bidirectional editing is supported.")))
+
+(set-char-table-range
+ composition-function-table
+ '(#x600 . #x6FF)
+ (list ["[\u0600-\u06FF]+" 0 font-shape-gstring]))
+
 (provide 'misc-lang)
 
 ;; arch-tag: 6953585c-1a1a-4c09-be82-a2518afb6074