From 89e9512c253da0e929b334b2690bcdb3f39b2fcc Mon Sep 17 00:00:00 2001 From: Miwa / Ensan Date: Tue, 20 Feb 2024 01:26:58 +0900 Subject: [PATCH 1/3] Update README for version 0.6 --- README.md | 69 ++++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 50 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 250e362..3ab3bec 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# AzooKeyKanakanjiConverter +# AzooKeyKanaKanjiConverter AzooKeyKanakanjiConverterは[azooKey](https://github.com/ensan-hcl/azooKey)のために開発したかな漢字変換エンジンです。数行のコードでかな漢字変換をiOS / macOSのアプリケーションに組み込むことができます。 @@ -7,10 +7,11 @@ AzooKeyKanakanjiConverterは[azooKey](https://github.com/ensan-hcl/azooKey)の ### セットアップ * Xcodeprojの場合、XcodeでAdd Packageしてください。 + * Swift Packageの場合、Package.swiftの`Package`の引数に`dependencies`以下の記述を追加してください。 ```swift dependencies: [ - .package(url: "https://github.com/ensan-hcl/AzooKeyKanaKanjiConverter", .upToNextMinor(from: "0.4.0")) + .package(url: "https://github.com/ensan-hcl/AzooKeyKanaKanjiConverter", .upToNextMinor(from: "0.6.0")) ], ``` また、ターゲットの`dependencies`にも同様に追加してください。 @@ -18,24 +19,19 @@ AzooKeyKanakanjiConverterは[azooKey](https://github.com/ensan-hcl/azooKey)の .target( name: "MyPackage", dependencies: [ - .product(name: "KanaKanjiConverterModule", package: "AzooKeyKanaKanjiConverter") + .product(name: "KanaKanjiConverterModuleWithDefaultDictionary", package: "AzooKeyKanaKanjiConverter") ], ), ``` -* [Google DriveからazooKeyの辞書をダウンロード](https://drive.google.com/drive/folders/1Kh7fgMFIzkpg7YwP3GhWTxFkXI-yzT9E?usp=sharing)する必要があります。最新のバージョンのフォルダの中にある「Dictionary」というフォルダを右クリックし、フォルダごとダウンロードします。ついで、本モジュールを利用するアプリケーションのリソースとして配置してください。 - - -> [!IMPORTANT] -> リソースを追加する際、Folder Referenceをコピーしてください。AzooKeyKanaKanjiConverterはフォルダ構造が存在することを前提に動作します。 - > [!IMPORTANT] -> AzooKeyKanaKanjiConverterはバージョン1.0のリリースまで開発版として運用するため、マイナーバージョンの変更で破壊的変更を実施する可能性があります。バージョンを指定する際にはマイナーバージョンが上がらないよう、`.upToNextMinor(from: "0.4.0")`のように指定することを推奨します。 +> AzooKeyKanaKanjiConverterはバージョン1.0のリリースまで開発版として運用するため、マイナーバージョンの変更で破壊的変更を実施する可能性があります。バージョンを指定する際にはマイナーバージョンが上がらないよう、`.upToNextMinor(from: "0.6.0")`のように指定することを推奨します。 ### 使い方 ```swift -import KanaKanjiConverterModule +// デフォルト辞書つきの変換モジュールをインポート +import KanaKanjiConverterModuleWithDefaultDictionary // 変換器を初期化する let converter = KanaKanjiConverter() @@ -44,18 +40,18 @@ var c = ComposingText() // 変換したい文章を追加する c.insertAtCursorPosition("あずーきーはしんじだいのきーぼーどあぷりです", inputStyle: .direct) // 変換のためのオプションを指定して、変換を要求 -let results = converter.requestCandidates(c, options: ConvertRequestOptions(...)) +let results = converter.requestCandidates(c, options: .withDefaultDictionary(...)) // 結果の一番目を表示 print(results.mainResults.first!.text) // azooKeyは新時代のキーボードアプリです ``` -`ConvertRequestOptions`は、変換リクエストに必要な情報を指定します。詳しくはコードに書かれたドキュメントコメントを参照してください。 +`options: .withDefaultDictionary(...)`は、`ConvertRequestOptions`を生成し、変換リクエストに必要な情報を指定します。詳しくはコード内のドキュメントコメントを参照してください。 ### `ConvertRequestOptions` `ConvertRequestOptions`は変換リクエストに必要な設定値です。例えば以下のように設定します。 ```swift -let options = ConvertRequestOptions( +let options = ConvertRequestOptions.withDefaultDictionary( // 日本語予測変換 requireJapanesePrediction: true, // 英語予測変換 @@ -64,8 +60,6 @@ let options = ConvertRequestOptions( keyboardLanguage: .ja_JP, // 学習タイプ learningType: .nothing, - // 辞書データのURL(先ほど追加した辞書リソースを指定) - dictionaryResourceURL: Bundle.main.bundleURL.appending(path: "Dictionary", directoryHint: .isDirectory), // 学習データを保存するディレクトリのURL(書類フォルダを指定) memoryDirectoryURL: .documentsDirectory, // ユーザ辞書データのあるディレクトリのURL(書類フォルダを指定) @@ -76,11 +70,10 @@ let options = ConvertRequestOptions( ``` ### `ComposingText` -`ComposingText`は入力管理を行いつつ変換をリクエストするためのAPIです。詳しくは[ドキュメント](./Docs/composing_text.md)を参照してください。 +`ComposingText`は入力管理を行いつつ変換をリクエストするためのAPIです。ローマ字入力などを適切にハンドルするために利用できます。詳しくは[ドキュメント](./Docs/composing_text.md)を参照してください。 ### 辞書データ - -上記のとおり、利用時は、ConvertRequestOptionsの`dictionaryResourceURL`に辞書データのディレクトリのURLを指定する必要があります。辞書データは[Google Drive](https://drive.google.com/drive/folders/1Kh7fgMFIzkpg7YwP3GhWTxFkXI-yzT9E?usp=sharing)からダウンロードすることができます。 +AzooKeyKanaKanjiConverterのデフォルト辞書として[azooKey_dictionary_storage](https://github.com/ensan-hcl/azooKey_dictionary_storage)がサブモジュールとして指定されています。過去のバージョンの辞書データは[Google Drive](https://drive.google.com/drive/folders/1Kh7fgMFIzkpg7YwP3GhWTxFkXI-yzT9E?usp=sharing)からもダウンロードすることができます。 また、以下のフォーマットであれば自前で用意した辞書データを利用することもできます。カスタム辞書データのサポートは限定的なので、ソースコードを確認の上ご利用ください。 @@ -101,5 +94,43 @@ let options = ConvertRequestOptions( - mm.binary ``` +デフォルト以外の辞書データを利用する場合、ターゲットの`dependencies`に以下を追加してください。 +```swift +.target( + name: "MyPackage", + dependencies: [ + .product(name: "KanaKanjiConverterModule", package: "AzooKeyKanaKanjiConverter") + ], +), +``` + +利用時に、辞書データのディレクトリを明示的に指定する必要があります。 +```swift +// デフォルト辞書を含まない変換モジュールを指定 +import KanaKanjiConverterModule + +let options = ConvertRequestOptions( + // 日本語予測変換 + requireJapanesePrediction: true, + // 英語予測変換 + requireEnglishPrediction: false, + // 入力言語 + keyboardLanguage: .ja_JP, + // 学習タイプ + learningType: .nothing, + // ここが必要 + // 辞書データのURL(先ほど追加した辞書リソースを指定) + dictionaryResourceURL: Bundle.main.bundleURL.appending(path: "Dictionary", directoryHint: .isDirectory), + // 学習データを保存するディレクトリのURL(書類フォルダを指定) + memoryDirectoryURL: .documentsDirectory, + // ユーザ辞書データのあるディレクトリのURL(書類フォルダを指定) + sharedContainerURL: .documentsDirectory, + // メタデータ + metadata: .init(appVersionString: "Version X") +) +``` + +`dictionaryResourceURL`のオプションは`KanaKanjiConverterModuleWithDefaultDictionary`モジュールでも利用できますが、バンドルに含まれる辞書リソースが利用されないため、アプリケーションサイズが不必要に大きくなります。デフォルトでない辞書データを利用する場合は`KanaKanjiConverterModule`を利用してください。 + ## SwiftUtils Swift一般に利用できるユーティリティのモジュールです。 From d3190cf01f4d5398edc9398305154969da809eab Mon Sep 17 00:00:00 2001 From: Miwa / Ensan Date: Tue, 20 Feb 2024 01:28:33 +0900 Subject: [PATCH 2/3] fix typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3ab3bec..56b7dad 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # AzooKeyKanaKanjiConverter -AzooKeyKanakanjiConverterは[azooKey](https://github.com/ensan-hcl/azooKey)のために開発したかな漢字変換エンジンです。数行のコードでかな漢字変換をiOS / macOSのアプリケーションに組み込むことができます。 +AzooKeyKanaKanjiConverterは[azooKey](https://github.com/ensan-hcl/azooKey)のために開発したかな漢字変換エンジンです。数行のコードでかな漢字変換をiOS / macOSのアプリケーションに組み込むことができます。 ## KanaKanjiConverterModule かな漢字変換を受け持つモジュールです。 From 21ee628327cdf4ec9b4d2d22ba499cd32424435e Mon Sep 17 00:00:00 2001 From: Miwa / Ensan <63481257+ensan-hcl@users.noreply.github.com> Date: Tue, 20 Feb 2024 18:36:57 +0900 Subject: [PATCH 3/3] Update README.md --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 56b7dad..63f20d6 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,9 @@ # AzooKeyKanaKanjiConverter -AzooKeyKanaKanjiConverterは[azooKey](https://github.com/ensan-hcl/azooKey)のために開発したかな漢字変換エンジンです。数行のコードでかな漢字変換をiOS / macOSのアプリケーションに組み込むことができます。 +AzooKeyKanaKanjiConverterは[azooKey](https://github.com/ensan-hcl/azooKey)のために開発したかな漢字変換エンジンです。数行のコードでかな漢字変換をiOS / macOS / visionOSのアプリケーションに組み込むことができます。 + +## 動作環境 +iOS 14以降, macOS 11以降, visionOS 1以降, Ubuntu 22.04以降で動作を確認しています ## KanaKanjiConverterModule かな漢字変換を受け持つモジュールです。