/textlint-rule-no-nfd

textlint rule that disallow to use NFD well-known as UTF8-MAC 濁点.

Primary LanguageTypeScriptMIT LicenseMIT

textlint-rule-no-nfd Actions Status: test textlint rule

textlint rule that disallow to use NFD like UTF8-MAC 濁点.

ホ゜ケット エンシ゛ン

といったMac OS XでPDFやFinderからのコピペで問題となる濁点を見つけて、修正するtextlintルールです。

Install

Install with npm:

npm install textlint-rule-no-nfd

Usage

Via .textlintrc(Recommended)

{
    "rules": {
        "no-nfd": true
    }
}

Via CLI

textlint --rule no-nfd README.md

Fixable

textlint rule

textlint --fix での自動修正に対応しています。

Example

゜or \u309a

NG: ホ゜ケット
  : ホ\u309aケット
OK: ポケット

゛or \u3099

NG: エンシ゛ン
  : エンシ\u3099ン
OK: エンジン

Changelog

See Releases page.

Running tests

Install devDependencies and Run npm test:

npm i -d && npm test

Further Reading

2種類の濁点

以下はそれぞれ単独で存在できるVOICED SOUND MARK

もう一つは、Combining Characterと呼ばれる結合する前提のCharacter(単独では存在できない)がある。

  • \u3099
    • e.g.) ホ\u309aケット
  • \u309a
    • e.g.) エンシ\u3099ン

combining-character.png

via Unicodeの特殊な文字 “結合文字列” | ものかの

これらのそれぞれをチェックし、normalizeする。

String.prototype.normalize()は、Combining Characterに対してのみ有効で、 単独で存在できる゜\u309bと゛\u309cは置換することでnormalizeする。

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

Author

License

MIT © azu