Closed Bug 306404 Opened 19 years ago Closed 17 years ago

[pango] Asian locale textbox numbers/punctuation bad eol rendering and cursor placement

Categories

(Core Graveyard :: GFX: Gtk, defect)

All
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: petersen, Unassigned)

Details

User-Agent:       Mozilla/5.0 (X11; U; Linux x86_64; ja-JP; rv:1.7.10) Gecko/20050720 Fedora/1.0.6-1.1.fc4 Firefox/1.0.6
Build Identifier: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8b3) Gecko/20050827 Fedora/1.1-0.2.8.deerpark.alpha2 Firefox/1.0+

In firefox with pango rendering in Asian locale, inputting numbers and/or
punctuation at the beginning of a line in a textbox followed by ascii letters causes
the letters at the end of the line to be misrendered and gives bad cursor movement
over the letters.

Reproducible: Always

Steps to Reproduce:
1. Run "LANG=ja_JP.UTF-8 firefox".
2. Goto this bug for example.
3. Input:
 123456. hello world, this line is badly rendered by pango when input.
in the textbox
4. Try highlighting the text of (3) with the mouse.
5. Move the cursor to the end of the input line and delete the line with Backspace.
Actual Results:  
3. When the 'h' of "hello" is input the rendering of the proceeding digits changes
and the cursor is left in front of the 'h'.  After the remaining words are input
the cursor and rendering stays behind.
4. As the numbers are highlighted they change size.  When the highlighting
is extended to the following text the size of the numbers reverts to the size
before highlighting.
5. The words/letters of the text are not unrendered, but only the digits/numbers
and punctuation are removed.

Expected Results:  
3. The rendering of digits/numbers to be constant independent of context.
The cursor to be displayed after each newly input character and the text at the end
of the line in the textbox to be rendering properly.
4. No change in the rendering of digits when they are highlighted.
5. All the text in the line to be unrendered when deleted from the textbox.

Scrolling the textbox off screen and back on again causes the text to be rendering
correctly.

The makes input in textboxes extremely annoying and cumbersome for Asian users.
I have the same problem.
Confirming.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Component: General → GFX: Gtk
Product: Firefox → Core
QA Contact: general → gtk
Version: unspecified → Trunk
some more info:

- the script-neutral characters (like digits) start being displayed on
  the font for the default language (eg a Chinese font in a Chinese locale)
- then, if a latin character (or maybe any other script other than the
  one of the default language) is typed, the font used changes to the one
  for that language, for both the text in that scripts *and* the 
  script-neutral characters
- that is normal and expected behaviour with pango; that is not the problem

however:

- when switching to the other font, the cursor positioning seems to 
  still be calculated using the metrics of the previous font (the default
  language one)
- that is the problem

note that on Gtk2/Gnome programs that problem doesn't happen, the
font changes, but the cursor positioning is properly done.
So, there is something that Gtk2 is doing when using pango
that gecko/mozilla isn't.
Does this bug still occur in a recent trunk build?
http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-trunk/
I think that this is same as bug 339513.

This bug should be marked to WONTFIX, we don't fix this bug on old gfx (on 1.8 branch).
(In reply to comment #3)
> Does this bug still occur in a recent trunk build?

No I can't reproduce it there.  Wow, this makes me happy. :)
Ok, WORKSFORME for trunk and WONTFIX for branch then.
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → WORKSFORME
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.