bug(core): LDML processor ignores preBases and excludes last element from reordering
Open
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.
Runs: The spec says “run := preBase* (primary=0 && tertiary=0) ((primary≠0 || tertiary≠0) && !preBase)*”. It seems that Keyman completely ignores prebases? (there also seems to be a bug where the [run_end = e – 1](https://github.com/keymanapp/keyman/blob/c41544e8ed003428966ab285f77764c43413fd32/core/src/ldml/ldml_transforms.cpp#L400) excludes the last element from reordering)
I am also concerned that after reordering the definition of runs changes, so reordering is potentially not stable.
Contributor guide
Assessment
This issue has not been assessed yet.