On Tue, 2004-07-13 at 23:05, Emil Soleyman-Zomalan wrote: > Hello to all, > > I have made a first cut in creating a Syriac module by modifying the > Arabic module to a small degree. I have tested the module to see if it > can meet the basic requirements for Syriac writing and I can say that it > does so successfully. > > I have created a patch that will cleanly apply against Pango CVS. > Moreover, I have also created a tarball of the entire Pango tree as well > as the Syriac module for your perusal and comments. I would like help in > merging this module into Pango. > > Patch: http://www.nishra.com/patches/syriac-module.patch > Pango: http://www.nishra.com/patches/pango-syr.tar.gz > Module: http://www.nishra.com/patches/syriac.tar.gz Hi Emil, I've just spent some time looking over your patch. * I think you can delete the Build_Syriac_Glyph_Properties code from syriac-ot.[ch]. This code is to support legacy Arabic fonts that don't have a GDEF table. My expectation is that the corresponding Syriac fonts don't exist. * The order of feature application in your code seems to be different from http://www.microsoft.com/typography/otfntdev/syriacot/shaping.htm Is there a reason for this? * Is the assignment of joining classes for the punctuation in 0x701-0x70D right? Shouldn't these be 'none' rather than 'transparent'? * Is the assignment of joining classes for U+74D-U+74F correct? What you have doesn't seem to correspond to ftp://ftp.unicode.org/Public/UNIDATA/ArabicShaping.txt * The logic for determining word ends looked a bit weird to me: if (!(next == causing || next == right || next == dual)) If this is correct, a comment such as: /* All characters that can be part of of a Syriac word * join either to the right or on both sides */ Would be useful, since it's not an entirely obvious property (for someone who doesn't know Syriac) * Extending/updating the big block comment describing R1-R7 would be appreciated. * Can you provide a Syriac entry for HELLO.utf8? Another file for examples/ that tests out Syriac more extensively might be nice as well. * What should we do about U+070F SYRIAC ABBREVIATION MARK? Getting the rendering with the dots is going to be tricky (since drawing round circles is hard) but it shouldn't be that hard to handle at least the minimal rendering as a line. The way I think I'd do this is to add an API like: pango_fc_font_get_abbreviation_mark(font, num_glyphs) that returns (0x11000000 | num_glyphs) And make the code in pangoxft-font.c:pango_xft_real_render() draw a line over the next num_glyph glyphs in the glyph string when it sees that special glyph. Anyways, that can be dealt with later. * You should add your copyright to the source files. In general, the module looks good, and if you want to clean up the small details and are happy with the state of the module I'll try to get it past the GNOME release team (since we are past feature freeze) and into Pango-1.6. If that doesn't work, definitely for Pango-1.8. Thanks, Owen
Attachment:
signature.asc
Description: This is a digitally signed message part