Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ローマ字変換ルールを設定ファイル化 #96

Merged
merged 13 commits into from
Jan 20, 2024
Merged

ローマ字変換ルールを設定ファイル化 #96

merged 13 commits into from
Jan 20, 2024

Conversation

mtgto
Copy link
Owner

@mtgto mtgto commented Jan 14, 2024

#93 の第一段。Bundleに設定ファイル kana-rule.conf を追加し、このファイルでローマ字変換ルールを定義するようにします。
まだ独自の設定ファイルは読み込めません。後続Pull Requestにします。

これまでシフトを押しながら入力する記号が変換可能なルールに入ってなかったため不要だった分岐が増えています。
例えば z+( で全角のカッコを入力できるようにする設定があるとき、カッコを入力するために押しているシフトキーはかな入力開始や送り仮名入力開始の意味はもたせないようにする分岐を追加しています。

we,うぇ
va,う゛ぁ,ヴァ,ヴァ
vi,う゛ぃ,ヴィ,ヴィ
vu,う゛,ヴ,ヴ
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

このルールではvuをう゛にしているけど、ゔで上書きすることもできる。
強い意思はなく、AquaSKKだと「う゛」だったので二文字にしたような気がします。

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

カタカナモードでVuと打ってからqを打つとひらがなに変換される。
そのときの変換ルールは特別に固定で「う゛」に変換しちゃってるのでこっちも設定ファイルのルールを見るようにしようかな。

func toHiragana() -> String {
// 「ゔ」は使わないほうが主流と思われるため特別扱いしてる
guard
let converted = replacingOccurrences(of: "", with: "う゛").applyingTransform(
.hiraganaToKatakana, reverse: true)
else {
fatalError("ひらがなへの変換に失敗: \"\(self)\"")
}
return converted
}

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

レアケースでローマ字変換ルールでひらがなとカタカナと半角カタカナを完全に違う文字列で登録している場合、qキーで変換するときにはそのルールによらずmacOSのAPIでかなカナ変換すると違和感があるかもしれない?
そんな設定する人はレアだろうからそのようなケースを救うまではやらないでよさそう。

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

String#toHiragana() はそもそも使われてなかった。 3b1be09

@mtgto mtgto merged commit 2e4f6cd into main Jan 20, 2024
2 checks passed
@mtgto mtgto deleted the kana-rule branch January 20, 2024 06:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant