textlint-rule-ja-unnatural-alphabet
不自然なアルファベットを検知するtextlintルール。
IMEの入力ミスによるtypoを見つけるルールです。
{日本語}{アルファベット}{日本語}
のように不自然な形でアルファベットが登場した場合をチェックしていないかをチェックしています。
Example
OK:
リリース
aiueo
This is pen.
NG:
リイr−ス
対応でkない
Install
Install with npm:
npm install textlint-rule-ja-unnatural-alphabet
Usage
Via .textlintrc
(Recommended)
{
"rules": {
"ja-unnatural-alphabet": true
}
}
Via CLI
textlint --rule ja-unnatural-alphabet README.md
Options
allow
: string[]
- 無視するアルファベットや単語の配列
- デフォルト:
["a", "i", "u", "e", "o", "n", "/[A-Z]/"]
- デフォルトでは母音とn、大文字のAからZを例外として取り除いている
"/正規表現/"
のようなRegExp-like Stringもサポートしています
{
// 無視するアルファベット
// 例) ["r"]
// デフォルトでは母音とn、大文字のアルファベットを除外
// 単独の大文字のアルファベットは入力ミスでは発生しにくため
"allow": [
"a", "i", "u", "e", "o", "n",
"/[A-Z]/"
],
// ビルトインの典型例を除外するかどうか
// 例) C言語
"allowCommonCase": true
}
allow
: string[]
allow
オプションには、エラーとしたくない文字列またはRegExp-like Stringを指定できます。
RegExp-like Stringは/
と/
で囲んだ正規表現ライクな文字列です。詳細は次を参照してください。
たとえば、アンドロイドnを購入する
という文章は{日本語}{アルファベット}{日本語}
のルールに該当するためエラーとなりますが、allow
オプションではエラーを無視するように設定できます。
{
// 無視する設定を追加
"allow": [
"アンドロイドn"
]
}
同様にRegExp-like Stringを使うことで、allow
オプションに正規表現のような指定が可能です。
:warning: RegExp-like Stringは文字列で正規表現リテラルを書くため、\d
のような特殊文字は"\\d"
とエスケープする必要があります。
次の設定はアンドロイド{アルファベット}
は問題ないとしてエラーにしません。
{
"allow": [
// RegExp-like String は `/` と `/` で囲む
"/アンドロイド[a-zA-Z]/"
]
}
参考文献
(3) 不自然なアルファベット
- 1文字のみのアルファベットが日本語中に現れた場合に検出対象とする
- 大文字は、略記号などを意識して入れている可能性がある
- このミスでは母音(
aiueo
)は発生しないので除く
n
も多くの場合には、ん
となるため除く
CiNii 論文 - 日本語文章校正ツール"Chanterelle" : 入力ミス及び表記揺らぎについてより
Changelog
See Releases page.
Running tests
Install devDependencies and Run npm test
:
npm i -d && npm test
Contributing
Pull requests and stars are always welcome.
For bugs and feature requests, please create an issue.
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request :D
Author
License
MIT © azu