Open Bug 1107568 Opened 10 years ago Updated 2 years ago

style="font-family: Lucida Console, monospace" misplaces tilde in 'mañana' // U+006E + U+0303 (COMBINING TILDE)

Categories

(Core :: Layout: Text and Fonts, defect)

34 Branch
defect

Tracking

()

UNCONFIRMED

People

(Reporter: tmptgr, Unassigned)

References

(Depends on 1 open bug)

Details

(Keywords: fonts, intl, parity-chrome)

Attachments

(2 files)

Attached file manana.html
User Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0
Build ID: 20141125180439

Steps to reproduce:

Run the testcase derived from https://mathiasbynens.be/notes/javascript-unicode


Actual results:

The combining tilde is shown over the second 'a'.


Expected results:

The combining tilde should be shown over the preceding character, in this case the first 'n'.
This happens because the combining tilde character U+0303 is not supported in Lucida Console; so it falls back to a different font (most likely Courier New, assuming default preferences), and positioning of diacritics does not generally work across font-change boundaries.

For better results, authors who want to use combining diacritics should choose fonts that support them.
Attached file manana.html
Chrome 39.0.2171.71 m: Works fine.
IE 11: Works fine. (And all strings have the same width.)
Firefox 34: Combo tilde position incorrect.
Summary: style="font-family: Lucida Console, monospace" misplaces tilde in 'mañana' // U+006E + U+0303 (COMBINING TILDE) → style="font-family: Lucida Console, monospace" misplaces tilde in 'mañana' // U+006E + U+0303 (COMBINING TILDE)
I think Chrome performs unicode normalization. Maybe Firefox should do it too?
(In reply to sirxemic from comment #3)
> I think Chrome performs unicode normalization. Maybe Firefox should do it
> too?

Simple answer is no. But the CSS3 Fonts spec contains a specific set of steps for dealing with font selection in situations like this that contains normalization-like steps:

http://www.w3.org/TR/css3-fonts/#cluster-matching

The implementation of that is bug 543200.
Depends on: 543200
(In reply to Cees T. from comment #2)
> IE 11: Works fine. (And all strings have the same width.)

Not when I tried it in Windows 7 it doesn't. IE 11 places the tilde over the second a. Firefox 37.0.2 puts it over the first n, though detached and off-center.

(In reply to John Daggett (:jtd) from comment #4)
>  bug 543200.

Wouldn't the end result be ñ being displayed with a font other than Lucida Console?
Component: Graphics: Text → Layout: Text
Keywords: fonts, intl
OS: Windows 8.1 → All
Hardware: x86_64 → All
Whiteboard: [parity-chrome][parity-opera]
(In reply to Paul Kögel from comment #6)
> The same thing happens with "Consolas" on OSX on this page:
> https://github.com/mathiasbynens/esrever/blob/
> 48e1f4587169d54a57f4bb4693d8ee1ea5b012f5/README.md#why-not-just-use-
> stringsplitreversejoin

Not for me; but perhaps you have an older version of Consolas installed. (I tried 5.32 and 5.36, and both look OK here.)
I have Consolas "Version 1.00" installed.
As of mid-2013 Chrome and Opera both use Blink, so parity-opera added in 2015 is redundant for web platform bugs.
Whiteboard: [parity-chrome][parity-opera] → [parity-chrome]
Mass bug change to replace various 'parity' whiteboard flags with the new canonical keywords. (See bug 1443764 comment 13.)
Keywords: parity-chrome
Whiteboard: [parity-chrome]
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: