Module: VivlioStarter::CLI::Lint::MazegakiDictionary

Defined in:
lib/vivlio_starter/cli/lint/mazegaki_dictionary.rb

Overview

交ぜ書きの辞書データ。

Constant Summary collapse

JOYO =

常用漢字で書けるのに、かな書きになっているもの。 多くは 2010 年の改定で常用入りした字(璧・綻・蔽・捏・填・捻・剥・氾・叱・ 勃・漠・癒・捗・惧・箋・醒・稽・斬・嘲・鬱・玩)だが、「搾取」「抵触」の ように元から常用の字でも、公用文の習慣でかな書きが残っている語がある。

{
  '完ぺき'   => '完璧',
  '破たん'   => '破綻',
  '隠ぺい'   => '隠蔽',
  'ねつ造'   => '捏造',
  '補てん'   => '補填',
  'ねん出'   => '捻出',
  'ねん挫'   => '捻挫',
  'はく奪'   => '剥奪',
  'はく離'   => '剥離',
  'はく製'   => '剥製',
  'はん濫'   => '氾濫',
  'しっ責'   => '叱責',
  'ぼっ発'   => '勃発',
  'ばく然'   => '漠然',
  'ゆ着'     => '癒着',
  '進ちょく' => '進捗',
  '危ぐ'     => '危惧',
  '処方せん' => '処方箋',
  '覚せい剤' => '覚醒剤',
  'けい古'   => '稽古',
  'ざん新'   => '斬新',
  'ちょう笑' => '嘲笑',
  '憂うつ'   => '憂鬱',
  'がん具'   => '玩具',
  'いん蔽'   => '隠蔽',
  '氾らん'   => '氾濫',
  'さく取'   => '搾取',
  'てい触'   => '抵触',
  'ちょう躍' => '跳躍',
  'くっ削'   => '掘削',
  '土しゃ'   => '土砂',
  '高とう'   => '高騰',
  '急とう'   => '急騰',
  'たん念'   => '丹念',
  '摩もう'   => '摩耗',
  'らん用'   => '濫用',
  'あて先'   => '宛先',
  'けん盤'   => '鍵盤',
  'ゆう予'   => '猶予',
  'ほう賞'   => '褒賞',
  'ほう章'   => '褒章',
  'うっ積'   => '鬱積'
}.freeze
HYOGAI =

いまも表外漢字で、新聞・放送がかな書きにしているもの。 漢字にするかは文体の選択なので、lint.disabled_rules: [mazegaki] で切れる。

{
  'けん引'   => '牽引',
  'けん制'   => '牽制',
  'けん怠'   => '倦怠',
  'ばん回'   => '挽回',
  'ばん石'   => '磐石',
  'ぜい弱'   => '脆弱',
  'ぜい肉'   => '贅肉',
  'ふ瞰'     => '俯瞰',
  'ふ化'     => '孵化',
  'ふ頭'     => '埠頭',
  'ばく露'   => '曝露',
  'ばく大'   => '莫大',
  'きっ抗'   => '拮抗',
  'とん挫'   => '頓挫',
  'ひっ迫'   => '逼迫',
  'とう汰'   => '淘汰',
  '明せき'   => '明晰',
  '混とん'   => '混沌',
  'ぼう然'   => '呆然',
  'せん孔'   => '穿孔',
  'せん滅'   => '殲滅',
  'せん光'   => '閃光',
  'せん越'   => '僭越',
  'しゅん工' => '竣工',
  'しゅん別' => '峻別',
  'しゅう恥' => '羞恥',
  'へき地'   => '僻地',
  'へき易'   => '辟易',
  'あっ旋'   => '斡旋',
  'あん堵'   => '安堵',
  'あん分'   => '按分',
  'えん罪'   => '冤罪',
  'ひん死'   => '瀕死',
  'まん延'   => '蔓延',
  'ちょう報' => '諜報',
  'ちゅう房' => '厨房',
  'しきい値' => '閾値',
  '宝くじ'   => '宝籤',
  'かい離'   => '乖離',
  'こん包'   => '梱包',
  '収れん'   => '収斂',
  'すう勢'   => '趨勢',
  'すい星'   => '彗星',
  'しん摯'   => '真摯',
  'しん酌'   => '斟酌',
  'じゃっ起' => '惹起',
  'わい小'   => '矮小',
  'わい曲'   => '歪曲',
  'めい想'   => '瞑想',
  'うっ血'   => '鬱血',
  'おう盛'   => '旺盛',
  'いん石'   => '隕石',
  'ごう音'   => '轟音',
  'し烈'     => '熾烈',
  'ひ護'     => '庇護',
  'ばい煙'   => '煤煙',
  'じん肺'   => '塵肺',
  '麻ひ'     => '麻痺',
  '湿しん'   => '湿疹',
  'だ捕'     => '拿捕',
  'き然'     => '毅然',
  'かっ達'   => '闊達',
  'ぜん息'   => '喘息',
  'じょう乱' => '擾乱',
  '潰よう'   => '潰瘍',
  '改ざん'   => '改竄',
  'えん下'   => '嚥下',
  '下かん'   => '下疳',
  '骨髄しゅ' => '骨髄腫',
  # 暦。「うるう」だけを登録すると「うるうる」に当たるので、複合語のまま持つ
  'うるう年' => '閏年',
  'うるう秒' => '閏秒',
  'うるう月' => '閏月',
  'ひな型'   => '雛型',
  'ひな形'   => '雛形',
  'かぎ括弧' => '鉤括弧',
  'てん末'   => '顛末',
  'しゅん巡' => '逡巡',
  'えん曲'   => '婉曲',
  'おう吐'   => '嘔吐',
  'がい然'   => '蓋然',
  'べっ視'   => '蔑視',
  # 「たんぱく」はかな書きだが「質」が漢字なので交ぜ書きに当たる。
  # 新聞は「たんぱく質」、食品表示は「たん白質」と、同じ語に 2 つの形がある
  'たんぱく質' => '蛋白質',
  'たん白質'   => '蛋白質',
  # 「障がい者」は「障がい」だけでも直るが、指摘のラベルを
  # 「障がい者 => 障碍者」と出したいので個別に持つ。同じ行で両方が当たっても、
  # 短いほうは ProseChecker が落とす(長い語に含まれる語は出さない)
  '障がい'   => '障碍',
  '障がい者' => '障碍者'
}.freeze
KANJI_CHOICE =

交ぜ書きではないが、同じ用字の選択に属する言い換え

「碍」は「隔たり」を表す字にすぎない。電柱の碍子——電線を支えながら 絶縁する器具——に使われているとおり、字そのものに負の意味はない。 ところが常用漢字表に「碍」が無いため「障害者」と書かれるようになり、 今度は「害」の字を避けて「障がい者」という交ぜ書きが広まった。 「障碍」と書くのは、その流れを一つ前へ戻して正字に返す選択である。 HYOGAI の「障がい → 障碍」とここは、同じ経緯の表と裏にあたる。

「障害者 → 障碍者」は漢字から漢字への置き換えで、かなが混じっていない。 それでも同じ辞書に置くのは、「障がい → 障碍」を採る著者にとって 「障害者」だけ素通りするのが中途半端だからである。ルール ID を分けない のも同じ理由——disabled_rules: [mazegaki] で切ったのに一部の指摘だけ 残るほうが、著者にとって意外な振る舞いになる。

「障害」全般は対象にしない。「システム障害」「障害物競走」まで書き換わり、 用字の選択ではなく誤りになる。対象は文字列「障害者」に限る。

{
  '障害者' => '障碍者'
}.freeze
GUARDED =

誤検出を避けるため前後を制約した語。制約の理由を各行に残すこと—— 消すと静かに誤検出へ戻る(理由なしで語を足さない)。

{
  /(?<!ん)だ円/                => '楕円', # 「囲んだ円」「読んだ円グラフ」を拾わない
  /ら致(?![しす])/             => '拉致', # 「〜から致します」を拾わない
  /(?<!し)まい進/              => '邁進', # 「〜てしまい進めない」を拾わない
  /こう配(?![らりるれろっ])/   => '勾配', # 「行こう配る」を拾わない
  # 「〜すべき乗り換え」「行くべき乗客」を拾わない。助動詞「べき」は動詞の
  # 終止形(う段)に付くので、その直後だけを外せば数学の「2 のべき乗」は残る
  /(?<![うくぐすつぬぶむる])べき乗/ => '冪乗',
  # 「今日体調を崩した」を拾わない
  /きょう体(?![調験力操格重温裁])/  => '筐体',
  /こう着(?![いき])/           => '膠着', # 「あちらへ行こう着いたら」を拾わない
  /(?<!ま)せん動/              => '扇動', # 「動きません動作が」を拾わない
  /(?<![にもっ])かく乱/        => '攪乱', # 「とにかく乱暴」「せっかく乱れて」を拾わない
  /き損(?![なねじ])/           => '毀損', # 「引き損なう」「聞き損じる」を拾わない
  /き裂(?![くけかこき])/       => '亀裂', # 「引き裂く」「引き裂かれた」を拾わない
  /(?<!ひ)ざ折/                => '挫折', # 「ひざ折り」を拾わない
  /(?<!ま)せん断/              => '剪断', # 「動きません断続的に」を拾わない
  /(?<!最)後じん/              => '後塵', # 「最後じんわり効いてくる」を拾わない
  /は種(?![別類目子])/         => '播種', # 「後書き(99)は種別が」「これは種類が」を拾わない
  /(?<![一-龥])合し/           => '合祀', # 「結合し直した」「統合し直す」を拾わない
  /(?<!な)がい子/              => '碍子', # 「ながい子どもの列」を拾わない
  /(?<![弟調様])子ども/        => '子供', # 「弟子ども」「調子どもう一つ」を拾わない
  /(?<!れ)は虫類/              => '爬虫類' # 「これは虫類ではない」を拾わない
}.freeze
MECAB_ONLY =

MeCab があるときだけ使う語。 前後の制約では救えないが、形態素の境界を 見れば消える——「使う回数」は 使う|回数、「日本語いろは」は 日本語|いろは、 「〜であり患者は」は で|あり|患者 と切れるので、マッチが語をまたぐことがわかる。 正規表現だけの判定では 3 語とも誤検出が残るため ALL には入れない。 実測: 正規表現のみ 4/10 で誤検出、MeCab 併用で 10/10 正解(2026-08-19)。

{
  'う回' => '迂回', # 「使う回数」「行なう回数」「という回答」
  '語い' => '語彙', # 「日本語いろは」
  'り患' => '罹患'  # 「〜であり患者は」
}.freeze
ALL =

検査・置換に使う正規表現へ正規化した辞書

JOYO.merge(HYOGAI).merge(KANJI_CHOICE)
.transform_keys { Regexp.new(Regexp.escape(it)) }
.merge(GUARDED)
.freeze