freetype-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ft-devel] Experimental: v38 interpreter with minimal backwards comp


From: Nikolaus Waxweiler
Subject: Re: [ft-devel] Experimental: v38 interpreter with minimal backwards compatibility mode and linear advance widths
Date: Sun, 31 Jan 2016 16:27:51 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0

AFAIK, Microsoft maintains a whitelist of common fonts that must be
handled specially, that is, where the default settings for backwards
compatibility don't work correctly.  Essentially, the Infinality stuff
does something similar.  If a font is not contained in the whitelist
we simply have to trust that it does the right thing.

I wanted to see how far I can get before I have to resort to lists and/or detection trickery. Throwing most, if not all, x-movement out the window in b.c. mode made this a lot easier. And no x-movement means no need to change advance widths.

What I've done so far is turn on backwards compatibility as soon as my v38 is used and only turn it off if the font says the magic INSTCTRL word. Basically, if a font is developed with ClearType in mind but without going "native", with the patch it will display pretty much like on Windows. If it goes "native", it can do whatever it wants and will look even more Windowsy. Both cases apply for all web fonts I have come across so far. Even the Ubuntu font renders fine, and it looks like it was developed for v35.

The classically hinted fonts I tested (Arial, Times, Courier New, Georgia, Verdana, Palatino) render mostly okay to my surprise and present the only problem cases I have encountered. I want to tweak that some more once I get a working visual debugger going. Maybe I can lie to FF about the interpreter version. Who knows, it this works out and you're okay with the results, maybe we can get around lists and bytecode sniffing. That is my goal at least.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]