Re: Pango Syriac Module

On Mon, 2004-07-26 at 17:44 -0400, Owen Taylor wrote:

> Hi Emil,
> I've just spent some time looking over your patch. 

You can find a new patch at

> * 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 
>   Is there a reason for this?

I have re-done that section of the code but in doing so I have extended 
the joining rules from 7 to 11 and put some features out of order. 

The 3 out of 4 new joining rules deal with placing the correct Alaph
glyph in the data stream: final2, final3, and medial2. These are in the
correct feature order as seen in the above link.

The fourth rule deals with assigning the Nun character an isolated glyph
form when it is preceded by a causing or right joining class (previous)
but has no other character ahead of it. The previous rules will not
apply to this exception cleanly and therefore warrants another rule.

> * Is the assignment of joining classes for the punctuation
>   in 0x701-0x70D right? Shouldn't these be 'none' rather than
>   'transparent'?

This is fixed.

> * Is the assignment of joining classes for U+74D-U+74F correct?
>   What you have doesn't seem to correspond to

This is fixed.

> * 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)

The logic for determining the correct contextual position of the Alaph
glyph has been simplified in the new code.

> * Extending/updating the big block comment describing
>   R1-R7 would be appreciated.

It has been expanded to R1-R11 with comments in the areas where it was

> * Can you provide a Syriac entry for HELLO.utf8?
>   Another file for examples/ that tests out Syriac more 
>   extensively might be nice as well.

I have modified HELLO.utf8 to provide the Syriac/Assyrian equivalent of
hello and I have added a short Assyrian poem in examples/syriac.utf that
tests it out fairly 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.

We can always add this feature in a later revision. I'm in no hurry to
begin work on it now.

> * 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.

I would be more than ecstatic to have the Syriac module incorporated
into Pango 1.6. I would like to give it a try and see if we could
convince the release team to let it through.

By the way, you can download freely available OpenType Syriac fonts from They are free in
the sense that you do not pay money for them. I am working on possibly
GPLing them in the near future.
Emil Soleyman-Zomalan <emil nishra com>

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]