必要に駆られて作ったのですが、理由は「行政などが公開しているPDF(仕様書)が使い物にならない」からです。
間違いもあるかもしれませんが、文字情報定義ファイルはgithubで公開していますので、よろしければご活用下さい。
JIS X 0213判定や常用・人名用漢字判定等も入っています。
https://github.com/68B09/CharacterInformation
以下は「PDFが使い物にならない」理由などです。
国税庁などへの申請・届出を行うプログラムを作ろうとしたとき、例えばe-Tax/NISAでは使用可能な文字が決まっているので使用不可の文字は排除しておく必要があります。
この「文字」をチェックするためには使用可能な文字もしくは使用不可能な文字の一覧が必要ですが、例えば国税庁からは下記URLから入手出来ます。
https://www.e-tax.nta.go.jp/tetsuzuki/tetsuzuki7.htm
上記から入手したPDFを見てみればわかると思いますが、使用可能な文字(背景:白)と使用不可の文字(背景:灰色)が混在している「目視用」の表が載っているだけのPDFです。
例えばプログラム作成者が使用可能な文字を並べた checkStr = “…亀亂亅了 … “; という文字列を定義しようと思った場合、PDFファイルから1文字ずつ (数千文字を) 根気よく 取り出す必要がありますが、そんな作業をやってられますか?
しかもPDFビューアである「Adobe Acrobat Reader」を使用したことがある方はわかると思いますが、文字、特にASCII以外の文字はクリップボードに転送すると文字化けを起こしてしまうことがあるため、根気以前に精度が悪くて信用出来ません。
そもそも プログラムでは文字を「コード」で扱うため、例えば「 了 」等ではなく「U+4E86」などのコードが記載された一覧(テキストファイル)が欲しいのです。
そこで「PDF内の文字コード(コードポイント)しか信用できない」という前提で、PDFを見ながら背景が白になっているコードのみを抽出して作成したのが文字情報定義ファイルです。
(愚痴)コンピュータシステムに係わる人は「PDFは印刷用のフォーマットであって情報交換用フォーマットでは無い」という意識を持つ必要があると思います。
仕様策定者がコードを記したテキストファイルを公式に公開していれば本ファイルは必要なかったはずで、多くの人が無駄なうえに精度の悪い作業をしなくて済んだはずです。