On Wed, 2005-06-22 at 13:13 -0700, Emil Soleyman-Zomalan wrote: > Hi, > > I have synced with the Arabic shaper to pick up some of the bugfixes > and/or changes and applied them to the Syriac codebase. Please apply > these patches at your earliest convenience. > > http://www.nishra.com/patches/syriac-fc.c.patch > http://www.nishra.com/patches/syriac-ot.c.patch > http://www.nishra.com/patches/syriac-ot.h.patch Actually, most of these differences I *fixed* formatting, style problems, or plain old silliness as compared to the Arabic shaper. (They perhaps should be merged back the other way) I've applied the differences that I think are actual fixes from the Arabic shaper now. Patch attached. Thanks! Owen
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/pango/ChangeLog,v
retrieving revision 1.1134
diff -u -p -r1.1134 ChangeLog
--- ChangeLog 21 Jul 2005 18:15:34 -0000 1.1134
+++ ChangeLog 21 Jul 2005 18:45:49 -0000
@@ -1,5 +1,19 @@
2005-07-21 Owen Taylor <otaylor redhat com>
+ Merges of fixes from Arabic module (#308813, Emil Soleyman-Zomalan)
+
+ * modules/syriac/syriac-fc.c (syriac_engine_shape): Fix
+ bug where cluster was getting set to 0 for non-spacing
+ marks rather than to the cluster of the base character.
+ (#149126, Behdad Esfahbod)
+
+ * modules/syriac/syriac-fc.c (syriac_engine_shape): Turn
+ on zero-width-marks setting. [Not clear that this is
+ needed here, since it is mostly set in the Arabic engine
+ to handle legacy fonts, but it shouldn't hurt]
+
+2005-07-21 Owen Taylor <otaylor redhat com>
+
Fix up places where there is missing or incomplete
Copyright and License information (Reported by William N. Ray)
Index: modules/syriac/syriac-fc.c
===================================================================
RCS file: /cvs/gnome/pango/modules/syriac/syriac-fc.c,v
retrieving revision 1.1
diff -u -p -r1.1 syriac-fc.c
--- modules/syriac/syriac-fc.c 22 Nov 2004 20:31:11 -0000 1.1
+++ modules/syriac/syriac-fc.c 21 Jul 2005 18:45:49 -0000
@@ -256,6 +256,7 @@ syriac_engine_shape (PangoEngineShape *e
PangoOTRuleset *ruleset;
PangoOTBuffer *buffer;
PangoFcFont *fc_font;
+ int cluster = 0;
g_return_if_fail (font != NULL);
g_return_if_fail (text != NULL);
@@ -276,6 +277,7 @@ syriac_engine_shape (PangoEngineShape *e
buffer = pango_ot_buffer_new (fc_font);
pango_ot_buffer_set_rtl (buffer, analysis->level % 2 != 0);
+ pango_ot_buffer_set_zero_width_marks (buffer, TRUE);
wcs = g_utf8_to_ucs4_fast (text, length, &n_chars);
properties = g_new0 (gulong, n_chars);
@@ -288,7 +290,6 @@ syriac_engine_shape (PangoEngineShape *e
gunichar wc;
gunichar mirrored_ch;
PangoGlyph index;
- int cluster = 0;
wc = g_utf8_get_char (p);
Attachment:
signature.asc
Description: This is a digitally signed message part