diff --git a/Ink Canvas/Controls/Toolbar/Items/ClearToolItem.cs b/Ink Canvas/Controls/Toolbar/Items/ClearToolItem.cs index 330cab1a..39bd1585 100644 --- a/Ink Canvas/Controls/Toolbar/Items/ClearToolItem.cs +++ b/Ink Canvas/Controls/Toolbar/Items/ClearToolItem.cs @@ -16,6 +16,7 @@ namespace Ink_Canvas.Controls.Toolbar.Items public override string DefaultAnchorName => "StackPanelCanvasControls"; protected override string IconBrushResourceKey => "RedBrush"; + protected override string LabelBrushResourceKey => "RedBrush"; protected override void OnClick(IToolbarHost host, object sender, MouseButtonEventArgs e) => host.Window.SymbolIconDelete_MouseUp(sender, e); diff --git a/Ink Canvas/Controls/Toolbar/Items/ToolbarImageButtonItemBase.cs b/Ink Canvas/Controls/Toolbar/Items/ToolbarImageButtonItemBase.cs index 6f4cfd8c..330322e5 100644 --- a/Ink Canvas/Controls/Toolbar/Items/ToolbarImageButtonItemBase.cs +++ b/Ink Canvas/Controls/Toolbar/Items/ToolbarImageButtonItemBase.cs @@ -22,6 +22,9 @@ namespace Ink_Canvas.Controls.Toolbar.Items /// DynamicResource 名称,用于 IconBrush。默认为 null(使用控件自带前景色)。 protected virtual string IconBrushResourceKey => null; + /// DynamicResource 名称,用于 LabelBrush(文字颜色)。默认为 null(使用控件自带前景色)。 + protected virtual string LabelBrushResourceKey => null; + protected abstract void OnClick(IToolbarHost host, object sender, MouseButtonEventArgs e); /// 构建后调用,用于回填 MainWindow 的原命名属性(partial 扩展里的 Attach*)。可选。 @@ -38,6 +41,11 @@ namespace Ink_Canvas.Controls.Toolbar.Items if (btn.TryFindResource(IconBrushResourceKey) is Brush brush) btn.IconBrush = brush; else btn.SetResourceReference(ToolbarImageButton.IconBrushProperty, IconBrushResourceKey); } + if (!string.IsNullOrEmpty(LabelBrushResourceKey)) + { + if (btn.TryFindResource(LabelBrushResourceKey) is Brush brush) btn.LabelBrush = brush; + else btn.SetResourceReference(ToolbarImageButton.LabelBrushProperty, LabelBrushResourceKey); + } btn.ButtonMouseUp += (s, e) => OnClick(host, s, e); AfterBuild(host, btn); return btn; diff --git a/Ink Canvas/MainWindow_cs/MW_FloatingBarIcons.cs b/Ink Canvas/MainWindow_cs/MW_FloatingBarIcons.cs index 2034dab0..55219566 100644 --- a/Ink Canvas/MainWindow_cs/MW_FloatingBarIcons.cs +++ b/Ink Canvas/MainWindow_cs/MW_FloatingBarIcons.cs @@ -3283,10 +3283,20 @@ namespace Ink_Canvas /// 路由事件参数 public void BtnRestart_Click(object sender, RoutedEventArgs e) { + if (Settings.Advanced.IsSecondConfirmWhenShutdownApp) + { + if (MessageBox.Show("是否继续关闭 InkCanvasForClass,这将丢失当前未保存的墨迹。", "InkCanvasForClass", + MessageBoxButton.OKCancel, MessageBoxImage.Warning) == MessageBoxResult.Cancel) return; + if (MessageBox.Show("真的狠心关闭 InkCanvasForClass吗?", "InkCanvasForClass", + MessageBoxButton.OKCancel, MessageBoxImage.Error) == MessageBoxResult.Cancel) return; + if (MessageBox.Show("最后确认:确定要关闭 InkCanvasForClass 吗?", "InkCanvasForClass", + MessageBoxButton.OKCancel, MessageBoxImage.Question) == MessageBoxResult.Cancel) return; + } + Process.Start(System.Windows.Forms.Application.ExecutablePath, "-m"); _forceCloseFromExitOrRestartButton = true; App.IsAppExitByUser = true; - // 不设置 CloseIsFromButton = true,让它也经过确认流程 + CloseIsFromButton = true; Close(); } diff --git a/Ink Canvas/Properties/Strings.en-US.resx b/Ink Canvas/Properties/Strings.en-US.resx index 7b084d0d..8e6cd975 100644 --- a/Ink Canvas/Properties/Strings.en-US.resx +++ b/Ink Canvas/Properties/Strings.en-US.resx @@ -265,7 +265,7 @@ UIA topmost - # UIA topmost requires admin to take effect. + UIA topmost requires admin to take effect. Topmost Mode @@ -295,7 +295,7 @@ Silent update - # Silent update installs when app is idle. + Silent update installs when app is idle. Update channel @@ -310,28 +310,28 @@ Beta - # Stable for reliability; Preview for new features. + Stable for reliability; Preview for new features. Check for updates - # Check and download now. + Check and download now. Version fix - # Download and install latest for current channel. + Download and install latest for current channel. Rollback - # Open rollback page. + Open rollback page. - # When silent update is off, you will be prompted after download. + When silent update is off, you will be prompted after download. Silent update time range @@ -343,7 +343,7 @@ End time - # If end < start… + If end < start… Run at login @@ -361,13 +361,13 @@ Pressure-sensitive touch - # Touch devices will support pressure. + Touch devices will support pressure. Ignore pressure - # Ignore all device pressure. + Ignore all device pressure. Eraser size @@ -388,13 +388,13 @@ Very large - # Takes effect on next area eraser use. + Takes effect on next area eraser use. Hide ink when leaving canvas - # When enabled… + When enabled… Clear ink history when clearing @@ -418,7 +418,7 @@ Ask each time - # Disabling may cause undo bugs. + Disabling may cause undo bugs. Show circle center when drawing @@ -433,7 +433,7 @@ Ink fade - # Ink will not be drawn on canvas when enabled. + Ink will not be drawn on canvas when enabled. Ink fade time @@ -442,7 +442,7 @@ Hide fade in pen menu - # Fade control will be hidden in pen context menu. + Fade control will be hidden in pen context menu. Color @@ -517,7 +517,7 @@ No action - # Silent restart: automatically restart without prompt. No action: only log, do not restart. + Silent restart: automatically restart without prompt. No action: only log, do not restart. Gestures @@ -526,13 +526,13 @@ Auto-toggle two-finger move in/out of whiteboard - # When enabled: leaving canvas disables two-finger move; entering whiteboard enables it. + When enabled: leaving canvas disables two-finger move; entering whiteboard enables it. Allow rotate & scale selected ink - # Allows scaling selected ink with two or more fingers (independent of rotate setting). + Allows scaling selected ink with two or more fingers (independent of rotate setting). Enable palm eraser @@ -550,7 +550,7 @@ High sensitivity - # Low: larger area/more touches required (less false positive); High: easier to trigger but may mis-detect fingers. + Low: larger area/more touches required (less false positive); High: easier to trigger but may mis-detect fingers. Ink correction @@ -562,7 +562,13 @@ WinRT recognition to handwriting glyphs - # When enabled, ink correction API: first recognizes handwritten words via WinRT, then replaces original strokes with glyph outlines rendered in a handwriting-style font (default Ink Free/KaiTi etc., configurable via handwritingCorrectionFontFamily in settings JSON). Requires 64-bit and WinRT. + When enabled, ink correction API: first recognizes handwritten words via WinRT, then replaces original strokes with glyph outlines rendered in a handwriting-style font. Requires 64-bit and WinRT. + + + Handwriting glyph font + + + Font used to replace original strokes with glyph outlines. Falls back through the list if the chosen font is missing. Block fake pressure on corrected rectangles @@ -592,7 +598,7 @@ High-precision straightening - # When enabled, lines longer than the threshold will be straightened. Sensitivity 0.05–2.0: smaller = stricter; larger = easier to treat as straight. High-precision samples every 10px for better judgement. + When enabled, lines longer than the threshold will be straightened. Sensitivity 0.05–2.0: smaller = stricter; larger = easier to treat as straight. High-precision samples every 10px for better judgement. Line endpoint snapping @@ -700,7 +706,7 @@ Floating bar opacity in PPT - # Takes effect after re-entering slide show + Takes effect after re-entering slide show Show nib-mode button in palette @@ -832,22 +838,22 @@ Kill WPP process (avoid leftovers) - # When disabled, leftover WPP processes may cause slow close or cannot exit completely. + When disabled, leftover WPP processes may cause slow close or cannot exit completely. - # If you only use PowerPoint, do not enable WPS integration. If you use WPS, it is recommended not to use PowerPoint together. + If you only use PowerPoint, do not enable WPS integration. If you use WPS, it is recommended not to use PowerPoint together. Enabling WPS support may cause lag when closing WPS! - # WPS is supported, but MS Office and WPS cannot be supported at the same time. To enable WPS support, make sure “WPS Office compatibility with third-party systems and software” is enabled in the WPS config tool, otherwise WPS cannot be detected. + WPS is supported, but MS Office and WPS cannot be supported at the same time. To enable WPS support, make sure “WPS Office compatibility with third-party systems and software” is enabled in the WPS config tool, otherwise WPS cannot be detected. Hide ink when exiting board mode - # When this option is on, ink will not be shown in PPT mode if not in annotation mode. + When this option is on, ink will not be shown in PPT mode if not in annotation mode. Clear ink history when clearing ink @@ -889,7 +895,7 @@ Right opacity - # Increase for up, decrease for down; 0 = no offset, centered. + Increase for up, decrease for down; 0 = no offset, centered. Bottom left offset @@ -904,7 +910,7 @@ Bottom right opacity - # Increase for right, decrease for left; 0 = no offset, centered. + Increase for right, decrease for left; 0 = no offset, centered. Sides @@ -925,7 +931,7 @@ PPT page button clickable - # Enable page-button navigation on click. By default it uses PowerPoint grid thumbnails (not supported in WPS); use the sub-setting below to manually enable enhanced preview for WPS support. + Enable page-button navigation on click. By default it uses PowerPoint grid thumbnails (not supported in WPS); use the sub-setting below to manually enable enhanced preview for WPS support. Page button click sub-settings @@ -934,19 +940,19 @@ Enhanced preview for page button - # Manually enable this option to show a thumbnail page list when clicking the page button (supports both WPS and PowerPoint), then click a thumbnail to jump. + Manually enable this option to show a thumbnail page list when clicking the page button (supports both WPS and PowerPoint), then click a thumbnail to jump. PPT long-press to turn page - # When enabled, long-press on PPT page button to turn pages continuously. + When enabled, long-press on PPT page button to turn pages continuously. - # With UIA topmost on, app needs admin to stay on top. To turn off, fully quit then start again; restart will not disable it. + With UIA topmost on, app needs admin to stay on top. To turn off, fully quit then start again; restart will not disable it. - # Silent update installs when the app is idle; no manual action needed. + Silent update installs when the app is idle; no manual action needed. Update channel @@ -961,25 +967,25 @@ Beta - # Stable: reliable updates. Preview: new features with better stability than Beta. Beta: earliest new features. + Stable: reliable updates. Preview: new features with better stability than Beta. Beta: earliest new features. - # Check and download the latest version now. + Check and download the latest version now. Repair installation - # Repair downloads the latest build for the selected channel and reinstalls; use to fix broken installs. + Repair downloads the latest build for the selected channel and reinstalls; use to fix broken installs. Rollback to previous version - # Opens a page to manually roll back to an earlier version. + Opens a page to manually roll back to an earlier version. - # When silent update is off, you will be prompted after download. When on, every 10 minutes the app checks: 1) within silent-update time window 2) not in writing mode 3) not in canvas. If all pass, it will close and update. + When silent update is off, you will be prompted after download. When on, every 10 minutes the app checks: 1) within silent-update time window 2) not in writing mode 3) not in canvas. If all pass, it will close and update. Silent update time window @@ -991,7 +997,7 @@ End time - # If end < start, end is next day. If start = end, window is 24h. + If end < start, end is next day. If start = end, window is 24h. Run at startup @@ -1018,7 +1024,7 @@ Disable hardware acceleration - # Improves compatibility but may reduce performance; some effects may require an app restart to fully apply. + Improves compatibility but may reduce performance; some effects may require an app restart to fully apply. Show pen cursor @@ -1027,13 +1033,13 @@ Enable pressure-sensitive touch - # When on, touch screens that support pressure will show pressure; for devices not recognized by the system. + When on, touch screens that support pressure will show pressure; for devices not recognized by the system. Ignore pressure - # When on, all strokes use uniform thickness; mutually exclusive with pressure-sensitive touch. + When on, all strokes use uniform thickness; mutually exclusive with pressure-sensitive touch. Very small @@ -1051,7 +1057,7 @@ Very large - # Change takes effect next time you use area eraser. + Change takes effect next time you use area eraser. Keep hyperbola asymptotes @@ -1066,7 +1072,7 @@ Ask each time - # If not kept, undo-related bugs may occur. + If not kept, undo-related bugs may occur. Use WPF default Bezier smoothing @@ -1084,19 +1090,19 @@ Enable ink fade - # When on, ink is not committed to canvas; it fades after the set time. + When on, ink is not committed to canvas; it fades after the set time. Hide ink fade control in pen menu - # When on, the pen context menu will not show the ink fade control. + When on, the pen context menu will not show the ink fade control. Enable brush auto-restore - # When on, temporary brush changes will restore at the configured time(s) to the color/opacity/width set here. + When on, temporary brush changes will restore at the configured time(s) to the color/opacity/width set here. Auto-restore time points (HH:mm, multiple with ;) @@ -1141,16 +1147,16 @@ Switch back to annotation after eraser - # When on, after erasing, staying idle for a while will switch back to annotation mode. + When on, after erasing, staying idle for a while will switch back to annotation mode. Auto switch delay - # If you erase again within the delay, the timer resets. + If you erase again within the delay, the timer resets. - # When on, line endpoints near other endpoints will snap and connect. + When on, line endpoints near other endpoints will snap and connect. Enter annotation mode when starting PPT slide show @@ -1165,19 +1171,19 @@ Allow finger gesture to turn slides - # When canvas is on, finger swipe (not pen) can turn slides in show mode when canvas has no ink. + When canvas is on, finger swipe (not pen) can turn slides in show mode when canvas has no ink. Show gesture buttons in PPT slide show - # When on, gesture buttons are shown in PPT slide show. + When on, gesture buttons are shown in PPT slide show. PPT time capsule - # When on, show time capsule in PPT show; can replace minimized timer window. + When on, show time capsule in PPT show; can replace minimized timer window. Time capsule position: @@ -1195,25 +1201,25 @@ Show quick panel in PPT slide show - # When off, quick panel is hidden in PPT slide show. + When off, quick panel is hidden in PPT slide show. Auto screenshot on slide change - # When on, auto-screenshot when turning page with ink on slide. + When on, auto-screenshot when turning page with ink on slide. Auto-save slide ink - # When on, ink is saved when ending slide show and loaded next time (same file and page). + When on, ink is saved when ending slide show and loaded next time (same file and page). Remember and prompt last slide position - # When on, last page is recorded; choose Yes to jump to it. + When on, last page is recorded; choose Yes to jump to it. Go to first slide when entering show @@ -1240,13 +1246,13 @@ Tap with pen in the area below to estimate touch size multiplier - # Value is for reference only + Value is for reference only Bind eraser to touch size multiplier - # BoundsWidth is used as contact area threshold + BoundsWidth is used as contact area threshold Quad IR mode @@ -1258,7 +1264,7 @@ Save logs by date - # Log files over 512 KB are auto-deleted. With date save, logs go to Logs folder; folder is cleared when over 5 MB. + Log files over 512 KB are auto-deleted. With date save, logs go to Logs folder; folder is cleared when over 5 MB. Confirm exit with dialog @@ -1270,13 +1276,13 @@ Experimental - # Thanks to lindexi for FullScreenHelper; reduces taskbar pop-up and supports multi-monitor fullscreen. Disable if you see odd issues; restart ICC to apply. + Thanks to lindexi for FullScreenHelper; reduces taskbar pop-up and supports multi-monitor fullscreen. Disable if you see odd issues; restart ICC to apply. Enable AvoidFullScreenHelper - # Avoid canvas fullscreen; may fix taskbar not on top and Win11 taskbar unclickable. Can cause floating bar offset with AppBar on left/top. Restart ICC to apply. + Avoid canvas fullscreen; may fix taskbar not on top and Win11 taskbar unclickable. Can cause floating bar offset with AppBar on left/top. Restart ICC to apply. Enable EdgeGestureUtil @@ -1336,7 +1342,7 @@ Settings backup & restore - # You can manually back up current settings or restore previous backups; backups are also created automatically before updates. + You can manually back up current settings or restore previous backups; backups are also created automatically before updates. Backup before update @@ -1375,7 +1381,7 @@ Config profiles & hot reload - # Selecting a profile switches and hot-reloads it; \"Save as\" saves current settings as a new profile. + Selecting a profile switches and hot-reloads it; \"Save as\" saves current settings as a new profile. Profile: @@ -1453,7 +1459,7 @@ Keep folded after app exit - # When on, apps that trigger auto fold will stay folded even after they exit. + When on, apps that trigger auto fold will stay folded even after they exit. Auto kill @@ -1468,7 +1474,7 @@ Auto kill Seewo PPT tools - # Killing PPT tools disables Seewo classroom helper. Delete Office.dll in its install folder to stop the PPT toolbar without auto kill. + Killing PPT tools disables Seewo classroom helper. Delete Office.dll in its install folder to stop the PPT toolbar without auto kill. Auto kill Seewo Whiteboard 5 @@ -1486,7 +1492,7 @@ Auto kill Seewo Desktop 2.0 annotation - # Seewo Desktop 2.0 annotation is 64-bit so ICC (32-bit) cannot inspect it deeply; only process name DesktopAnnotation is matched. If you have another app with the same name, keep this off. + Seewo Desktop 2.0 annotation is 64-bit so ICC (32-bit) cannot inspect it deeply; only process name DesktopAnnotation is matched. If you have another app with the same name, keep this off. Kill similar apps @@ -1564,19 +1570,19 @@ 60 minutes - # When on, strokes are auto-saved at the set interval, only when canvas is visible and has ink. + When on, strokes are auto-saved at the set interval, only when canvas is visible and has ink. Save full-page strokes - # When on, auto/manual saves store all pages in fullscreen; multiple pages are packed in one archive (whiteboard strokes open only in whiteboard mode; PPT strokes only in slide show mode). + When on, auto/manual saves store all pages in fullscreen; multiple pages are packed in one archive (whiteboard strokes open only in whiteboard mode; PPT strokes only in slide show mode). Save as XML format - # When on, strokes are saved as XML (ISF) for easier inspection and editing. + When on, strokes are saved as XML (ISF) for easier inspection and editing. Minimum ink for auto screenshot @@ -1594,13 +1600,13 @@ Set save path to Documents - # Please ensure the save folder is writable. + Please ensure the save folder is writable. Auto delete old strokes and screenshots - # When on, all .icstk and .png files in the auto-save folder may be deleted! + When on, all .icstk and .png files in the auto-save folder may be deleted! Retention duration @@ -1618,19 +1624,19 @@ Switch to annotation when exiting fold mode - # When on, exiting fold mode switches back to annotation for convenience. + When on, exiting fold mode switches back to annotation for convenience. Auto fold floating bar after PPT show - # When on, floating bar is auto-folded after exiting PPT slide show. + When on, floating bar is auto-folded after exiting PPT slide show. Auto fold when exiting whiteboard - # When on, exiting whiteboard folds back to sidebar. + When on, exiting whiteboard folds back to sidebar. Random roll call @@ -1699,7 +1705,7 @@ Avoidance weight - # ML analyzes recent roll-call history to avoid repeating the same students. + ML analyzes recent roll-call history to avoid repeating the same students. Timer settings @@ -1795,7 +1801,7 @@ Upload basic + optional data - # Before using or distributing this software, you must be aware of the related open-source licenses. This software is based on https://github.com/WXRIW/Ink-Canvas. + Before using or distributing this software, you must be aware of the related open-source licenses. This software is based on https://github.com/WXRIW/Ink-Canvas. This software, ICA and Ink Canvas are all open sourced under a license @@ -1858,7 +1864,7 @@ Finger mode BoundsWidth - # EdgeGestureUtil is newly introduced in ICC to temporarily block edge gestures when using touch (e.g., on Windows 10: swipe from the left edge to Task View, from the right edge to Action Center; on Windows 11: swipe up from the bottom to open Start). It works by using + EdgeGestureUtil is newly introduced in ICC to temporarily block edge gestures when using touch (e.g., on Windows 10: swipe from the left edge to Task View, from the right edge to Action Center; on Windows 11: swipe up from the bottom to open Start). It works by using (When the app window is active and in full-screen mode (or an owned window is active), prevents edge gesture behavior.) If anything is abnormal, turn this option off; it should take effect immediately. (Not available on Windows 7/8.) @@ -1867,19 +1873,19 @@ Enable ForceFullScreen - # When a window size change is detected, automatically uses Win32 API to set this window size to the primary monitor size (in device pixels). Turn it off if you don't need it; takes effect immediately. + When a window size change is detected, automatically uses Win32 API to set this window size to the primary monitor size (in device pixels). Turn it off if you don't need it; takes effect immediately. Enable DPIChangeDetection - # When a system DPI change is detected, it tries to keep FloatingBar visible. If it goes off-screen, it will attempt to move it into the visible area. (Increasing DPI may trigger this; decreasing DPI won't auto-move—adjust manually.) + When a system DPI change is detected, it tries to keep FloatingBar visible. If it goes off-screen, it will attempt to move it into the visible area. (Increasing DPI may trigger this; decreasing DPI won't auto-move—adjust manually.) Enable ResolutionChangeDetection - # When a screen resolution change is detected, it tries to keep FloatingBar visible. If it goes off-screen, it will attempt to move it into the visible area. (Reducing resolution may trigger this; if it's still on-screen it won't auto-adjust—adjust manually.) + When a screen resolution change is detected, it tries to keep FloatingBar visible. If it goes off-screen, it will attempt to move it into the visible area. (Reducing resolution may trigger this; if it's still on-screen it won't auto-adjust—adjust manually.) Seewo Whiteboard 3 diff --git a/Ink Canvas/Properties/Strings.resx b/Ink Canvas/Properties/Strings.resx index cef07867..594af26d 100644 --- a/Ink Canvas/Properties/Strings.resx +++ b/Ink Canvas/Properties/Strings.resx @@ -280,7 +280,7 @@ UIA置顶 - # 开启UIA置顶后,软件需要管理员启动才能置顶… + 开启UIA置顶后,软件需要管理员启动才能置顶… 置顶模式 @@ -310,7 +310,7 @@ 静默更新 - # 静默更新将在软件不使用时自动安装,无需手动操作 + 静默更新将在软件不使用时自动安装,无需手动操作 更新通道 @@ -325,28 +325,28 @@ 测试版 (Beta) - # 稳定版提供可靠更新,预览版提供新功能体验… + 稳定版提供可靠更新,预览版提供新功能体验… 手动更新 - # 点击后立即检查并下载最新版本 + 点击后立即检查并下载最新版本 版本修复 - # 版本修复会根据当前选择的通道下载最新版本并执行安装… + 版本修复会根据当前选择的通道下载最新版本并执行安装… 历史版本回滚 - # 历史版本回滚,点击后会弹出相应页面… + 历史版本回滚,点击后会弹出相应页面… - # 关闭静默更新后,已完成安装包的下载后将会弹窗询问… + 关闭静默更新后,已完成安装包的下载后将会弹窗询问… 静默更新时间段 @@ -358,7 +358,7 @@ 终止时间 - # 若终止时间小于起始时间… + 若终止时间小于起始时间… 开机时运行 @@ -376,13 +376,13 @@ 启用压感触屏模式 - # 开启后,触屏设备也将支持压感效果… + 开启后,触屏设备也将支持压感效果… 屏蔽压感 - # 开启后,将忽略所有设备的压感信息… + 开启后,将忽略所有设备的压感信息… 橡皮大小 @@ -403,13 +403,13 @@ 很大 - # 非实时切换,下一次使用面积擦时生效。 + 非实时切换,下一次使用面积擦时生效。 退出画板模式后隐藏墨迹 - # 开启 退出画板模式后隐藏墨迹 选项后… + 开启 退出画板模式后隐藏墨迹 选项后… 清空墨迹时删除墨迹历史记录 @@ -433,7 +433,7 @@ 每次询问 - # 请注意,若不保留双曲线渐近线可能会有遇到撤回相关的 BUG… + 请注意,若不保留双曲线渐近线可能会有遇到撤回相关的 BUG… 绘制圆时显示圆心位置 @@ -448,7 +448,7 @@ 启用墨迹渐隐功能 - # 开启后墨迹不会绘制到画布上… + 开启后墨迹不会绘制到画布上… 墨迹渐隐时间 @@ -457,7 +457,7 @@ 在笔工具菜单中隐藏墨迹渐隐控制 - # 开启后,主工具栏上点击笔工具后弹出的上下文菜单中将不显示… + 开启后,主工具栏上点击笔工具后弹出的上下文菜单中将不显示… 颜色 @@ -532,7 +532,7 @@ 无操作 - # 静默重启:崩溃后自动重启软件,无提示。无操作:崩溃后仅记录日志,不自动重启。 + 静默重启:崩溃后自动重启软件,无提示。无操作:崩溃后仅记录日志,不自动重启。 手势 @@ -541,13 +541,13 @@ 进退白板模式自动开关双指移动功能 - # 开启后退出画板模式时自动关闭双指移动手势,进入白板模式时自动开启双指移动手势 + 开启后退出画板模式时自动关闭双指移动手势,进入白板模式时自动开启双指移动手势 允许双指旋转与缩放选中的墨迹 - # 允许选中墨迹后对墨迹进行双指或多指缩放操作(此设置不受“允许双指旋转”设置的影响) + 允许选中墨迹后对墨迹进行双指或多指缩放操作(此设置不受“允许双指旋转”设置的影响) 启用手掌擦 @@ -565,7 +565,7 @@ 高敏感度 - # 低敏感度:需要更大的触摸面积和更多触摸点,减少误判;高敏感度:更容易触发手掌擦,但可能误判手指。 + 低敏感度:需要更大的触摸面积和更多触摸点,减少误判;高敏感度:更容易触发手掌擦,但可能误判手指。 墨迹纠正 @@ -577,7 +577,13 @@ WinRT识别转手写体字形 - #开启后,调用墨迹纠正API时:先WinRT识别手写词,再将识别成功的文字用手写风格字体(默认Ink Free/楷体等,可在设置JSON的handwritingCorrectionFontFamily调整)转成字形轮廓墨迹替换原笔画。需WinRT。 + #开启后,调用墨迹纠正API时:先WinRT识别手写词,再将识别成功的文字用手写风格字体转成字形轮廓墨迹替换原笔画。需WinRT。 + + + 手写体字形字体 + + + 选择用于替换原笔画的手写风格字体。若所选字体不存在,将按列表回退。 识别引擎 @@ -622,7 +628,7 @@ 高精度直线拉直 - # 开启后,当绘制的直线超过设定长度阈值时,将自动调整为完美直线。灵敏度范围0.05-2.0,越小要求越严格,越弯曲的线条越不容易被拉直;值越大越容易识别为直线。高精度模式下,每隔10像素取一个计数点,获取更准确的平均值用于判断。 + 开启后,当绘制的直线超过设定长度阈值时,将自动调整为完美直线。灵敏度范围0.05-2.0,越小要求越严格,越弯曲的线条越不容易被拉直;值越大越容易识别为直线。高精度模式下,每隔10像素取一个计数点,获取更准确的平均值用于判断。 直线端点吸附 @@ -730,7 +736,7 @@ 浮栏在PPT下透明度 - # 重新进入PPT放映后生效 + 重新进入PPT放映后生效 在调色盘窗口中显示 笔尖模式 按钮 @@ -862,22 +868,22 @@ WPP进程查杀(防止WPP残留进程) - # 关闭后将不会自动查杀WPP残留进程,可能导致WPP关闭卡顿或无法彻底退出。 + 关闭后将不会自动查杀WPP残留进程,可能导致WPP关闭卡顿或无法彻底退出。 - # 如果您只使用PowerPoint请不要打开WPS联动开关,如果使用WPS建议不要使用PowerPoint! + 如果您只使用PowerPoint请不要打开WPS联动开关,如果使用WPS建议不要使用PowerPoint! 开启WPS支持后会导致WPS关闭时卡顿! - # 可支持 WPS,但目前无法同时支持 MSOffice 和 WPS。若要启用WPS支持,请确保 WPS 是否在 “配置工具” 中开启了 “WPS Office 兼容第三方系统和软件” 选项,否则将无法识别到WPS! + 可支持 WPS,但目前无法同时支持 MSOffice 和 WPS。若要启用WPS支持,请确保 WPS 是否在 “配置工具” 中开启了 “WPS Office 兼容第三方系统和软件” 选项,否则将无法识别到WPS! 退出画板模式后隐藏墨迹 - # 开启 退出画板模式后隐藏墨迹 选项后,进入 PPT 模式时未处于批注模式时不会显示墨迹。 + 开启 退出画板模式后隐藏墨迹 选项后,进入 PPT 模式时未处于批注模式时不会显示墨迹。 清空墨迹时删除墨迹历史记录 @@ -919,7 +925,7 @@ 右侧透明度 - # 调大往上偏移,调小往下偏移,修改为0为不偏移,居中放置 + 调大往上偏移,调小往下偏移,修改为0为不偏移,居中放置 左下偏移 @@ -934,7 +940,7 @@ 右下透明度 - # 调大往右偏移,调小往左偏移,修改为0为不偏移,居中放置 + 调大往右偏移,调小往左偏移,修改为0为不偏移,居中放置 两侧 @@ -955,7 +961,7 @@ PPT 页码按钮可点击 - # 开启该选项后,点击页码按钮可唤起页码导航。默认调用 PowerPoint 网格缩略图(WPS 不支持);可在下方子设置手动开启增强型预览以支持 WPS。 + 开启该选项后,点击页码按钮可唤起页码导航。默认调用 PowerPoint 网格缩略图(WPS 不支持);可在下方子设置手动开启增强型预览以支持 WPS。 页码按钮点击子设置 @@ -964,19 +970,19 @@ PPT 页码按钮增强型预览 - # 手动开启后,点击页码按钮将显示缩略图页列表(支持 WPS 与 PowerPoint),并可点击跳转到目标页。 + 手动开启后,点击页码按钮将显示缩略图页列表(支持 WPS 与 PowerPoint),并可点击跳转到目标页。 PPT 翻页按钮长按翻页 - # 开启该选项后,长按PPT翻页按钮可以连续翻页,提高翻页效率。 + 开启该选项后,长按PPT翻页按钮可以连续翻页,提高翻页效率。 - # 开启UIA置顶后,软件需要管理员启动才能置顶,关闭此功能需要完全关闭软件后再手动启动,无法使用重启来关闭此功能 + 开启UIA置顶后,软件需要管理员启动才能置顶,关闭此功能需要完全关闭软件后再手动启动,无法使用重启来关闭此功能 - # 静默更新将在软件不使用时自动安装,无需手动操作 + 静默更新将在软件不使用时自动安装,无需手动操作 更新通道 @@ -1000,28 +1006,28 @@ 64 位 (x64) - # 选择要下载架构 + 选择要下载架构 - # 稳定版提供可靠更新,预览版提供新功能体验同时拥有相较Beta版更强的稳定性,测试版提供新功能抢先体验 + 稳定版提供可靠更新,预览版提供新功能体验同时拥有相较Beta版更强的稳定性,测试版提供新功能抢先体验 - # 点击后立即检查并下载最新版本 + 点击后立即检查并下载最新版本 版本修复 - # 版本修复会根据当前选择的通道下载最新版本并执行安装,可用于修复损坏的安装 + 版本修复会根据当前选择的通道下载最新版本并执行安装,可用于修复损坏的安装 历史版本回滚 - # 历史版本回滚,点击后会弹出相应页面供用户手动回滚到之前的版本 + 历史版本回滚,点击后会弹出相应页面供用户手动回滚到之前的版本 - # 关闭静默更新后,已完成安装包的下载后将会弹窗询问是否进行更新,开启静默更新后将会在安装包下载完成后每隔十分钟进行如下检测:①处于静默更新时间段内 ②未处于书写模式 ③未处于画板内。若以上检测通过即会关闭软件进行自动更新。 + 关闭静默更新后,已完成安装包的下载后将会弹窗询问是否进行更新,开启静默更新后将会在安装包下载完成后每隔十分钟进行如下检测:①处于静默更新时间段内 ②未处于书写模式 ③未处于画板内。若以上检测通过即会关闭软件进行自动更新。 静默更新时间段 @@ -1033,7 +1039,7 @@ 终止时间 - # 若终止时间小于起始时间,即将终止时间视为第二天的时间。# 若起始时间与终止时间相同,即视为全天候时间。 + 若终止时间小于起始时间,即将终止时间视为第二天的时间。若起始时间与终止时间相同,即视为全天候时间。 开机时运行 @@ -1060,7 +1066,7 @@ 关闭硬件加速 - # 关闭后可提升兼容性,但可能降低性能;部分效果可能需要重启程序后完全生效。 + 关闭后可提升兼容性,但可能降低性能;部分效果可能需要重启程序后完全生效。 显示画笔光标 @@ -1069,13 +1075,13 @@ 启用压感触屏模式 - # 开启后,触屏设备也将支持压感效果,适用于部分支持压感但无法被系统识别的触屏设备。 + 开启后,触屏设备也将支持压感效果,适用于部分支持压感但无法被系统识别的触屏设备。 屏蔽压感 - # 开启后,将忽略所有设备的压感信息,使所有笔画具有统一的粗细。与压感触屏模式互斥。 + 开启后,将忽略所有设备的压感信息,使所有笔画具有统一的粗细。与压感触屏模式互斥。 很小 @@ -1093,7 +1099,7 @@ 很大 - # 非实时切换,下一次使用面积擦时生效。 + 非实时切换,下一次使用面积擦时生效。 保留双曲线渐近线 @@ -1108,7 +1114,7 @@ 每次询问 - # 请注意,若不保留双曲线渐近线可能会有遇到撤回相关的 BUG 影响用。 + 请注意,若不保留双曲线渐近线可能会有遇到撤回相关的 BUG 影响用。 使用WPF默认贝塞尔曲线平滑 @@ -1126,19 +1132,19 @@ 启用墨迹渐隐功能 - # 开启后墨迹不会绘制到画布上,而是保持湿墨迹状态,根据设置的渐隐时间自动消失 + 开启后墨迹不会绘制到画布上,而是保持湿墨迹状态,根据设置的渐隐时间自动消失 在笔工具菜单中隐藏墨迹渐隐控制 - # 开启后,主工具栏上点击笔工具后弹出的上下文菜单中将不显示墨迹渐隐控制开关 + 开启后,主工具栏上点击笔工具后弹出的上下文菜单中将不显示墨迹渐隐控制开关 启用画笔自动恢复 - # 启用后,临时修改画笔设置后将在指定时间点自动恢复到你在此处配置的颜色 / 透明度 / 粗细 + 启用后,临时修改画笔设置后将在指定时间点自动恢复到你在此处配置的颜色 / 透明度 / 粗细 自动恢复时间点 (HH:mm,可多个,用 ; 分隔) @@ -1183,16 +1189,16 @@ 使用橡皮擦后自动切换回批注模式 - # 开启后,使用橡皮擦进行擦除操作后静置一段时间将自动切换回批注模式 + 开启后,使用橡皮擦进行擦除操作后静置一段时间将自动切换回批注模式 自动切换延迟时间 - # 若在计时时间内再次进行擦除操作,计时器将重新开始计时 + 若在计时时间内再次进行擦除操作,计时器将重新开始计时 - # 开启后,当绘制的直线端点靠近其他直线端点时,将自动吸附连接。 + 开启后,当绘制的直线端点靠近其他直线端点时,将自动吸附连接。 进入 PPT 放映时自动进入批注模式 @@ -1207,19 +1213,19 @@ 允许使用手指手势进行幻灯片翻页 - # 允许开启画板时使用手指手势进行幻灯片翻页(启用后,在幻灯片放映模式下,当画板无墨迹时,使用手指(笔尖或手掌无法识别)左右滑动即可控制幻灯片翻页。) + 允许开启画板时使用手指手势进行幻灯片翻页(启用后,在幻灯片放映模式下,当画板无墨迹时,使用手指(笔尖或手掌无法识别)左右滑动即可控制幻灯片翻页。) PPT 放映模式显示手势按钮 - # 开启后在 PPT 放映模式下也显示手势按钮 + 开启后在 PPT 放映模式下也显示手势按钮 PPT时间显示胶囊 - # 开启后在 PPT 放映模式下显示时间胶囊,可替代最小化计时器窗口 + 开启后在 PPT 放映模式下显示时间胶囊,可替代最小化计时器窗口 时间胶囊位置: @@ -1237,19 +1243,19 @@ PPT 放映时显示快速面板 - # 关闭后在 PPT 放映时不显示快速面板 + 关闭后在 PPT 放映时不显示快速面板 自动幻灯片截屏 - # 开启 自动幻灯片截屏 后将会在幻灯片有墨迹时翻页自动截屏 + 开启 自动幻灯片截屏 后将会在幻灯片有墨迹时翻页自动截屏 自动保存幻灯片墨迹 - # 开启 自动保存幻灯片墨迹 后将在结束幻灯片放映时自动将保存已有墨迹,并在下次打开时自动加载(文件名和幻灯片页数都要相同) + 开启 自动保存幻灯片墨迹 后将在结束幻灯片放映时自动将保存已有墨迹,并在下次打开时自动加载(文件名和幻灯片页数都要相同) 记忆并提示上次播放位置 @@ -1283,13 +1289,13 @@ 在下方区域内用笔尖点击以估计触摸大小倍数 - # 数值仅供参考 + 数值仅供参考 橡皮擦绑定触摸大小倍数 - # BoundsWidth 参数作为接触面积区分界限 + BoundsWidth 参数作为接触面积区分界限 四边红外模式 @@ -1301,7 +1307,7 @@ 日志以日期保存 - # 日志文件超过 512 KB 时会自动删除。开启日期保存后,日志将保存在Logs文件夹中,当文件夹大小超过5MB时自动清空。 + 日志文件超过 512 KB 时会自动删除。开启日期保存后,日志将保存在Logs文件夹中,当文件夹大小超过5MB时自动清空。 关闭软件时二次弹窗确认 @@ -1313,13 +1319,13 @@ 实验性选项 - # 感谢lindexi大佬提供的FullScreenHelper,可以减少任务栏弹出的问题,且支持多显示器自动全屏(虽然对icc来说没什么用就是了),如果遇到一些玄学问题,可以关闭该功能,重启icc后生效。 + 感谢lindexi大佬提供的FullScreenHelper,可以减少任务栏弹出的问题,且支持多显示器自动全屏(虽然对icc来说没什么用就是了),如果遇到一些玄学问题,可以关闭该功能,重启icc后生效。 启用AvoidFullScreenHelper - # 避免画布全屏,应该可解决任务栏非置顶和Win11任务栏无法点击的问题,会导致左侧或顶部有AppBar(Dock栏软件)时导致浮动工具栏偏移,重启icc后生效。 + 避免画布全屏,应该可解决任务栏非置顶和Win11任务栏无法点击的问题,会导致左侧或顶部有AppBar(Dock栏软件)时导致浮动工具栏偏移,重启icc后生效。 启用EdgeGestureUtil @@ -1379,7 +1385,7 @@ 设置备份与还原 - # 可手动备份当前设置或还原之前的备份,自动更新前也会自动备份 + 可手动备份当前设置或还原之前的备份,自动更新前也会自动备份 自动更新前备份 @@ -1418,7 +1424,7 @@ 配置文件切换与热重载 - # 选择配置文件即切换并热重载;另存为可将当前配置保存为新配置文件 + 选择配置文件即切换并热重载;另存为可将当前配置保存为新配置文件 配置文件: @@ -1496,7 +1502,7 @@ 软件退出后保持收纳模式 - # 开启后,执行自动收纳的软件在软件退出后不退出收纳模式,保持收纳状态 + 开启后,执行自动收纳的软件在软件退出后不退出收纳模式,保持收纳状态 自动查杀 @@ -1511,7 +1517,7 @@ 自动查杀希沃“PPT 小工具” - # 请注意,查杀 PPT 小工具会导致希沃课堂授课助手无法使用,直接进入希沃课堂授课助手安装目录删除 Office.dll 文件即可进入 PPT 放映时不会启动希沃的 PPT 工具栏。 + 请注意,查杀 PPT 小工具会导致希沃课堂授课助手无法使用,直接进入希沃课堂授课助手安装目录删除 Office.dll 文件即可进入 PPT 放映时不会启动希沃的 PPT 工具栏。 自动查杀 希沃白板5 @@ -1529,7 +1535,7 @@ 自动查杀 希沃桌面2.0 桌面批注 - # 由于希沃桌面2.0提供的桌面批注是64位应用程序,icc是32位程序无法访问,所以目前暂不做精准匹配,只匹配进程名称DesktopAnnotation,后面会考虑封装一套基于P/Invoke和WMI的综合进程识别方案。如果遇到同进程名的软件直接不开启该选项就行了,见谅! + 由于希沃桌面2.0提供的桌面批注是64位应用程序,icc是32位程序无法访问,所以目前暂不做精准匹配,只匹配进程名称DesktopAnnotation,后面会考虑封装一套基于P/Invoke和WMI的综合进程识别方案。如果遇到同进程名的软件直接不开启该选项就行了,见谅! 同类软件查杀 @@ -1607,19 +1613,19 @@ 60分钟 - # 开启后将在设定时间间隔自动保存墨迹,仅在画布可见且有墨迹时才会保存 + 开启后将在设定时间间隔自动保存墨迹,仅在画布可见且有墨迹时才会保存 墨迹全页面保存 - # 开启后自动保存和手动保存墨迹时将以全屏模式保存。如果存在多个画布和墨迹,将把所有页面的墨迹按照每页为单位保存进一个压缩包中(注意,白板的墨迹只能在白板模式下打开,PPT的墨迹只能在PPT放映模式下打开) + 开启后自动保存和手动保存墨迹时将以全屏模式保存。如果存在多个画布和墨迹,将把所有页面的墨迹按照每页为单位保存进一个压缩包中(注意,白板的墨迹只能在白板模式下打开,PPT的墨迹只能在PPT放映模式下打开) 保存为XML格式 - # 开启后保存墨迹时将使用XML格式(ISF格式),便于查看和编辑墨迹数据 + 开启后保存墨迹时将使用XML格式(ISF格式),便于查看和编辑墨迹数据 自动截图最小墨迹量 @@ -1637,13 +1643,13 @@ 设置保存到 文档 - # 请注意检查保存文件夹是否有写入权限 + 请注意检查保存文件夹是否有写入权限 定期自动删除超过保存时间的墨迹、截图文件 - # 请注意如果开启自动删除功能,将会删除自动保存目录下所有后缀名为 .icstk 和 .png 的文件! + 请注意如果开启自动删除功能,将会删除自动保存目录下所有后缀名为 .icstk 和 .png 的文件! 保存时长 @@ -1661,19 +1667,19 @@ 退出收纳模式时自动切换至批注模式 - # 开启后,退出收纳模式时将自动切换至批注模式,便于快速批注 + 开启后,退出收纳模式时将自动切换至批注模式,便于快速批注 退出PPT放映后自动收纳浮动栏 - # 开启后,退出PPT放映后会自动收纳浮动栏 + 开启后,退出PPT放映后会自动收纳浮动栏 退出白板时自动收纳 - # 开启后,退出白板模式时会自动收纳到侧边栏 + 开启后,退出白板模式时会自动收纳到侧边栏 随机点名 @@ -1742,7 +1748,7 @@ 避免重复权重 - # 机器学习算法会分析最近的点名历史,智能避免重复选择相同人员 + 机器学习算法会分析最近的点名历史,智能避免重复选择相同人员 计时器设置 @@ -1838,7 +1844,7 @@ 上传基础 + 可选数据 - # 使用和分发本软件前,请您应当且务必知晓相关开源协议,且您应当知晓本软件基于 https://github.com/WXRIW/Ink-Canvas 修改而成。 + 使用和分发本软件前,请您应当且务必知晓相关开源协议,且您应当知晓本软件基于 https://github.com/WXRIW/Ink-Canvas 修改而成。 本软件和ICA,Ink Canvas均基于许可证开源 @@ -1901,7 +1907,7 @@ 手指模式 BoundsWidth - # EdgeGestureUtil是icc最新引入的可以暂时阻止在使用触摸时触发边缘手势(如Windows10环境下,屏幕左边缘滑动进入任务视图,右边缘滑动弹出通知中心;Windows11环境下,底部向上滑动打开开始菜单),其原理是使用了 + EdgeGestureUtil是icc最新引入的可以暂时阻止在使用触摸时触发边缘手势(如Windows10环境下,屏幕左边缘滑动进入任务视图,右边缘滑动弹出通知中心;Windows11环境下,底部向上滑动打开开始菜单),其原理是使用了 (当应用程序窗口处于活动状态且处于全屏模式 (或拥有的窗口) 处于活动状态时,防止边缘手势行为。)来实现的。如果有异常,请关闭该选项,该选项应该能够实时生效。(Win7和Win8用户该选项无法使用) @@ -1910,19 +1916,19 @@ 启用ForceFullScreen - # 当检测到窗口大小变化时,自动使用Win32API将本窗口的大小设置为主显示器大小(设备像素大小),不需要可以关闭,实时生效。 + 当检测到窗口大小变化时,自动使用Win32API将本窗口的大小设置为主显示器大小(设备像素大小),不需要可以关闭,实时生效。 启用DPIChangeDetection - # 当检测到系统DPI变化时,会尝试检测FloatingBar是否在屏幕内显示,如果不在屏幕内显示将会尝试移动到屏幕内可见区域(DPI调大会触发,如果DPI调小是不会触发工具栏位置移动的,请您手动调整)。 + 当检测到系统DPI变化时,会尝试检测FloatingBar是否在屏幕内显示,如果不在屏幕内显示将会尝试移动到屏幕内可见区域(DPI调大会触发,如果DPI调小是不会触发工具栏位置移动的,请您手动调整)。 启用ResolutionChangeDetection - # 当检测到系统分辨率变化时,会尝试检测FloatingBar是否在屏幕内显示,如果不在屏幕内显示将会尝试移动到屏幕内可见区域(分辨率调小可能会触发,如果在屏幕内不会自动调整位置,请手动挡)。 + 当检测到系统分辨率变化时,会尝试检测FloatingBar是否在屏幕内显示,如果不在屏幕内显示将会尝试移动到屏幕内可见区域(分辨率调小可能会触发,如果在屏幕内不会自动调整位置,请手动挡)。 希沃白板3 diff --git a/Ink Canvas/Windows/OperatingGuideWindow.xaml b/Ink Canvas/Windows/OperatingGuideWindow.xaml index e2628752..90f0dd29 100644 --- a/Ink Canvas/Windows/OperatingGuideWindow.xaml +++ b/Ink Canvas/Windows/OperatingGuideWindow.xaml @@ -77,15 +77,9 @@ - + HorizontalAlignment="Left"> @@ -93,15 +87,9 @@ - + HorizontalAlignment="Left"> @@ -109,15 +97,9 @@ - + HorizontalAlignment="Left"> diff --git a/Ink Canvas/Windows/SettingsViews/Pages/InkRecognitionPage.xaml b/Ink Canvas/Windows/SettingsViews/Pages/InkRecognitionPage.xaml index e93eba09..ac652f08 100644 --- a/Ink Canvas/Windows/SettingsViews/Pages/InkRecognitionPage.xaml +++ b/Ink Canvas/Windows/SettingsViews/Pages/InkRecognitionPage.xaml @@ -55,6 +55,27 @@ SwitchName="ToggleSwitchEnableWinRtHandwritingStrokeBeautify" Toggled="ToggleSwitchEnableWinRtHandwritingStrokeBeautify_Toggled" /> + + + + + + + + + + + + + + + + + 2) eng = 2; ComboBoxShapeRecognitionEngine.SelectedIndex = eng; CardEnableWinRtHandwritingStrokeBeautify.IsOn = settings.InkToShape.EnableWinRtHandwritingStrokeBeautify; + SelectHandwritingFontByValue(settings.InkToShape.HandwritingCorrectionFontFamily); CardEnableInkToShapeNoFakePressureRectangle.IsOn = settings.InkToShape.IsInkToShapeNoFakePressureRectangle; CardEnableInkToShapeNoFakePressureTriangle.IsOn = settings.InkToShape.IsInkToShapeNoFakePressureTriangle; ToggleCheckboxEnableInkToShapeTriangle.IsChecked = settings.InkToShape.IsInkToShapeTriangle; @@ -97,6 +98,34 @@ namespace Ink_Canvas.Windows.SettingsViews.Pages SettingsManager.SaveSettingsToFile(); } + private void SelectHandwritingFontByValue(string value) + { + if (ComboBoxHandwritingCorrectionFont == null) return; + value = (value ?? string.Empty).Trim(); + int matchIndex = -1; + for (int i = 0; i < ComboBoxHandwritingCorrectionFont.Items.Count; i++) + { + var item = ComboBoxHandwritingCorrectionFont.Items[i] as ComboBoxItem; + var tag = item?.Tag as string; + if (!string.IsNullOrEmpty(tag) && string.Equals(tag, value, StringComparison.OrdinalIgnoreCase)) + { + matchIndex = i; + break; + } + } + ComboBoxHandwritingCorrectionFont.SelectedIndex = matchIndex >= 0 ? matchIndex : 0; + } + + private void ComboBoxHandwritingCorrectionFont_SelectionChanged(object sender, SelectionChangedEventArgs e) + { + if (!_isLoaded || ComboBoxHandwritingCorrectionFont == null) return; + var item = ComboBoxHandwritingCorrectionFont.SelectedItem as ComboBoxItem; + var tag = item?.Tag as string; + if (string.IsNullOrWhiteSpace(tag)) return; + SettingsManager.Settings.InkToShape.HandwritingCorrectionFontFamily = tag; + SettingsManager.SaveSettingsToFile(); + } + private void ToggleSwitchEnableInkToShapeNoFakePressureRectangle_Toggled(object sender, RoutedEventArgs e) { if (!_isLoaded) return; diff --git a/Ink Canvas/Windows/SettingsViews/Pages/RandomDrawPage.xaml b/Ink Canvas/Windows/SettingsViews/Pages/RandomDrawPage.xaml index f33a83b9..4e349fd6 100644 --- a/Ink Canvas/Windows/SettingsViews/Pages/RandomDrawPage.xaml +++ b/Ink Canvas/Windows/SettingsViews/Pages/RandomDrawPage.xaml @@ -91,15 +91,12 @@ Text="{i18n:I18n Key=Random_BackgroundSettingsTitle}" /> - - - - - +