<div dir="ltr"><div dir="ltr">Hi Skef,</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jan 24, 2024 at 10:54 AM Skef Iterum via mpeg-otspec <<a href="mailto:mpeg-otspec@lists.aau.at">mpeg-otspec@lists.aau.at</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I was looking through the COLR portions of the spec and didn't find any <br>
guidance on applying transformations to CFF or CFF2 glyph sources, what <br>
with those formats various horizontal- and vertical- specific operators.<br></blockquote><div><br></div><div>What do you mean by: "what with those formats various horizontal- and vertical- specific operators."?</div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Was it assumed that implementations would first unpack into some <br>
intermediate form, such as moveto/lineto/curveto sequences, and thus no <br>
further guidance was needed? (Obviously COLR does work with CFF and <br>
CFF2, so one assumes, or hopes, that the implementations sorted all this <br>
out.) Or is it more that one can just expect that implementers will <br>
figure this sort of thing out in general, and if so how does one decide <br>
what needs some guidance and what doesn't?</blockquote><div><br></div><div>Are you wondering about this from a hinting perspective? A COLRv1 or COLRv0 implementing stack arrives at a situation where a glyph contour needs to be clipped and filled. The glyph sizing is controlled by an application font size, for example coming from CSS. And also, a local transform can exist, from a CSS affine transform, or otherwise. Then, font internal transforms can occur in COLRv1. I'd say the most reasonable thing is then to see if the text is still horizontal and only uniformly scaled, extract the actual font size after applying transforms, render at that size with hinting if possible. If the text is rotated or non-uniformly scaled, skewed etc. render without hinting. That's at least what I see making sense for TrueType. </div><div><br></div><div>Dominik</div><div><br></div><div><br></div><div> </div></div></div>