On Thu Oct 13 19:31:48 2022 +0000, Nikolay Sivov wrote:
This does not lookup right. As I understand GSUB_E_NOGLYPH is used when lookup wasn't applied, but for example harfbuzz (and corresponding dwrite logic) does not check for zero delta, and lookup considered applied there. What exactly happens, and why zero delta is a problem?
GSUB_apply_feature_all_lookups calls itself infinitely, until stackoverflow.
As I understand it, it's supposed to apply lookups until none is left. But when we add 0 to a glyph, the lookup doesn't change anything, and we keep trying to apply the same lookup forever.
You can test with the program linked at https://bugs.winehq.org/show_bug.cgi?id=53787