Closed Bug 135940 Opened 22 years ago Closed 22 years ago

Accents created using mover have improper width over some symbols

Categories

(Core :: MathML, defect)

x86
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla1.3beta

People

(Reporter: kluka, Assigned: rbs)

References

()

Details

Attachments

(5 files)

From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.9+) Gecko/20020405
BuildID:    2002040510

Accents placed over some symbols (e.g. ℶ, ℓ, ϱ) are too wide. On
the other hand, Hat accent is not stretched and it is placed too high over some
symbols or strings of characters enclosed in the mi-element.

Reproducible: Always
Steps to Reproduce:
1. Look at http://www.mozilla.org/projects/mathml/start.xml .
2. Look at http://www.ii.fmph.uniba.sk/~kluka/mozilla/mover.xml for more examples.
3. Zoom the text using the View > Text Zoom menu.

Actual Results:  Hat accent over <mi>Ell</mi> on the ``MathML in Action'' page
is misplaced and it is not stretched.  The second page shows more strings and
individual symbols having the same effect on the Hat accent.  It also shows
other symbols that cause _any_ accent to be stretched too much (OverBar is used
in the examples).

Expected Results:  Proper stretching of all accents.

Too wide accents over some symbols may be one problem, and misplaced
non-stretched Hat over other symbols and strings may be another problem, since
other accents I tried are stretched properly over these symbols and strings. 
The Hat problem is also affected by zooming the text (when attempting to
reproduce it, try all the possibilities the View > Text Zoom menu offers), while
if accents are too wide for the default text size, they are too wide regardless
of zooming.

I couldn't reproduce either of these problems in Mozilla for Windows.  They may
be related to Type1 TeX fonts (do they exhibit on Mac and other UNIXes?), or be
completely Linux specific.
The only places I see problems on
http://www.ii.fmph.uniba.sk/~kluka/mozilla/mover.xml are the bar accent on
"complement" and "oS" being too wide.  Everything else works beautifully.

Using the TeX Type1 fonts, linux trunk build 2002-04-20-07.
kluka, bz, do you mind attaching each of your screenshots for comparisons?
I am going to attach mine. I am not quite happy with the placements of accents 
in certain situations and will be using this bug to refine the placements.
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Target Milestone: --- → mozilla1.1beta
Rather than creating an attachment, I've just posted my screenshots (four of
them, which is too much to attach I think and I don't want to zip them so that
you can see them on-line) and some info on my setup to
http://www.ii.fmph.uniba.sk/~kluka/mozilla/mover.xml .
URL?
>------- Additional Comment #5 From rbs@maths.uq.edu.au  2002-07-08 17:27 -------
>
>URL?

http://www.ii.fmph.uniba.sk/~kluka/mozilla/mover.xml#screenshots

Links to screenshots are at the bottom of the page.
Attached image screenshot.
Sorry this took so long; my computer was down and screenshots on systems with
crap fonts are useless....  I've outlined the problem chars.
I have iterated on the positionning code [the Place() functions] of <mover>,
<munder>, <munderover> to:

1) improve them so that accents are centered better and roundoff errors are
mitigated (I tried all sorts of voodoo before finally settling on adding a
onePixel/2 at the soft spots that were prone to troubles).

2) simplify them somewhat (albeit there are not any "easier" since the code is
pretty obscure without consulting the TeX manual).

3) reworked the code of <munderover> so that the code conceptually reads like a
juxtaposition of:
   <munder>
     <mover>
       BASE
       OVERSCRIPT
     </mover>
     UNDERSCRIPT
   </munder>

with <mover>...</mover> being conceptually implicit/anonymous. Hopefully, this
way of doing so might help someone looking at the code to find/understand how
it relates to the individual codes of <mover> and <munder>.

===
Steve, care to apply the patch on your tree and let it bake there and exercise
it a bit for a little while? Using all sort of combinations as you often do?
(Reminder: to see the markup of any fragment, right-click and pick "View MathML
Source" in the context menu.)
-> Tentatively setting target to 1.3b which is freezing on Tuesday January 21.
Target Milestone: mozilla1.1beta → mozilla1.3beta
Comment on attachment 111809 [details] [diff] [review]
patch to rework <mover>, <munder>, <munderover>

Putting on the r/sr queues of bz and roc.

As far as I can tell/test, the patch offers an improvement worthy of having.
Attachment #111809 - Flags: superreview?(roc+moz)
Attachment #111809 - Flags: review?(bzbarsky)
Comment on attachment 111809 [details] [diff] [review]
patch to rework <mover>, <munder>, <munderover>

gets my rubber-stamp. I don't really understand the math code, but it looks
sane and I trust Roger :-).
Attachment #111809 - Flags: superreview?(roc+moz) → superreview+
This patch works fine for me (on my WinXP system).
Comment on attachment 111809 [details] [diff] [review]
patch to rework <mover>, <munder>, <munderover>

> +    delta1 = ruleThickness + onePixel/2; // we have atleast the padding

As long as you're touching this line, "at least" instead of "atleast".
Attachment #111809 - Flags: review?(bzbarsky) → review+
Checked in with comment updated.
Status: ASSIGNED → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: