From 6ceb291fa6402b70a4eb6734f5e6f9e8afa8a344 Mon Sep 17 00:00:00 2001
From: Ariver <shanghai3168@gmail.com>
Date: Mon, 25 May 2026 05:10:36 +0800
Subject: [PATCH] Allow latin app name romanized fuzzy search
---
Apptag/QuickSearch.swift | 11 +++++------
1 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/Apptag/QuickSearch.swift b/Apptag/QuickSearch.swift
index 6056150..d53f79d 100644
--- a/Apptag/QuickSearch.swift
+++ b/Apptag/QuickSearch.swift
@@ -379,15 +379,14 @@
) -> [QuickSearchIndexedField] {
let names = uniqueOrdered([appName] + localizedNames)
let nameFields = names.map {
- let allowsRomanizedFuzzy = containsNonLatinLetter($0)
return QuickSearchIndexedField(
kind: .name,
text: $0,
normalized: normalizeField($0),
acronym: acronym(for: $0),
- pinyinCandidates: pinyinCandidates(for: $0),
- allowPinyinSubstring: allowsRomanizedFuzzy,
- allowPinyinFuzzySubsequence: allowsRomanizedFuzzy
+ pinyinCandidates: pinyinCandidates(for: $0, includeLatin: true),
+ allowPinyinSubstring: true,
+ allowPinyinFuzzySubsequence: true
)
}
let tagFields = tagNames.map {
@@ -605,8 +604,8 @@
.lowercased()
}
- private static func pinyinCandidates(for value: String) -> [String] {
- guard containsNonLatinLetter(value) else { return [] }
+ private static func pinyinCandidates(for value: String, includeLatin: Bool = false) -> [String] {
+ guard includeLatin || containsNonLatinLetter(value) else { return [] }
let mutable = NSMutableString(string: value)
CFStringTransform(mutable, nil, kCFStringTransformToLatin, false)
CFStringTransform(mutable, nil, kCFStringTransformStripCombiningMarks, false)
--
Gitblit v1.9.3