NEW23119
Provide a way for the fonts to prohibit complex text handling
https://bugs.webkit.org/show_bug.cgi?id=23119
Summary Provide a way for the fonts to prohibit complex text handling
Brett Wilson (Google)
Reported 2009-01-05 08:49:00 PST
I'm trying to fix a not uncommon crash in Chromium which probably also affects Safari on Windows: http://code.google.com/p/chromium/issues/detail?id=3950 It happens inside Uniscribe and is a bug in Windows when doing complex text shaping on bad fonts. Mozilla worked around this bug, and we probably want to do the same. See https://bugzilla.mozilla.org/show_bug.cgi?id=418384 The solution is to (1) detect if a font is Type1 and don't do shaping on it, and (2) if placement ever fails on the complex script path, force the font to use the non-complex code path. I think having a flag to Font that is queried when determining how to draw the text should be sufficient. Each port can be in charge of setting the flag (or not) as necessary.
Attachments
Brett Wilson (Google)
Comment 1 2009-01-05 10:23:11 PST
Actually, it looks like Chrome already handles the "placement error" case reported in the Mozilla bug (by just not showing the text), so it shouldn't crash. I assume our crashes are a result of doing this on PostScript fonts?
mitz
Comment 2 2009-01-07 11:15:31 PST
A test case (probably involving a font attached to the bug or otherwise obtainable) will be helpful.
Brett Wilson (Google)
Comment 3 2009-01-07 11:17:51 PST
I tried the Mozilla test case on my Vista computer and it worked OK. It could be MS fixed the bug in very recent versions. I'm going to look for an older computer to try.
Note You need to log in before you can comment on or make changes to this bug.