Re: i18n of abiword


Subject: Re: i18n of abiword
From: Paul Rohr (paul@abisource.com)
Date: Wed Jan 12 2000 - 19:43:23 CST


At 05:40 PM 1/7/00 +0700, Pruet Boonma wrote:
>Abiword can display Thai fonts on Linux but not display correctly (its
>problem come from complex method to Thai font presentation).

This raises two questions:

1. Did you need to do any special input method work to recognize Thai
characters, or does the existing code work well enough?

2. Is this the problem of mapping Unicode characters to the charsets used
in the fonts? If so, we could use a general solution to the problem.

>I am interested in making Abiword to support Thai document, which require
>word breaking, cause Thai language use continous word (not separate word
>by space like English) so we need word breaking mechanism (which we have
>some library to support this mechanism already). The problem is , where
>should I look first for insert my word breaking code ?

Each paragraph (a logical block) currently uses an fb_LineBreaker instance
which encapsulates all (most?) knowledge of line-breaking algorithms. That
class is instantiated once per section and handed to each block's
constructor.

  abi/src/text/fmt/xp/fb_LineBreaker.cpp
  abi/src/text/fmt/xp/fb_LineBreaker.h
  abi/src/text/fmt/xp/fl_BlockLayout.cpp
  abi/src/text/fmt/xp/fl_BlockLayout.h
  abi/src/text/fmt/xp/fl_SectionLayout.cpp
  abi/src/text/fmt/xp/fl_SectionLayout.h

If the entire section is going to be in Thai, then you might just be able to
subclass the fb_LineBreaker class and invoke your code from there.

Otherwise, as Justin suggests, we may want to introduce hyphenation APIs
(for breaking inside words) and put your code there.

Paul

Paul



This archive was generated by hypermail 2b25 : Wed Jan 12 2000 - 19:38:03 CST