@keymanapp/common-types 17.0.85-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.
Files changed (248) hide show
  1. package/build/src/consts/virtual-key-constants.d.ts +131 -0
  2. package/build/src/consts/virtual-key-constants.d.ts.map +1 -0
  3. package/build/src/consts/virtual-key-constants.js +245 -0
  4. package/build/src/consts/virtual-key-constants.js.map +1 -0
  5. package/build/src/import/techpreview/cldr_info.json +5 -0
  6. package/build/src/import/techpreview/keys-Latn-implied.xml +80 -0
  7. package/build/src/import/techpreview/keys-Zyyy-currency.xml +22 -0
  8. package/build/src/import/techpreview/keys-Zyyy-punctuation.xml +46 -0
  9. package/build/src/keyman-touch-layout/keyman-touch-layout-file-reader.d.ts +7 -0
  10. package/build/src/keyman-touch-layout/keyman-touch-layout-file-reader.d.ts.map +1 -0
  11. package/build/src/keyman-touch-layout/keyman-touch-layout-file-reader.js +74 -0
  12. package/build/src/keyman-touch-layout/keyman-touch-layout-file-reader.js.map +1 -0
  13. package/build/src/keyman-touch-layout/keyman-touch-layout-file-writer.d.ts +24 -0
  14. package/build/src/keyman-touch-layout/keyman-touch-layout-file-writer.d.ts.map +1 -0
  15. package/build/src/keyman-touch-layout/keyman-touch-layout-file-writer.js +75 -0
  16. package/build/src/keyman-touch-layout/keyman-touch-layout-file-writer.js.map +1 -0
  17. package/build/src/keyman-touch-layout/keyman-touch-layout-file.d.ts +76 -0
  18. package/build/src/keyman-touch-layout/keyman-touch-layout-file.d.ts.map +1 -0
  19. package/build/src/keyman-touch-layout/keyman-touch-layout-file.js +26 -0
  20. package/build/src/keyman-touch-layout/keyman-touch-layout-file.js.map +1 -0
  21. package/build/src/keyman-touch-layout.clean.spec.json +170 -0
  22. package/build/src/kmx/element-string.d.ts +19 -0
  23. package/build/src/kmx/element-string.d.ts.map +1 -0
  24. package/build/src/kmx/element-string.js +72 -0
  25. package/build/src/kmx/element-string.js.map +1 -0
  26. package/build/src/kmx/kmx-builder.d.ts +77 -0
  27. package/build/src/kmx/kmx-builder.d.ts.map +1 -0
  28. package/build/src/kmx/kmx-builder.js +193 -0
  29. package/build/src/kmx/kmx-builder.js.map +1 -0
  30. package/build/src/kmx/kmx-plus-builder/build-disp.d.ts +18 -0
  31. package/build/src/kmx/kmx-plus-builder/build-disp.d.ts.map +1 -0
  32. package/build/src/kmx/kmx-plus-builder/build-disp.js +25 -0
  33. package/build/src/kmx/kmx-plus-builder/build-disp.js.map +1 -0
  34. package/build/src/kmx/kmx-plus-builder/build-elem.d.ts +26 -0
  35. package/build/src/kmx/kmx-plus-builder/build-elem.d.ts.map +1 -0
  36. package/build/src/kmx/kmx-plus-builder/build-elem.js +78 -0
  37. package/build/src/kmx/kmx-plus-builder/build-elem.js.map +1 -0
  38. package/build/src/kmx/kmx-plus-builder/build-keys.d.ts +60 -0
  39. package/build/src/kmx/kmx-plus-builder/build-keys.d.ts.map +1 -0
  40. package/build/src/kmx/kmx-plus-builder/build-keys.js +107 -0
  41. package/build/src/kmx/kmx-plus-builder/build-keys.js.map +1 -0
  42. package/build/src/kmx/kmx-plus-builder/build-layr.d.ts +54 -0
  43. package/build/src/kmx/kmx-plus-builder/build-layr.d.ts.map +1 -0
  44. package/build/src/kmx/kmx-plus-builder/build-layr.js +99 -0
  45. package/build/src/kmx/kmx-plus-builder/build-layr.js.map +1 -0
  46. package/build/src/kmx/kmx-plus-builder/build-list.d.ts +34 -0
  47. package/build/src/kmx/kmx-plus-builder/build-list.d.ts.map +1 -0
  48. package/build/src/kmx/kmx-plus-builder/build-list.js +62 -0
  49. package/build/src/kmx/kmx-plus-builder/build-list.js.map +1 -0
  50. package/build/src/kmx/kmx-plus-builder/build-loca.d.ts +12 -0
  51. package/build/src/kmx/kmx-plus-builder/build-loca.d.ts.map +1 -0
  52. package/build/src/kmx/kmx-plus-builder/build-loca.js +20 -0
  53. package/build/src/kmx/kmx-plus-builder/build-loca.js.map +1 -0
  54. package/build/src/kmx/kmx-plus-builder/build-meta.d.ts +17 -0
  55. package/build/src/kmx/kmx-plus-builder/build-meta.d.ts.map +1 -0
  56. package/build/src/kmx/kmx-plus-builder/build-meta.js +21 -0
  57. package/build/src/kmx/kmx-plus-builder/build-meta.js.map +1 -0
  58. package/build/src/kmx/kmx-plus-builder/build-name.d.ts +12 -0
  59. package/build/src/kmx/kmx-plus-builder/build-name.d.ts.map +1 -0
  60. package/build/src/kmx/kmx-plus-builder/build-name.js +23 -0
  61. package/build/src/kmx/kmx-plus-builder/build-name.js.map +1 -0
  62. package/build/src/kmx/kmx-plus-builder/build-ordr.d.ts +18 -0
  63. package/build/src/kmx/kmx-plus-builder/build-ordr.d.ts.map +1 -0
  64. package/build/src/kmx/kmx-plus-builder/build-ordr.js +27 -0
  65. package/build/src/kmx/kmx-plus-builder/build-ordr.js.map +1 -0
  66. package/build/src/kmx/kmx-plus-builder/build-sect.d.ts +16 -0
  67. package/build/src/kmx/kmx-plus-builder/build-sect.d.ts.map +1 -0
  68. package/build/src/kmx/kmx-plus-builder/build-sect.js +14 -0
  69. package/build/src/kmx/kmx-plus-builder/build-sect.js.map +1 -0
  70. package/build/src/kmx/kmx-plus-builder/build-strs.d.ts +18 -0
  71. package/build/src/kmx/kmx-plus-builder/build-strs.d.ts.map +1 -0
  72. package/build/src/kmx/kmx-plus-builder/build-strs.js +34 -0
  73. package/build/src/kmx/kmx-plus-builder/build-strs.js.map +1 -0
  74. package/build/src/kmx/kmx-plus-builder/build-tran.d.ts +20 -0
  75. package/build/src/kmx/kmx-plus-builder/build-tran.d.ts.map +1 -0
  76. package/build/src/kmx/kmx-plus-builder/build-tran.js +30 -0
  77. package/build/src/kmx/kmx-plus-builder/build-tran.js.map +1 -0
  78. package/build/src/kmx/kmx-plus-builder/build-vkey.d.ts +16 -0
  79. package/build/src/kmx/kmx-plus-builder/build-vkey.d.ts.map +1 -0
  80. package/build/src/kmx/kmx-plus-builder/build-vkey.js +23 -0
  81. package/build/src/kmx/kmx-plus-builder/build-vkey.js.map +1 -0
  82. package/build/src/kmx/kmx-plus-builder/builder-section.d.ts +6 -0
  83. package/build/src/kmx/kmx-plus-builder/builder-section.d.ts.map +1 -0
  84. package/build/src/kmx/kmx-plus-builder/builder-section.js +3 -0
  85. package/build/src/kmx/kmx-plus-builder/builder-section.js.map +1 -0
  86. package/build/src/kmx/kmx-plus-builder/kmx-plus-builder.d.ts +47 -0
  87. package/build/src/kmx/kmx-plus-builder/kmx-plus-builder.d.ts.map +1 -0
  88. package/build/src/kmx/kmx-plus-builder/kmx-plus-builder.js +143 -0
  89. package/build/src/kmx/kmx-plus-builder/kmx-plus-builder.js.map +1 -0
  90. package/build/src/kmx/kmx-plus.d.ts +259 -0
  91. package/build/src/kmx/kmx-plus.d.ts.map +1 -0
  92. package/build/src/kmx/kmx-plus.js +594 -0
  93. package/build/src/kmx/kmx-plus.js.map +1 -0
  94. package/build/src/kmx/kmx.d.ts +166 -0
  95. package/build/src/kmx/kmx.d.ts.map +1 -0
  96. package/build/src/kmx/kmx.js +271 -0
  97. package/build/src/kmx/kmx.js.map +1 -0
  98. package/build/src/kmx/string-list.d.ts +29 -0
  99. package/build/src/kmx/string-list.d.ts.map +1 -0
  100. package/build/src/kmx/string-list.js +75 -0
  101. package/build/src/kmx/string-list.js.map +1 -0
  102. package/build/src/kpj/keyman-developer-project.d.ts +58 -0
  103. package/build/src/kpj/keyman-developer-project.d.ts.map +1 -0
  104. package/build/src/kpj/keyman-developer-project.js +141 -0
  105. package/build/src/kpj/keyman-developer-project.js.map +1 -0
  106. package/build/src/kpj/kpj-file-reader.d.ts +17 -0
  107. package/build/src/kpj/kpj-file-reader.d.ts.map +1 -0
  108. package/build/src/kpj/kpj-file-reader.js +92 -0
  109. package/build/src/kpj/kpj-file-reader.js.map +1 -0
  110. package/build/src/kpj/kpj-file.d.ts +39 -0
  111. package/build/src/kpj/kpj-file.d.ts.map +1 -0
  112. package/build/src/kpj/kpj-file.js +11 -0
  113. package/build/src/kpj/kpj-file.js.map +1 -0
  114. package/build/src/kpj.schema.json +127 -0
  115. package/build/src/kvk/kvk-file-reader.d.ts +5 -0
  116. package/build/src/kvk/kvk-file-reader.d.ts.map +1 -0
  117. package/build/src/kvk/kvk-file-reader.js +35 -0
  118. package/build/src/kvk/kvk-file-reader.js.map +1 -0
  119. package/build/src/kvk/kvk-file-writer.d.ts +20 -0
  120. package/build/src/kvk/kvk-file-writer.d.ts.map +1 -0
  121. package/build/src/kvk/kvk-file-writer.js +67 -0
  122. package/build/src/kvk/kvk-file-writer.js.map +1 -0
  123. package/build/src/kvk/kvk-file.d.ts +64 -0
  124. package/build/src/kvk/kvk-file.d.ts.map +1 -0
  125. package/build/src/kvk/kvk-file.js +63 -0
  126. package/build/src/kvk/kvk-file.js.map +1 -0
  127. package/build/src/kvk/kvks-file-reader.d.ts +30 -0
  128. package/build/src/kvk/kvks-file-reader.d.ts.map +1 -0
  129. package/build/src/kvk/kvks-file-reader.js +154 -0
  130. package/build/src/kvk/kvks-file-reader.js.map +1 -0
  131. package/build/src/kvk/kvks-file-writer.d.ts +6 -0
  132. package/build/src/kvk/kvks-file-writer.d.ts.map +1 -0
  133. package/build/src/kvk/kvks-file-writer.js +99 -0
  134. package/build/src/kvk/kvks-file-writer.js.map +1 -0
  135. package/build/src/kvk/kvks-file.d.ts +44 -0
  136. package/build/src/kvk/kvks-file.d.ts.map +1 -0
  137. package/build/src/kvk/kvks-file.js +10 -0
  138. package/build/src/kvk/kvks-file.js.map +1 -0
  139. package/build/src/kvk/visual-keyboard.d.ts +35 -0
  140. package/build/src/kvk/visual-keyboard.d.ts.map +1 -0
  141. package/build/src/kvk/visual-keyboard.js +61 -0
  142. package/build/src/kvk/visual-keyboard.js.map +1 -0
  143. package/build/src/kvks.schema.json +182 -0
  144. package/build/src/ldml-keyboard/ldml-keyboard-testdata-xml.d.ts +56 -0
  145. package/build/src/ldml-keyboard/ldml-keyboard-testdata-xml.d.ts.map +1 -0
  146. package/build/src/ldml-keyboard/ldml-keyboard-testdata-xml.js +20 -0
  147. package/build/src/ldml-keyboard/ldml-keyboard-testdata-xml.js.map +1 -0
  148. package/build/src/ldml-keyboard/ldml-keyboard-xml-reader.d.ts +91 -0
  149. package/build/src/ldml-keyboard/ldml-keyboard-xml-reader.d.ts.map +1 -0
  150. package/build/src/ldml-keyboard/ldml-keyboard-xml-reader.js +370 -0
  151. package/build/src/ldml-keyboard/ldml-keyboard-xml-reader.js.map +1 -0
  152. package/build/src/ldml-keyboard/ldml-keyboard-xml.d.ts +143 -0
  153. package/build/src/ldml-keyboard/ldml-keyboard-xml.d.ts.map +1 -0
  154. package/build/src/ldml-keyboard/ldml-keyboard-xml.js +34 -0
  155. package/build/src/ldml-keyboard/ldml-keyboard-xml.js.map +1 -0
  156. package/build/src/ldml-keyboard.schema.json +634 -0
  157. package/build/src/ldml-keyboardtest.schema.json +221 -0
  158. package/build/src/main.d.ts +21 -0
  159. package/build/src/main.d.ts.map +1 -0
  160. package/build/src/main.js +20 -0
  161. package/build/src/main.js.map +1 -0
  162. package/build/src/util/common-events.d.ts +49 -0
  163. package/build/src/util/common-events.d.ts.map +1 -0
  164. package/build/src/util/common-events.js +29 -0
  165. package/build/src/util/common-events.js.map +1 -0
  166. package/build/src/util/compiler-interfaces.d.ts +51 -0
  167. package/build/src/util/compiler-interfaces.d.ts.map +1 -0
  168. package/build/src/util/compiler-interfaces.js +33 -0
  169. package/build/src/util/compiler-interfaces.js.map +1 -0
  170. package/build/src/util/util.d.ts +17 -0
  171. package/build/src/util/util.d.ts.map +1 -0
  172. package/build/src/util/util.js +67 -0
  173. package/build/src/util/util.js.map +1 -0
  174. package/build/tsconfig.tsbuildinfo +1 -0
  175. package/build.sh +86 -0
  176. package/package.json +58 -0
  177. package/src/consts/virtual-key-constants.ts +257 -0
  178. package/src/keyman-touch-layout/keyman-touch-layout-file-reader.ts +81 -0
  179. package/src/keyman-touch-layout/keyman-touch-layout-file-writer.ts +84 -0
  180. package/src/keyman-touch-layout/keyman-touch-layout-file.ts +87 -0
  181. package/src/kmx/element-string.ts +79 -0
  182. package/src/kmx/kmx-builder.ts +287 -0
  183. package/src/kmx/kmx-plus-builder/build-disp.ts +46 -0
  184. package/src/kmx/kmx-plus-builder/build-elem.ts +103 -0
  185. package/src/kmx/kmx-plus-builder/build-keys.ts +175 -0
  186. package/src/kmx/kmx-plus-builder/build-layr.ts +154 -0
  187. package/src/kmx/kmx-plus-builder/build-list.ts +95 -0
  188. package/src/kmx/kmx-plus-builder/build-loca.ts +34 -0
  189. package/src/kmx/kmx-plus-builder/build-meta.ts +37 -0
  190. package/src/kmx/kmx-plus-builder/build-name.ts +37 -0
  191. package/src/kmx/kmx-plus-builder/build-ordr.ts +45 -0
  192. package/src/kmx/kmx-plus-builder/build-sect.ts +31 -0
  193. package/src/kmx/kmx-plus-builder/build-strs.ts +58 -0
  194. package/src/kmx/kmx-plus-builder/build-tran.ts +50 -0
  195. package/src/kmx/kmx-plus-builder/build-vkey.ts +43 -0
  196. package/src/kmx/kmx-plus-builder/builder-section.ts +6 -0
  197. package/src/kmx/kmx-plus-builder/kmx-plus-builder.ts +190 -0
  198. package/src/kmx/kmx-plus.ts +692 -0
  199. package/src/kmx/kmx.ts +360 -0
  200. package/src/kmx/string-list.ts +74 -0
  201. package/src/kpj/keyman-developer-project.ts +155 -0
  202. package/src/kpj/kpj-file-reader.ts +103 -0
  203. package/src/kpj/kpj-file.ts +52 -0
  204. package/src/kvk/kvk-file-reader.ts +34 -0
  205. package/src/kvk/kvk-file-writer.ts +72 -0
  206. package/src/kvk/kvk-file.ts +122 -0
  207. package/src/kvk/kvks-file-reader.ts +164 -0
  208. package/src/kvk/kvks-file-writer.ts +113 -0
  209. package/src/kvk/kvks-file.ts +53 -0
  210. package/src/kvk/visual-keyboard.ts +80 -0
  211. package/src/ldml-keyboard/ldml-keyboard-testdata-xml.ts +74 -0
  212. package/src/ldml-keyboard/ldml-keyboard-xml-reader.ts +387 -0
  213. package/src/ldml-keyboard/ldml-keyboard-xml.ts +177 -0
  214. package/src/main.ts +27 -0
  215. package/src/restructure.d.ts +2 -0
  216. package/src/util/common-events.ts +50 -0
  217. package/src/util/compiler-interfaces.ts +54 -0
  218. package/src/util/util.ts +68 -0
  219. package/test/fixtures/import-minimal.xml +8 -0
  220. package/test/fixtures/import-minimal1.xml +11 -0
  221. package/test/fixtures/import-minimal2.xml +11 -0
  222. package/test/fixtures/import-symbols.xml +13 -0
  223. package/test/fixtures/invalid-conforms-to.xml +19 -0
  224. package/test/fixtures/invalid-import-base.xml +16 -0
  225. package/test/fixtures/invalid-import-path.xml +16 -0
  226. package/test/fixtures/invalid-import-readfail.xml +16 -0
  227. package/test/fixtures/invalid-import-wrongroot.xml +16 -0
  228. package/test/fixtures/invalid-structure-per-dtd.xml +8 -0
  229. package/test/fixtures/keyman-touch-layout/khmer_angkor.keyman-touch-layout +1950 -0
  230. package/test/fixtures/keyman-touch-layout/legacy.keyman-touch-layout +36 -0
  231. package/test/fixtures/kpj/khmer_angkor.kpj +187 -0
  232. package/test/fixtures/kvk/khmer_angkor.kvk +0 -0
  233. package/test/fixtures/kvk/khmer_angkor.kvks +206 -0
  234. package/test/fixtures/test-fr.xml +22 -0
  235. package/test/helpers/index.ts +39 -0
  236. package/test/helpers/reader-callback-test.ts +199 -0
  237. package/test/keyman-touch-layout/test-keyman-touch-layout-file-reader.ts +71 -0
  238. package/test/keyman-touch-layout/test-keyman-touch-layout-round-trip.ts +35 -0
  239. package/test/kpj/test-kpj-file-reader.ts +123 -0
  240. package/test/kvk/test-kvk-file.ts +15 -0
  241. package/test/kvk/test-kvk-round-trip.ts +87 -0
  242. package/test/kvk/test-kvk-utils.ts +24 -0
  243. package/test/kvk/test-kvks-file.ts +45 -0
  244. package/test/ldml-keyboard/test-ldml-keyboard-testdata-reader.ts +51 -0
  245. package/test/ldml-keyboard/test-ldml-keyboard-xml-reader.ts +131 -0
  246. package/test/tsconfig.json +21 -0
  247. package/test/util/test-unescape.ts +38 -0
  248. package/tsconfig.json +17 -0
@@ -0,0 +1,36 @@
1
+ {
2
+ "tablet": {
3
+ "layer": [
4
+ {
5
+ "id": "default",
6
+ "row": [
7
+ {
8
+ "id": "1",
9
+ "key": [
10
+ {
11
+ "id": "K_BKSP",
12
+ "text": "*BkSp*",
13
+ "pad": "25",
14
+ "width": "100",
15
+ "sp": "1",
16
+ "sk": [
17
+ {
18
+ "id": "K_BAM",
19
+ "text": "Bam",
20
+ "pad": "10",
21
+ "width": "25",
22
+ "sp": "8"
23
+ }
24
+ ]
25
+ },
26
+ {
27
+ "id": "K_FOO",
28
+ "sk": []
29
+ }
30
+ ]
31
+ }
32
+ ]
33
+ }
34
+ ]
35
+ }
36
+ }
@@ -0,0 +1,187 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <KeymanDeveloperProject>
3
+ <Options>
4
+ <BuildPath>$PROJECTPATH\build</BuildPath>
5
+ <CompilerWarningsAsErrors>True</CompilerWarningsAsErrors>
6
+ <WarnDeprecatedCode>True</WarnDeprecatedCode>
7
+ <CheckFilenameConventions>False</CheckFilenameConventions>
8
+ <ProjectType>keyboard</ProjectType>
9
+ </Options>
10
+ <Files>
11
+ <File>
12
+ <ID>id_f347675c33d2e6b1c705c787fad4941a</ID>
13
+ <Filename>khmer_angkor.kmn</Filename>
14
+ <Filepath>source\khmer_angkor.kmn</Filepath>
15
+ <FileVersion>1.3</FileVersion>
16
+ <FileType>.kmn</FileType>
17
+ <Details>
18
+ <Name>Khmer Angkor</Name>
19
+ <Copyright>© 2015-2022 SIL International</Copyright>
20
+ <Message>More than just a Khmer Unicode keyboard.</Message>
21
+ </Details>
22
+ </File>
23
+ <File>
24
+ <ID>id_8d4eb765f80c9f2b0f769cf4e4aaa456</ID>
25
+ <Filename>khmer_angkor.kps</Filename>
26
+ <Filepath>source\khmer_angkor.kps</Filepath>
27
+ <FileVersion></FileVersion>
28
+ <FileType>.kps</FileType>
29
+ <Details>
30
+ <Name>Khmer Angkor</Name>
31
+ <Copyright>© 2015-2022 SIL International</Copyright>
32
+ </Details>
33
+ </File>
34
+ <File>
35
+ <ID>id_8a1efc7c4ab7cfece8aedd847679ca27</ID>
36
+ <Filename>khmer_angkor.ico</Filename>
37
+ <Filepath>source\khmer_angkor.ico</Filepath>
38
+ <FileVersion></FileVersion>
39
+ <FileType>.ico</FileType>
40
+ <ParentFileID>id_f347675c33d2e6b1c705c787fad4941a</ParentFileID>
41
+ </File>
42
+ <File>
43
+ <ID>id_8dc195db32d1fd0514de0ad51fff5df0</ID>
44
+ <Filename>khmer_angkor.js</Filename>
45
+ <Filepath>source\..\build\khmer_angkor.js</Filepath>
46
+ <FileVersion></FileVersion>
47
+ <FileType>.js</FileType>
48
+ <ParentFileID>id_8d4eb765f80c9f2b0f769cf4e4aaa456</ParentFileID>
49
+ </File>
50
+ <File>
51
+ <ID>id_10596632fcbf4138d24bcccf53e6ae01</ID>
52
+ <Filename>khmer_angkor.kvk</Filename>
53
+ <Filepath>source\..\build\khmer_angkor.kvk</Filepath>
54
+ <FileVersion></FileVersion>
55
+ <FileType>.kvk</FileType>
56
+ <ParentFileID>id_8d4eb765f80c9f2b0f769cf4e4aaa456</ParentFileID>
57
+ </File>
58
+ <File>
59
+ <ID>id_0a851f95ce553ecd62cbee6c32ced68f</ID>
60
+ <Filename>khmer_angkor.kmx</Filename>
61
+ <Filepath>source\..\build\khmer_angkor.kmx</Filepath>
62
+ <FileVersion></FileVersion>
63
+ <FileType>.kmx</FileType>
64
+ <ParentFileID>id_8d4eb765f80c9f2b0f769cf4e4aaa456</ParentFileID>
65
+ </File>
66
+ <File>
67
+ <ID>id_d8b6eb05f4b7e2945c10e04c1f49e4c8</ID>
68
+ <Filename>keyboard_layout.png</Filename>
69
+ <Filepath>source\welcome\keyboard_layout.png</Filepath>
70
+ <FileVersion></FileVersion>
71
+ <FileType>.png</FileType>
72
+ <ParentFileID>id_8d4eb765f80c9f2b0f769cf4e4aaa456</ParentFileID>
73
+ </File>
74
+ <File>
75
+ <ID>id_724e5b4c63f10bc0abf7077f7c3172fc</ID>
76
+ <Filename>welcome.htm</Filename>
77
+ <Filepath>source\welcome\welcome.htm</Filepath>
78
+ <FileVersion></FileVersion>
79
+ <FileType>.htm</FileType>
80
+ <ParentFileID>id_8d4eb765f80c9f2b0f769cf4e4aaa456</ParentFileID>
81
+ </File>
82
+ <File>
83
+ <ID>id_35857cb2b54f123612735ec948400082</ID>
84
+ <Filename>FONTLOG.txt</Filename>
85
+ <Filepath>source\..\..\..\shared\fonts\khmer\mondulkiri\FONTLOG.txt</Filepath>
86
+ <FileVersion></FileVersion>
87
+ <FileType>.txt</FileType>
88
+ <ParentFileID>id_8d4eb765f80c9f2b0f769cf4e4aaa456</ParentFileID>
89
+ </File>
90
+ <File>
91
+ <ID>id_7e3afe5bb59b888b08b48cd5817d8de4</ID>
92
+ <Filename>Mondulkiri-B.ttf</Filename>
93
+ <Filepath>source\..\..\..\shared\fonts\khmer\mondulkiri\Mondulkiri-B.ttf</Filepath>
94
+ <FileVersion></FileVersion>
95
+ <FileType>.ttf</FileType>
96
+ <ParentFileID>id_8d4eb765f80c9f2b0f769cf4e4aaa456</ParentFileID>
97
+ </File>
98
+ <File>
99
+ <ID>id_b9734e80f86c69ea5ae4dfa9f0083d09</ID>
100
+ <Filename>Mondulkiri-BI.ttf</Filename>
101
+ <Filepath>source\..\..\..\shared\fonts\khmer\mondulkiri\Mondulkiri-BI.ttf</Filepath>
102
+ <FileVersion></FileVersion>
103
+ <FileType>.ttf</FileType>
104
+ <ParentFileID>id_8d4eb765f80c9f2b0f769cf4e4aaa456</ParentFileID>
105
+ </File>
106
+ <File>
107
+ <ID>id_25abe4d2b0abc03a5be5b666a8de776e</ID>
108
+ <Filename>Mondulkiri-I.ttf</Filename>
109
+ <Filepath>source\..\..\..\shared\fonts\khmer\mondulkiri\Mondulkiri-I.ttf</Filepath>
110
+ <FileVersion></FileVersion>
111
+ <FileType>.ttf</FileType>
112
+ <ParentFileID>id_8d4eb765f80c9f2b0f769cf4e4aaa456</ParentFileID>
113
+ </File>
114
+ <File>
115
+ <ID>id_b766568498108eee46ed1601ff69c47d</ID>
116
+ <Filename>Mondulkiri-R.ttf</Filename>
117
+ <Filepath>source\..\..\..\shared\fonts\khmer\mondulkiri\Mondulkiri-R.ttf</Filepath>
118
+ <FileVersion></FileVersion>
119
+ <FileType>.ttf</FileType>
120
+ <ParentFileID>id_8d4eb765f80c9f2b0f769cf4e4aaa456</ParentFileID>
121
+ </File>
122
+ <File>
123
+ <ID>id_84544d04133cab3dbfc86b91ad1a4e17</ID>
124
+ <Filename>OFL.txt</Filename>
125
+ <Filepath>source\..\..\..\shared\fonts\khmer\mondulkiri\OFL.txt</Filepath>
126
+ <FileVersion></FileVersion>
127
+ <FileType>.txt</FileType>
128
+ <ParentFileID>id_8d4eb765f80c9f2b0f769cf4e4aaa456</ParentFileID>
129
+ </File>
130
+ <File>
131
+ <ID>id_0c33fbefd1c20f487b1bea2343b3bb2c</ID>
132
+ <Filename>OFL-FAQ.txt</Filename>
133
+ <Filepath>source\..\..\..\shared\fonts\khmer\mondulkiri\OFL-FAQ.txt</Filepath>
134
+ <FileVersion></FileVersion>
135
+ <FileType>.txt</FileType>
136
+ <ParentFileID>id_8d4eb765f80c9f2b0f769cf4e4aaa456</ParentFileID>
137
+ </File>
138
+ <File>
139
+ <ID>id_a59d89fca36a310147645fa2604e521b</ID>
140
+ <Filename>KAK_Documentation_EN.pdf</Filename>
141
+ <Filepath>source\welcome\KAK_Documentation_EN.pdf</Filepath>
142
+ <FileVersion></FileVersion>
143
+ <FileType>.pdf</FileType>
144
+ <ParentFileID>id_8d4eb765f80c9f2b0f769cf4e4aaa456</ParentFileID>
145
+ </File>
146
+ <File>
147
+ <ID>id_5643c4cd3933b3ada0b4af6579305ec4</ID>
148
+ <Filename>KAK_Documentation_KH.pdf</Filename>
149
+ <Filepath>source\welcome\KAK_Documentation_KH.pdf</Filepath>
150
+ <FileVersion></FileVersion>
151
+ <FileType>.pdf</FileType>
152
+ <ParentFileID>id_8d4eb765f80c9f2b0f769cf4e4aaa456</ParentFileID>
153
+ </File>
154
+ <File>
155
+ <ID>id_8da344c4cea6f467013357fe099006f5</ID>
156
+ <Filename>readme.htm</Filename>
157
+ <Filepath>source\readme.htm</Filepath>
158
+ <FileVersion></FileVersion>
159
+ <FileType>.htm</FileType>
160
+ <ParentFileID>id_8d4eb765f80c9f2b0f769cf4e4aaa456</ParentFileID>
161
+ </File>
162
+ <File>
163
+ <ID>id_acb0dd94c60e345d999670e999cbd159</ID>
164
+ <Filename>image002.png</Filename>
165
+ <Filepath>source\welcome\image002.png</Filepath>
166
+ <FileVersion></FileVersion>
167
+ <FileType>.png</FileType>
168
+ <ParentFileID>id_8d4eb765f80c9f2b0f769cf4e4aaa456</ParentFileID>
169
+ </File>
170
+ <File>
171
+ <ID>id_4edf70bc019f05b5ad39a2ea727ad547</ID>
172
+ <Filename>khmer_busra_kbd.ttf</Filename>
173
+ <Filepath>source\..\..\..\shared\fonts\khmer\busrakbd\khmer_busra_kbd.ttf</Filepath>
174
+ <FileVersion></FileVersion>
175
+ <FileType>.ttf</FileType>
176
+ <ParentFileID>id_8d4eb765f80c9f2b0f769cf4e4aaa456</ParentFileID>
177
+ </File>
178
+ <File>
179
+ <ID>id_bc823844e4399751e1867016801f7327</ID>
180
+ <Filename>splash.gif</Filename>
181
+ <Filepath>source\splash.gif</Filepath>
182
+ <FileVersion></FileVersion>
183
+ <FileType>.gif</FileType>
184
+ <ParentFileID>id_8d4eb765f80c9f2b0f769cf4e4aaa456</ParentFileID>
185
+ </File>
186
+ </Files>
187
+ </KeymanDeveloperProject>
@@ -0,0 +1,206 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <visualkeyboard>
3
+ <header>
4
+ <version>10.0</version>
5
+ <kbdname>khmer_angkor</kbdname>
6
+ <flags>
7
+ <usealtgr/>
8
+ </flags>
9
+ </header>
10
+ <encoding name="unicode" fontname="Khmer Busra Kbd" fontsize="16">
11
+ <layer shift="RA">
12
+ <key vkey="K_B">ឞ</key>
13
+ <key vkey="K_K">ឝ</key>
14
+ <key vkey="K_QUOTE">ៈ</key>
15
+ <key vkey="K_RBRKT">ឳ</key>
16
+ <key vkey="K_T">ឨ</key>
17
+ <key vkey="K_LBRKT">ឩ</key>
18
+ <key vkey="K_P">ឰ</key>
19
+ <key vkey="K_R">ឫ</key>
20
+ <key vkey="K_I">ឦ</key>
21
+ <key vkey="K_O">ឱ</key>
22
+ <key vkey="K_E">ឯ</key>
23
+ <key vkey="K_3"></key>
24
+ <key vkey="K_W"></key>
25
+ <key vkey="K_Q">ៜ</key>
26
+ <key vkey="K_EQUAL"></key>
27
+ <key vkey="K_COLON">៖</key>
28
+ <key vkey="K_6">៙</key>
29
+ <key vkey="K_7">៚</key>
30
+ <key vkey="K_M"></key>
31
+ <key vkey="K_L">៘</key>
32
+ <key vkey="K_1">‌</key>
33
+ <key vkey="K_BKQUOTE">‍</key>
34
+ <key vkey="K_U">]</key>
35
+ <key vkey="K_Y">[</key>
36
+ <key vkey="K_SLASH">/</key>
37
+ <key vkey="K_PERIOD">.</key>
38
+ <key vkey="K_H">‘</key>
39
+ <key vkey="K_A">+</key>
40
+ <key vkey="K_V">&amp;</key>
41
+ <key vkey="K_J">’</key>
42
+ <key vkey="K_8">*</key>
43
+ <key vkey="K_2">@</key>
44
+ <key vkey="K_BKSLASH">\</key>
45
+ <key vkey="K_0">}</key>
46
+ <key vkey="K_9">{</key>
47
+ <key vkey="K_S">-</key>
48
+ <key vkey="K_F">÷</key>
49
+ <key vkey="K_G">:</key>
50
+ <key vkey="K_COMMA">,</key>
51
+ <key vkey="K_HYPHEN">≈</key>
52
+ <key vkey="K_N">;</key>
53
+ <key vkey="K_Z">&lt;</key>
54
+ <key vkey="K_C">#</key>
55
+ <key vkey="K_X">&gt;</key>
56
+ <key vkey="K_D">×</key>
57
+ <key vkey="K_4">$</key>
58
+ <key vkey="K_5">€</key>
59
+ <key vkey="K_SPACE"> </key>
60
+ </layer>
61
+ <layer shift="SRA">
62
+ <key vkey="K_8">៸</key>
63
+ <key vkey="K_0">៰</key>
64
+ <key vkey="K_1">៱</key>
65
+ <key vkey="K_2">៲</key>
66
+ <key vkey="K_3">៳</key>
67
+ <key vkey="K_4">៴</key>
68
+ <key vkey="K_5">៵</key>
69
+ <key vkey="K_6">៶</key>
70
+ <key vkey="K_7">៷</key>
71
+ <key vkey="K_9">៹</key>
72
+ <key vkey="K_PERIOD">᧿</key>
73
+ <key vkey="K_COMMA">᧾</key>
74
+ <key vkey="K_LBRKT">᧪</key>
75
+ <key vkey="K_RBRKT">᧫</key>
76
+ <key vkey="K_QUOTE">᧶</key>
77
+ <key vkey="K_COLON">᧵</key>
78
+ <key vkey="K_A">᧬</key>
79
+ <key vkey="K_Z">᧷</key>
80
+ <key vkey="K_Y">᧥</key>
81
+ <key vkey="K_X">᧸</key>
82
+ <key vkey="K_W">᧡</key>
83
+ <key vkey="K_B">᧻</key>
84
+ <key vkey="K_C">᧹</key>
85
+ <key vkey="K_D">᧮</key>
86
+ <key vkey="K_E">᧢</key>
87
+ <key vkey="K_F">᧯</key>
88
+ <key vkey="K_G">᧰</key>
89
+ <key vkey="K_U">᧦</key>
90
+ <key vkey="K_H">᧱</key>
91
+ <key vkey="K_T">᧤</key>
92
+ <key vkey="K_S">᧭</key>
93
+ <key vkey="K_R">᧣</key>
94
+ <key vkey="K_I">᧧</key>
95
+ <key vkey="K_Q">᧠</key>
96
+ <key vkey="K_V">᧺</key>
97
+ <key vkey="K_J">᧲</key>
98
+ <key vkey="K_K">᧳</key>
99
+ <key vkey="K_L">᧴</key>
100
+ <key vkey="K_P">᧩</key>
101
+ <key vkey="K_O">᧨</key>
102
+ <key vkey="K_N">᧼</key>
103
+ <key vkey="K_M">᧽</key>
104
+ </layer>
105
+ <layer shift="">
106
+ <key vkey="K_SPACE">​</key>
107
+ <key vkey="K_QUOTE"></key>
108
+ <key vkey="K_COMMA"></key>
109
+ <key vkey="K_HYPHEN">ឥ</key>
110
+ <key vkey="K_PERIOD">។</key>
111
+ <key vkey="K_SLASH"></key>
112
+ <key vkey="K_0">០</key>
113
+ <key vkey="K_1">១</key>
114
+ <key vkey="K_2">២</key>
115
+ <key vkey="K_3">៣</key>
116
+ <key vkey="K_4">៤</key>
117
+ <key vkey="K_5">៥</key>
118
+ <key vkey="K_6">៦</key>
119
+ <key vkey="K_7">៧</key>
120
+ <key vkey="K_8">៨</key>
121
+ <key vkey="K_9">៩</key>
122
+ <key vkey="K_COLON"></key>
123
+ <key vkey="K_EQUAL">ឲ</key>
124
+ <key vkey="K_LBRKT"></key>
125
+ <key vkey="K_BKSLASH">ឮ</key>
126
+ <key vkey="K_RBRKT">ឪ</key>
127
+ <key vkey="K_BKQUOTE">«</key>
128
+ <key vkey="K_A"></key>
129
+ <key vkey="K_B">ប</key>
130
+ <key vkey="K_C">ច</key>
131
+ <key vkey="K_D">ដ</key>
132
+ <key vkey="K_E"></key>
133
+ <key vkey="K_F">ថ</key>
134
+ <key vkey="K_G">ង</key>
135
+ <key vkey="K_H">ហ</key>
136
+ <key vkey="K_I"></key>
137
+ <key vkey="K_J"></key>
138
+ <key vkey="K_K">ក</key>
139
+ <key vkey="K_L">ល</key>
140
+ <key vkey="K_M">ម</key>
141
+ <key vkey="K_N">ន</key>
142
+ <key vkey="K_O"></key>
143
+ <key vkey="K_P">ផ</key>
144
+ <key vkey="K_Q">ឆ</key>
145
+ <key vkey="K_R">រ</key>
146
+ <key vkey="K_S">ស</key>
147
+ <key vkey="K_T">ត</key>
148
+ <key vkey="K_U"></key>
149
+ <key vkey="K_V">វ</key>
150
+ <key vkey="K_W"></key>
151
+ <key vkey="K_X">ខ</key>
152
+ <key vkey="K_Y">យ</key>
153
+ <key vkey="K_Z">ឋ</key>
154
+ </layer>
155
+ <layer shift="S">
156
+ <key vkey="K_SPACE"></key>
157
+ <key vkey="K_1">!</key>
158
+ <key vkey="K_QUOTE"></key>
159
+ <key vkey="K_3">"</key>
160
+ <key vkey="K_4">៛</key>
161
+ <key vkey="K_5">%</key>
162
+ <key vkey="K_7"></key>
163
+ <key vkey="K_9">(</key>
164
+ <key vkey="K_0">)</key>
165
+ <key vkey="K_8"></key>
166
+ <key vkey="K_EQUAL">=</key>
167
+ <key vkey="K_COLON"></key>
168
+ <key vkey="K_PERIOD">៕</key>
169
+ <key vkey="K_SLASH">?</key>
170
+ <key vkey="K_2">ៗ</key>
171
+ <key vkey="K_A"></key>
172
+ <key vkey="K_B">ព</key>
173
+ <key vkey="K_C">ជ</key>
174
+ <key vkey="K_D">ឌ</key>
175
+ <key vkey="K_E"></key>
176
+ <key vkey="K_F">ធ</key>
177
+ <key vkey="K_G">អ</key>
178
+ <key vkey="K_H">ះ</key>
179
+ <key vkey="K_I"></key>
180
+ <key vkey="K_J">ញ</key>
181
+ <key vkey="K_K">គ</key>
182
+ <key vkey="K_L">ឡ</key>
183
+ <key vkey="K_M"></key>
184
+ <key vkey="K_N">ណ</key>
185
+ <key vkey="K_O"></key>
186
+ <key vkey="K_P">ភ</key>
187
+ <key vkey="K_Q">ឈ</key>
188
+ <key vkey="K_R">ឬ</key>
189
+ <key vkey="K_S"></key>
190
+ <key vkey="K_T">ទ</key>
191
+ <key vkey="K_U"></key>
192
+ <key vkey="K_V"></key>
193
+ <key vkey="K_W"></key>
194
+ <key vkey="K_X">ឃ</key>
195
+ <key vkey="K_Y"></key>
196
+ <key vkey="K_Z">ឍ</key>
197
+ <key vkey="K_6"></key>
198
+ <key vkey="K_HYPHEN"></key>
199
+ <key vkey="K_LBRKT"></key>
200
+ <key vkey="K_BKSLASH">ឭ</key>
201
+ <key vkey="K_RBRKT">ឧ</key>
202
+ <key vkey="K_BKQUOTE">»</key>
203
+ <key vkey="K_COMMA"></key>
204
+ </layer>
205
+ </encoding>
206
+ </visualkeyboard>
@@ -0,0 +1,22 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE keyboardTest SYSTEM "../../../../../resources/standards-data/ldml-keyboards/techpreview/dtd/ldmlKeyboardTest.dtd">
3
+ <keyboardTest conformsTo="techpreview">
4
+ <info keyboard="fr-t-k0-azerty.xml" author="Team Keyboard" name="fr-test" />
5
+ <repertoire name="simple-repertoire" chars="[a b c d e \u{22}]" type="simple" /> <!-- verify that these outputs are all available from simple keys on any layer, for all form factors -->
6
+ <repertoire name="chars-repertoire" chars="[á é ó]" type="gesture" /> <!-- verify that these outputs are all available from simple or gesture keys on any layer, for touch -->
7
+ <tests name="key-tests">
8
+ <test name="key-test">
9
+ <startContext to="abc\u0022..."/>
10
+ <!-- tests by pressing key ids -->
11
+ <keystroke key="s"/>
12
+ <check result="abc\u0022...s" />
13
+ <keystroke key="t"/>
14
+ <check result="abc\u0022...st" />
15
+ <keystroke key="u"/>
16
+ <check result="abc\u0022...stu" />
17
+ <!-- tests by specifying 'to' output char -->
18
+ <emit to="v"/>
19
+ <check result="abc\u0022...stuv" />
20
+ </test>
21
+ </tests>
22
+ </keyboardTest>
@@ -0,0 +1,39 @@
1
+ import path from "path";
2
+ import fs from "fs";
3
+ import { fileURLToPath } from "url";
4
+
5
+ /**
6
+ * Builds a path to the fixture with the given path components.
7
+ *
8
+ * e.g., makePathToFixture('basic.xml')
9
+ *
10
+ * @param components One or more path components.
11
+ */
12
+ export function makePathToFixture(...components: string[]): string {
13
+ return fileURLToPath(new URL(path.join('..', '..', '..', 'test', 'fixtures', ...components), import.meta.url));
14
+ }
15
+
16
+ export function loadKvksJsonSchema(): Buffer {
17
+ return fs.readFileSync(new URL(path.join('..', '..', 'src', 'kvks.schema.json'), import.meta.url));
18
+ }
19
+
20
+ export function loadKeymanTouchLayoutCleanJsonSchema(): Buffer {
21
+ return fs.readFileSync(new URL(path.join('..', '..', 'src', 'keyman-touch-layout.clean.spec.json'), import.meta.url));
22
+ }
23
+
24
+ export function loadFile(baseFilename: string, filename: string | URL): Buffer {
25
+ // TODO: translate filename based on the baseFilename
26
+ return fs.readFileSync(filename);
27
+ }
28
+
29
+ export function loadLdmlKeyboardSchema(): Buffer {
30
+ return fs.readFileSync(new URL(path.join('..', '..', 'src', 'ldml-keyboard.schema.json'), import.meta.url));
31
+ }
32
+
33
+ export function loadLdmlKeyboardTestDataSchema(): Buffer {
34
+ return fs.readFileSync(new URL(path.join('..', '..', 'src', 'ldml-keyboardtest.schema.json'), import.meta.url));
35
+ }
36
+
37
+ export function loadKpjJsonSchema(): Buffer {
38
+ return fs.readFileSync(new URL(path.join('..', '..', 'src', 'kpj.schema.json'), import.meta.url));
39
+ }