[MPEG-OTSPEC] Questions about variable composites

Skef Iterum skef at skef.org
Wed Aug 23 23:48:23 CEST 2023

There are two aspects to the question of documentation for 
PostScript-style hinting:

 1. What the different parameters are (per-glyph stems, blue values, the
    additional blue parameters, counter hints) and conceptually what
    these parameters encode and how they interact.
 2. How to implement a rasterizer that hints using these parameters.

As far as 1 goes, the current documentation may not be ideal but I don't 
think it's terrible. It's always nice, of course, to know more about the 
specifics of how things will work, but (for good or bad) one idea of 
this model was that different implementations might work differently, 
hence "hints" as opposed to "instructions".

As far as 2 goes, yes, that would be nice, but there are many systems 
that haven't been codified in this way, and we all struggle along. I've 
been told there are ongoing complaints that Adobe is keeping some 
documentation private for competitive reasons, but if that's true the 
company is keeping it from me too -- it would have been very handy when 
I was porting the autohinter to Python. It appears that the technology 
started with an implementation rather than a spec and has just evolved 
that way.

All I have to look at is a set of past implementations, differing 
slightly from each other as bugs are fixed or new contexts are 
supported. Before 10 years ago this was itself, at least arguably, 
pretty unfair, at least for the world at large. But once CFF hinting was 
contributed to FreeType, I'm not sure the additional things that I can 
refer to really changes much. And of course, Apple has their own CFF 
stack and I can't look at that.

Anyway, to answer your specific question: The way I would document the 
hinting model for variable composites is by describing how the existing 
parameters, per-component-glyph, are affected (changed or eliminated) by 
composition. So in the end you'd be left with a per-glyph list of stems, 
blue values, and additional blue parameters, which you would need to 
rasterize together as a unit. That's not 100% identical to the current 
case of multiple contours within a glyph using identical blue values, 
but it's not that far off.


On 8/23/23 13:53, Dave Crossland wrote:
> On Wed, Aug 23, 2023 at 1:48 PM Skef Iterum <skef at skef.org> wrote:
>      There does seem to be a viable compositing model for
>     PostScript-style hinting.
> But is there a viable path for documenting the PostScript-style 
> hinting model sufficiently to standardize it?
> AFAIK this is big hole in the spec
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.aau.at/pipermail/mpeg-otspec/attachments/20230823/d7656ff6/attachment.html>

More information about the mpeg-otspec mailing list