文字の図形とコードの関係を調べる

【目次】

[1]はじめに

以前、『法人番号公表サイトのWeb-APIを利用した法人情報の取得と文字の取扱い』という記事を書いたときから「文字」のことが少し気になっていました。

コンピュータで表示できない文字がいっぱいあることは分かっていましたが、これまで PC や社内システムに閉じた「外字」として扱ってましたので、あまり深く考えていませんでした。

加えて、私は国語嫌いだったこともあって、文字とか漢字とか面倒な世界は意図的に遠ざけていた気がします。

しかし、PC あるいは社内で閉じた利用に限れば外字は使えても、他のシステムとの情報交換には使えません。特にDX時代において「外字」はかなり問題です。

文字に無関心だった私は、難しい漢字を簡単な漢字に置き換えて(縮退して)情報交換すればいいのでは?と簡単に思っていましたが、今頃になってそんなに簡単ではないことが分かってきました。

そして、ボチボチ調べ始めていたのですが、奥が深すぎて自分の頭の中が混乱し始めたので(涙)、このあたりで自分の頭の整理をかねてメモ書きしておくことにしました。

ちなみに、今回は文字とは?といった話ではなく、また、文字コード規格の話でもありません。どちらかというと、文字の図形と文字コードの間を結び付けるところの話です。

[2]行政における外字の情報表現の例

まずは外字の情報交換がどのように扱われているのか、行政関係の仕様を例に見てみます。

(1)マイナンバーカードに格納される署名用電子証明書の氏名、住所

マイナンバーカードには、氏名、住所、生年月日、性別の4情報が記載された「署名用電子証明書」が格納されています。

仕様書によると、氏名、住所の記載は以下のようになっています。
  • JIS 第 1 水準、第 2 水準、補助漢字以外の文字は代替文字に変換

代替文字は、公的個人認証サービス ポータルサイト(https://www.jpki.go.jp/faq/word.html)の用語の説明で、以下のように説明されています。
  • 住民基本台帳の氏名または住所が電子証明書に記載するコード取扱範囲外の場合は、コンピュータでの表示に類似の字形を指定し、代替文字として登録します。なお、類似字形の文字に不服の場合は、代替文字を変更して登録することは可能ですが、いずれの代替文字も選択されない場合は、署名用電子証明書を発行することはできません。

ネットで検索すると代替文字の一覧がいろいろと出てきますが、不服の場合は代替文字を変更できる、というのも気になります。漢字の縮退関係が機械的に決まらないという事でもあるし、元の字形が何なのか正確には分からないという事でしょうか。

なお、マイナンバーカードの署名用電子証明書へのアクセスについては、以下の記事も参考にしてください。

(2)法人番号公表サイトの法人情報

国税庁の法人番号公表サイトでは、法人番号の指定を受けた者の基本3情報(1.商号又は名称、2.本店又は主たる事務所の所在地、3.法人番号)を公表しています。

登記情報をもとに会社の名前や所在地が公表されますので、会社や所在にも外字を含んでいる可能性があるのですが、これは法人番号公表サイトでは以下の扱いになってます。

  • 文字の取扱い
    • 法人の商号及び所在地には、JIS第一・第二水準以外の文字が使用されている場合があります。 このサイトでは、利用者のシステムで二次活用が容易にできるよう、該当する文字をJIS第一~第四水準の文字及びJIS第一・第二水準の文字に縮退し、データを提供しています。
    • なお、該当文字の登記記録等における表記を確認したい場合、該当する法人を検索し、検索結果に表示される「外字」ボタンをクリックすることにより、該当文字の登記記録等における表記が画面に表示されます。
  • JIS縮退マップ
    • このサイトで法人の商号又は名称、所在地の情報にJIS第三・第四水準の文字が含まれている場合、利用者が使用するパソコン・タブレット・スマートフォンの環境により、入力や表示ができないといった問題が生じることがあるため、約1万文字のJIS X 0213(JIS第一~第四水準)とJIS X 0208(JIS第一・第二水準)の文字との対応関係を整理したものです。
    • なお、縮退先がない文字は、「_(アンダーバー)」に置き換えしています。

このJIS縮退マップは国税庁の著作物ではありますが、公開仕様に基づいた変換ということです。但し、全ての文字を縮退できないことが分かります。

上記の仕様説明は以下のサイトにあります。

[3]汎用電子情報交換整備プログラム

文字が代替できるなら、なぜ世の中の文字を全て代替文字で置き換えないのか?とか、逆にコンピュータで扱える文字数が少なすぎるのか?(世に文字と言われるものは本当はどれくらいあるのか?)、そもそも文字と言われるものは何なのか?など、いろいろな疑問がわいてきました。

しかし、漢字に疎い私が漢字の専門書から調べ始めるのはあまりに敷居が高いので、コンピュータと文字の関係に絞って調べはじめたところ、以下の資料を見つけました。


「汎用電子情報交換環境整備プログラム」は経済産業省委託の調査研究で、国立国語研究所、情報処理学会、日本規格協会がそれぞれの特性を活かして参加したものです。

この資料は私のような文字に疎い初心者にとっても読みやすく、文字に関する問題の理解が少し進みました。

特に私が印象に残ったところを要約します。
  • 行政文字
    • 住民基本台帳ネットワーク統一文字、戸籍統一文字、登記統一文字がどのようなものかの概要。
    • 文字集合内の全ての文字が行政実務で使われているとは限らないこと。
    • 漢字ばかりではなく、主に人名で変体仮名を扱う必要があり、さらに外国人の増加にともなって漢字文化圏の漢字も視野に入れる必要がある。
  • 文字同士の関係(同字であるか別字であるか)
    • 文字の形の単位は、<字種>ー<字体>ー<字形>の3段階で考えることができる。
    • 文字の対応を考えるとき「字体」のレベルで考えることが理想的である。
      • 実現系である字形のレベルになると無限のパターンを扱う必要があるため。
    • 一方で行政処理の実務では、人名・地名・法人名などの固有名を扱うため「字形」の微差も維持されている。

登記統一文字の文字数が6万8千のオーダーという理由もなんとなくは分かりましたが(ちなみに JIS 2004レベルで1万1千のオーダー)、さらに増える可能性もあるとは…

グリフとか文字コードの定義は書籍などで知っていても、よく考えて見ると、自分が何を基準に同字か別字かを判断しているのか分からず、定義が示していることの理解が不安になります。(定義の文言以上には深入りしないことが健全だという気もしますが(笑))

ということで、当初の UNICODE 規格の理想(理念?)とは程遠い現実がある事を実感します。

ところで、この「汎用電子情報交換環境整備プログラム」にはその他にもいろいろと資料があるようですが、ここで深堀しすぎると前に進めないので、今はここまでとしてます。

[4]文字情報基盤

文字が多いことは理解したところで、具体的に行政で扱われる文字にはどのようなものがあるのか知りたくなりました。

そこで、以前から存在は知ってはいたものの、スルーしていた IMI(Infrastructure for Multilayer Interoperability:情報共有基盤) の文字情報基盤を見てみることにしました。

これは行政で用いられる人名漢字等約6万文字の漢字を整備するプロジェクトです。

しかし「令和2年8月25日より、文字情報基盤の情報提供は一般社団法人文字情報技術促進協議会のサイトから提供されています」とのことでしたので、こちらを参照します。

このサイトを見ると、いろいろな調査研究の集大成のようなもので凄いです。

特に、MJ文字情報一覧表とIPAmj明朝フォントをダウンロードして、5万8千文字強の文字の一覧を眺めて驚きました。

図形(フォント)と JIS、UCSとの対応だけでなく、住基ネット統一文字コードや戸籍統一文字などの行政の文字との対応、漢和辞典との対応まで整理されています。

これを漢字と言っていいのか?とか、違いが全く分からないとか(笑)、眺めるだけでもなかなか楽しいものです。(微細な字差がどのようなものか分かりましたが、文字の量が多すぎて途方に暮れてしまいました。)

なお、文字一覧やフォント以外にも、異字体や、国税庁 法人番号公表サイトの縮退マップの元であるMJ縮退マップ、MJ文字情報一覧表の内容をWebで検索できるシステムなどもあります。

(参考)MJ文字情報一覧表をダウンロードして見るときの留意事項

MJ文字情報一覧表は以下のサイトからダウンロードできます。

ダウンロードしたファイルを解凍すると Excel ファイルがありますので、これを開けばよいだけなのですが、ハマりポイントかもしれない点を補足しておきます。
  • fontのカラムで正しい字形を表示するためには、IPAmj明朝フォントが必要です。以下のサイトからダウンロードしてインストールしておきます。
    • IPAmj明朝フォント
    • なお、同じサイトにIPA・IPAexフォントも提供されていますが、一覧表のすべての文字を正しく表示するには IPAmj明朝フォントをインストールする必要があります。
  • MJ文字情報一覧表には「変体仮名編」もあります。
    • 私は見落としていたのですが、MJ文字情報一覧表のダウンロードページに「変体仮名編」のタブがあります。こちらから変体仮名の一覧表をダウンロードできます。
    • IPAmj明朝フォントは変体仮名も含んでいますので、変体仮名編を見る場合もIPAmj明朝フォントをインストールしておく必要があります。
  • Excelにフォントを使って文字が表示できているという事は、Unicodeで文字をポイントしているということですが、これには IVS が利用されている文字もあります。
    • このため、IVS とそれに対応するフォントをサポートしていない他のソフトに異字体を含む文字列をカット&ペーストしても正しく表示できません。
    • なお Word や Excel は IVS に対応しているので、異字体を含む文字列をカット&ペーストしてIPAmj明朝フォントを選択すれば表示できます。

異字体の扱いについては、プログラミングの観点などからいろいろ思うところもあるので、いつか記事化したいなと思っています。

[5]戸籍統一文字情報の検索サイト

続いてMJ 文字一覧にも記載がある戸籍統一文字について少し見てみました。
戸籍統一文字情報は Web 上の検索システムを利用できます。

但し、これは検索システムなので、MJ文字情報一覧表のように全体をスクロールしながら見るような用途には使えず、読みや部首、文字コードなどの条件を指定して検索することになります。

ただ、私には読みを知らない漢字ばかりだし(笑)、画数も不安だし、私のような漢字が苦手な人には検索条件を入力することが難しいです(涙)。

そこで、MJ文字情報一覧表に書かれている戸籍統一文字番号を参考にして、戸籍統一文字番号で検索して、文字を見て楽しんでいると、ある事に気づきました。

Wkipedia の戸籍統一文字には以下のような記述があります。
  • 数字6桁で「000010」から10ずつの繰り上がりで番号を付番した6桁の番号のことである。
  • 戸籍統一文字が5万6040字(5万5267字の漢字のほかに、平仮名・片仮名・変体仮名・括弧類・ラテン文字・ギリシア文字・キリル文字・アラビア数字などの非漢字が773字)

この規則に従うと、漢字の番号は 552670 まであることは分かるのですが、552680 で検索してもありました(笑)。

ちなみに、MJ文字情報一覧表には 552710 まであります。

どれくらいあるのかとざっくり調べてみると、何と 561790 まで見つかりました。

番号の付番規則によれば、本ブログを書いている時点で漢字が 56,179 文字ある事になります。(Wikipedia に記載されている文字数から約1,000文字くらい増えてます。)

これとは別に、MJ文字情報一覧表の「変体仮名編」にも戸籍統一文字番号が関係付けられています。

これは 900010 から始まっていますので、同様に後続の番号を探してみると 908610 まで見つかります。つまり、非漢字が 860 文字あるようです。(こちらも Wikipedia に記載されている文字数から約 100 文字増えてます。)

よく見ると、Wikipedia に戸籍統一文字の追加に関する記述があり、実際に文字の追加が運用されていることを実感しました。

[6]道のりは長い(文字は生きている?)

いろいろと調べ始めているのですが、まだ文字コードと文字図形の対応付けがちゃんと理解できない、というか、文字って何?ということが分からなくなってきました(笑)。

何だか触れてはいけない世界に触れている気がしています…

思うに、文字はコミュニケーションのツールと考えれば、お互いが合意している図形であれば、それを文字として考えることもできそうです。似たような図家(文字)でも、同じと決めれば同じと判断できるし、違うと言えば違います。

そう考えると、漢字(図形)が大昔からどのように共通の認識を持つに至ったのか興味が湧きます(今は調べませんけど)。

また、特に日本における漢字の利用実態を考えると、共通規格として文字にコードを割り振るというのは、相当難しい問題であることが分かります。包摂基準はあるにしても…

一方で、絵文字も UNICODE の規格に入る時代だし(その意味でも絵文字は凄いと感じます)、意味を深く考えるより、実用面を中心に考えたほうが理解しやすいかも、と思ったり。

さらに、手書きだと画数の少ない文字に簡略化して書きたくなりますが、IMEを利用すると画数はあまり関係なく、自分としてはローマ字入力しやすい文字を入力したくなる傾向も考えたりすると、よく使われる文字も時代によって変わる可能性もありそうです。

その意味でも、文字は生きてるなーと思いました。

その他にも、
のような面白そうな情報を見つけはしたものの、何をどこから手を付けていいのかよくわからない状態なので、今回はここまでとして、ボチボチ理解を深めて、またいつか続きをかけたらいいなと思います。

コメント

このブログの人気の投稿

Google Document AIで画像から表形式データを抽出する(Vision API OCRとの違い)

VirtualBoxのスナップショット機能

Ubuntu/Colab環境でPDFファイルのページを画像化する(pdf2image、pdftoppm、pdftocairo)