- Jan 18, 2024
-
-
Marc Durdin authored
Fixes #10423.
-
Marc Durdin authored
-
Marc Durdin authored
Fixes #10421.
-
Marc Durdin authored
-
Marc Durdin authored
Per discussion in #10422, we can assume that input cached_context is always NFD. However input actions->output may not start at a normalization boundary, so we still need to backtrack to a normalization boundary in order to get our NFC output. But cached_context never need change. This makes no change to the algorithm, but tweaks some of the unit tests to adhere to this input assumption. Note: we could consider adding a debug assertion that cached_context is NFD.
-
- Jan 17, 2024
-
-
Marc Durdin authored
-
Marc Durdin authored
-
Marc Durdin authored
-
Marc Durdin authored
Merge branch 'chore/mac/9999-remove-legacy-action-items-references' into feat/core/9999-normalize-output
-
Marc Durdin authored
Relates to #9999.
-
Marc Durdin authored
Relates to #9999. Fixes #10384. The context API endpoints should no longer be considered as part of the standard Core API. The only consumers that have a need to access these APIs are the IMX integration in Engine for Windows, and the Keyman Developer Debugger. These symbols are currently used by Developer: * `km_core_context` struct * `km_core_context_type` enum * `km_core_context_item` struct * `KM_CORE_CONTEXT_ITEM_END` macro * `km_core_state_context()` * `km_core_context_set()` * `km_core_context_clear()` These symbols are currently used by Windows IMX: * `km_core_context` struct * `km_core_context_type` enum * `km_core_context_item` struct * `KM_CORE_CONTEXT_ITEM_END` macro * `km_core_context_items_dispose()` * `km_core_context_item_list_size()` * `km_core_state_get_intermediate_context()` The following functions and symbols are moving to keyman_core_api_context.h: * `km_core_context` struct * `km_core_context_type` enum * `km_core_context_item` struct * `KM_CORE_CONTEXT_ITEM_END` macro * `km_core_state_context()` function * `km_core_state_get_intermediate_context()` function * `km_core_context_set()` function * `km_core_context_clear()` function * `km_core_context_get()` function * `km_core_context_items_from_utf16()` function * `km_core_context_items_from_utf8()` function * `km_core_context_items_to_utf8()` function * `km_core_context_items_to_utf16()` function * `km_core_context_items_to_utf32()` function * `km_core_context_items_dispose()` function * `km_core_context_length()` function * `km_core_context_append()` function * `km_core_context_shrink()` function * `km_core_context_item_list_size()` function
-
Marc Durdin authored
Relates to #9999.
-
Marc Durdin authored
Fixes #9999. Note TODO items: - [ ] Renormalize cached_context across action boundary. Blocked by #10369. - [ ] Add extra tests for surrogate pairs - [ ] Move set_context_from_string into helper module - [ ] if we don't apply normalization, we still need to fixup the app_context, to keep it coherent with cached_context (or at least we need to verify that app_context is never used in this situation)
-
- Jan 16, 2024
-
-
Marc Durdin authored
chore(core): Update symbols file
🌱 -
Eberhard Beilharz authored
-
Marc Durdin authored
Relates to #9999. Establishes functions, unit test sources, normalization entry point and an effectively no-op unit test for normalization support.
-
Marc Durdin authored
Relates to #9999.
-
Marc Durdin authored
Relates to #9999. Fixes #10384. The context API endpoints should no longer be considered as part of the standard Core API. The only consumers that have a need to access these APIs are the IMX integration in Engine for Windows, and the Keyman Developer Debugger. These symbols are currently used by Developer: * `km_core_context` struct * `km_core_context_type` enum * `km_core_context_item` struct * `KM_CORE_CONTEXT_ITEM_END` macro * `km_core_state_context()` * `km_core_context_set()` * `km_core_context_clear()` These symbols are currently used by Windows IMX: * `km_core_context` struct * `km_core_context_type` enum * `km_core_context_item` struct * `KM_CORE_CONTEXT_ITEM_END` macro * `km_core_context_items_dispose()` * `km_core_context_item_list_size()` * `km_core_state_get_intermediate_context()` The following functions and symbols are moving to keyman_core_api_context.h: * `km_core_context` struct * `km_core_context_type` enum * `km_core_context_item` struct * `KM_CORE_CONTEXT_ITEM_END` macro * `km_core_state_context()` function * `km_core_state_get_intermediate_context()` function * `km_core_context_set()` function * `km_core_context_clear()` function * `km_core_context_get()` function * `km_core_context_items_from_utf16()` function * `km_core_context_items_from_utf8()` function * `km_core_context_items_to_utf8()` function * `km_core_context_items_to_utf16()` function * `km_core_context_items_to_utf32()` function * `km_core_context_items_dispose()` function * `km_core_context_length()` function * `km_core_context_append()` function * `km_core_context_shrink()` function * `km_core_context_item_list_size()` function
-
Marc Durdin authored
Relates to #9999.
-
Marc Durdin authored
feat(core): normalize input context
🌱 -
Marc Durdin authored
refactor(mac): remove unused context calls
🌱 -
Marc Durdin authored
refactor(windows): use `km_core_state_context_debug`
🌱 -
Marc Durdin authored
refactor(linux): use `km_core_state_context_debug`
🌱 -
Marc Durdin authored
feat(core): add `km_core_state_context_debug` API
🌱 -
Marc Durdin authored
-
Marc Durdin authored
Relates to #9999
-
Marc Durdin authored
chore(core): Merge branch 'feat/core/10365-context-debug' into feat/core/9999-normalization-of-context Note: shifted minor changes from action_api.cpp to new state_context_api.cpp.
-
Marc Durdin authored
Co-authored-by:Steven R. Loomis <srl295@gmail.com>
-
Marc Durdin authored
-
Marc Durdin authored
Note: resolved merge conflict with action_api.cpp by shifting new code into state_context_api.cpp.
-
Marc Durdin authored
chore(core): Ignore C++ symbols
-
Keyman Server authored
auto: increment master version to 17.0.245
-
Keyman Build Agent authored
-
Eberhard Beilharz authored
We have a C API, but (internal) C++ template instantiations are visible and so get flagged by `dpkg-gensymbols`. This change ignores the one use of C++ by marking it optional. This is listed as a usage scenario in the dpkg-gensymbols man page. Note this requires a change how we call dpkg-gensymbols: if the `-O` parameter is specified, the file is not treated as being a template file (see man deb-src-symbols) and so the tags are not interpreted. Additionally the file gets overwritten with the non-tag version. So this change removes the `-O` parameter, and changes the archiving of the generated file.
-
- Jan 15, 2024
-
-
Marc Durdin authored
-
Marc Durdin authored
-
Eberhard Beilharz authored
docs(linux): Update sample settings
-
Marc Durdin authored
-
Joshua Horton authored
fix(web): use KMW OSK font for "**" special-text in key hints
-
Marc Durdin authored
-