Pango for internationalization.

Havoc Pennington Wrote:
One concern I have about AbiWord is duplication of effort below the GTK
layer.  For example I'm busy implementing line/word/sentence/grapheme
breaking in Pango now. Reimplementing all the Pango stuff is going to be
really unfortunate - I think it would be a lot better if you guys could
share i18n, Unicode, and font infrastructure with all the other apps.
Especially because for people using the more unusual languages, I would
expect Pango and some other implementation of the same things to behave
fairly differently, which will create problems.

Windows 2000 has Uniscribe which is sort of equivalent to Pango, but
unlike Pango you can't use that API on all platforms. Pango is
definitely being kept working on Windows and is designed to be

If you try to use native libs - selecting Uniscribe, Pango, etc. by
platform - it's going to result in platform-specific code deep in the
guts of Abi's text layout functionality, which is not going to be

Building an abstraction layer on top of Pango/Uniscribe seems
pointless, because Pango is already an abstraction layer for this, and
already will use Windows stuff on Windows.

Of course OpenOffice is not better in this respect, so this comment
applies equally to them.

I cross posted this to Abiword so the real experts can answer. Just a
quick response though. There is no reason we can't use our current system
for raw GTK and Pango/libunicode etc for gnome. I haven't been involved in

Do you use iconv to convert between different X font maps? Or does GTK 2.0
solve all that for us automatically? We've been plauged with compatibility
problems between different versions of iconv. The latest glibc returns 16
bit wide chars byte swapped compared to earlier versions. Even earlier
version segfault on valid input.

When GTK 2.0 is pronounced "Stable" we will certainly look at what is
implemented for internationalization.

Only the GTK version of Abi has CJK support right now.



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