New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[AAT] Shaping seems to break down eventually in a long string #1531
Comments
10.13.6:
|
So what was happening was that the ligature stack was getting full and after that we refused any processing. The change I already pushed just resets the stack in that case. Proper fix is to make the stack a ring buffer. Reopening to do that. |
Looking at Tibetan example, using Kailasa.ttc from macOS 10.13.6, I noticed shaping failure a long way in to this string:
དགོས་མཁོ་སྒྲུབ་པའི་རང་དབང་བཅས་ལ་ལོངས་སུ་སྤྱད་ཆོག་པའི་འཛམ་གླིང་ཞིག་འབྱུང་ཐབས་དེ་ནི་སྤྱིར་བཏང་མི་མང་ཡོངས་ཀྱི་རེ་འདོད་ཆེ་ཤོས་ཤིག་ཏུ་ངེས་པ་རྒྱ་ཁྱབ་ཡོངས་སུ་གྲགས་པ་ཡིན།
(That's U+0F51,U+0F42,U+0F7C,U+0F66,U+0F0B,U+0F58,U+0F41,U+0F7C,U+0F0B,U+0F66,U+0F92,U+0FB2,U+0F74,U+0F56,U+0F0B,U+0F54,U+0F60,U+0F72,U+0F0B,U+0F62,U+0F44,U+0F0B,U+0F51,U+0F56,U+0F44,U+0F0B,U+0F56,U+0F45,U+0F66,U+0F0B,U+0F63,U+0F0B,U+0F63,U+0F7C,U+0F44,U+0F66,U+0F0B,U+0F66,U+0F74,U+0F0B,U+0F66,U+0FA4,U+0FB1,U+0F51,U+0F0B,U+0F46,U+0F7C,U+0F42,U+0F0B,U+0F54,U+0F60,U+0F72,U+0F0B,U+0F60,U+0F5B,U+0F58,U+0F0B,U+0F42,U+0FB3,U+0F72,U+0F44,U+0F0B,U+0F5E,U+0F72,U+0F42,U+0F0B,U+0F60,U+0F56,U+0FB1,U+0F74,U+0F44,U+0F0B,U+0F50,U+0F56,U+0F66,U+0F0B,U+0F51,U+0F7A,U+0F0B,U+0F53,U+0F72,U+0F0B,U+0F66,U+0FA4,U+0FB1,U+0F72,U+0F62,U+0F0B,U+0F56,U+0F4F,U+0F44,U+0F0B,U+0F58,U+0F72,U+0F0B,U+0F58,U+0F44,U+0F0B,U+0F61,U+0F7C,U+0F44,U+0F66,U+0F0B,U+0F40,U+0FB1,U+0F72,U+0F0B,U+0F62,U+0F7A,U+0F0B,U+0F60,U+0F51,U+0F7C,U+0F51,U+0F0B,U+0F46,U+0F7A,U+0F0B,U+0F64,U+0F7C,U+0F66,U+0F0B,U+0F64,U+0F72,U+0F42,U+0F0B,U+0F4F,U+0F74,U+0F0B,U+0F44,U+0F7A,U+0F66,U+0F0B,U+0F54,U+0F0B,U+0F62,U+0F92,U+0FB1,U+0F0B,U+0F41,U+0FB1,U+0F56,U+0F0B,U+0F61,U+0F7C,U+0F44,U+0F66,U+0F0B,U+0F66,U+0F74,U+0F0B,U+0F42,U+0FB2,U+0F42,U+0F66,U+0F0B,U+0F54,U+0F0B,U+0F61,U+0F72,U+0F53,U+0F0D)
Result with --shaper coretext:
And with --shaper ot:
The first error I noticed occurs at cluster 126, where CoreText has
t_u=126+1229
, but OT givest.=126+1229|_u=126@-1436,0+0
. It seems like shaping has broken down at that point; shortly thereafter, we have CoreTextr_g_y=135+1318
but OTr.=135+1274|_g=135@-1319,0+0|_y=135@-1319,0+0
.If I try to isolate just the "broken" sequences, they shape fine with
--shaper ot
; the problem seems to depend on the long context here.The text was updated successfully, but these errors were encountered: