*DrawBot bug alert*:

While running out extensive proofing texts, I realized that GSUB and GPOS are not being applied to FormattedString() if it runs to more than three pages.

OTFeatures and, most importantly, *kerning* only get applied to the last few pages, and not the initial pages.

Issue filed and confirmed: https://github.com/typemytype/drawbot/issues/585

@justvanrossum identified the bug as part of CoreText.

FormattedString(openTypeFeatures) not applied consistently · Issue #585 · typemytype/drawbot

If I have a text that lays out on three pages or less, then the OT Features (ex. {liga}) get applied throughout. If the text is longer than three pages, then only the last three pages have features...

GitHub

@kentlew @justvanrossum Could it be related to this: https://stackoverflow.com/questions/65293503/coretext-with-too-long-arabic-text

Try to add kCTTypesetterOptionAllowUnboundedLayout to a CoreText Typesetter to see if that works?

@Typeface @kentlew wow, this seems to be the solution, thank you so much! Brb with a PR.
Use kCTTypesetterOptionAllowUnboundedLayout option for setting 'longer' strings, ensuring OT features are applied in all cases by justvanrossum · Pull Request #588 · typemytype/drawbot

This fixes #585.

GitHub
@justvanrossum Cheers, happy to hear it fixed the issue!
@Typeface @justvanrossum Thanks for the quick fix. Awesome!