*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 Ohhh! I've been getting the same issue on some of my proofs and now I understand why changing the font size "fixed" it for me.
@kentlew @justvanrossum @jmsole Just FYI, Font Proofer has a workaround for this bug. I encountered it a few years ago when @arrowtype made some kerning proofs with content that overflowed to hundreds of pages. Kent, I just recreated the test from your GitHub issue, and can confirm it works.
@peter @kentlew @jmsole @arrowtype why didn’t you report it? And what is the workaround?
@peter @kentlew @jmsole @arrowtype I mean, you embed DrawBot (free, written and maintained by two unpaid volunteers) into your commercial app that you sell for money, you discover a problem with DrawBot and even develop a workaround, yet you share neither the fact there is a problem nor the workaround? That is … disappointing.
@justvanrossum @kentlew @jmsole @arrowtype Just, we’ve discussed how difficult it is to maintain and sustain complex tools. First, I had no idea if this was a bug w/ DrawBot, CoreText, or my own code—I just had to fix it. Second, I have posted GitHub issues in the past. I try to. And third, I've been very transparent that the money Font Proofer makes only covers about 10% of what I put in. It's not far from being unpaid. I'm just trying my best to make something useful. We’re on the same team.
@peter Yet at some point you must have concluded the bug is either in DrawBot or CoreText yet you chose not to report it. I find that odd, given the value you get from DrawBot, regardless of how sustainable your tool is.
@justvanrossum No, I did not come to a definitive conclusion. I wasn't sure if it was an issue with my code—until I saw the bug report today and the issue sounded familiar. I do make an effort to report bugs to frameworks and to Apple, but it can also be very time consuming and often seems to make no difference. I’m surprised and a bit hurt by the insinuation that I'm exploiting DrawBot without giving back. I'm doing all I can to help the community and donate most of my nights and weekends.