Skip to content

Commit

Permalink
[AdvancedPaste] [Fix Bug] Create ocrEngine from user profile language
Browse files Browse the repository at this point in the history
GetOCRLanguage may fail based on language tag not matching (en-CA does not match en-GB or en-US), however user profile language may be valid.
  • Loading branch information
cryolithic committed Mar 6, 2025
1 parent fc94cd7 commit c2dfa6f
Showing 1 changed file with 11 additions and 2 deletions.
13 changes: 11 additions & 2 deletions src/modules/AdvancedPaste/AdvancedPaste/Helpers/OcrHelpers.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,19 @@ public static class OcrHelpers
{
public static async Task<string> ExtractTextAsync(SoftwareBitmap bitmap, CancellationToken cancellationToken)
{
var ocrLanguage = GetOCRLanguage() ?? throw new InvalidOperationException("Unable to determine OCR language");
var ocrLanguage = GetOCRLanguage();
cancellationToken.ThrowIfCancellationRequested();

var ocrEngine = OcrEngine.TryCreateFromLanguage(ocrLanguage) ?? throw new InvalidOperationException("Unable to create OCR engine");
OcrEngine ocrEngine;
if (ocrLanguage is not null)
{
ocrEngine = OcrEngine.TryCreateFromLanguage(ocrLanguage) ?? throw new InvalidOperationException("Unable to create OCR engine");
}
else
{
ocrEngine = OcrEngine.TryCreateFromUserProfileLanguages() ?? throw new InvalidOperationException("Unable to create OCR engine");
}

cancellationToken.ThrowIfCancellationRequested();

var ocrResult = await ocrEngine.RecognizeAsync(bitmap);
Expand Down

0 comments on commit c2dfa6f

Please sign in to comment.