Re: 2.0.1 bug situation, esp. wrt ZVT

Hi Havoc,

Havoc Pennington wrote:

Toshi - a couple comments on the i18n patch:

- I would not use PangoLayout, it's going to be slow and slightly
  wrong in terms of what it does to text. you probably want to use
  Xft directly or close the GTK 2.2 API bug to add a simple "draw
  string" kind of API to pango

I could understand it may make things slow, but I'm not really sure what you mean from
"going to be slightly wrong"? Is this known issue of PangoLayout?

I don't want to use Xft directly - at least don't want to make it an only option, so that it should work in the system not having Xft. Using a simple "draw string" API of pango
may be a choice at 2.2, but I'm afraid it cannot be in 2.0.x.

(Above all, I understand using Pango is a way to handle text rendering and layout in GTK+2 and GNOME2. Is it not true specfically in gnome-terminal and terminal widget?)

- you are going to need to handle non-monospaced fonts, because gnome-terminal has no way to filter things so the user can only select monospace, at least not yet

Handling non-monospaced fonts would require massive code changes, which I'm afraid
it cannot be done in next 4-6 weeks of 2.0.2 timeframe.

The current libzvt i18n patch is written in the expectation that it can always be fed with monospaced fonts - and in multibyte locale cases, it expects the width of CJK character
glyphs are exactly twice as that of ASCII character glyphs.

How about having a way to filter some fonts to meet the above expectation? Is it possible to
add it in gnome-terminal or somewhere else? How difficuilt could ie be?

- max_logical_extent on pango fonts is going to tend to be too big
  for Western locales due to fontsetting

The patch is using pango_font_metrics_get_approximate_digit_width() so that it should decide column width from the width of ASCII digit characters, so it does not become
way-big due to fontsetting or the current locale.


gnome-hackers mailing list
gnome-hackers gnome org

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