keymanapp / keymanapp/keyman

bug(core): LDML processor ignores preBases and excludes last element from reordering

Open
#16,320 1 comment 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.

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

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.