Commit Graph
111 Commits
Author SHA1 Message Date
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