文字列が康煕部首に自動変換される件(コンピュータ)

文字列が康煕部首に自動変換される件(コンピュータ)


コンピュータの話です。
表題の件について、調べて納得するまで時間がかかったので、備忘録として残しておきます。

2020年夏、東大阪市第3次総合計画のPDFファイル内の文字に異常があるのを見つけた。

このPDFファイルの66ページのタイトル「高齢者の活躍と地域における支えあいの推進」の文字列を、Windowsのアクセサリ「メモ帳」にコピー&ペーストすると、「高」と「支」の文字が小さくなる。下図参照。

「高」と「支」の文字が小さくなる

普通に入力した文字との比較をしてみたのが、次の図である。

普通に入力した文字との比較


バイナリエディタ FavBinEdit 

このメモ帳のファイルを、バイナリエディタ FavBinEdit で表示させたのが次の図である。

バイナリエディタ FavBinEdit で表示させた
(参考)FavBinEdit の入手

FavBinEdit による表示で次のことが分かる。
UTF-8の文字であり、1文字3バイトで構成される。値は次のとおりであった。
小さい「高」の文字:0xE2BEBC
大きい「高」の文字:0xE9AB98
小さい「支」の文字:0xE2BD80
大きい「支」の文字:0xE694AF


文字コードの見分け方

FanBinEditのメニューコマンド>設定>文字エンコード>UTF-8に設定すると、漢字が正当に視認できる(下図参照)。この例では、「長」と「民」である。このことから、この文字コードはUTF-8であると言える。
FanBinEditのメニューコマンド>設定>文字エンコード>UTF-8に設定すると、漢字が正当に視認できる

SJISに設定すると正当な漢字を視認できない(下図参照)。漢字の部分が、見たことの無い文字になっている。ゆえに、SJISでは無いと言える。
SJISに設定すると正当な漢字を視認できない



Unicode対応 文字コード表

Unicode対応 文字コード表によると、下記のとおり、大きい高及び支の文字は、JIS第一水準漢字に含まれることが分かった。小さい文字はヒットしない。

区 点 JIS  SJIS EUC  UTF-8  UTF-16 字
25 66 3962 8D82 B9E2 E9AB98 9AD8   高
27 57 3B59 8E78 BBD9 E694AF 652F   支

Unicode対応 文字コード表による 



Unicode文字ツールの「1文字入力して調べる」で小さい文字を入力してみる。
すると、[Unicode文字番号]として、次の事柄が分かる。
小さい高:U+2FBC
小さい支:U+2F40


The Unicode ConsortiumUnicode 13.0 Character Code Chartsに"Find chart by hex code"という検索窓がある。その窓に、2FBC又は2F40を入力し検索する。
すると、次のPDFファイルが案内される。

unicode.org Kangxi Radicals Range: 2F00–2FDF

2FBC及び2F40の箇所には、小さい高及び小さい支が記されている。

このPDFファイル内には、次のタイトルが記されている。
Kangxi Radicals Range: 2F00–2FDF

Kangxi Radicalsとは、康煕部首(こうきぶしゅ、英語: Kangxi Radicals)である。
部首(ぶしゅ、英語: Radical)とは、漢字を分類する際に用いられる漢字の一部分である。

・康煕部首文字が含まれてしまっている仕掛けについては、次のサイトに解答が載っている。
このサイトに興味深いことが、いろいろ書かれてあるので読んでみれば良い。
「フォントに「メイリオ」を指定してMicrosoft Print to PDF を使って PDF に変換すると再現できる」とのことだ。

・再現性については、次の記事のMurakamiShinyuさんの発言が詳しい。

・この問題については、10年以上前から問題になっていたようである。
 ということは、Adobe側には改修する意思が無いということだね。


康煕部首文字がWordにおいて悪影響を与える記事は次のとおりです。

本記事を基に作成したWordのmacroは次のページにあります。

解決への糸口

プリンターを「Adobe PDF」にして印刷(PDFファイルに出力)すると、本問題が発生するという報告がありました。私は「Adobe PDF」を購入・導入していないため、再現はできません。
私の環境はWindows10 + Wordですが、プリンターを「Microsoft Print to PDF」にして印刷(PDFファイルに出力)すると、問題は発生しません。




社会問題の観点からは次の記事があります。
あなたは、「人権尊重のあり方に目標値を定める」って考え方に納得できますか?
是非、お読み頂きたいです!

以上