diff --git a/Ink Canvas/Helpers/InkRecognitionManager.cs b/Ink Canvas/Helpers/InkRecognitionManager.cs
index 111aefd9..8c30d975 100644
--- a/Ink Canvas/Helpers/InkRecognitionManager.cs
+++ b/Ink Canvas/Helpers/InkRecognitionManager.cs
@@ -40,7 +40,7 @@ namespace Ink_Canvas.Helpers
try
{
// 启动阶段只做能力探测,不做 WinRT 组件实例化(避免冷启动延迟)
- _isModernSystemAvailable = WinRtInkShapeRecognizer.IsApiAvailable && Environment.Is64BitProcess;
+ _isModernSystemAvailable = WinRtInkShapeRecognizer.IsApiAvailable;
_isInitialized = true;
}
catch (Exception ex)
@@ -153,14 +153,6 @@ namespace Ink_Canvas.Helpers
return Task.FromResult(strokes);
}
- if (!Environment.Is64BitProcess)
- {
- LogHelper.WriteLogToFile(
- "[手写体] CorrectInkAsync 跳过:非 64 位进程,WinRT 手写体替换不可用。笔画数=" + strokes.Count,
- LogHelper.LogType.Info);
- return Task.FromResult(strokes);
- }
-
EnsureModernAnalyzerInitialized();
if (_modernProcessor == null)
{
@@ -185,7 +177,7 @@ namespace Ink_Canvas.Helpers
}
///
- /// WinRT 手写体识别(需 64 位进程、Windows 10+ 及系统手写识别组件)。返回分词候选与包围框,供剪贴板或插件使用。
+ /// WinRT 手写体识别(需 Windows 10+ 及系统手写识别组件)。返回分词候选与包围框,供剪贴板或插件使用。
///
public Task RecognizeHandwritingAsync(
StrokeCollection strokes,
@@ -197,8 +189,7 @@ namespace Ink_Canvas.Helpers
try
{
- if (!Environment.Is64BitProcess
- || !ShapeRecognitionRouter.ResolveUseWinRt(mode)
+ if (!ShapeRecognitionRouter.ResolveUseWinRt(mode)
|| !WinRtHandwritingRecognizer.IsApiAvailable)
return Task.FromResult(HandwritingRecognitionResult.Empty);
@@ -224,7 +215,7 @@ namespace Ink_Canvas.Helpers
public string GetSystemInfo()
{
return _isModernSystemAvailable
- ? $"现代化64位墨迹识别系统 (Windows Runtime API) - 进程架构: {Environment.Is64BitProcess}"
+ ? $"现代化墨迹识别系统 (Windows Runtime API) - 进程架构: {Environment.Is64BitProcess}"
: $"传统墨迹识别系统 (IACore) - 进程架构: {Environment.Is64BitProcess}";
}
diff --git a/Ink Canvas/Helpers/InkRecognizeHelper.cs b/Ink Canvas/Helpers/InkRecognizeHelper.cs
index 9f3018c7..ed56e693 100644
--- a/Ink Canvas/Helpers/InkRecognizeHelper.cs
+++ b/Ink Canvas/Helpers/InkRecognizeHelper.cs
@@ -117,7 +117,7 @@ namespace Ink_Canvas.Helpers
}
}
- /// WinRT 手写识别(64 位 + Windows 10+)。
+ /// WinRT 手写识别(Windows 10+)。
public static Task RecognizeHandwritingUnifiedAsync(
StrokeCollection strokes,
ShapeRecognitionEngineMode mode) =>
diff --git a/Ink Canvas/Helpers/InkShapeRecognition.cs b/Ink Canvas/Helpers/InkShapeRecognition.cs
index 0d04c0cf..987a9aee 100644
--- a/Ink Canvas/Helpers/InkShapeRecognition.cs
+++ b/Ink Canvas/Helpers/InkShapeRecognition.cs
@@ -17,13 +17,13 @@ namespace Ink_Canvas.Helpers
public static class ShapeRecognitionRouter
{
///
- /// 自动模式:按当前进程位数选择——64 位进程用 WinRT,32 位进程(含 x86 目标在 WOW64 下运行)用 IACore。
+ /// 自动模式:在 Windows 10 及以上系统默认使用 WinRT,否则使用 IACore。
///
public static bool ResolveUseWinRt(ShapeRecognitionEngineMode mode)
{
if (mode == ShapeRecognitionEngineMode.WinRT) return true;
if (mode == ShapeRecognitionEngineMode.IACore) return false;
- return Environment.Is64BitProcess;
+ return OSVersion.GetOperatingSystem() >= OSVersionExtension.OperatingSystem.Windows10;
}
public static bool ShouldRunShapeRecognition(bool inkToShapeEnabled, ShapeRecognitionEngineMode mode)
@@ -31,7 +31,7 @@ namespace Ink_Canvas.Helpers
if (!inkToShapeEnabled) return false;
if (ResolveUseWinRt(mode))
return OSVersion.GetOperatingSystem() >= OSVersionExtension.OperatingSystem.Windows10;
- return !Environment.Is64BitProcess;
+ return true;
}
public static ShapeRecognitionEngineMode FromSettingsInt(int value)
diff --git a/Ink Canvas/Properties/Strings.resx b/Ink Canvas/Properties/Strings.resx
index 27aa9e9e..ea3fb82c 100644
--- a/Ink Canvas/Properties/Strings.resx
+++ b/Ink Canvas/Properties/Strings.resx
@@ -568,7 +568,7 @@
WinRT识别转手写体字形
- #开启后,调用墨迹纠正API时:先WinRT识别手写词,再将识别成功的文字用手写风格字体(默认Ink Free/楷体等,可在设置JSON的handwritingCorrectionFontFamily调整)转成字形轮廓墨迹替换原笔画。需64位与WinRT。
+ #开启后,调用墨迹纠正API时:先WinRT识别手写词,再将识别成功的文字用手写风格字体(默认Ink Free/楷体等,可在设置JSON的handwritingCorrectionFontFamily调整)转成字形轮廓墨迹替换原笔画。需WinRT。
识别引擎