> -            (loader)->pp3.x = 0;                                            \
> -            (loader)->pp3.y = (loader)->top_bearing + (loader)->bbox.yMax;  \
> -            (loader)->pp4.x = 0;                                            \
> +            (loader)->pp3.x = (loader)->advance / 2;                        \
> +            (loader)->pp3.y = (loader)->bbox.yMax + (loader)->top_bearing;  \
> +            (loader)->pp4.x = (loader)->advance / 2;                        \
> 
> If I revert the .x changes, and only keep the .y change (which isn't
> really a semantic change, since a+b equals b+a), then there is no
> regression for DejaVuSans-Oblique.ttf glyph 269, and no other glyph
> in that font seems affected. However, I presume that those .x
> changes were made for a reason.

You are completely right.  I'm already in discussion with Greg
Hitchcock from MS how to handle this gracefully.  He told me that the
horizontal positions of the vertical phantom points as given in the
change you cite above is what is used today in DW ClearType.  However,
the OpenType specification contains very old images – screenshots from
a time many, many years before ClearType had been invented – that
clearly show different positions, namely x = 0.  I hope to sort this
out within the next few days.

BTW, you won't notice the DejaVuSans-Oblique problem with ClearType
because of the increased horizontal resolution, making some bytecode
instructions behave differently due to changed threshold values like
the CVT cut-in.


    Werner
_______________________________________________
Freetype mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/freetype

Reply via email to