Open Bug 733376 Opened 12 years ago Updated 2 years ago

Constantia can not render C-accute-cedilla even if it is decomposed

Categories

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

All
Windows 8
defect

Tracking

()

People

(Reporter: emk, Unassigned)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

Attached file Testcase
Nightly cannot render the attached file correctly, but fine with Firefox 10.0.2.
If my patch from bug 543200 is applied, the testcase is rendered correctly.
The patch compose clusters before matching. Then it fallbacks to Times New Roman because Constantia do not contain precomposed C-accute-cedilla.
To fix this, we need to determine whether the font prefer the precomposed form or decomposed form in some way.
In my humblest of opinions font fallback should be avoided at all cost (no uncalled-for font changes should occur unless absolutely necessary). The precomposed form should be preferred whenever available, followed by decomposed form(s) only when former is not there. And it should work like that irrespective of which form was called for (whether precomposed or decomposed), so the final character from Testcase should be decomposed on-the-fly and render in Contantia and not Times New Roman (as it does in Chrome).

AFAICT, this is how Chrome does it and both ways, too (composing AND decomposing on-the-fly to avoid unwanted font changes and ugly rendering where accents are not correctly placed in Combining Marks area and/or mark positioning is substandard). Chrome fails in combining on-the-fly ONLY in a most science-fiction of scenarios where absolutely none of the building blocks are present in a font: e.g. it can compose 0061+0328 to available in a font 0105 even if both 0328 AND 02DB are absent from a font! It needs 0061, though – its only “weakness”. So there is room for improvement over Chrome for Firefox here ;-)

All this is not only a prerequisite for better looking typography under all circumstances. It could potentially also allow for much smaller font files without any precomposed forms, just with impeccable mark (and mkmk) positioning and a set of combining marks where appropriate.
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: