Commit graph

34 commits

Author SHA1 Message Date
Marc Durdin
de87a5199b chore(windows): update dcpcrypt proj refs 2022-06-02 10:39:26 +10:00
Marc Durdin
4992472561 chore(windows): update dcpcrypt refs 2022-06-02 08:51:58 +10:00
Marc Durdin
a8a19b2a2e fix(windows): handle edge cases using default language
Fixes #5091.

If the user has a default language that is not a minimal BCP47 tag, such
as `zh-Hans-CN` vs `zh-CN`, or if the default language does not have a
mapping in our `TLanguageCodeUtils.TranslateWindowsLanguagesToBCP47`
function, then kmshell would crash on install of a keyboard that had no
language metadata specified (i.e. neither legacy metadata in .kmx nor
modern metadata in .kmp).

This crash arose because the elevated instance of kmshell would install
a local-machine reference to `zh-CN` (as it back-translated from a
LangID), but the current user install would look for `zh-Hans-CN`, read
from the Windows registry `HKCU\Control Panel\International\User Profile`.

To further complicate matters, it is possible for the current user to
have a different default language than the elevated user on the machine.
Keyman was assuming that the default language was the same in both
cases.

This fix passes in the current user's default BCP47 and LangID to the
elevated portion of the keyboard install, so we can guarantee that
keyboard install which needs to use the default language, actually
installs for the current user's actual language code, and not a
canonicalized version (or a totally different code in the case of
elevation to an alternate admin user account).
2021-09-17 06:37:23 +10:00
Marc Durdin
deb01d1a63 chore(windows): make build paths consistent
Move to all projects using bin/ and obj/ for outputs, and
cleanup all Makefiles and project files accordingly. Remove
some obsolete projects along the way. Cleanup .gitignore
also.
2021-07-01 07:38:00 +10:00
Marc Durdin
cfea41382c chore(windows): remove unused utilrun unit 2021-05-11 08:38:07 +10:00
Marc Durdin
54e7b6c8d2 fix(windows): ensure valid base layout on install
Fixes #4437.

Makes sure that we don't end up with a base layout that is not using
Latin script at install time.
2021-03-09 15:17:21 +11:00
Marc Durdin
4bc1730eed fix(windows): improve support for strings.xml
Fixes #4264.

The Android strings.xml format that we now use with Keyman Desktop has a
number of escapes that must be supported in order for text strings to be
rendered correctly, including: @, ?, ', ". Furthermore, positional
parameters have a slightly different format which we should transform on
load.

This change includes a unit test androidstringtokeymanlocalestring.
2021-01-25 11:17:44 +11:00
Marc Durdin
3d1601ffe5 fix(windows): SizeOfImage header was wrong for dbg
Fixes #3831.

This fixes both issues reported in the bug (dproj changes ensure
separate .tds, and Makefile changes fix order of execution so that
dbg is generated after sentryprep's cleanup).
2020-11-06 17:36:56 +11:00
Marc Durdin
94a062f20a fix(developer): remove obsolete NRSIAllTags
Relates to #799.

Removes NRSIAllTags, alltags.txt, parser and utility units.

Also re-enables standardsdata.dpr unit test which needed some syntax
cleanup.
2020-11-04 18:41:17 +11:00
Marc Durdin
84f0219541 fix(windows): canonicalization
Reworks the BCP 47 tag canonicalization algorithm.
2020-09-01 08:42:56 +10:00
Keyman Server
97a16e8535 feat(windows): profile installation - engine 2020-08-26 11:06:10 +10:00
Marc Durdin
025adb865a chore(windows): fix broken build 2020-07-29 08:01:22 +10:00
Marc Durdin
6b748239ed chore(windows): cleanup of i18n
- remove expandidentifiers
- remove messages.txt
- remove desktop.pot
- remove stock message ditor
- stop using captions altogether for translation
2020-07-27 16:54:23 +10:00
Marc Durdin
9779792059 fix(windows): remove errlogpath and cleanup 2020-03-27 11:23:51 +11:00
Marc Durdin
e99a6677e1 feat(windows): kmcomapi callstacks for sentry 2020-03-27 09:54:48 +11:00
Marc Durdin
2121f5ea94 feat(windows): consume new sentry api in delphi projects
Updates Delphi projects to use Sentry API instead of legacy
reporting mechanisms, and strips out existing text-based
reports. Not yet complete: reporting from kmcomapi and
hosted web controls, release number. These are flagged
as build hints.
2020-03-18 17:25:38 +11:00
Marc Durdin
55daa5b422 refactor(windows): start move of help and hint
Moves help window and hint window out of keyman
and into kmshell, part 1 of making sure we have
no chromium dependencies in keyman.
2020-02-23 17:49:33 +07:00
glasseyes
5654c935a2 rename build alltags in engine and buildtools 2018-11-12 16:14:28 +07:00
Marc Durdin
a2596b49d9 [Windows] Fixes #1285. Adds a mitigation for issues with installation under certain languages in Windows 10 1803 and later 2018-11-02 09:43:38 +11:00
Marc Durdin
b3b5c244ea [Windows] Refactor Windows debug logging to use Event Tracing for Windows 2018-10-16 10:23:54 +11:00
Marc Durdin
f6dfa1c8cb [Developer] Render default language icon for imported keyboard automatically 2018-09-23 10:01:31 +10:00
Marc Durdin
f6b2977aac Fixes #886. Fixes #887. BCP 47 tags will now be canonicalized and scripts applied where possible and needed, automatically, during keyboard installation 2018-05-24 16:04:33 +07:00
Marc Durdin
d8b2ec9599 Add extra project references 2018-05-07 15:08:12 +07:00
Marc Durdin
800042af65 Fixup other projects 2018-04-30 14:24:11 +07:00
Marc Durdin
da3056c25f Basic support for reading language information from package data 2018-02-21 14:14:14 +07:00
Marc Durdin
b7179e31cd Don't use msbuild externally in Delphi compiles because it breaks Delphi Starter 2018-01-04 09:47:15 +11:00
Marc Durdin
45b2eff995 Fix destruction order error in Win32 implementation 2018-01-03 07:44:20 +11:00
Marc Durdin
736ab49ece Fix bugs in x64 implementation of kmcomapi incl workaround for #508 2018-01-01 17:26:53 +11:00
Marc Durdin
2306169d31 Rework build for x64 msbuild support and add 64-bit support to keymancontrol 2017-12-30 07:37:30 +11:00
Marc Durdin
9b026c423e x64 support for COM API - first steps: build of kmcomapi.dll for x64, and rename of registry keys 2017-12-24 13:47:56 +07:00
Marc Durdin
d23182efa8 Refactor KMXFileLanguages into LanguageCodeUtils to avoid excessive dependencies 2017-12-15 15:41:29 +07:00
Marc Durdin
a4acb142b9 Fixup build errors 2017-12-04 22:12:13 +07:00
Marc Durdin
24fca1cd9f Add JSON read/write support, update tests 2017-11-30 14:26:18 +07:00
Marc Durdin
b65b982584 Keyman Desktop and Keyman Developer open source 10.0 alpha seed (#121)
* Keyman for Windows 10.0 Open Source

* Squashed 'windows/src/ext/jedi/jedi/' content from commit f444ad2

git-subtree-dir: windows/src/ext/jedi/jedi
git-subtree-split: f444ad2da4693851e523f1ea6bd541f701904c24

* Squashed 'windows/src/ext/jedi/jcl/' content from commit d63d3c9fd

git-subtree-dir: windows/src/ext/jedi/jcl
git-subtree-split: d63d3c9fd9ff84efdd8159084ec6a60313644243

* Squashed 'windows/src/ext/jedi/jvcl/' content from commit bee19f3b4

git-subtree-dir: windows/src/ext/jedi/jvcl
git-subtree-split: bee19f3b46909fde2fa92c06cd2706f41d99f6c3

* Add required .res files

* Add required .res files

* Add docbook files (forced)

* Add required libxslt

* Add required jedi files

* Add installation files

* Tweak .gitignore for open

* CI

* Remove KMW from Developer source (#122)

* Remove KMW from Developer source (copies during build)

* Remove KMW from Developer source (copies during build)

* Remove KMW from Developer source (copies during build)

* Fixup release build and copy license, readme from kmw during build

* Remove obsolete build help documentation

* Keyman Engine 10 on Windows regression for shift states (#129)

* Improve #128 -- cleaner debug messages

* Fixes #127, shift state now resets correctly; and more work for #128

* Fixes #130 (#131)
2017-07-25 10:53:06 +07:00