@keymanapp/kmc-ldml 17.0.299-beta → 17.0.301-beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/build/src/compiler/compiler.js +309 -308
  2. package/build/src/compiler/compiler.js.map +1 -1
  3. package/build/src/compiler/disp.js +84 -83
  4. package/build/src/compiler/disp.js.map +1 -1
  5. package/build/src/compiler/empty-compiler.js +116 -115
  6. package/build/src/compiler/empty-compiler.js.map +1 -1
  7. package/build/src/compiler/keymanweb-compiler.js +97 -96
  8. package/build/src/compiler/keymanweb-compiler.js.map +1 -1
  9. package/build/src/compiler/keys.js +419 -418
  10. package/build/src/compiler/keys.js.map +1 -1
  11. package/build/src/compiler/layr.js +83 -82
  12. package/build/src/compiler/layr.js.map +1 -1
  13. package/build/src/compiler/ldml-compiler-options.js +5 -4
  14. package/build/src/compiler/ldml-compiler-options.js.map +1 -1
  15. package/build/src/compiler/loca.js +61 -60
  16. package/build/src/compiler/loca.js.map +1 -1
  17. package/build/src/compiler/messages.js +120 -119
  18. package/build/src/compiler/messages.js.map +1 -1
  19. package/build/src/compiler/meta.js +57 -56
  20. package/build/src/compiler/meta.js.map +1 -1
  21. package/build/src/compiler/metadata-compiler.js +49 -48
  22. package/build/src/compiler/metadata-compiler.js.map +1 -1
  23. package/build/src/compiler/section-compiler.js +42 -41
  24. package/build/src/compiler/section-compiler.js.map +1 -1
  25. package/build/src/compiler/substitution-tracker.js +105 -104
  26. package/build/src/compiler/substitution-tracker.js.map +1 -1
  27. package/build/src/compiler/touch-layout-compiler.js +93 -92
  28. package/build/src/compiler/touch-layout-compiler.js.map +1 -1
  29. package/build/src/compiler/tran.js +382 -381
  30. package/build/src/compiler/tran.js.map +1 -1
  31. package/build/src/compiler/vars.js +236 -235
  32. package/build/src/compiler/vars.js.map +1 -1
  33. package/build/src/compiler/visual-keyboard-compiler.js +70 -69
  34. package/build/src/compiler/visual-keyboard-compiler.js.map +1 -1
  35. package/build/src/main.js +5 -4
  36. package/build/src/main.js.map +1 -1
  37. package/build/src/util/util.js +185 -184
  38. package/build/src/util/util.js.map +1 -1
  39. package/package.json +6 -6
@@ -1,97 +1,98 @@
1
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="34c03918-3d55-56c5-a5e6-472ce13a59c4")}catch(e){}}();
2
- import { VisualKeyboard, TouchLayoutFileWriter } from "@keymanapp/common-types";
3
- import { TouchLayoutCompiler } from "./touch-layout-compiler.js";
4
- import { LdmlKeyboardVisualKeyboardCompiler } from "./visual-keyboard-compiler.js";
5
- const MINIMUM_KMW_VERSION = '16.0';
6
- export class LdmlKeyboardKeymanWebCompiler {
7
- callbacks;
8
- options;
9
- nl;
10
- tab;
11
- constructor(callbacks, options) {
12
- this.callbacks = callbacks;
13
- this.options = { ...options };
14
- this.nl = this.options.saveDebug ? "\n" : '';
15
- this.tab = this.options.saveDebug ? " " : '';
16
- }
17
- compileVisualKeyboard(source) {
18
- const nl = this.nl, tab = this.tab;
19
- const vkc = new LdmlKeyboardVisualKeyboardCompiler(this.callbacks);
20
- const vk = vkc.compile(source);
21
- let result = `{F: ' 1em ${JSON.stringify(vk.header.unicodeFont.name)}', ` +
22
- `K102: ${vk.header.flags & 1 /* VisualKeyboard.VisualKeyboardHeaderFlags.kvkh102 */ ? 1 : 0}};${nl}` + // TODO-LDML: escape ' and " in font name correctly
23
- `${tab}this.KV.KLS={${nl}` +
24
- `${tab}${tab}TODO_LDML: ${vk.keys.length}${nl}` +
25
- // TODO-LDML: fill in KLS
26
- `${tab}}`;
27
- return result;
28
- }
29
- compileTouchLayout(source) {
30
- const tlcompiler = new TouchLayoutCompiler();
31
- const layout = tlcompiler.compileToJavascript(source);
32
- const writer = new TouchLayoutFileWriter({ formatted: this.options.saveDebug });
33
- return writer.compile(layout);
34
- }
35
- cleanName(name) {
36
- let result = this.callbacks.path.basename(name, ".xml" /* KeymanFileTypes.Source.LdmlKeyboard */);
37
- if (!result) {
38
- throw new Error(`Invalid file name ${name}`);
39
- }
40
- result = result.replaceAll(/[^a-z0-9]/g, '_');
41
- if (result.match(/^[0-9]/)) {
42
- // Can't have a digit as initial
43
- result = '_' + result;
44
- }
45
- return result;
46
- }
47
- compile(name, source) {
48
- const nl = this.nl, tab = this.tab;
49
- const sName = 'Keyboard_' + this.cleanName(name);
50
- const displayUnderlying = true; // TODO-LDML
51
- const modifierBitmask = 0; // TODO-LDML: define the modifiers used by this keyboard
52
- const vkDictionary = ''; // TODO-LDML: vk dictionary for touch keys
53
- const hasSupplementaryPlaneChars = false; // TODO-LDML
54
- const isRTL = false; // TODO-LDML
55
- let result = `if(typeof keyman === 'undefined') {${nl}` +
56
- `${tab}console.error('Keyboard requires KeymanWeb ${MINIMUM_KMW_VERSION} or later');${nl}` +
57
- `} else {${nl}` +
58
- `${tab}KeymanWeb.KR(new ${sName}());${nl}` +
59
- `}${nl}` +
60
- `function ${sName}() {${nl}` +
61
- // `${tab}${this.setupDebug()}${nl}` + ? we may use this for modifierBitmask in future
62
- // `${tab}this._v=(typeof keyman!="undefined"&&typeof keyman.version=="string")?parseInt(keyman.version,10):9;${nl}` + ? we probably don't need this, it's for back-compat
63
- `${tab}this.KI="${sName}";${nl}` +
64
- `${tab}this.KN=${JSON.stringify(source.keyboard3.info.name)};${nl}` +
65
- `${tab}this.KMINVER=${JSON.stringify(MINIMUM_KMW_VERSION)};${nl}` +
66
- `${tab}this.KV=${this.compileVisualKeyboard(source)};${nl}` +
67
- `${tab}this.KDU=${displayUnderlying ? '1' : '0'};${nl}` +
68
- `${tab}this.KH="";${nl}` + // TODO-LDML: help text not supported
69
- `${tab}this.KM=0;${nl}` + // TODO-LDML: mnemonic layout not supported for LDML keyboards
70
- `${tab}this.KBVER=${JSON.stringify(source.keyboard3.version?.number || '0.0')};${nl}` +
71
- `${tab}this.KMBM=${modifierBitmask};${nl}`;
72
- if (isRTL) {
73
- result += `${tab}this.KRTL=1;${nl}`;
74
- }
75
- if (hasSupplementaryPlaneChars) {
76
- result += `${tab}this.KS=1;${nl}`;
77
- }
78
- if (vkDictionary != '') {
79
- result += `${tab}this.KVKD=${JSON.stringify(vkDictionary)};${nl}`;
80
- }
81
- let layoutFile = this.compileTouchLayout(source);
82
- if (layoutFile != '') {
83
- result += `${tab}this.KVKL=${layoutFile};${nl}`;
84
- }
85
- // TODO-LDML: KCSS not supported
86
- // TODO-LDML: embed binary keyboard for loading into Core
87
- // A LDML keyboard has a no-op for its gs() (begin Unicode) function,
88
- // because the functionality is embedded in Keyman Core
89
- result += `${tab}this.gs=function(t,e){${nl}` +
90
- `${tab}${tab}return 0;${nl}` + // TODO-LDML: we will start by embedding call into Keyman Core here
91
- `${tab}};${nl}`;
92
- result += `}${nl}`;
93
- return result;
94
- }
95
- }
96
- //# debugId=34c03918-3d55-56c5-a5e6-472ce13a59c4
1
+
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="f6d80ce6-7f87-5261-8e0f-80ada550e59e")}catch(e){}}();
3
+ import { VisualKeyboard, TouchLayoutFileWriter } from "@keymanapp/common-types";
4
+ import { TouchLayoutCompiler } from "./touch-layout-compiler.js";
5
+ import { LdmlKeyboardVisualKeyboardCompiler } from "./visual-keyboard-compiler.js";
6
+ const MINIMUM_KMW_VERSION = '16.0';
7
+ export class LdmlKeyboardKeymanWebCompiler {
8
+ callbacks;
9
+ options;
10
+ nl;
11
+ tab;
12
+ constructor(callbacks, options) {
13
+ this.callbacks = callbacks;
14
+ this.options = { ...options };
15
+ this.nl = this.options.saveDebug ? "\n" : '';
16
+ this.tab = this.options.saveDebug ? " " : '';
17
+ }
18
+ compileVisualKeyboard(source) {
19
+ const nl = this.nl, tab = this.tab;
20
+ const vkc = new LdmlKeyboardVisualKeyboardCompiler(this.callbacks);
21
+ const vk = vkc.compile(source);
22
+ let result = `{F: ' 1em ${JSON.stringify(vk.header.unicodeFont.name)}', ` +
23
+ `K102: ${vk.header.flags & 1 /* VisualKeyboard.VisualKeyboardHeaderFlags.kvkh102 */ ? 1 : 0}};${nl}` + // TODO-LDML: escape ' and " in font name correctly
24
+ `${tab}this.KV.KLS={${nl}` +
25
+ `${tab}${tab}TODO_LDML: ${vk.keys.length}${nl}` +
26
+ // TODO-LDML: fill in KLS
27
+ `${tab}}`;
28
+ return result;
29
+ }
30
+ compileTouchLayout(source) {
31
+ const tlcompiler = new TouchLayoutCompiler();
32
+ const layout = tlcompiler.compileToJavascript(source);
33
+ const writer = new TouchLayoutFileWriter({ formatted: this.options.saveDebug });
34
+ return writer.compile(layout);
35
+ }
36
+ cleanName(name) {
37
+ let result = this.callbacks.path.basename(name, ".xml" /* KeymanFileTypes.Source.LdmlKeyboard */);
38
+ if (!result) {
39
+ throw new Error(`Invalid file name ${name}`);
40
+ }
41
+ result = result.replaceAll(/[^a-z0-9]/g, '_');
42
+ if (result.match(/^[0-9]/)) {
43
+ // Can't have a digit as initial
44
+ result = '_' + result;
45
+ }
46
+ return result;
47
+ }
48
+ compile(name, source) {
49
+ const nl = this.nl, tab = this.tab;
50
+ const sName = 'Keyboard_' + this.cleanName(name);
51
+ const displayUnderlying = true; // TODO-LDML
52
+ const modifierBitmask = 0; // TODO-LDML: define the modifiers used by this keyboard
53
+ const vkDictionary = ''; // TODO-LDML: vk dictionary for touch keys
54
+ const hasSupplementaryPlaneChars = false; // TODO-LDML
55
+ const isRTL = false; // TODO-LDML
56
+ let result = `if(typeof keyman === 'undefined') {${nl}` +
57
+ `${tab}console.error('Keyboard requires KeymanWeb ${MINIMUM_KMW_VERSION} or later');${nl}` +
58
+ `} else {${nl}` +
59
+ `${tab}KeymanWeb.KR(new ${sName}());${nl}` +
60
+ `}${nl}` +
61
+ `function ${sName}() {${nl}` +
62
+ // `${tab}${this.setupDebug()}${nl}` + ? we may use this for modifierBitmask in future
63
+ // `${tab}this._v=(typeof keyman!="undefined"&&typeof keyman.version=="string")?parseInt(keyman.version,10):9;${nl}` + ? we probably don't need this, it's for back-compat
64
+ `${tab}this.KI="${sName}";${nl}` +
65
+ `${tab}this.KN=${JSON.stringify(source.keyboard3.info.name)};${nl}` +
66
+ `${tab}this.KMINVER=${JSON.stringify(MINIMUM_KMW_VERSION)};${nl}` +
67
+ `${tab}this.KV=${this.compileVisualKeyboard(source)};${nl}` +
68
+ `${tab}this.KDU=${displayUnderlying ? '1' : '0'};${nl}` +
69
+ `${tab}this.KH="";${nl}` + // TODO-LDML: help text not supported
70
+ `${tab}this.KM=0;${nl}` + // TODO-LDML: mnemonic layout not supported for LDML keyboards
71
+ `${tab}this.KBVER=${JSON.stringify(source.keyboard3.version?.number || '0.0')};${nl}` +
72
+ `${tab}this.KMBM=${modifierBitmask};${nl}`;
73
+ if (isRTL) {
74
+ result += `${tab}this.KRTL=1;${nl}`;
75
+ }
76
+ if (hasSupplementaryPlaneChars) {
77
+ result += `${tab}this.KS=1;${nl}`;
78
+ }
79
+ if (vkDictionary != '') {
80
+ result += `${tab}this.KVKD=${JSON.stringify(vkDictionary)};${nl}`;
81
+ }
82
+ let layoutFile = this.compileTouchLayout(source);
83
+ if (layoutFile != '') {
84
+ result += `${tab}this.KVKL=${layoutFile};${nl}`;
85
+ }
86
+ // TODO-LDML: KCSS not supported
87
+ // TODO-LDML: embed binary keyboard for loading into Core
88
+ // A LDML keyboard has a no-op for its gs() (begin Unicode) function,
89
+ // because the functionality is embedded in Keyman Core
90
+ result += `${tab}this.gs=function(t,e){${nl}` +
91
+ `${tab}${tab}return 0;${nl}` + // TODO-LDML: we will start by embedding call into Keyman Core here
92
+ `${tab}};${nl}`;
93
+ result += `}${nl}`;
94
+ return result;
95
+ }
96
+ }
97
97
  //# sourceMappingURL=keymanweb-compiler.js.map
98
+ //# debugId=f6d80ce6-7f87-5261-8e0f-80ada550e59e
@@ -1 +1 @@
1
- {"debug_id":"34c03918-3d55-56c5-a5e6-472ce13a59c4","file":"keymanweb-compiler.js","mappings":"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","names":[],"sourceRoot":"","sources":["../../../src/compiler/keymanweb-compiler.ts"],"version":3}
1
+ {"version":3,"file":"keymanweb-compiler.js","sources":["../../../src/compiler/keymanweb-compiler.ts"],"sourceRoot":"","names":[],"mappings":"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","debug_id":"f6d80ce6-7f87-5261-8e0f-80ada550e59e"}