process_item and shaping

I can see from bug #62014 that pango was changed to shape each character
at most twice in pango-layout.c:process_item/insert_run/shape_run. I'm
trying to work out why the second one still needs to be done and why
pango_glyph_item_split isn't used.

Is there a particular reason why shaping will be different for a run on
its own as opposed to the original shaping as part of the original line?

There is a line that says:
	      /* Shaped items should never be broken */
	      g_assert (!shape_set);
so I'm guessing there may be a good reason but the assert is strange
because shape_set is always false.

I'm looking at this because shaping is particularly expensive with
graphite, though even the basic shaper is a big hit. If there isn't a
reason to not do it I'll investigate using pango_glyph_item_split and
submit a bug etc later.


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