keymanapp / keymanapp/keyman

bug(core): LDML processor (compiler?) does not appear to enforce sort key

Open
#16,319 3 comments 0 reactions 1 assignee Claimed by @mcdurdin View on GitHub
bug core/
Dominant language
Pascal
Stars
534
Forks
143
Avg merge
2d 10h
Merged PRs (30d)
113

Description

From @miloush via keyboard-sc WG email:

> I did some comparison between Microsoft’s, Keyman’s and Martin’s implementations.

Sort key: The spec says “Primary characters with an `@order` value of 0 automatically are treated as having tertiaryBase true regardless of what is specified for them.” For Keyman, is that enforced by the compiler? It seems to be only checking the attribute value. I resolve the tertiary stuff in a second pass, Keyman seems to do it on the go, so if later rule changes the tertiary base, it does not re-evaluate (so it the order of rules matters).

The spec does not say what is sort key for unmatched characters. All implementations go with order = tertiary = 0, but looks like Martin treats them as tertiary bases, while Keyman and Microsoft do not.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.