diff --git a/common/web/types/src/ldml-keyboard/pattern-parser.ts b/common/web/types/src/ldml-keyboard/pattern-parser.ts index 6ae36ab145..63e10867e8 100644 --- a/common/web/types/src/ldml-keyboard/pattern-parser.ts +++ b/common/web/types/src/ldml-keyboard/pattern-parser.ts @@ -439,7 +439,7 @@ const PARSE_REGEX_MARKER = /^\\uffff\\u0008(?:(\\u[0-9a-fA-F]{4})|(\[\\u[0-9a const graphemeSegmenter = new Intl.Segmenter(['und'], { granularity: 'grapheme' }); export interface MarkerEntry { - /** code point 'glued' to */ + /** code point 'glued' to, or MARKER_BEFORE_EOT */ ch? : string; /** marker number, 1-based */ marker? : number; diff --git a/common/web/types/test/ldml-keyboard/test-pattern-parser.ts b/common/web/types/test/ldml-keyboard/test-pattern-parser.ts index 876f03eaf6..e7dc0870ff 100644 --- a/common/web/types/test/ldml-keyboard/test-pattern-parser.ts +++ b/common/web/types/test/ldml-keyboard/test-pattern-parser.ts @@ -346,11 +346,6 @@ describe('Test of nfd_markers()', () => { // ["src", "expect", "regex"] // or ["src"] if it is expected to be unchanged - // double marker - - ["e\uffff\u0008\u0001\u0300\u0320\u0300", "e\u0320\uffff\u0008\u0001\u0300\u0300"], - // double marker - no change - ["e\u0320\uffff\u0008\u0001\u0300\u0300", "e\u0320\uffff\u0008\u0001\u0300\u0300"], - // #1 ["abc"], ["6\uffff\u0008"], @@ -384,6 +379,12 @@ describe('Test of nfd_markers()', () => { ["\u0995\uFFFF\u0008\u0001\u09CB", "\u0995\uFFFF\u0008\u0001\u09C7\u09BE"], ["\u0995\u09BE\uFFFF\u0008\u0001\u09C7"], ["\u03B5\uFFFF\u0008\u0001\u0344", "\u03B5\uFFFF\u0008\u0001\u0308\u0301"], + + // double marker - + ["e\uffff\u0008\u0001\u0300\u0320\u0300", "e\u0320\uffff\u0008\u0001\u0300\u0300"], + // double marker - no change + ["e\u0320\uffff\u0008\u0001\u0300\u0300", "e\u0320\uffff\u0008\u0001\u0300\u0300"], + ]; for (let i = 0; i < src_expect.length; i++) {