Closed Bug 1162921 Opened 9 years ago Closed 4 years ago

21Cent font - combined diacritic marks are misplaced (e.g. Cyrillic character й U+438 + U+306)

Categories

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

37 Branch
defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 1309934

People

(Reporter: mibus32, Unassigned)

References

(Depends on 1 open bug, )

Details

(Keywords: fonts, intl, parity-chrome)

Attachments

(2 files)

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:37.0) Gecko/20100101 Firefox/37.0
Build ID: 20150415140819

Steps to reproduce:

Visit the page http://syg.ma/@zhiuli-rieshie/o-zontikie, find some line containing 'й' or 'ё'.


Actual results:

Diacritical sign is placed above next character.  й


Expected results:

Diacritical sign should be placed where it belongs. й

I believe, that there is to way to type character 'й'.
1. й
2. й
First way - just to type it as usual, and second way is to type 'и' first, and then to type diacritical sign. People not doing it that way, i am sure, but i think that some operating systems, some WYSIWYG editors or some keyboards still do it that way. And when it is done that way (so you need two backspace hits to delete that char) the firefox fails at rendering this.
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:40.0) Gecko/20100101 Firefox/40.0
Build ID: 20150507030203

IE 11 - same issue
Chromium 41 - works
Opera 28 - works
Status: UNCONFIRMED → NEW
Ever confirmed: true
Keywords: fonts, intl
OS: Unspecified → All
Product: Firefox → Core
Hardware: Unspecified → All
Summary: Cyrillic multibyte character rendering → 21Cent font - combined diacritic marks are misplaced (e.g. Cyrillic character й U+438 + U+306)
Whiteboard: [parity-chrome][parity-opera]
Component: Untriaged → Layout: Text
The 21Cent font being used by that page does not support the combining diacritics, so when й (for example) is typed as the sequence <cyrillic letter i, combining breve> instead of the single code <cyrillic letter short i>, the combining breve is displayed using a fallback font. And when we have a base letter from one font (21Cent) together with an accent from a different font (it's using Georgia, in my case, but results will depend on what's available on the user's system), the usual diacritic positioning doesn't take effect.

I believe Chromium is applying NFC normalization to the text, which maps the <и, breve> sequence to the single character й (which is available in the 21Cent font).
I also had this issue with Gotham Pro font family.
Summary: 21Cent font - combined diacritic marks are misplaced (e.g. Cyrillic character й U+438 + U+306) → 21Cent font - combined diacritic marks are misplaced (e.g. Cyrillic character й U+438 + U+306)
Attached file opensans.html
(In reply to Jonathan Kew (:jfkthame) from comment #2)
> I believe Chromium is applying NFC normalization to the text, which maps the
> <и, breve> sequence to the single character й (which is available in the
> 21Cent font).

I couldn't find a bug report for Firefox doing the same. Does one exist or should this one be retitled?
This also affects more common fonts like Open Sans (charsets: Latin, Latin Extended, Cyrillic, Cyrillic Extended). And of course this doesn't just apply to Cyrillic characters.
I think this would be covered by bug 543200 ... there are various issues involved that make it a tricky area.
Depends on: 543200
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]
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: