[Etoys] pangoRenderer
K. K. Subramaniam
subbukk at gmail.com
Sun Oct 19 21:33:57 EDT 2008
On Saturday 18 Oct 2008 11:51:35 am Yoshiki Ohshima wrote:
> > Locale is a poor determinant of rendering method. I would expect the
> > method to be text style tag rather than spread all over the place like
> > this. The current approach seems to add complexity to an already complex
> > issue of multilingual text.
>
> What is text style tag?
I meant an attribute associated with a piece of text (e.g. strong, emphasis,
language, script, glyph variant) rather than the global environment. Notice
how Project>>displayProgressWithJump has to turn usePango to false to display
jumping guy.
> and what do you mean by spread all over the
> place?
I meant the low-level rendering mechanism has leaked into higher level
methods. Pango is just one of the many rendering methods in Linux and needs
to be encapsulated within a rendering facade. The global usePango check is
called from methods in LanguageEnvironment, Locale. If methods like
StringMorph>>measureContents has to compute width by checking for every
possible rendering method, then the complexity will soon get out of hand.
> > Did I miss something? .. Subbu
>
> But, at the same time, the current implementation was done too
> quickly for the 8.2 release, and not great. We should surely fix it.
I understand the pressures and the issue gets quite complicated once you move
beyond Latin-1 text. My concern was about lack of encapsulation and the
proliferation of usePango and checks. Given XO's global deployment scenario,
the code should be ready to take on different renderers. Can't we build upon
TeX's approach of separating laying out text and rendering glyphs?
Subbu
More information about the Etoys
mailing list