<commit_before># redpen-validator

Javascript拡張を利用したRedPenのValidatorです。

## jtfStyleGuideValidator.js

[JTF 日本語標準スタイルガイド
（翻訳用） ](http://www.jtf.jp/jp/style_guide/pdf/jtf_style_guide.pdf)のスタイルに準拠しているかどうかを精査します。現在対応している項目は「2.2.1. ひらがなと漢字の使い分け」の一部のみです。

「複数の表記方法が一般的で、実務文書で頻出する語」はひらがなが正しいとしています。

## termsValidator.js

jtfStyleGuideValidator.jsの元ネタとなっているValidatorです。`terms`配列に登録されている表記の規則を利用して、文章に規則から外れた「ゆらぎ」が含まれているかを精査します。精査方法は正規表現と形態素解析の二つをサポートしています。

### 正規表現による精査

正規表現による精査を行う場合、Terms配列には以下のプロパティを持ったオブジェクトを登録してください。

|項目     |型     |登録内容|
|--------|--------|-------|
|expected|String  |正しい表記|
|pattern　|Array　　|ゆらいでいる表記|
|source　 |String  |規約の原典|

#### 正規表現による精査を行う場合の登録例

```javascript
{
    'expected':'ファイアウォール',
    'pattern':['ファイアーウォール','ファイヤーウォール','ファイヤウォール','ファイヤーウオール'],
    'source':'MyCompany'
}
```

#### 正規表現による精査を行った場合のエラー通知

```
tmp.md:35: ValidationError[JavaScript], [termsValidator.js] 文書規約違反(MyCompany)です。「ファイアーウォール」を「ファイアウォール」に修正してください at line: ファイアーウォール<commit_msg>READMEに2.2.2対応を追加<commit_after># redpen-validator

Javascript拡張を利用したRedPenのValidatorです。

## jtfStyleGuideValidator.js

[JTF 日本語標準スタイルガイド
（翻訳用） ](http://www.jtf.jp/jp/style_guide/pdf/jtf_style_guide.pdf)のスタイルに準拠しているかどうかを精査します。現在対応している項目は以下のとおりです。

- 2.2.1. ひらがなと漢字の使い分け（一部）
    - 「複数の表記方法が一般的で、実務文書で頻出する語」はひらがなが正しいとしています
- 2.2.2. 算用数字と漢数字の使い分け



## termsValidator.js

jtfStyleGuideValidator.jsの元ネタとなっているValidatorです。`terms`配列に登録されている表記の規則を利用して、文章に規則から外れた「ゆらぎ」が含まれているかを精査します。精査方法は正規表現と形態素解析の二つをサポートしています。

### 正規表現による精査

正規表現による精査を行う場合、Terms配列には以下のプロパティを持ったオブジェクトを登録してください。

|項目     |型     |登録内容|
|--------|--------|-------|
|expected|String  |正しい表記|
|pattern　|Array　　|ゆらいでいる表記|
|source　 |String  |規約の原典|

#### 正規表現による精査を行う場合の登録例

```javascript
{
    'expected':'ファイアウォール',
    'pattern':['ファイアーウォール','ファイヤーウォール','ファイヤウォール','ファイヤーウオール'],
    'source':'MyCompany'
}
```

#### 正規表現による精査を行った場合のエラー通知

```
tmp.md:35: ValidationError[JavaScript], [termsValidator.js] 文書規約違反(MyCompany)です。「ファイアーウォール」を「ファイアウォール」に修正してください at line: ファイアーウォール
{'fraction_non_alphanumeric': 0.1618811881188119, 'fraction_numerical': 0.007920792079207921, 'mean_word_length': 6.4575645756457565, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5116474', 'n_tokens_mistral': 1440, 'n_tokens_neox': 1400, 'n_words': 78}