post 1.0 layout engine


Subject: post 1.0 layout engine
From: Tomas Frydrych (tomas@frydrych.uklinux.net)
Date: Fri Jan 11 2002 - 04:46:57 CST


I would like to open discussion of the post 1.0 layout engine, so
that as we are fixing bugs for the 1.0 release we have something to
think about.

New/modified functionality

(1) Tables: I know Martin has given this some thought; one of the
requirenments will be a more flexible container implementation (the
current base container class is in fp_Column).

(2) Footnotes: since the endnotes are almost fully functional in the
debug code, this will be mainly a question of a container
implementation for the footnotes, and should not be too hard.

(3) Bidi: the new layout engine should be bidi-only. The latest
version of the bidi code is pretty lean and mean, and the non-bidi
users should not notice any performance difference.

(4) Glyph shaping: this goes hand in hand with bidi, and without
decent glyphshaping mechanism we cannot support Arabic, and
many other languages. We have two basic options: glyhp shaping
in the XP code, or glyph shaping in the platfrom specific code. I
would prefer the former option because (a) it will provide uniform
behaviour across all platforms; (b) will be easier to maintain. If we
take the latter path, we will have to provide glyph shaping engine for
most platforms and on win32 we will have to decide whether on
those flavours of win32 that do not do glyph shaping (which is
most) we will provide our own engine, or not support glyphshaping
at all. Pango has been usually mentioned on this list in this
context, but it is certainly not the only option, and we will need to
consider this carefully, since this will require substantial changes
to our layout classes. We also have to decide whether we will stick
with text organised in lines-only, or support columnar languages
too. Pango, I think, does both, but it would require much more
drastic rewrite of our layout code.

(4) Font rendering engine: This is closly related to glyph shaping
which can be comprehensibly provided only when using font
technology that can handle multiple glyhps for single Unicode code
point, such as OpenType. This poses real problem on Unix, since
the X server font mechanism does not provide this. I am therefore
toying with the idea of using the freeType library for our font
rendering; I think on Unix this is almost unavoidable, unless gtk 2.0
will provide OpenType support, but I think we might want to
consider using freeType in XP code.

Tomas



This archive was generated by hypermail 2b25 : Fri Jan 11 2002 - 04:47:43 CST