Commit graph

24978 commits

Author SHA1 Message Date
Marc Durdin
e751a250a4 chore(common): fixup test for SkipMetadataFiles 2023-08-17 11:18:30 +07:00
Marc Durdin
b87667ac76 chore(developer): cleanup kmc-keyboard-info interface
Moves responsibility for loading .kps into kmc-keyboard-info, away from
the caller, and removes other fields with kmc-keyboard-info can
calculate by itself.

Have not moved project parsing into kmc-keyboard-info, because that's a
bigger job, as currently that is mostly happening within kmc itself. A
project for a future version I think.
2023-08-17 11:12:15 +07:00
Marc Durdin
fcf2b51c3e
Merge branch 'feat/developer/compile-without-source-keyboard-info' into feat/developer/keyboard-info-markdown 2023-08-17 13:28:41 +10:00
Marc Durdin
0d6894ad89 chore(developer): fixup call to KeyboardInfoCompiler 2023-08-17 10:28:18 +07:00
Marc Durdin
0e382ba642 chore(developer): fixup call to KeyboardInfoCompiler 2023-08-17 10:26:01 +07:00
Marc Durdin
72efe0cd5c feat(developer): markdown conversion for description in package editor 2023-08-17 10:17:52 +07:00
Keyman Server
057c69850b
Merge pull request #9475 from keymanapp/auto/version-master-17.0.162
auto: increment master version to 17.0.162
2023-08-17 01:03:11 +07:00
Keyman Build Agent
ee7624d3a9 auto: increment master version to 17.0.162 2023-08-16 14:02:38 -04:00
Steven R. Loomis
233c0d71d3
Merge pull request #9440 from keymanapp/feat/core/9121-regex-epic-ldml 2023-08-16 07:12:54 -05:00
Marc Durdin
47e05a7b05 feat(developer): build .keyboard_info without source .keyboard_info
Also fixes a file reference issue in kmpJson.options, where paths were
stripped too early in the process.

Removes a now-irrelevant unit test for keyboard_info.

TODO: markdown to html during the keyboard_info build.
2023-08-16 16:01:14 +07:00
sgschantz
f57b934257 use helper method for string to unichar string 2023-08-16 15:53:42 +07:00
Marc Durdin
a7f8123e56 feat(developer): support building .keyboard_info without source version
Relates to #9351.

Adds support for building a .keyboard_info file without having source
.keyboard_info file:

* Constructs a default source .keyboard_info in memory
* Hints if license is missing
* If LICENSE.md is present, verifies it matches the MIT license text
* Adds project option to turn on or off metadata generation. This will
  default to False for version 1.0 projects, and to True for version 2.0
  projects. This means that the keyboard repository will need a PR to
  enable metadata generation for existing projects in the repository,
  but this is important to avoid breaking builds for existing projects
  that are not in the repository.
* Turns on additional c8 coverage for kmc projects
2023-08-16 12:47:37 +07:00
Ross
05a234843c fix(windows): allow qr box to grow to edge of default
Allow QR box to grow if the caption box is bigger than
the english text. Still limit this to 130px if it grows
further than this then add a vertical scroll for the caption.

In testing no language actually causes the scroll bar to be
displayed. However using dummy text to test the overflow
shows that it will handle this should the translation ever
reach this length.
2023-08-16 14:52:10 +10:00
Marc Durdin
395b76df05 chore(developer): cleanup keyboard_info schema
* Removes font size
* Restricts font source to array
* Removes example
* Add examples
* Loosen structure of KeyboardExample
2023-08-16 09:26:39 +07:00
Marc Durdin
158bc28e85 feat(developer): add LicenseFile as property of package
Adds license file to .kps, kmp.json, kmc-package, package editor, and
new project templates. The intent is for LICENSE.md to be the file used,
and for any keyboards on keymanapp/keyboards, it should always be a
standard MIT license.
2023-08-16 09:13:38 +07:00
Darcy Wong
0ad17ccf2f chore(web): Update keymanweb-osk.ttf to 3.0 2023-08-16 06:28:30 +07:00
Marc Durdin
1cce7ed8e8 chore(developer): remove fonts sidetrack 2023-08-16 05:42:45 +07:00
Steven R. Loomis
7f05335fc3 chore(window): fix windows build for ICU 🙀
- for regex (and eventually normalization)

#9121
2023-08-15 15:11:38 -05:00
Steven R. Loomis
9c3b2ee46f
Merge branch 'master' into feat/core/9121-regex-epic-ldml 2023-08-15 11:59:17 -05:00
Marc Durdin
0305cd0c58
Merge branch 'feat/developer/extra-package-metadata' into feat/developer/package-keyboard-web-fonts 2023-08-15 18:35:01 +10:00
Marc Durdin
826a1e2da0
Merge branch 'feat/developer/keyboard-info-dedup' into feat/developer/extra-package-metadata 2023-08-15 18:34:54 +10:00
Marc Durdin
194fd1a8bf chore: update unit test - will be removed later 2023-08-15 15:34:38 +07:00
Marc Durdin
fea10f0eeb feat(developer): add web font references to package
While a package supports a .ttf or .otf font for the OSK and Display
fonts for use within the Keyman apps, on websites it also supports .woff
and .woff2. This change makes it possible to specify a set of fonts for
a package which will be provided through api.keyman.com to websites.

This means that .woff and .woff2 fonts may also be included in the
package and may not be used on target devices at this time, it further
opens the pathway to deploying .kmp packages to web in the future.

The deployment stage of keymanapp/keyboards will require a new phase to
copy web fonts from packages to s.keyman.com.
2023-08-15 15:13:24 +07:00
sgschantz
2cb7458829 successfully loading setting options in core -- not behaving predictably until null terminator added 2023-08-15 14:57:30 +07:00
Steven R. Loomis
86dba54c06 feat(core): icu build fix 🙀
- trim some more files

For: #9121
2023-08-14 19:05:55 -05:00
Keyman Server
593efb348c
Merge pull request #9461 from keymanapp/auto/version-master-17.0.161
auto: increment master version to 17.0.161
2023-08-15 01:02:57 +07:00
Keyman Build Agent
521538c52e auto: increment master version to 17.0.161 2023-08-14 14:02:24 -04:00
Steven R. Loomis
e5bb22aedd
Merge branch 'master' into feat/core/9121-regex-epic-ldml 2023-08-14 11:17:19 -05:00
Steven R. Loomis
bbb8dad86f
Merge pull request #9448 from keymanapp/feat/core/9119-marker-avoid-surrogate-cliff-epic-ldml
feat(core): limit max marker to 0xD7FF 🙀
2023-08-14 11:16:43 -05:00
Marc Durdin
8a9243eba5 chore(developer): tweak Relationship values 2023-08-14 14:31:17 +07:00
Marc Durdin
38c3415eed feat(developer): add relatedPackages metadata
Adds relatedPackages support to:
* .kps schema
* .kps file format for Typescript
* kmp.json file format for Typescript
* kmc-package compiler
* Package Editor
2023-08-14 14:18:01 +07:00
Marc Durdin
d838df1c00 feat(developer): add editor of Package Description and Examples 2023-08-14 12:12:08 +07:00
Marc Durdin
bf1d5b0f7a chore(developer): fix casing 2023-08-14 10:06:32 +07:00
Marc Durdin
4d71048daf chore(developer): fix casing 2023-08-14 10:06:17 +07:00
Marc Durdin
675f6bc91e feat(developer): description, font and example metadata in packages
Adds info.description, options.fonts, keyboard.examples metadata to
.kps and kmp.json files, updates schemas, and Typescript compiler.
2023-08-14 09:23:20 +07:00
Steven R. Loomis
960a55949e feat(core): icu build fix 🙀
- correctly disable some ICU features

For: #9121
2023-08-11 17:56:15 -05:00
Steven R. Loomis
7a312520fb feat(core): regex cleanup 🙀
- restructure to not allocate the Matcher twice, save a little processing

For: #9121
2023-08-11 16:32:09 -05:00
Steven R. Loomis
ad03a5cdcf chore(core): regex cleanup 🙀
- more comments

For: #9121
2023-08-11 15:32:57 -05:00
Steven R. Loomis
548acaaf02
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-08-11 15:29:17 -05:00
Steven R. Loomis
5983fb52bf
Merge branch 'master' into feat/core/9121-regex-epic-ldml 2023-08-11 15:26:34 -05:00
Steven R. Loomis
9f033278d4 feat(core): marker validation 🙀
- validate marker number when going in or out of the context

#9119
2023-08-11 15:09:54 -05:00
Steven R. Loomis
36c5b9d55b
Merge branch 'master' into feat/core/9119-marker-avoid-surrogate-cliff-epic-ldml 2023-08-11 15:02:17 -05:00
Steven R. Loomis
b572f60c9e feat(core): limit max marker to 0xD7FF 🙀
- updates per review, off by one in max count
- updated the spec
2023-08-11 15:01:51 -05:00
Keyman Server
0171ef9b0a
Merge pull request #9457 from keymanapp/auto/version-master-17.0.160
auto: increment master version to 17.0.160
2023-08-12 01:04:02 +07:00
Keyman Build Agent
0dbc8e8acb auto: increment master version to 17.0.160 2023-08-11 14:03:31 -04:00
Joshua A. Horton
a0acb0879f feat(web): auto-test for selection of simple tap (diff key) over multitap 2023-08-11 16:10:06 +07:00
Joshua A. Horton
f11ae5c570 feat(web): multitap selection test 2023-08-11 16:10:05 +07:00
Joshua A. Horton
1c18334817 feat(web): gesture-selection auto-test for subkey menu pattern 2023-08-11 16:10:05 +07:00
Joshua A. Horton
978965fd5e feat(web): further gesture-selection work - single source / first stage now vetted 2023-08-11 16:10:04 +07:00
Joshua A. Horton
d03cd7f155 feat(web): the bulk of gesture-staging implementation 2023-08-11 16:10:03 +07:00