AAT Insertion With SetMark On Same Transition

Originator:sascha.brawer
Number:rdar://44861764 Date Originated:2018-09-28
Status:Open Resolved:
Product:macOS | CoreGraphics Product Version:10.13.6
Classification: Reproducible:Always
 
CoreText on macOS 10.13.6 seems to have a bug when rendering fonts whose AAT finite-state table carries the SetMark flag on the same transition that also inserts a sequence of glyphs. See test case MORX-31 in Unicode’s test suite for text rendering engines.
https://rawgit.com/unicode-org/text-rendering-tests/master/reports/CoreText.html#MORX-31

Compare to HarfBuzz:
https://rawgit.com/unicode-org/text-rendering-tests/master/reports/FreeStack.html#MORX-31

To reproduce, see: https://github.com/unicode-org/text-rendering-tests

Or render the test strings (XXAYYBZZ, etc.) with this font:
https://github.com/unicode-org/text-rendering-tests/raw/master/fonts/TestMORXThirtyone.ttf

Comments

Reply from Apple: “contextual and insertion subtables mark the first glyph (according to process order) before doing anything else. Since this behavior appears to go back to 1995 or so, I can’t change it but will use your bug to update the AAT documentation”

By sascha.brawer at Oct. 30, 2018, 6:50 a.m. (reply...)

Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!