Skip to content

fix(windows): deletion test using tsf interface#15826

Open
rc-swag wants to merge 1 commit intomasterfrom
fix/windows/15813/notepad-itf-interface
Open

fix(windows): deletion test using tsf interface#15826
rc-swag wants to merge 1 commit intomasterfrom
fix/windows/15813/notepad-itf-interface

Conversation

@rc-swag
Copy link
Copy Markdown
Contributor

@rc-swag rc-swag commented Apr 8, 2026

This PR goes with #15813 it is just updating a sample TIP to enable reproduciable steps without a full Keyman and keyboard install. Here is the Microsoft Feedback Hub link

Notepad in Windows 11 removes extra unicode char when using the ITfRange interface - Text Services Framework.

This behaviour has so far only been observed with Notepad on Windows 11 other complaint TSF apps I have tested do not behave this way. I have tested a other that use the TSF such as lvirus Text Editor, Word etc.

Steps to reproduce
The project is in keyman\app\windows\src\support\tsf-tip-standalone-test if you wish to checkout and build.
I have attached the output a zip TextService-Step06-3_x64.zip that contains output dll.

  • On Windows 11 installation
  • Use the command line regsvr32 TextService-Step06-3_x64.dll
  • This will add Icelandic Sample Text Service which can be selected from the language bar.
  • Open Notepad (Windows 11 version uses richedit)
  • Select the Icelandic Sample Text Service
  • Type A This should about 'B' to let you know the keyboard has been selected succesfuly
  • Copy and paste this text fór which is U+0066 U+006f U+0301 U+0072
  • Move the cursor to the right of the ó and press T
  • Observe: The ó is deleted and the cursor is now the right of the r

Expected is the just the diacritic is deleted and the cursor is to the right of the o. Leaving for

If you open Word or another TSF compliant application and run the same steps you will observe the expected behaviour.

Note I logged the value of outn after calling ShiftStart to see if Notepad was reporting 2 characters. However, the value was 1. This matched the value set in Word.
if(tfSelection.range->ShiftStart(ec, -n, &outn, NULL) != S_OK)

@rc-swag rc-swag requested a review from mcdurdin April 8, 2026 05:14
@github-project-automation github-project-automation Bot moved this to Todo in Keyman Apr 8, 2026
@keymanapp-test-bot keymanapp-test-bot Bot added the user-test-missing User tests have not yet been defined for the PR label Apr 8, 2026
@keymanapp-test-bot
Copy link
Copy Markdown

keymanapp-test-bot Bot commented Apr 8, 2026

User Test Results

Test specification and instructions

ERROR: user tests have not yet been defined

Test Artifacts

  • Windows
    • Keyman for Windows - build : all tests passed (no artifacts on BuildLevel "build")
    • FirstVoices Keyboards for Windows - build : all tests passed (no artifacts on BuildLevel "build")
    • FirstVoices Keyboards for Windows (old PRs) - build : all tests passed (no artifacts on BuildLevel "build")
    • Keyman for Windows (old PRs) - build : all tests passed (no artifacts on BuildLevel "build")
    • Text Editor (ARM64) - build : all tests passed (no artifacts on BuildLevel "build")
    • Text Editor (x64) - build : all tests passed (no artifacts on BuildLevel "build")
    • Text Editor (x86) - build : all tests passed (no artifacts on BuildLevel "build")

@keymanapp-test-bot keymanapp-test-bot Bot added this to the A19S26 milestone Apr 8, 2026
Copy link
Copy Markdown
Member

@mcdurdin mcdurdin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks fine for a repro

@rc-swag rc-swag marked this pull request as ready for review April 9, 2026 02:19
@keyman-server keyman-server modified the milestones: A19S26, A19S27 Apr 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

DO-NOT-MERGE fix user-test-missing User tests have not yet been defined for the PR windows/

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

3 participants