@keymanapp/kmc-ldml 18.0.113-alpha → 18.0.115-alpha

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.
@@ -26,11 +26,6 @@ export interface LdmlKeyboardCompilerArtifacts extends KeymanCompilerArtifacts {
26
26
  * desktop projects alongside .kmx
27
27
  */
28
28
  kvk?: KeymanCompilerArtifactOptional;
29
- /**
30
- * Javascript keyboard filedata and filename - installable into KeymanWeb,
31
- * Keyman mobile products
32
- */
33
- js?: KeymanCompilerArtifactOptional;
34
29
  }
35
30
  export interface LdmlKeyboardCompilerResult extends KeymanCompilerResult {
36
31
  /**
@@ -41,7 +36,7 @@ export interface LdmlKeyboardCompilerResult extends KeymanCompilerResult {
41
36
  }
42
37
  /**
43
38
  * @public
44
- * Compiles a LDML keyboard .xml file to a .kmx (KMXPlus), .kvk, and/or .js. The
39
+ * Compiles a LDML keyboard .xml file to a .kmx (KMXPlus), .kvk. The
45
40
  * compiler does not read or write from filesystem or network directly, but
46
41
  * relies on callbacks for all external IO.
47
42
  */
@@ -59,7 +54,7 @@ export declare class LdmlKeyboardCompiler implements KeymanCompiler {
59
54
  */
60
55
  init(callbacks: CompilerCallbacks, options: LdmlCompilerOptions): Promise<boolean>;
61
56
  /**
62
- * Compiles a LDML keyboard .xml file to .kmx, .kvk, and/or .js files. Returns
57
+ * Compiles a LDML keyboard .xml file to .kmx, .kvk files. Returns
63
58
  * an object containing binary artifacts on success. The files are passed in
64
59
  * by name, and the compiler will use callbacks as passed to the
65
60
  * {@link LdmlKeyboardCompiler.init} function to read any input files by disk.
@@ -76,7 +71,6 @@ export declare class LdmlKeyboardCompiler implements KeymanCompiler {
76
71
  *
77
72
  * - .kmx file - binary keyboard used by Keyman on desktop platforms
78
73
  * - .kvk file - binary on screen keyboard used by Keyman on desktop platforms
79
- * - .js file - Javascript keyboard for web and touch platforms
80
74
  *
81
75
  * @param artifacts - object containing artifact binary data to write out
82
76
  * @returns true on success
@@ -1 +1 @@
1
- {"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../../../src/compiler/compiler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAiB,MAAM,yBAAyB,CAAC;AACnF,OAAO,EACL,iBAAiB,EAAE,cAAc,EAAE,oBAAoB,EAAE,uBAAuB,EACvB,YAAY,EACrE,iCAAiC,EACjC,8BAA8B,EAC/B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,YAAY,EAA4C,MAAM,qBAAqB,CAAC;AAG7F,OAAO,yBAAyB,GAAG,YAAY,CAAC,yBAAyB,CAAC;AAU1E,eAAO,MAAM,iBAAiB,yMAmB7B,CAAC;AAOF;;;GAGG;AACH,MAAM,WAAW,6BAA8B,SAAQ,uBAAuB;IAC5E;;;OAGG;IACH,GAAG,CAAC,EAAE,8BAA8B,CAAC;IACrC;;;OAGG;IACH,GAAG,CAAC,EAAE,8BAA8B,CAAC;IACrC;;;OAGG;IACH,EAAE,CAAC,EAAE,8BAA8B,CAAC;CACrC;AAED,MAAM,WAAW,0BAA2B,SAAQ,oBAAoB;IACtE;;;OAGG;IACH,SAAS,EAAE,6BAA6B,CAAC;CAC1C;AAED;;;;;GAKG;AACH,qBAAa,oBAAqB,YAAW,cAAc;IACzD,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,OAAO,CAAsB;IAGrC,OAAO,CAAC,UAAU,CAAC,CAA+B;IAElD;;;;;;;OAOG;IACG,IAAI,CAAC,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAMxF;;;;;;;;;;OAUG;IACG,GAAG,CAAC,aAAa,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAmD9F;;;;;;;;;;OAUG;IACG,KAAK,CAAC,SAAS,EAAE,6BAA6B,GAAG,OAAO,CAAC,OAAO,CAAC;IAgBvE;;;;OAIG;IACG,aAAa,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAehD,OAAO,CAAC,aAAa;IAIrB;;;;;;OAMG;IACI,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,yBAAyB,GAAG,IAAI;IA2B/D;;;;;;OAMG;IACI,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,iCAAiC,GAAG,IAAI;IA2B/E,yDAAyD;IACzD,OAAO,CAAC,YAAY;IAIpB;;;;OAIG;YACW,IAAI;IAclB;;;;;OAKG;IACU,QAAQ,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,OAAO,CAAC;IAW1E;;;;;;OAMG;IACU,OAAO,CAAC,MAAM,EAAE,yBAAyB,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC;CAoE9G"}
1
+ {"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../../../src/compiler/compiler.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAsB,MAAM,yBAAyB,CAAC;AACxF,OAAO,EACL,iBAAiB,EAAE,cAAc,EAAE,oBAAoB,EAAE,uBAAuB,EACvB,YAAY,EACrE,iCAAiC,EACjC,8BAA8B,EAC/B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,YAAY,EAA4C,MAAM,qBAAqB,CAAC;AAG7F,OAAO,yBAAyB,GAAG,YAAY,CAAC,yBAAyB,CAAC;AAS1E,eAAO,MAAM,iBAAiB,yMAmB7B,CAAC;AAOF;;;GAGG;AACH,MAAM,WAAW,6BAA8B,SAAQ,uBAAuB;IAC5E;;;OAGG;IACH,GAAG,CAAC,EAAE,8BAA8B,CAAC;IACrC;;;OAGG;IACH,GAAG,CAAC,EAAE,8BAA8B,CAAC;CACtC;AAED,MAAM,WAAW,0BAA2B,SAAQ,oBAAoB;IACtE;;;OAGG;IACH,SAAS,EAAE,6BAA6B,CAAC;CAC1C;AAED;;;;;GAKG;AACH,qBAAa,oBAAqB,YAAW,cAAc;IACzD,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,OAAO,CAAsB;IAGrC,OAAO,CAAC,UAAU,CAAC,CAA+B;IAElD;;;;;;;OAOG;IACG,IAAI,CAAC,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAMxF;;;;;;;;;;OAUG;IACG,GAAG,CAAC,aAAa,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAgE9F;;;;;;;;;OASG;IACG,KAAK,CAAC,SAAS,EAAE,6BAA6B,GAAG,OAAO,CAAC,OAAO,CAAC;IAYvE;;;;OAIG;IACG,aAAa,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAehD,OAAO,CAAC,aAAa;IAIrB;;;;;;OAMG;IACI,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,yBAAyB,GAAG,IAAI;IA2B/D;;;;;;OAMG;IACI,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,iCAAiC,GAAG,IAAI;IA2B/E,yDAAyD;IACzD,OAAO,CAAC,YAAY;IAIpB;;;;OAIG;YACW,IAAI;IAclB;;;;;OAKG;IACU,QAAQ,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,OAAO,CAAC;IAW1E;;;;;;OAMG;IACU,OAAO,CAAC,MAAM,EAAE,yBAAyB,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC;CAoE9G"}
@@ -1,4 +1,9 @@
1
- import { KMXPlus, KvkFileWriter } from '@keymanapp/common-types';
1
+ /*
2
+ * Keyman is copyright (C) SIL International. MIT License.
3
+ *
4
+ * Compiles a LDML XML keyboard file into a Keyman KMXPlus file
5
+ */
6
+ import { KMXPlus, KvkFileWriter, KMX } from '@keymanapp/common-types';
2
7
  import { defaultCompilerOptions, LDMLKeyboardXMLSourceFileReader, KMXBuilder } from "@keymanapp/developer-utils";
3
8
  import { LdmlCompilerMessages } from './ldml-compiler-messages.js';
4
9
  import { BkspCompiler, TranCompiler } from './tran.js';
@@ -15,7 +20,6 @@ import { KmnCompiler } from '@keymanapp/kmc-kmn';
15
20
  import { KMXPlusMetadataCompiler } from './metadata-compiler.js';
16
21
  import { LdmlKeyboardVisualKeyboardCompiler } from './visual-keyboard-compiler.js';
17
22
  import { LinterKeycaps } from './linter-keycaps.js';
18
- //KMW17.0: import { LdmlKeyboardKeymanWebCompiler } from './keymanweb-compiler.js';
19
23
  export const SECTION_COMPILERS = [
20
24
  // These are in dependency order.
21
25
  // First the former 'global' sections
@@ -43,7 +47,7 @@ const LINTERS = [
43
47
  ;
44
48
  /**
45
49
  * @public
46
- * Compiles a LDML keyboard .xml file to a .kmx (KMXPlus), .kvk, and/or .js. The
50
+ * Compiles a LDML keyboard .xml file to a .kmx (KMXPlus), .kvk. The
47
51
  * compiler does not read or write from filesystem or network directly, but
48
52
  * relies on callbacks for all external IO.
49
53
  */
@@ -66,7 +70,7 @@ export class LdmlKeyboardCompiler {
66
70
  return true;
67
71
  }
68
72
  /**
69
- * Compiles a LDML keyboard .xml file to .kmx, .kvk, and/or .js files. Returns
73
+ * Compiles a LDML keyboard .xml file to .kmx, .kvk files. Returns
70
74
  * an object containing binary artifacts on success. The files are passed in
71
75
  * by name, and the compiler will use callbacks as passed to the
72
76
  * {@link LdmlKeyboardCompiler.init} function to read any input files by disk.
@@ -89,16 +93,29 @@ export class LdmlKeyboardCompiler {
89
93
  if (!kmx) {
90
94
  return null;
91
95
  }
96
+ outputFilename = outputFilename ?? inputFilename.replace(/\.xml$/, '.kmx');
92
97
  // In order for the KMX file to be loaded by non-KMXPlus components, it is helpful
93
98
  // to duplicate some of the metadata
94
99
  KMXPlusMetadataCompiler.addKmxMetadata(kmx.kmxplus, kmx.keyboard, compilerOptions);
95
100
  // Use the builder to generate the binary output file
96
- const builder = new KMXBuilder(kmx, compilerOptions.saveDebug);
97
- const kmx_binary = builder.compile();
98
- const vkcompiler = new LdmlKeyboardVisualKeyboardCompiler(this.callbacks);
99
- const vk = vkcompiler.compile(source);
100
- const writer = new KvkFileWriter();
101
- const kvk_binary = writer.write(vk);
101
+ const kmxBuilder = new KMXBuilder(kmx, compilerOptions.saveDebug);
102
+ const keyboardId = this.callbacks.path.basename(outputFilename, '.kmx');
103
+ const vkCompiler = new LdmlKeyboardVisualKeyboardCompiler(this.callbacks);
104
+ const vkCompilerResult = vkCompiler.compile(kmx.kmxplus, keyboardId);
105
+ if (vkCompilerResult === null) {
106
+ return null;
107
+ }
108
+ const vkData = typeof vkCompilerResult == 'object' ? vkCompilerResult : null;
109
+ if (vkData) {
110
+ kmx.keyboard.stores.push({
111
+ dpName: '',
112
+ dpString: keyboardId + '.kvk',
113
+ dwSystemID: KMX.KMXFile.TSS_VISUALKEYBOARD
114
+ });
115
+ }
116
+ const kmxBinary = kmxBuilder.compile();
117
+ const kvkWriter = new KvkFileWriter();
118
+ const kvkBinary = vkData ? kvkWriter.write(vkData) : null;
102
119
  // Note: we could have a step of generating source files here
103
120
  // KvksFileWriter()...
104
121
  // const tlcompiler = new kmc.TouchLayoutCompiler();
@@ -108,12 +125,10 @@ export class LdmlKeyboardCompiler {
108
125
  //KMW17.0: const kmw_string = kmwcompiler.compile(inputFilename, source);
109
126
  //KMW17.0: const encoder = new TextEncoder();
110
127
  //KMW17.0: const kmw_binary = encoder.encode(kmw_string);
111
- outputFilename = outputFilename ?? inputFilename.replace(/\.xml$/, '.kmx');
112
128
  return {
113
129
  artifacts: {
114
- kmx: { data: kmx_binary, filename: outputFilename },
115
- kvk: { data: kvk_binary, filename: outputFilename.replace(/\.kmx$/, '.kvk') },
116
- //KMW17.0: js: { data: kmw_binary, filename: outputFilename.replace(/\.kmx$/, '.js') },
130
+ kmx: { data: kmxBinary, filename: outputFilename },
131
+ kvk: kvkBinary ? { data: kvkBinary, filename: outputFilename.replace(/\.kmx$/, '.kvk') } : null,
117
132
  }
118
133
  };
119
134
  }
@@ -123,7 +138,6 @@ export class LdmlKeyboardCompiler {
123
138
  *
124
139
  * - .kmx file - binary keyboard used by Keyman on desktop platforms
125
140
  * - .kvk file - binary on screen keyboard used by Keyman on desktop platforms
126
- * - .js file - Javascript keyboard for web and touch platforms
127
141
  *
128
142
  * @param artifacts - object containing artifact binary data to write out
129
143
  * @returns true on success
@@ -135,9 +149,6 @@ export class LdmlKeyboardCompiler {
135
149
  if (artifacts.kvk) {
136
150
  this.callbacks.fs.writeFileSync(artifacts.kvk.filename, artifacts.kvk.data);
137
151
  }
138
- if (artifacts.js) {
139
- this.callbacks.fs.writeFileSync(artifacts.js.filename, artifacts.js.data);
140
- }
141
152
  return true;
142
153
  }
143
154
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../../src/compiler/compiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../../src/compiler/compiler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,OAAO,EAAoB,aAAa,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AACxF,OAAO,EAEL,sBAAsB,EAAE,+BAA+B,EACpB,UAAU,EAE9C,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAI7F,IAAO,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;AAEzC,OAAO,EAAgB,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,kCAAkC,EAAE,MAAM,+BAA+B,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,iCAAiC;IAEjC,qCAAqC;IACrC,YAAY;IACZ,2EAA2E;IAC3E,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,sCAAsC;IACtC,YAAY;IACZ,kBAAkB;IAClB,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,YAAY;CACb,CAAC;AAEF,iCAAiC;AACjC,MAAM,OAAO,GAAG;IACd,aAAa;CACd,CAAC;AAiBD,CAAC;AAQD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,OAAO,oBAAoB;IACvB,SAAS,CAAoB;IAC7B,OAAO,CAAsB;IAErC,cAAc;IACN,UAAU,GAAsB,SAAS,CAAC;IAElD;;;;;;;OAOG;IACH,KAAK,CAAC,IAAI,CAAC,SAA4B,EAAE,OAA4B;QACnE,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,GAAG,CAAC,aAAqB,EAAE,cAAuB;QAEtD,IAAI,eAAe,GAAwB;YACzC,GAAG,sBAAsB;YACzB,GAAG,IAAI,CAAC,OAAO;SAChB,CAAC;QAEF,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,IAAI,CAAC;QACd,CAAC;QAED,cAAc,GAAG,cAAc,IAAI,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAE3E,kFAAkF;QAClF,oCAAoC;QACpC,uBAAuB,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QAEnF,qDAAqD;QACrD,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,GAAG,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;QAClE,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QACxE,MAAM,UAAU,GAAG,IAAI,kCAAkC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1E,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACrE,IAAG,gBAAgB,KAAK,IAAI,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,gBAAgB,IAAI,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC;QAE7E,IAAG,MAAM,EAAE,CAAC;YACV,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;gBACvB,MAAM,EAAE,EAAE;gBACV,QAAQ,EAAE,UAAU,GAAG,MAAM;gBAC7B,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,kBAAkB;aAC3C,CAAC,CAAC;QACL,CAAC;QAED,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;QAEvC,MAAM,SAAS,GAAG,IAAI,aAAa,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAE1D,6DAA6D;QAC7D,sBAAsB;QACtB,oDAAoD;QACpD,yCAAyC;QACzC,gDAAgD;QAEhD,kGAAkG;QAClG,yEAAyE;QACzE,6CAA6C;QAC7C,yDAAyD;QAEzD,OAAO;YACL,SAAS,EAAE;gBACT,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE;gBAClD,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;aAChG;SACF,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,KAAK,CAAC,SAAwC;QAClD,IAAI,SAAS,CAAC,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9E,CAAC;QAED,IAAI,SAAS,CAAC,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9E,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,aAAa;QACjB,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAClC,aAAa;YACb,MAAM,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAC;YACnC,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACrD,IAAI,EAAE,EAAE,CAAC;gBACP,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACN,sBAAsB;gBACtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,wBAAwB;YAClD,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAEO,aAAa,CAAC,MAAiC;QACrD,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IACnE,CAAC;IAED;;;;;;OAMG;IACI,IAAI,CAAC,QAAgB;QAC1B,MAAM,MAAM,GAAG,IAAI,+BAA+B,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/F,wCAAwC;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,SAAS,EAAE,yBAAyB,EAAE,CAAC,CAAC,CAAC;YAC/G,OAAO,IAAI,CAAC;QACd,CAAC;QACD,8CAA8C;QAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,SAAS,EAAE,yBAAyB,EAAE,CAAC,CAAC,CAAC;YAC/G,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC;YACH,mDAAmD;YACnD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7B,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;YAClG,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACI,YAAY,CAAC,QAAgB;QAClC,MAAM,MAAM,GAAG,IAAI,+BAA+B,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/F,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,SAAS,EAAE,yBAAyB,EAAE,CAAC,CAAC,CAAC;YAC/G,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACzC,sBAAsB;QACtB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,SAAS,EAAE,yBAAyB,EAAE,CAAC,CAAC,CAAC;YAC/G,OAAO,IAAI,CAAC;QACd,CAAC;QACD,8FAA8F;QAE9F,QAAQ;QACR,oCAAoC;QACpC,mBAAmB;QACnB,MAAM;QACN,eAAe;QACf,qGAAqG;QACrG,iBAAiB;QACjB,IAAI;QAEJ,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,yDAAyD;IACjD,YAAY,CAAC,MAAiC,EAAE,GAAwB;QAC9E,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,IAAI,CAAC,MAAiC,EAAE,GAAwB;QAC5E,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACpB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,0BAA0B;QAC1B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;gBACzB,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAGD;;;;;OAKG;IACI,KAAK,CAAC,QAAQ,CAAC,MAAiC;QACrD,2CAA2C;QAC3C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,KAAK,CAAC;QACf,CAAC;QAED,kBAAkB;QAClB,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IACxC,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,OAAO,CAAC,MAAiC,EAAE,YAAsB;QAC5E,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,CAAC;QAElB,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;QAE9B,KAAK,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACxB,sBAAsB;gBACtB,MAAM,GAAG,KAAK,CAAC;gBACf,uEAAuE;gBACvE,qCAAqC;gBACrC,SAAS;YACX,CAAC;YACD,QAAQ;YACR,MAAM,cAAc,GAAuB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YAC1E,gCAAgC;YAChC,cAAc,CAAC,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YACvD,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;YAC1C,IAAI,iBAAiB,GAAG,KAAK,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,OAAe,EAAE,EAAE;gBACzD,MAAM,MAAM,GAAiB,SAAS,CAAC,OAAO,CAAe,OAAO,CAAC,CAAC;gBACtE,IAAI,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC7B,sBAAsB;oBACtB,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;wBACzB,IAAI,MAAM,EAAE,CAAC;4BACX,gDAAgD;4BAChD,MAAM,IAAI,KAAK,CAAC,2BAA2B,OAAO,CAAC,EAAE,wCAAwC,MAAM,kBAAkB,CAAC,CAAC;wBACzH,CAAC;6BAAM,CAAC;4BACN,iBAAiB,GAAG,IAAI,CAAC;4BACzB,OAAO,CAAC,mEAAmE;wBAC7E,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,6CAA6C;oBAC7C,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,iBAAiB,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjC,qEAAqE;gBACrE,0BAA0B;gBAC1B,SAAS;YACX,CAAC;YACD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAE7C,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,GAAG,KAAK,CAAC;gBACf,SAAS;YACX,CAAC;YACD,sBAAsB;YACtB,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC5B,gDAAgD;gBAChD,MAAM,IAAI,KAAK,CAAC,2BAA2B,OAAO,CAAC,EAAE,0BAA0B,CAAC,CAAC;YACnF,CAAC;YACD,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,IAAW,CAAC;QACxC,CAAC;QAED,6CAA6C;QAC7C,IAAI,YAAY,EAAE,CAAC;YACjB,KAAK,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;oBACnD,MAAM,GAAG,KAAK,CAAC;gBACjB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7B,CAAC;CACF"}
@@ -4,7 +4,7 @@ import { KMXPlus } from "@keymanapp/common-types";
4
4
  import { CompilerCallbacks, LDMLKeyboard } from "@keymanapp/developer-utils";
5
5
  import { VarsCompiler } from './vars.js';
6
6
  /**
7
- * Compiler for typrs that don't actually consume input XML
7
+ * Compiler for types that don't actually consume input XML
8
8
  */
9
9
  export declare abstract class EmptyCompiler extends SectionCompiler {
10
10
  private _id;
@@ -4,7 +4,7 @@ import { util, KMXPlus, MarkerParser } from "@keymanapp/common-types";
4
4
  import { VarsCompiler } from './vars.js';
5
5
  import { LdmlCompilerMessages } from './ldml-compiler-messages.js';
6
6
  /**
7
- * Compiler for typrs that don't actually consume input XML
7
+ * Compiler for types that don't actually consume input XML
8
8
  */
9
9
  export class EmptyCompiler extends SectionCompiler {
10
10
  _id;
@@ -1 +1 @@
1
- {"version":3,"file":"vars.d.ts","sourceRoot":"","sources":["../../../src/compiler/vars.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAa,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAgC,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;AAI3B,OAAO,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;AACvD,OAAO,yBAAyB,GAAG,YAAY,CAAC,yBAAyB,CAAC;AAK1E,OAAO,EAAmB,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC3E,qBAAa,YAAa,SAAQ,eAAe;IAC/C,IAAW,EAAE,iBAEZ;IAED,IAAW,YAAY,IAAI,GAAG,CAAC,YAAY,CAAC,CAQ3C;gBAEW,MAAM,EAAE,yBAAyB,EAAE,SAAS,EAAE,iBAAiB;IAIpE,QAAQ,IAAI,OAAO;IAQ1B,OAAO,CAAC,YAAY;IA2GpB,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,wBAAwB;IA+BhC,qBAAqB,CAAC,QAAQ,EAAE,YAAY,CAAC,UAAU,EAAE,EAAE,EAAG,aAAa,GAAI,OAAO;IAS/E,OAAO,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAiClD,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAOrF,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAe/E,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,kBAAkB,GAAG,IAAI;CASxF"}
1
+ {"version":3,"file":"vars.d.ts","sourceRoot":"","sources":["../../../src/compiler/vars.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAa,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAgC,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;AAI3B,OAAO,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;AACvD,OAAO,yBAAyB,GAAG,YAAY,CAAC,yBAAyB,CAAC;AAK1E,OAAO,EAAmB,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC3E,qBAAa,YAAa,SAAQ,eAAe;IAC/C,IAAW,EAAE,iBAEZ;IAED,IAAW,YAAY,IAAI,GAAG,CAAC,YAAY,CAAC,CAQ3C;gBAEW,MAAM,EAAE,yBAAyB,EAAE,SAAS,EAAE,iBAAiB;IAIpE,QAAQ,IAAI,OAAO;IAQ1B,OAAO,CAAC,YAAY;IAkHpB,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,wBAAwB;IA+BhC,qBAAqB,CAAC,QAAQ,EAAE,YAAY,CAAC,UAAU,EAAE,EAAE,EAAG,aAAa,GAAI,OAAO;IAS/E,OAAO,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAiClD,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAOrF,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAe/E,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,kBAAkB,GAAG,IAAI;CASxF"}
@@ -56,9 +56,16 @@ export class VarsCompiler extends SectionCompiler {
56
56
  // Strings
57
57
  for (const { id, value } of variables.string) {
58
58
  addId(id);
59
- allStrings.add(id);
60
59
  const stringrefs = VariableParser.allStringReferences(value);
60
+ for (const ref of stringrefs) {
61
+ if (!allStrings.has(ref)) {
62
+ valid = false;
63
+ this.callbacks.reportMessage(LdmlCompilerMessages.Error_MissingStringVariable({ id: ref }));
64
+ allStrings.add(ref); // avoids multiple reports of same missing variable
65
+ }
66
+ }
61
67
  st.string.add(SubstitutionUse.variable, stringrefs);
68
+ allStrings.add(id);
62
69
  }
63
70
  // Sets
64
71
  for (const { id, value } of variables.set) {
@@ -1 +1 @@
1
- {"version":3,"file":"vars.js","sourceRoot":"","sources":["../../../src/compiler/vars.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vars.js","sourceRoot":"","sources":["../../../src/compiler/vars.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,19 @@
1
- import { VisualKeyboard } from "@keymanapp/common-types";
2
- import { LDMLKeyboard, CompilerCallbacks } from "@keymanapp/developer-utils";
1
+ import { KMXPlus, VisualKeyboard } from "@keymanapp/common-types";
2
+ import { CompilerCallbacks } from "@keymanapp/developer-utils";
3
3
  export declare class LdmlKeyboardVisualKeyboardCompiler {
4
4
  private callbacks;
5
5
  constructor(callbacks: CompilerCallbacks);
6
- compile(source: LDMLKeyboard.LDMLKeyboardXMLSourceFile): VisualKeyboard.VisualKeyboard;
6
+ /**
7
+ * Generate a visual keyboard
8
+ * @param source Compiled KMX+ data; note that this is modified to add
9
+ * &VISUALKEYBOARD system store on success
10
+ * @param keyboardId Basename of keyboard, without file extension
11
+ * @returns Visual keyboard data on success, null on failure, or
12
+ * false if no VK was generated for this keyboard
13
+ */
14
+ compile(source: KMXPlus.KMXPlusData, keyboardId: string): VisualKeyboard.VisualKeyboard | boolean | null;
7
15
  private compileHardwareLayer;
8
- private translateLayerIdToVisualKeyboardShift;
16
+ private getDisplayFromKey;
17
+ private translateLayerModifiersToVisualKeyboardShift;
9
18
  }
10
19
  //# sourceMappingURL=visual-keyboard-compiler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"visual-keyboard-compiler.d.ts","sourceRoot":"","sources":["../../../src/compiler/visual-keyboard-compiler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAqB7E,qBAAa,kCAAkC;IAC1B,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,iBAAiB;IAGhD,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,yBAAyB,GAAG,cAAc,CAAC,cAAc;IAqB7F,OAAO,CAAC,oBAAoB;IAgD5B,OAAO,CAAC,qCAAqC;CAO9C"}
1
+ {"version":3,"file":"visual-keyboard-compiler.d.ts","sourceRoot":"","sources":["../../../src/compiler/visual-keyboard-compiler.ts"],"names":[],"mappings":"AAOA,OAAO,EAAwB,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AA8B/D,qBAAa,kCAAkC;IAC1B,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,iBAAiB;IAGvD;;;;;;;OAOG;IACI,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,GAAG,cAAc,CAAC,cAAc,GAAG,OAAO,GAAG,IAAI;IAuC/G,OAAO,CAAC,oBAAoB;IA8C5B,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,4CAA4C;CAuBrD"}
@@ -1,5 +1,11 @@
1
- import { VisualKeyboard } from "@keymanapp/common-types";
2
- import { KeysCompiler } from "./keys.js";
1
+ /*
2
+ * Keyman is copyright (C) SIL International. MIT License.
3
+ *
4
+ * Export LDML data (https://www.unicode.org/reports/tr35/tr35-keyboards.html)
5
+ * to .kvk format. This is an interim solution until Keyman Core supports
6
+ * interrogation of the KMX+ data for OSK.
7
+ */
8
+ import { ModifierKeyConstants, VisualKeyboard } from "@keymanapp/common-types";
3
9
  import { LdmlCompilerMessages } from "./ldml-compiler-messages.js";
4
10
  // This is a partial polyfill for findLast, so not polluting Array.prototype
5
11
  // https://medium.com/@stheodorejohn/findlast-method-polyfill-in-javascript-bridging-browser-gaps-c3baf6aabae1
@@ -17,69 +23,113 @@ function findLast(arr, callback) {
17
23
  }
18
24
  return undefined;
19
25
  }
26
+ const LDML_MODIFIER_TO_KVK_MODIFIER = new Map();
27
+ LDML_MODIFIER_TO_KVK_MODIFIER.set(ModifierKeyConstants.LCTRLFLAG, 8 /* VisualKeyboard.VisualKeyboardShiftState.KVKS_LCTRL */);
28
+ LDML_MODIFIER_TO_KVK_MODIFIER.set(ModifierKeyConstants.RCTRLFLAG, 16 /* VisualKeyboard.VisualKeyboardShiftState.KVKS_RCTRL */);
29
+ LDML_MODIFIER_TO_KVK_MODIFIER.set(ModifierKeyConstants.LALTFLAG, 32 /* VisualKeyboard.VisualKeyboardShiftState.KVKS_LALT */);
30
+ LDML_MODIFIER_TO_KVK_MODIFIER.set(ModifierKeyConstants.RALTFLAG, 64 /* VisualKeyboard.VisualKeyboardShiftState.KVKS_RALT */);
31
+ LDML_MODIFIER_TO_KVK_MODIFIER.set(ModifierKeyConstants.K_SHIFTFLAG, 1 /* VisualKeyboard.VisualKeyboardShiftState.KVKS_SHIFT */);
32
+ LDML_MODIFIER_TO_KVK_MODIFIER.set(ModifierKeyConstants.K_CTRLFLAG, 2 /* VisualKeyboard.VisualKeyboardShiftState.KVKS_CTRL */);
33
+ LDML_MODIFIER_TO_KVK_MODIFIER.set(ModifierKeyConstants.K_ALTFLAG, 4 /* VisualKeyboard.VisualKeyboardShiftState.KVKS_ALT */);
20
34
  export class LdmlKeyboardVisualKeyboardCompiler {
21
35
  callbacks;
22
36
  constructor(callbacks) {
23
37
  this.callbacks = callbacks;
24
38
  }
25
- compile(source) {
39
+ /**
40
+ * Generate a visual keyboard
41
+ * @param source Compiled KMX+ data; note that this is modified to add
42
+ * &VISUALKEYBOARD system store on success
43
+ * @param keyboardId Basename of keyboard, without file extension
44
+ * @returns Visual keyboard data on success, null on failure, or
45
+ * false if no VK was generated for this keyboard
46
+ */
47
+ compile(source, keyboardId) {
26
48
  let result = new VisualKeyboard.VisualKeyboard();
27
49
  /* TODO-LDML: consider VisualKeyboardHeaderFlags.kvkhUseUnderlying kvkhDisplayUnderlying kvkhAltGr kvkh102 */
28
50
  result.header.flags = 0;
29
51
  result.header.version = 0x0600;
30
- /* TODO-LDML: consider associatedKeyboard: this _must_ be set to id (aka basename sans ext) of keyboard .kmx file */
31
- result.header.associatedKeyboard = '';
52
+ result.header.associatedKeyboard = keyboardId;
32
53
  result.header.ansiFont = { ...VisualKeyboard.DEFAULT_KVK_FONT };
33
54
  result.header.unicodeFont = { ...VisualKeyboard.DEFAULT_KVK_FONT };
34
- for (let layers of source.keyboard3.layers) {
35
- const { formId } = layers;
36
- for (let layer of layers.layer) {
37
- this.compileHardwareLayer(source, result, layer, formId);
55
+ let hasVisualKeyboard = false;
56
+ for (let layersList of source.layr.lists) {
57
+ const formId = layersList.hardware.value;
58
+ if (formId == 'touch') {
59
+ continue;
60
+ }
61
+ for (let layer of layersList.layers) {
62
+ const res = this.compileHardwareLayer(source, result, layer, formId);
63
+ if (res === false) {
64
+ // failed to compile the layer
65
+ return null;
66
+ }
67
+ if (res === null) {
68
+ // not a supported layer type, but not an error
69
+ continue;
70
+ }
71
+ hasVisualKeyboard = true;
38
72
  }
39
73
  }
74
+ if (!hasVisualKeyboard) {
75
+ return false;
76
+ }
40
77
  return result;
41
78
  }
42
79
  compileHardwareLayer(source, vk, layer, hardware) {
43
- const layerId = layer.id;
44
- if (hardware === 'touch') {
45
- hardware = 'us'; // TODO-LDML: US Only. Do something different here?
46
- }
47
- const keymap = KeysCompiler.getKeymapFromForms(source.keyboard3?.forms?.form, hardware);
48
- if (!keymap) {
49
- this.callbacks.reportMessage(LdmlCompilerMessages.Error_InvalidHardware({ formId: hardware }));
50
- return;
80
+ const layerId = layer.id.value;
81
+ hardware = 'us'; // TODO-LDML: US Only. We need to clean this up for other hardware forms
82
+ const shift = this.translateLayerModifiersToVisualKeyboardShift(layer.mod);
83
+ if (shift === null) {
84
+ // Caps (num, scroll) is not a supported shift state in .kvk
85
+ return null;
51
86
  }
52
- const shift = this.translateLayerIdToVisualKeyboardShift(layer.id);
87
+ let result = true;
53
88
  let y = -1;
54
- for (let row of layer.row) {
89
+ for (let row of layer.rows) {
55
90
  y++;
56
- const keys = row.keys.split(' ');
57
91
  let x = -1;
58
- for (let key of keys) {
59
- const keyId = key;
92
+ for (let key of row.keys) {
60
93
  x++;
61
- //@ts-ignore
62
- let keydef = findLast(source.keyboard3.keys?.key, x => x.id == key);
63
- if (!keydef) {
64
- this.callbacks.reportMessage(LdmlCompilerMessages.Error_KeyNotFoundInKeyBag({ keyId, layer: layerId, row: y, col: x, form: hardware }));
94
+ const keydef = findLast(source.keys?.keys, (kd) => kd.id.value == key.value);
95
+ const kmap = source.keys.kmap.find(k => k.key == keydef.id.value && k.mod == layer.mod);
96
+ const text = this.getDisplayFromKey(keydef, source) ?? null;
97
+ if (!keydef || !kmap || text === null) {
98
+ this.callbacks.reportMessage(LdmlCompilerMessages.Error_KeyNotFoundInKeyBag({ keyId: key.value, layer: layerId, row: y, col: x, form: hardware }));
99
+ result = false;
65
100
  }
66
101
  else {
67
102
  vk.keys.push({
68
103
  flags: 2 /* VisualKeyboard.VisualKeyboardKeyFlags.kvkkUnicode */,
69
- shift: shift,
70
- text: keydef.output, // TODO-LDML: displays
71
- vkey: keymap[y][x],
104
+ shift,
105
+ text,
106
+ vkey: kmap.vkey
72
107
  });
73
108
  }
74
109
  }
75
110
  }
111
+ return result;
112
+ }
113
+ getDisplayFromKey(keydef, source) {
114
+ const display = source.disp?.disps?.find(d => d.id.value == keydef.id.value || d.to.value == keydef.to.value);
115
+ return display?.display.value ?? keydef.to.value;
76
116
  }
77
- translateLayerIdToVisualKeyboardShift(id) {
78
- if (id == 'base') {
79
- return 0;
117
+ translateLayerModifiersToVisualKeyboardShift(modifiers) {
118
+ if (modifiers == 0) {
119
+ return 0 /* VisualKeyboard.VisualKeyboardShiftState.KVKS_NORMAL */;
120
+ }
121
+ if (modifiers &
122
+ (ModifierKeyConstants.CAPITALFLAG | ModifierKeyConstants.NUMLOCKFLAG | ModifierKeyConstants.SCROLLFLAG)) {
123
+ // Caps/Num/Scroll are not supported in .kvk, in combination or alone
124
+ return null;
125
+ }
126
+ let shift = 0;
127
+ for (const mod of LDML_MODIFIER_TO_KVK_MODIFIER.keys()) {
128
+ if (modifiers & mod) {
129
+ shift |= LDML_MODIFIER_TO_KVK_MODIFIER.get(mod);
130
+ }
80
131
  }
81
- // TODO-LDML: other modifiers
82
- return 0;
132
+ return shift;
83
133
  }
84
134
  }
85
135
  //# sourceMappingURL=visual-keyboard-compiler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"visual-keyboard-compiler.js","sourceRoot":"","sources":["../../../src/compiler/visual-keyboard-compiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"visual-keyboard-compiler.js","sourceRoot":"","sources":["../../../src/compiler/visual-keyboard-compiler.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -25,20 +25,22 @@
25
25
  "url": "https://github.com/keymanapp/keyman/issues"
26
26
  },
27
27
  "dependencies": {
28
- "@keymanapp/keyman-version": "18.0.113-alpha",
29
- "@keymanapp/developer-utils": "18.0.113-alpha",
30
- "@keymanapp/kmc-kmn": "18.0.113-alpha",
31
- "@keymanapp/ldml-keyboard-constants": "18.0.113-alpha",
28
+ "@keymanapp/developer-utils": "18.0.115-alpha",
29
+ "@keymanapp/keyman-version": "18.0.115-alpha",
30
+ "@keymanapp/kmc-kmn": "18.0.115-alpha",
31
+ "@keymanapp/ldml-keyboard-constants": "18.0.115-alpha",
32
32
  "semver": "^7.5.4"
33
33
  },
34
34
  "devDependencies": {
35
- "@keymanapp/developer-test-helpers": "18.0.113-alpha",
36
- "@keymanapp/resources-gosh": "18.0.113-alpha",
35
+ "@keymanapp/developer-test-helpers": "18.0.115-alpha",
36
+ "@keymanapp/resources-gosh": "18.0.115-alpha",
37
+ "@types/common-tags": "^1.8.4",
37
38
  "@types/mocha": "^5.2.7",
38
39
  "@types/node": "^20.4.1",
39
40
  "@types/semver": "^7.3.12",
40
41
  "c8": "^7.12.0",
41
42
  "chalk": "^2.4.2",
43
+ "common-tags": "^1.8.2",
42
44
  "mocha": "^8.4.0",
43
45
  "typescript": "^5.4.5"
44
46
  },
@@ -62,5 +64,5 @@
62
64
  "type": "git",
63
65
  "url": "git+https://github.com/keymanapp/keyman.git"
64
66
  },
65
- "version": "18.0.113-alpha"
67
+ "version": "18.0.115-alpha"
66
68
  }
@@ -1,14 +0,0 @@
1
- import { CompilerCallbacks, LDMLKeyboard } from "@keymanapp/developer-utils";
2
- import { LdmlCompilerOptions } from "./ldml-compiler-options.js";
3
- export declare class LdmlKeyboardKeymanWebCompiler {
4
- private callbacks;
5
- private readonly options;
6
- private readonly nl;
7
- private readonly tab;
8
- constructor(callbacks: CompilerCallbacks, options?: LdmlCompilerOptions);
9
- compileVisualKeyboard(source: LDMLKeyboard.LDMLKeyboardXMLSourceFile): string;
10
- compileTouchLayout(source: LDMLKeyboard.LDMLKeyboardXMLSourceFile): string;
11
- private cleanName;
12
- compile(name: string, source: LDMLKeyboard.LDMLKeyboardXMLSourceFile): string;
13
- }
14
- //# sourceMappingURL=keymanweb-compiler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"keymanweb-compiler.d.ts","sourceRoot":"","sources":["../../../src/compiler/keymanweb-compiler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAyB,MAAM,4BAA4B,CAAC;AACpG,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAMjE,qBAAa,6BAA6B;IAI5B,OAAO,CAAC,SAAS;IAH7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;gBACT,SAAS,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,mBAAmB;IAMxE,qBAAqB,CAAC,MAAM,EAAE,YAAY,CAAC,yBAAyB;IAgBpE,kBAAkB,CAAC,MAAM,EAAE,YAAY,CAAC,yBAAyB;IAOxE,OAAO,CAAC,SAAS;IAcV,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,yBAAyB,GAAG,MAAM;CA0DrF"}
@@ -1,96 +0,0 @@
1
- import { VisualKeyboard } from "@keymanapp/common-types";
2
- import { TouchLayoutFileWriter } from "@keymanapp/developer-utils";
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
- //# sourceMappingURL=keymanweb-compiler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"keymanweb-compiler.js","sourceRoot":"","sources":["../../../src/compiler/keymanweb-compiler.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- import { TouchLayout } from "@keymanapp/common-types";
2
- import { LDMLKeyboard } from "@keymanapp/developer-utils";
3
- export declare class TouchLayoutCompiler {
4
- compileToJavascript(source: LDMLKeyboard.LDMLKeyboardXMLSourceFile): TouchLayout.TouchLayoutFile;
5
- private compileHardwareLayer;
6
- private translateLayerIdToTouchLayoutLayerId;
7
- private translateKeyIdentifierToTouch;
8
- }
9
- //# sourceMappingURL=touch-layout-compiler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"touch-layout-compiler.d.ts","sourceRoot":"","sources":["../../../src/compiler/touch-layout-compiler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,qBAAa,mBAAmB;IACvB,mBAAmB,CAAC,MAAM,EAAE,YAAY,CAAC,yBAAyB,GAAG,WAAW,CAAC,eAAe;IAkBvG,OAAO,CAAC,oBAAoB;IAuC5B,OAAO,CAAC,oCAAoC;IAsC5C,OAAO,CAAC,6BAA6B;CAatC"}
@@ -1,91 +0,0 @@
1
- export class TouchLayoutCompiler {
2
- compileToJavascript(source) {
3
- let result = {};
4
- // start with desktop to mimic vk emit
5
- result.desktop = {
6
- defaultHint: "none", // TODO-LDML this should be optional
7
- layer: []
8
- };
9
- for (let layers of source.keyboard3.layers) {
10
- for (let layer of layers.layer) {
11
- const resultLayer = this.compileHardwareLayer(source, result, layer);
12
- result.desktop.layer.push(resultLayer);
13
- }
14
- }
15
- return result;
16
- }
17
- compileHardwareLayer(source, file, layer) {
18
- // TODO-LDML: consider consolidation with keys.ts?
19
- let fileLayer = {
20
- id: this.translateLayerIdToTouchLayoutLayerId(layer.id, layer.modifiers),
21
- row: []
22
- };
23
- let y = -1;
24
- for (let row of layer.row) {
25
- y++;
26
- let fileRow = { id: y, key: [] };
27
- fileLayer.row.push(fileRow);
28
- const keys = row.keys.split(' ');
29
- for (let key of keys) {
30
- const keydef = source.keyboard3.keys?.key?.find(x => x.id == key);
31
- if (keydef) {
32
- const fileKey = {
33
- id: this.translateKeyIdentifierToTouch(keydef.id),
34
- text: keydef.output || '',
35
- // TODO-LDML: additional properties
36
- };
37
- fileRow.key.push(fileKey);
38
- }
39
- else {
40
- // TODO-LDML: consider logging missing keys
41
- }
42
- }
43
- }
44
- return fileLayer;
45
- }
46
- translateLayerIdToTouchLayoutLayerId(id, modifier) {
47
- // Touch layout layers have a set of reserved names that correspond to
48
- // hardware modifiers. We want to map these identifiers first before falling
49
- // back to the layer ids
50
- // The set of recognized layer identifiers is:
51
- //
52
- // touch | LDML
53
- // ---------------+-------------
54
- // default | none
55
- // shift | shift
56
- // caps | caps
57
- // rightalt | altR
58
- // rightalt-shift | altR shift
59
- //
60
- const map = {
61
- none: 'default',
62
- shift: 'shift',
63
- caps: 'caps',
64
- altR: 'rightalt',
65
- "altR shift": 'rightalt-shift'
66
- };
67
- // canonicalize modifier string, alphabetical
68
- // TODO-LDML: need to support multiple here
69
- if (modifier && modifier.indexOf(',') !== -1) {
70
- throw Error(`Internal error: TODO-LDML: multiple modifiers ${modifier} not yet supported.`);
71
- }
72
- modifier = (modifier || '').split(/\b/).sort().join(' ').trim();
73
- if (Object.hasOwn(map, modifier)) {
74
- return map[modifier];
75
- }
76
- // TODO-LDML: Other layer names will be used unmodified, is this sufficient?
77
- return id;
78
- }
79
- translateKeyIdentifierToTouch(id) {
80
- // Note: keys identifiers in kmx were traditionally case-insensitive, but we
81
- // are going to use them as case-insensitive for LDML keyboards. The set of
82
- // standard key identifiers a-z, A-Z, 0-9 will be used, where possible, and
83
- // all other keys will be mapped to `T_key`.
84
- if (id.match(/^[0-9a-zA-Z]$/)) {
85
- return 'K_' + id;
86
- }
87
- // Not a standard key
88
- return 'T_' + id;
89
- }
90
- }
91
- //# sourceMappingURL=touch-layout-compiler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"touch-layout-compiler.js","sourceRoot":"","sources":["../../../src/compiler/touch-layout-compiler.ts"],"names":[],"mappings":"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"}