Closed
Bug 120343
Opened 24 years ago
Closed 24 years ago
Several languages on Unicode pages rendering with unwanted squares
Categories
(Core :: Internationalization, defect)
Tracking
()
VERIFIED
FIXED
People
(Reporter: tracy, Assigned: shanjian)
References
()
Details
(Keywords: intl, smoketest)
Attachments
(1 file)
|
1.34 KB,
patch
|
smontagu
:
review+
waterson
:
superreview+
|
Details | Diff | Splinter Review |
seen on windows only...comercial build windows 2002-01-16-06-trunk
-Goto above Unicode page
notice that several languages are rendering with the unwanted squares
| Reporter | ||
Updated•24 years ago
|
URL: http://www.unicode.org/iuc/iuc10/x-ut... → http://www.unicode.org/iuc/iuc10/x-ut...
Keywords: smoketest
Comment 1•24 years ago
|
||
If the languages affected are Arabic, Hebrew and Yiddish, this is a dupe of bug
119659. I have the fix for that in my local tree, and the whole page displays OK.
Marking as dupe, but please feel free to reopen if other languages are being
mis-rendered.
*** This bug has been marked as a duplicate of 119659 ***
Status: NEW → RESOLVED
Closed: 24 years ago
Resolution: --- → DUPLICATE
Comment 2•24 years ago
|
||
This happens with at least with Korean as well.
Status: RESOLVED → REOPENED
Resolution: DUPLICATE → ---
Comment 3•24 years ago
|
||
cc'ing shanjian.
Comment 4•24 years ago
|
||
shanjian: do you think it may be because of your checkin?
http://bonsai.mozilla.org/showcheckins.cgi?person=shanjian%25netscape.com&treeid=SeaMonkey
Comment 5•24 years ago
|
||
Verifed 2002-01-15-09-trunk build is ok.
Comment 6•24 years ago
|
||
Roy, so this is no longer a problem? Should it be resolved or is it still a
smoketest blocker?
Comment 7•24 years ago
|
||
Yesterday's was ok (2002-01-15-09-trunk)
Today's is broken. (2002-01-16-06-trunk)
It's a smoketest broker.
Comment 8•24 years ago
|
||
shanjian: I rolled back your change (see Comment #3) in my locale tree
and I no longer see the problem.
I am assigning this bug to you. Please have a look ASAP. thanks
Assignee: yokoyama → shanjian
Status: REOPENED → NEW
Comment 9•24 years ago
|
||
shanjian: I noticed that behaviour of text selection
is also affected by your change. When you have a fix,
please check the text selection as well. thanks
| Assignee | ||
Comment 10•24 years ago
|
||
I understood the problem, working on a fix now.
Status: NEW → ASSIGNED
| Assignee | ||
Comment 11•24 years ago
|
||
| Assignee | ||
Comment 12•24 years ago
|
||
marc, chris,
This a blocker, need your sr fast.
| Assignee | ||
Comment 13•24 years ago
|
||
frank, rbs, roy,
Could any of you give code review? thanks.
Comment 14•24 years ago
|
||
Comment on attachment 65297 [details] [diff] [review]
proposed patch
r=smontagu
Attachment #65297 -
Flags: review+
Comment 15•24 years ago
|
||
I don't understand this code very well, but the original code (r3.150)
pre-incremented currChar before calling LocateFont:
while (++currChar < lastChar) {
nextFont = LocateFont(aDC, *currChar, count);
if (nextFont != currFont) {
And this version of the code doesn't. Sorry, but someone will have to hold my
hand here: why we don't need to pre-increment anymore? (I'm assuming that this
is a regression from the checking for bug 118000...)
| Assignee | ||
Comment 16•24 years ago
|
||
The reason is that we need to advance 2 int16 for a surrogate pair, and 1 for
non surrogate code points. So I decide to advance it later.
Comment 17•24 years ago
|
||
Okay, shanjian walked me through this. Turns out that each preceding loop leaves
|currChar| properly setup for the loop that follow it, so there's no need to
pre-increment here. sr=waterson
Updated•24 years ago
|
Attachment #65297 -
Flags: superreview+
| Assignee | ||
Comment 18•24 years ago
|
||
fix checked in.
Status: ASSIGNED → RESOLVED
Closed: 24 years ago → 24 years ago
Resolution: --- → FIXED
Comment 19•24 years ago
|
||
I was just having a look at the initial change in bug 118000, and saw this:
//This if block is mean to speedup the process in normal situation, when
//most characters can be found in first font
if (currFont == mLoadedFonts[0]) {
- while (++currChar < lastChar && currFont->HasGlyph(*currChar)) ;
+ while (currChar < lastChar && (currFont->HasGlyph(*currChar)))
+ ++currChar;
and wondered why there isn't the +1 or +2 issue there? (note: my tree is not yet
up-to-date and I don't have these changes in full picture yet).
| Assignee | ||
Comment 20•24 years ago
|
||
rbs,
I intentionally leave it that way for performance reason. You know that code
is a fast track and it is not really necessary. Skip surrogate test will surely
keep the speed for non-surrogate characters. For surrogate pair, since part of
a surrogate pair should not find glyph in any of the font, it will fall back
to code follows.
| Assignee | ||
Comment 21•24 years ago
|
||
*** Bug 120274 has been marked as a duplicate of this bug. ***
| Reporter | ||
Comment 22•24 years ago
|
||
verified fixed on windows commercial build 2002-01-17-06-trunk
Status: RESOLVED → VERIFIED
You need to log in
before you can comment on or make changes to this bug.
Description
•