PIYO - Tech & Life -

textlintでテキスト校正くんのように表記揺れの指摘を行うには

ひとつ前の記事ではtextlintの結果をEmacs上で確認できるようにしました。 次はテキスト校正くんが持っている、用語の表記や漢字の開き方に関する指摘の機能の部分を導入します。

textlint-rule-prhの導入

下準備としてtextlint-rule-prh導入します。 textlint-rule-prhprhという日本語の自動校正ツールをtextlintから使うための仕組みです。

GitHub - textlint-rule/textlint-rule-prh: textlint rule for prh.
textlint rule for prh. Contribute to textlint-rule/textlint-rule-prh development by creating an account on GitHub.
GitHub - prh/prh: proofreading helper
proofreading helper. Contribute to prh/prh development by creating an account on GitHub.

prh自体が自動校正ツールとしての側面があるものの、おそらく汎用的に使える作りにはなっていません。 textlintのルールにすることで汎用的になっているのだと思われます。

前の記事の例ではtextlintをグローバルにインストールしていますので、textlint-rule-prhもグローバルに入れてしまいます。

% npm install -g textlint-rule-prh

textlint-rule-preset-icsmediaの導入

続いてテキスト校正くんの内部で使われているtextlint-rule-preset-icsmediaを導入します。

GitHub - ics-creative/textlint-rule-preset-icsmedia: ics.media で利用されているテキストリントのルールです
ics.media で利用されているテキストリントのルールです. Contribute to ics-creative/textlint-rule-preset-icsmedia development by creating an account on GitHub.

こちらもグローバルに。

% npm install -g textlint-rule-preset-icsmedia

そして今入れた2つを使うように.textlintrcを更新します。"prh: "としている箇所がそれです。

{
    "rules": {
        "preset-ja-technical-writing": true,
	"prh": {
	    "rulePaths": ["/usr/local/lib/node_modules/textlint-rule-preset-icsmedia/dict/prh.yml"]
	}
    },
}

prhにはルールを記述したファイルが置かれたパスを書きます。

具体的ルールは↓のURLを見ていただくとわかります。 このプリセットでは複数ファイル分のルールが有効になっています。

https://github.com/ics-creative/textlint-rule-preset-icsmedia/tree/master/dict

たとえばファイルprh_web_technology.ymlには次のような記述があり、GitHubとすべき箇所の表記揺れに指摘をいれてくれるようになります。

rules:
  - expected: GitHub
    patterns:
      - Github
      - github
      - Git Hub
      - git hub

応用できそう

prhのルール記述は割と簡単なので、オリジナルのルールの追加も容易そうです。 自分が間違えやすいタイポや書き間違いがある方はルールとして追加しておくと良さそうです。