fanlusky
2ac86ea0e2
Stop mapping all Unicode through CJK fonts and cut D2D working-set growth
...
Custom font fallback no longer covers the whole BMP/SIP, so Segoe UI Emoji
can paint color glyphs again; CJK still prefers Noto Sans SC then YaHei.
Drop GaussianBlur compatible targets during BeginDraw (they retained GPU
memory as the candidate window grew), grow the composition swapchain in
64px steps without shrinking, and reuse Card chrome plus cached text
formats instead of reallocating them every layout.
2026-09-02 16:25:54 +08:00
fanlusky
5421c1dd1b
Add SVG icon rendering, toggle switch, and font fallback for MenuFlyoutItem
...
MenuFlyoutItem gains leading SVG icons (ID2D1SvgDocument), an optional
trailing toggle switch, and content-based width measurement so tray-style
menu items match the HTML menu layout. Default UI font is now Noto Sans SC
with Microsoft YaHei fallback via IDWriteFontFallback; CreateTextFormat
gracefully falls back when the primary family is missing.
2026-09-02 16:03:57 +08:00
fanlusky
d16f9f3fea
Add DirectComposition hosting and candidate-list chrome for the IME window
...
Adopt an existing HWND, render through D3D11/DXGI/DirectComposition, and
extend CandidateList with horizontal layout, skin colors, click-to-commit,
and a D2D context menu. Preedit TextBlock draws a caret in a fixed insert
slot so neighboring glyphs reflow instead of using letter-spacing; the
default end caret sits slightly after the last character.
2026-09-02 15:29:14 +08:00
fanlusky
3d7b8a3c24
Add support for svg render.
2026-08-17 04:42:53 +08:00
fanlusky
d65928e3de
Resolve clangd errors.
2026-08-15 03:11:26 +08:00
fanlusky
64c08a7c02
Adjust some controls for emoji panel.
2026-08-15 02:32:00 +08:00
fanlusky
f3c7a9557a
Set the initial position setting method for the window.
2026-07-20 23:22:05 +08:00
fanlusky
f0759db93e
Optimize the rendering smoothness of strokes in the handwriting input area.
2026-07-20 01:37:15 +08:00
fanlusky
4e8e85afd8
Make handwriting recognize demo
2026-07-20 01:32:31 +08:00
fanlusky
548330b8cf
Make a demo of an on-screen keyboard.
2026-07-15 18:22:50 +08:00
fanlusky
8bc914b258
Make the scrollbar of the emoji panel demo scrollable.
2026-07-15 18:09:32 +08:00
fanlusky
cbeef9e147
Adjust font size and search box height
2026-07-15 17:19:45 +08:00
fanlusky
3a41372f24
Adjust font size and some layouts
2026-07-15 15:50:50 +08:00
fanlusky
59a73b8476
Optimize the emoji panel size.
2026-07-15 15:43:58 +08:00
fanlusky
05a4ada19d
Optimize the emoji panel.
2026-07-15 15:34:53 +08:00
fanlusky
604cf987b1
emoji panel demo step01
2026-07-15 14:49:36 +08:00
fanlusky
4f62123699
Support image render
2026-07-15 14:39:55 +08:00
fanlusky
8c6fbcc7f2
docs
2026-06-23 11:23:21 +08:00
fanlusky
a91baf56c1
Add dictionary-backed word deletion
2026-06-19 13:46:10 +08:00
fanlusky
ab5516da96
Unclamp combo box popups
2026-06-19 13:03:32 +08:00
fanlusky
e210c8eb4c
Allow popups to scroll out of view
2026-06-19 13:00:35 +08:00
fanlusky
19257221cc
Restore popup trigger press feedback
2026-06-19 12:54:41 +08:00
fanlusky
8a20c1461a
Remove sticky button focus border
2026-06-19 12:50:00 +08:00
fanlusky
8330d7cf15
Narrow candidate header text slot
2026-06-19 12:06:52 +08:00
fanlusky
b1a07ea3f2
Tighten candidate caret spacing
2026-06-19 12:04:06 +08:00
fanlusky
66b359e461
Fix candidate header caret visibility
2026-06-19 12:01:54 +08:00
fanlusky
946ebb1802
Add candidate header caret
2026-06-19 11:58:20 +08:00
fanlusky
d2ca118d89
Add candidate hover highlight
2026-06-19 11:52:43 +08:00
fanlusky
7361a13b19
Keep arrow cursor over candidate list
2026-06-19 11:49:15 +08:00
fanlusky
7075c06aee
Emphasize candidate highlight bar
2026-06-19 11:46:45 +08:00
fanlusky
6326e0f81d
Remove candidate header bottom gap
2026-06-19 11:42:18 +08:00
fanlusky
f015dbbb42
Set candidate header top gap to 2px
2026-06-19 11:40:15 +08:00
fanlusky
452b5c6aa0
Lower candidate header baseline
2026-06-19 11:37:10 +08:00
fanlusky
33350ab7c2
Trim candidate header text metrics
2026-06-19 11:34:30 +08:00
fanlusky
d153fd0632
Tighten candidate header spacing
2026-06-19 11:29:24 +08:00
fanlusky
fffcf648b2
Widen candidate highlight block
2026-06-19 11:24:32 +08:00
fanlusky
abe110c6e1
Refine candidate preview weight
2026-06-19 11:14:22 +08:00
fanlusky
718d4f9559
Align candidate preview typography
2026-06-19 11:06:54 +08:00
fanlusky
9e7d1acdac
Scale candidate preview back up
2026-06-19 10:59:29 +08:00
fanlusky
eb6d49b7ea
Compress candidate preview spacing
2026-06-19 08:12:20 +08:00
fanlusky
912cf30148
Align candidate bar to selection edge
2026-06-19 08:07:54 +08:00
fanlusky
d35dd7b2de
Tighten candidate preview toward reference
2026-06-19 08:00:25 +08:00
fanlusky
01612f3db3
Polish candidate preview shell
2026-06-19 07:52:08 +08:00
fanlusky
a182e6a16f
Tune candidate preview emphasis
2026-06-19 06:50:02 +08:00
fanlusky
d102d0a72a
Refine candidate selection geometry
2026-06-18 05:54:43 +08:00
fanlusky
ddbfbabaec
Match candidate preview to HTML styling
2026-06-17 20:36:17 +08:00
fanlusky
2953e2685a
Fix compact candidate preview spacing
2026-06-17 20:31:59 +08:00
fanlusky
69fc8ca540
Tighten candidate preview layout
2026-06-17 20:28:02 +08:00
fanlusky
34ea7bf8cc
Fix candidate preview text encoding
2026-06-17 20:23:29 +08:00
fanlusky
41f4571bd2
Add candidate popup keyboard navigation
2026-06-17 20:20:17 +08:00