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

ローマ字変換ルール設定ファイル通りに変換されない(未確定状態のままであるべきローマ字が確定される) #264

Open
NaokiMatsuzaki opened this issue Jan 2, 2025 · 3 comments
Labels
bug Something isn't working

Comments

@NaokiMatsuzaki
Copy link

macSKK のバージョンは 1.6.1 、 macOS のバージョンは 15.2 です。

キーバインドに "0", "1", "O", "L" のいずれも含まれない状態にしました。
下記のローマ字変換ルールを使用しました。
kana-rule.conf

# -*- coding: utf-8 -*-
0o,0
0l,1
00,0
01,1

未確定ローマ字が空の状態で "0l" と入力しました。確定文字列が "1" で未確定ローマ字が空となるべきところ、確定文字列が "0" で未確定ローマ字が "l" となりました。未確定状態となるはずの "0" が確定文字になっています。

次に、キーバインドに "N", "'" のいずれも含まれない状態にしました。
下記のローマ字変換ルールを使用しました。
kana-rule.conf

# -*- coding: utf-8 -*-
n,ん
n',ん
nn,ん

ひらがなモードにして、未確定ローマ字が空の状態で "n" を入力しました。確定されずに "n" が未確定ローマ字となるべきところ、 "ん" が確定され、未確定ローマ字が空になりました。

参考までに、他のSKKのローマ字変換ルールのリンクを列挙します。いずれも上の3つに対応するルールを含んでいますが、問題なく変換できました。

AquaSKK
https://github.com/codefirst/aquaskk/blob/master/data/config/kana-rule.conf#L131

CorvusSKK
https://github.com/nathancorvussolis/corvusskk/blob/master/installer/config-sample/config%20-%20roman.xml#L435

UimSKK
https://github.com/uim/uim/blob/master/scm/japanese-custom.scm#L226

Daredevil SKK
https://github.com/skk-dev/ddskk/blob/f81ed803e617ccd8175d4bf57a3062bc5ffe1945/skk-vars.el#L792

@NaokiMatsuzaki NaokiMatsuzaki changed the title ローマ字変換ルール設定ファイル通りに変換されない(未確定のままであるべきローマ字が確定される) ローマ字変換ルール設定ファイル通りに変換されない(未確定状態のままであるべきローマ字が確定される) Jan 2, 2025
@NaokiMatsuzaki
Copy link
Author

無連想漢字直接入力 TUT-Code の Dvorak 配列用のローマ字変換ルールを使用したところ、変換できない文字がありました。原因は本件と同様に、1文字目の記号が未確定ローマ字にならずに確定されたためと考えられます。なお、アルファベットで始まるルールは、最終文字が記号であっても変換されました。
kana-rule.conf (一部抜粋)

# -*- coding: utf-8 -*-
' ,“
'g,ゆ
'h,よ
'ng,ゅ
'nh,ょ
'nt,ゃ
't,や
, ,〒
,c,み
,d,め
,g,む
,h,も
,t,ま
. ,ー
.c,き
.d,け
.g,く
.h,こ
.n.d,ヶ
.n.t,ヵ
.nc,ぎ
.nd,げ
.ng,ぐ
.nh,ご
.nt,が
.t,か
; ,〆

@mtgto
Copy link
Owner

mtgto commented Jan 3, 2025

報告ありがとうございます。

未確定ローマ字が空の状態で "0l" と入力しました。確定文字列が "1" で未確定ローマ字が空となるべきところ、確定文字列が "0" で未確定ローマ字が "l" となりました。未確定状態となるはずの "0" が確定文字になっています。

macSKK v1.6.1では一文字目がアルファベットでない文字がローマ字かな変換ルールの一部として登録されていても無視してしまうという不具合が原因だと調べてわかりました。

例えば次のローマ字かな変換ルールが設定されているとします。

# -*- coding: utf-8 -*-
0o,0
0l,1
00,0
01,1

この場合、ひらがなモード 0 だけを押したときには 0 に下線が引かれてあと一文字入れることで確定する状態になることが望ましいと思われます。ですが実際は 0 が確定した文字列として入力されてしまっています。
これはローマ字かな変換ルールのカスタマイズを入れた時点で想定していなかった設定方法でした (私が普通のヘボン式で入力しており、アルファベットや記号以外を複数文字使う入力を設定することを想定してなかった)。
対応します。


ひらがなモードにして、未確定ローマ字が空の状態で "n" を入力しました。確定されずに "n" が未確定ローマ字となるべきところ、 "ん" が確定され、未確定ローマ字が空になりました。

これはmacSKKが"n"と"na"のようにある変換ルールが別の変換ルールをprefixとして含む場合を想定していなかったためですね…。
n,ん を標準ルールとして追加しようと思いますが、現状 n + 子音 が入力されたときに "ん" を確定する実装にしているのでちょっと修正に時間がかかるかもしれません。

@NaokiMatsuzaki
Copy link
Author

どうもありがとうございます。これまで独自のローマ字ルールを他のSKK環境で使い回してきましたが、ローマ字ルールの一文字目にアルファベットでない文字が使えるようになれば、macSKKでも同じように使えそうです。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants