Re: [NTG-context] Arabic shaping

2009-04-05 Thread Khaled Hosny
On Sun, Apr 05, 2009 at 11:16:55AM +0200, Hans Hagen wrote:
> Khaled Hosny wrote:
>> Currently 'font-ota.lua' hard codes the Arabic shaping properties,and it
>> doesn't seem to be complete  (e.g. the ڤ as in أڤاست is not joined), I
>> think such information belong to 'char-def.lua' and should be derived
>> from UCD, which provide 'ArabicShaping.txt[1]', covering Arabic, Syriac
>> and N'Ko scripts which all need the same shaping as Arabic.
>
> indeed this info will be moved to char def at some point (same for some  
> cjk properties) but for the moment this is easier to hack; if you have  
> patches, just let us know (remider for idris: you also had some, these  
> symbols showing up in black in tre tracer ..)

OK, the attached patch should added all Arabic entries from
ArabicShaping.txt, I tested some Arabic, Persian and Urdu samples and
all seem to be OK. This also fixes a small bug, 0629 (TEH MARBUTA) were
marked as dual joining while is is right joining only.

Regards,
 Khaled


-- 
 Khaled Hosny
 Arabic localiser and member of Arabeyes.org team
 Free font developer
--- font-ota.lua.old	2009-04-05 16:37:45.0 +0200
+++ font-ota.lua	2009-04-05 16:41:07.0 +0200
@@ -111,23 +111,65 @@
 local zwj  = 0x200D
 
 local isol = {
- [0x0621] = true, [zwnj] = true,
+[0x0600] = true, [0x0601] = true, [0x0602] = true, [0x0603] = true,
+[0x0608] = true, [0x060B] = true, [0x0621] = true, [0x0674] = true,
+[0x06DD] = true, [zwnj] = true,
 }
 
 local isol_fina = {
-[0x0622] = true, [0x0623] = true, [0x0624] = true, [0x0625] = true, [0x0627] = true, [0x062F] = true,
-[0x0630] = true, [0x0631] = true, [0x0632] = true,
-[0x0648] = true, [0x0671] = true, [0x0698] = true,
-[0xFEF5] = true, [0xFEF7] = true, [0xFEF9] = true, [0xFEFB] = true,
+[0x0622] = true, [0x0623] = true, [0x0624] = true, [0x0625] = true,
+[0x0627] = true, [0x0629] = true, [0x062F] = true, [0x0630] = true,
+[0x0631] = true, [0x0632] = true, [0x0648] = true, [0x0671] = true,
+[0x0672] = true, [0x0673] = true, [0x0675] = true, [0x0676] = true,
+[0x0677] = true, [0x0688] = true, [0x0689] = true, [0x068A] = true,
+[0x068B] = true, [0x068C] = true, [0x068D] = true, [0x068E] = true,
+[0x068F] = true, [0x0690] = true, [0x0691] = true, [0x0692] = true,
+[0x0693] = true, [0x0694] = true, [0x0695] = true, [0x0696] = true,
+[0x0697] = true, [0x0698] = true, [0x0699] = true, [0x06C0] = true,
+[0x06C3] = true, [0x06C4] = true, [0x06C5] = true, [0x06C6] = true,
+[0x06C7] = true, [0x06C8] = true, [0x06C9] = true, [0x06CA] = true,
+[0x06CB] = true, [0x06CD] = true, [0x06CF] = true, [0x06D2] = true,
+[0x06D3] = true, [0x06D5] = true, [0x06EE] = true, [0x06EF] = true,
+[0x0759] = true, [0x075A] = true, [0x075B] = true, [0x076B] = true,
+[0x076C] = true, [0x0771] = true, [0x0773] = true, [0x0774] = true,
+[0x0778] = true, [0x0779] = true,
 }
 
 local isol_fina_medi_init = {
-[0x0626] = true, [0x0628] = true, [0x0629] = true, [0x062A] = true, [0x062B] = true, [0x062C] = true, [0x062D] = true, [0x062E] = true,
-[0x0633] = true, [0x0634] = true, [0x0635] = true, [0x0636] = true, [0x0637] = true, [0x0638] = true, [0x0639] = true, [0x063A] = true,
-[0x0640] = true, -- tadwil
-[0x0641] = true, [0x0642] = true, [0x0643] = true, [0x0644] = true, [0x0645] = true, [0x0646] = true, [0x0647] = true, [0x0649] = true, [0x064A] = true,
-[0x067E] = true, [0x0686] = true, [0x06AF] = true, [0x06A9] = true, [0x06CC] = true,
-[zwj] = true,
+[0x0626] = true, [0x0628] = true, [0x062A] = true, [0x062B] = true,
+[0x062C] = true, [0x062D] = true, [0x062E] = true, [0x0633] = true,
+[0x0634] = true, [0x0635] = true, [0x0636] = true, [0x0637] = true,
+[0x0638] = true, [0x0639] = true, [0x063A] = true, [0x063B] = true,
+[0x063C] = true, [0x063D] = true, [0x063E] = true, [0x063F] = true,
+[0x0640] = true, [0x0641] = true, [0x0642] = true, [0x0643] = true,
+[0x0644] = true, [0x0645] = true, [0x0646] = true, [0x0647] = true,
+[0x0649] = true, [0x064A] = true, [0x066E] = true, [0x066F] = true,
+[0x0678] = true, [0x0679] = true, [0x067A] = true, [0x067B] = true,
+[0x067C] = true, [0x067D] = true, [0x067E] = true, [0x067F] = true,
+[0x0680] = true, [0x0681] = true, [0x0682] = true, [0x0683] = true,
+[0x0684] = true, [0x0685] = true, [0x0686] = true, [0x0687] = true,
+[0x069A] = true, [0x069B] = true, [0x069C] = true, [0x069D] = true,
+[0x069E] = true, [0x069F] = true, [0x06A0] = true, [0x06A1] = true,
+[0x06A2] = true, [0x06A3] = true, [0x06A4] = true, [0x06A5] = true,
+[0x06A6] = true, [0x06A7] = true, [0x06A8] = true, [0x06A9] = true,
+[0x06AA] = true, [0x06AB] = true, [0x06AC] = true, [0x06AD] = true,
+[0x06AE] = true, [0x06AF] = true, [0x06B0] = true, [0x06B1] = true,
+[0x06B2] = true, [0x06B3] = true, [0x06B4] = true, [0x06B5] = true,
+[0x06B6] = true, [0x06B7] = true, [0x06B8] = true, [0x06B9] 

Re: [NTG-context] Arabic shaping

2009-04-05 Thread Hans Hagen

Khaled Hosny wrote:

Currently 'font-ota.lua' hard codes the Arabic shaping properties,and it
doesn't seem to be complete  (e.g. the ڤ as in أڤاست is not joined), I
think such information belong to 'char-def.lua' and should be derived
from UCD, which provide 'ArabicShaping.txt[1]', covering Arabic, Syriac
and N'Ko scripts which all need the same shaping as Arabic.


indeed this info will be moved to char def at some point (same for some 
cjk properties) but for the moment this is easier to hack; if you have 
patches, just let us know (remider for idris: you also had some, these 
symbols showing up in black in tre tracer ..)


Hans


-
  Hans Hagen | PRAGMA ADE
  Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
 tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com
 | www.pragma-pod.nl
-
___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : https://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___


[NTG-context] Arabic shaping

2009-04-04 Thread Khaled Hosny
Currently 'font-ota.lua' hard codes the Arabic shaping properties,and it
doesn't seem to be complete  (e.g. the ڤ as in أڤاست is not joined), I
think such information belong to 'char-def.lua' and should be derived
from UCD, which provide 'ArabicShaping.txt[1]', covering Arabic, Syriac
and N'Ko scripts which all need the same shaping as Arabic.

[1]http://unicode.org/Public/5.1.0/ucd/ArabicShaping.txt

Regards,
 Khaled


-- 
 Khaled Hosny
 Arabic localiser and member of Arabeyes.org team
 Free font developer


signature.asc
Description: Digital signature
___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : https://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___