2023-07-23 18:49:04 +09:00
2023-08-16 18:43:43 +09:00
2023-07-23 00:34:27 +09:00
2023-07-23 00:35:53 +09:00
2023-07-23 18:48:20 +09:00
2023-08-07 00:20:05 +09:00

AzooKeyKanakanjiConverter

azooKeyのかな漢字変換モジュールを切り出したライブラリです。

KanaKanjiConverterModule

かな漢字変換を受け持つモジュールです。

セットアップ

  • Xcodeprojの場合、XcodeでAdd Packageしてください。

  • Swift Packageの場合、Package.swiftのPackageの引数にdependencies以下の記述を追加してください。

    dependencies: [
        .package(url: "https://github.com/ensan-hcl/AzooKeyKanaKanjiConverter", from: "0.1.0")
    ],
    

    また、ターゲットのdependenciesにも同様に追加してください。

    .target(
        name: "MyPackage",
        dependencies: [
            .product(name: "KanaKanjiConverterModule", package: "AzooKeyKanaKanjiConverter")
        ],
    ),
    
  • Google DriveからazooKeyの辞書をダウンロードする必要があります。最新のバージョンのフォルダの中にある「Dictionary」というフォルダを右クリックし、フォルダごとダウンロードします。ついで、本モジュールを利用するアプリケーションのリソースとして配置してください。

Important

リソースを追加する際、Folder Referenceをコピーしてください。AzooKeyKanaKanjiConverterはフォルダ構造が存在することを前提に動作します。

使い方

import KanaKanjiConverterModule

// 変換器を初期化する
let converter = KanaKanjiConverter()
// 入力を初期化する
var c = ComposingText()
// 変換したい文章を追加する
c.insertAtCursorPosition("あずーきーはしんじだいのきーぼーどあぷりです", inputStyle: .direct)
// 変換のためのオプションを指定して、変換を要求
let results = converter.requestCandidates(c, options: ConvertRequestOptions(...))
// 結果の一番目を表示
print(results.mainResults.first!.text)  // azooKeyは新時代のキーボードアプリです

ConvertRequestOptionsは、変換リクエストに必要な情報を指定します。詳しくはコードに書かれたドキュメントコメントを参照してください。

ConvertRequestOptions

ConvertRequestOptionsは変換リクエストに必要な設定値です。例えば以下のように設定します。

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")
)

ComposingText

ComposingTextは入力管理を行いつつ変換をリクエストするためのAPIです。詳しくはドキュメントを参照してください。

辞書データ

上記のとおり、利用時は、ConvertRequestOptionsのdictionaryResourceURLに辞書データのディレクトリのURLを指定する必要があります。辞書データはGoogle Driveからダウンロードすることができます。

また、以下のフォーマットであれば自前で用意した辞書データを利用することもできます。カスタム辞書データのサポートは限定的なので、ソースコードを確認の上ご利用ください。

- Dictionary/
  - louds/
    - charId.chid
    - X.louds
    - X.loudschars2
    - X.loudstxt3
    - ...
  - p/
    - X.csv
  - cb/
    - 0.binary
    - 1.binary
    - ...
  - mm.binary

SwiftUtils

Swift一般に利用できるユーティリティのモジュールです。

Description
No description provided
Readme MIT 2.5 MiB
Languages
Swift 78.6%
C 13.3%
C++ 8%
Shell 0.1%