Re: Pango Syriac Module



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



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