[Bug 7150] Implement Arabic shaping
wine-bugs at winehq.org
wine-bugs at winehq.org
Mon Oct 26 12:17:48 CDT 2009
http://bugs.winehq.org/show_bug.cgi?id=7150
--- Comment #14 from alsadi <alsadi at ojuba.org> 2009-10-26 12:17:48 ---
> articles written by me
Shachar! why haven't you implemented your docs ?
according to me the proper BiDi handling is :-)
- Bidi level calculations
- Line breaking
- Reodering
- Shaping
my code is very optimized, so if you just want to move things for optimization
purpose just forget it, you won't get a better performance, that would be near
impossible.
why did I made it the last step of BiDi process ?
because shaping changes the characters which would interfere the Reodering
process
for example a Reodering routine might know that U+639 is RTL but it may/may not
know that U+FECC is RTL too (many Reodering routines in many project don't
handle this case, I don't know about wine)
notes:
U+0639 ARABIC LETTER AIN
U+FECC ARABIC LETTER AIN MEDIAL FORM
and since I don't want to change any other function, I made it after Reodering.
the case where Shaping should be done before reodering is when the char length
of U+0639 is less that shaped U+FECC
but this is not the case in wine (UTF-16) so the positions calculated by your
reordering are granted to be valid as my function is 1-1.
the right thing to do is to use HarfBuzz which is in its way as a standalone
library.
http://fedoraproject.org/wiki/Features/Harfbuzz
but since this is a decision to be made in winehq, this is the only thing I can
do.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.
More information about the wine-bugs
mailing list