Re: Query regarding CFF font handling
Tony Smith <[email protected]> Fri, 24 Oct 2025 11:51:20 +0100
| Newsgroups | gmane.comp.fonts.freetype.devel |
|---|---|
| Message-ID | <CAK57--yu=-x2NCWbJrvmzZi8R639CcteVuXg4sbfcqHXJo9qmA@mail.gmail.com> |
--0000000000001ec1780641e55516 Content-Type: text/plain; charset="UTF-8" Morning Alexei. Thanks for your patience with this. I can now see what you mean by using the identical slow fallback in base/ftadvanc.c. This now works for me. Again sorry to not have worked this out from your first email. regards Tony Smith. On Thu, 23 Oct 2025 at 19:08, Alexei Podtelezhnikov <[email protected]> wrote: > Tony, > > The reason for the failure is that the first check in the function > cff_get_advance, shown below, always fails. At no point is there a check > for FT_ADVANCE_FLAG_FAST_ONLY of the flag passed into the function. > > cff_get_advance( ... ) > { > if ( !FT_IS_SFNT( face ) ) // <----- > always fails, regardless of the flags > return FT_THROW( Unimplemented_Feature ); > ... > } > > > This error is ignored in base/ftadvanc.c and the identical slow fallback > is implemented there. It is true that cff_get_advance used to ignore > FT_ADVANCE_FLAG_FAST_ONLY, which was incorrect. > > Alexei > -- This e-mail message has been scanned and cleared by Google Message Security and the UNICOM Global security systems. This message is for the named person's use only. If you receive this message in error, please delete it and notify the sender. --0000000000001ec1780641e55516 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div>Morning Alexei.</div><div><br></div><div>Thanks for y= our patience with this.</div><div>I can now see what you mean by using the = identical slow fallback in base/ftadvanc.c.</div><div>This now works for me= .</div><div><br></div><div>Again sorry to not have worked this out from you= r first email. regards Tony Smith.</div><div><br></div><div class=3D"gmail_= quote gmail_quote_container"><div dir=3D"ltr" class=3D"gmail_attr">On Thu, = 23 Oct 2025 at 19:08, Alexei Podtelezhnikov <<a href=3D"mailto:apodtele@= gmail.com">[email protected]</a>> wrote:<br></div><blockquote class=3D"= gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(20= 4,204,204);padding-left:1ex"><div dir=3D"auto">Tony,<br id=3D"m_-2532674849= 941410118lineBreakAtBeginningOfSignature"><div dir=3D"ltr"><br></div><block= quote><div dir=3D"ltr"><div dir=3D"ltr"><div><div>The reason for the failur= e is that the first check in the function cff_get_advance, shown below, alw= ays fails.=C2=A0 At no point is there a check for FT_ADVANCE_FLAG_FAST_ONLY= of the flag passed into the function.</div><div><br></div></div><blockquot= e style=3D"margin:0px 0px 0px 40px;border:none;padding:0px"><div><div>cff_g= et_advance( ... )=C2=A0 =C2=A0</div></div><div><div>{</div></div><div><div>= =C2=A0 =C2=A0 if ( !FT_IS_SFNT( face ) )=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 // <----- always fails, regardless of the flags</div></div><d= iv><div>=C2=A0 =C2=A0 =C2=A0 return FT_THROW( Unimplemented_Feature );</div= ></div><div><div>=C2=A0 ...</div></div><div><div>}</div></div></blockquote>= </div></div></blockquote><div><br></div><div>This error is ignored in base/= ftadvanc.c and the identical slow fallback is implemented there. It is true= that cff_get_advance used to ignore FT_ADVANCE_FLAG_FAST_ONLY, which was i= ncorrect.</div><div><br></div><div>Alexei</div></div></blockquote></div></d= iv> <br> <font size=3D"1">This e-mail message has been scanned and cleared by Google= Message Security and the UNICOM Global security systems. This message is f= or the named person's use only. If you receive this message in error, p= lease delete it and notify the sender. </font><br> --0000000000001ec1780641e55516--