[MPEG-OTSPEC] Hints, TT and CFF (was: Re: Proposal to make OFF complete)

Ken Lunde ken.lunde at gmail.com
Thu Aug 27 03:52:05 CEST 2020


Eric and other font enthusiasts,

Putting on my ex-Adobe hat for a moment, I feel obliged to state here that I hinted CFF-based OpenType fonts for approximately 20 years. Virtually all of the fonts that I hinted were CID-keyed, meaning that they had multiple FDArray elements (aka hint dictionaries), with each FDArray element getting its own hinting parameters. The focus, of course, was on determining and setting reasonable stem values and alignment zones, both of which aid in rendering. The AFDKO stemhist tool is helpful for determining values for both, through the use of different command-line options, and I developed my own tools that executed stemhist and filtered/processed the results to come up with appropriate values. In other words, hinting CFF-based fonts is not rocket science. With that said, a Wise Man (aka Terry Dowling) once said that no hints are better than poor hints, and I stayed true to that message up until my final year at Adobe.

Also, it is important to point out that the CFF rasterizer that is included in FreeType is a Very Big Deal™. Prior to this, OpenType/CFF fonts were treated as second-class citizens on platforms that didn't have native CFF rasterization, meaning anything other than macOS, iOS, and Windows. Thankfully, that changed for the better a half-dozen years ago.

Regards...

-- Ken

> On Aug 26, 2020, at 18:34, Eric Muller <eric.muller at efele.net> wrote:
> 
> On 8/18/2020 9:58 PM, Behdad Esfahbod wrote:
>> The claim-to-superiority of CFF format is: 1. better hinting, and 2. better compression. Re better-hinting, the interpretation of CFF hints is NOT specified anywhere.
> 
> In fairness, and without taking side on the proposal to remove CFF/CFF2:
> 
> Although there is a spec for TT hints, it's hardly complete and requires quite a bit of reverse engineering if you want something that works. And there is more black magic if you want something that behaves like Microsoft's implementation(s).
> 
> CFF leaves the interpretation of the hints to the rasterizer, with the intent that rasterizers can be improved without having to rework the fonts. So the specification is complete if font designers know what to do. I'd be interested to hear from font designers: do you think you understand how to set hints in CFF fonts? Are there things missing from the Type 1 Book + Type 2 technical note?
> 
> Eric.
> 
> _______________________________________________
> mpeg-otspec mailing list
> mpeg-otspec at lists.aau.at
> https://lists.aau.at/mailman/listinfo/mpeg-otspec



More information about the mpeg-otspec mailing list