[scribus-dev] scribusCTL plan
dawood.albadi at gmail.com
Tue Nov 24 10:42:45 UTC 2015
Per developers request, I will explain Oman HOST team thoughts.
Current process of laying out text is as follows:
The StoryText class handles characters and glyphs layout. This class stores
characters in a member with type of ScText_Shared with basically a QList of
ScText, which (despite its name) stores a single character, its styles and
The problem with this is that the order of glyphs is tied to the logical
order of characters so we can not apply the bidi algorithm to support right
to left languages as it will reorder the text to its visual order. It can
not also represent many to one characters to glyphs relationship e.g.
Andreas proposal is to separate glyph layout from story text which should
make it possible to avoid above limitations. So, we are moving all
functions related to glyph layout to the TextLayout class. This currently
There will be a mapping between glyphs in TextLayout and characters in
StoryTextWhich will remove the need for ScText so we can drop it
inertially. This will allow for us to change the visual order of the glyphs
without affecting the logical order of the characters, which is the
prerequisite for CTL support i.e. bidi and shaping.
We are splitting the project into three stages.
1- Separating glyph layout from story text.
2- Refactor or prepare TextLayout class to integrate HarfBuzz and ubidi.
3- Integrate harfbuzz and bidi with scribus.
Any feedback will be highly welcomed.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the scribus-dev