feat: use azooKey_emoji_dictionary_storage (#146)

* feat: use azooKey_emoji_dictionary_storage

* feat: add test

* fix: test case

* feat: fix build error

* fix: build error

* fix: fix android build

* fix: confirm libicu-dev is installed

* test: add non-empty test case

* fix: continue on empty line
This commit is contained in:
Miwa
2024-12-01 00:59:27 +09:00
committed by GitHub
parent 254a8ca7db
commit fe3fe96e9b
6 changed files with 65 additions and 3 deletions

View File

@@ -18,7 +18,7 @@ public extension ConvertRequestOptions {
memoryDirectoryURL: URL,
sharedContainerURL: URL,
zenzaiMode: ZenzaiMode = .off,
textReplacer: TextReplacer = TextReplacer(),
textReplacer: TextReplacer = .withDefaultEmojiDictionary(),
metadata: ConvertRequestOptions.Metadata?
) -> Self {
#if os(iOS) || os(watchOS) || os(tvOS) || os(visionOS)
@@ -50,3 +50,35 @@ public extension ConvertRequestOptions {
)
}
}
public extension TextReplacer {
static func withDefaultEmojiDictionary() -> Self {
self.init {
let directoryName = "EmojiDictionary"
#if os(iOS) || os(watchOS) || os(tvOS) || os(visionOS)
let directory = Bundle.module.bundleURL.appendingPathComponent(directoryName, isDirectory: true)
return if #available(iOS 17.4, *) {
directory.appendingPathComponent("emoji_all_E15.1.txt", isDirectory: false)
} else if #available(iOS 16.4, *) {
directory.appendingPathComponent("emoji_all_E15.0.txt", isDirectory: false)
} else if #available(iOS 15.4, *) {
directory.appendingPathComponent("emoji_all_E14.0.txt", isDirectory: false)
} else {
directory.appendingPathComponent("emoji_all_E13.1.txt", isDirectory: false)
}
#elseif os(macOS)
let directory = Bundle.module.resourceURL!.appendingPathComponent(directoryName, isDirectory: true)
return if #available(macOS 14.4, *) {
directory.appendingPathComponent("emoji_all_E15.1.txt", isDirectory: false)
} else {
directory.appendingPathComponent("emoji_all_E15.0.txt", isDirectory: false)
}
#else
return Bundle.module.resourceURL!
.appendingPathComponent(directoryName, isDirectory: true)
.appendingPathComponent("emoji_all_E15.1.txt", isDirectory: false)
#endif
}
}
}