Delphi Programming / Object Pascal
サイトのトップページへ リンクのページへ ロゴマーク
[掲載 2023年02月22日] [更新 2023年05月04日] Delphi 一般・その他 [未分類 - OS の操作等]
   
読みが不明な漢字をウェブで検索
動作確認等 Windows 10 ビルド 19043 Pro 64 bit
[整理番号 - 1830]







文字情報基盤検索システムを使用して漢字を検索


IPAmj明朝フォントを提供している文字情報技術促進協議会 では,ウェブサイトに [文字情報基盤検索システム] を公開しています.本ページは,その漢字検索システムの使用方法についての記事です.



[文字情報基盤検索システム] には [簡易検索] と [詳細毛検索] があります.今回利用するのは下図の [詳細検索] です.[詳細検索] を使用すると,超漢字のような,「部品」を使用した漢字検索ができ,読み (「読み方」ではない) が分からない漢字を検索することがてぎます.




図1

[備考 1]
本ページでは,随所でウェブサーバにある IPAmj明朝フォントを読み込んで表示しています.そのため,文字が IPAmj明朝フォントの表示になるまで時間がかかります.
システムに,[全てのユーザーに対してインストール] で IPAmj明朝フォントをインストールしている場合は,この現象は発生しません.インストールされているフォントを使用して表示します.


[備考 2]
ネット上iには,「瞬時に検索」とか「一発で検索」という記事がありますが,本ページで説明している方法を使用しても,そのようなことはありません.ある程度の手間が必要です.
ある程度の手間がをかけても,部首だけによる検索,あるいは部首と文字の画数による検索よりも,効率の高い検索結果が期待できます.





01_文字情報基盤検索システム - 詳細検索の使用方法


簡単な漢字で使用方法を確認します.
「明」という漢字は「日」という文字と「月」という文字を使用しています.この 2 つの文字を使用している漢字を調べてみます.


    明

以下のリンクをクリックして [詳細検索] のページを表示します.



[要素図形] の下の入力欄に「月」と「日」を入力します.順番は問いません.文字と文字の間に空白があっても買いません.空白は自動的に削除されます.入力したら,上の [検索] ボタンをクリックします.

「明」には「月」という字形がありますが,日へん にちへん) の文字です.部首で検索する場合は「日へん」で検索することになりますが,今検索しようししているのは,「i日」と「月」の両方を含む漢字の検索です.つまり,部品としての「日」と「月」を含む漢字の検索です.文字情報基盤検索システムでは [要素図形] と言います.




図2
検索開始
  • [要素図形] に,部品としての文字を入力
  • 上部の [検索] をクリック

検索の結果です.右端の [総画数] をクリックすると画数順にリストします.検索結果の件数は,ページ上部中央にあります.今回は 249 件でした.

[対応する ucs] は,各文字の Unicode (ユニコード) のコードポイントの値,つまり,その文字の文字コードです.ucs は Universal Multiple-Octet Coded Character Set (国際符号化文字集合) の略です.
E01XX は,異体字セレクタと呼ばれている値で,コードポイントが同じでも,この値が異なると字形が少し異なる文字になります.現在は,多くの処理系 (コンピュータ)で ,この Unicdoe の値を使用して文字を識別しています.Unicode は,文字に割り当てられた世界共通の値です.
異体字セレクタを持つ文字は,IPAmj明朝フォントでないと正しく表示できません.

目的の漢字を見つけたら,その漢字をクリックします.




図3
検索結果としての漢字のリスト
  • 「日」と「月」の字形がある文字
  • 目的の漢字をクリック
  • E01XX は異体字セレクタ
  • 異体字セレクタを持つ文字は,IPAmj明朝フォントでないと正しく表示できない

その漢字の詳細な説明のページになります.大きな文字は画像です.
その下にある文字をコピーしてワープロなどに貼り付けて使用します.
文字をコピーするには,文字を選択して [Ctrl] + [C] のキー操作をするか,選択した文字の上で,マウスの右ボタンクリックで現れるメニューから [コピー] を選択します.
文字を選択するには,文字をダブルクリックするか,文字をマウスでなぞります.




図4
大きな文字の下の文字をコピーして利用

実際の検索結果です.



部品としての「日」と「月」を使用する漢字は 249 件ありました.一般的に,ある部首の漢字は多くあります.魚 (うおかへん) の漢字も 945 あります.魚 (うおへん) の漢字は,2 つの部品で検索するとかなり検索結果を絞ることができます.以下はその例です.
魚 (うおへん) の漢字は,探しやすい漢字が多いようです.部品を使用する検索が有効な典型的な例と言えるかも知れません.



探す漢字 使用する部品 備考
魚 有 検索結果は 3 件
部首「魚」と総画数 17 で検索すると 72 件
鮑󠄁 魚 包 検索結果は 4 件
部首「魚」と総画数 16 で検索すると 74 件
魚 希 検索結果は 1 件
部首「魚」と総画数 18 で検索すると 78 件
𫙧 魚 近 検索結果は 1 件
部首「魚」と総画数 18 で検索すると 78 件




02_漢字を構成する部品 ( 要素図形 ) を使用して検索


漢字「醫」を調べてみます.これは「医」の旧字体ですが,読みが不明と仮定して,部品を使用して検索してみました.比較的容易に部品が特定でる例かも知れません.



探す漢字 使用する部品 (要素図形) 備考
醫󠄁 医殳酉 検索結果は 4 件
医殳西一 検索結果は 4 件
医几又西一 検索結果は4 件
匚矢几又西一 検索失敗
匸矢几又西一 検索結果は 4 件
矢几又西一 検索結果は 4 件


最初の部品構成における検索結果です.






03_部品 ( 要素図形 ) と総画数を使用する検索


以下の 2 つの漢字は,同じ部品を複数個使用しているだけの漢字です.[文字情報基盤検索システム] には,同じ部品の試用個数を指定する方法はありません.
このような漢字の場合,総画数を指定て検索す方法が考えられます.



探す漢字 使用部品 備考
𣡽 木の画数は 4 なので 4 x 8 = 32 画.検索結果は 6 件
林の画数は 8 なので 8 x 4 = 32 画.検索結果は 5 件
15画 と 16 画がある
15 x 3 = 45 画は失敗.16 x 3 = 48 画は検索結果 2 件


[検索] ボタンの下の [総画数] に画数を入力して,[検索] ボタンをクリックします.




図5
総画数を指定する検索

実際の検索結果です.



総画数を指定して検索した方がいい場合が多くあります.
例えば以下の漢字は「日」と「月」の部品で構成されていますが,最初の検索で確認したように,検索結果は 249 件もありました.総画数も指定すれば検索結果を絞ることができます.



探す漢字 使用部品 備考
𭨽 月 日 総画数の指定なしの時の検索結果は 249 件
総画数 12 も指定した時の検索結果は 29 件
明 月 総画数の指定なしの時の検索結果は 39 件
総画数 12 も指定した時の検索結果は 8 件


次の漢字のように「月日」以外の部品がある時は検索結果を絞ることができます.総画数を指定すれば更に検索結果を絞ることができます.
2 番目のように,たとえ「日」と「月」を使用する漢字であっても,「明」という文字として構成されている漢字であれば,部品として「明」を使用した方が検索結果を絞ることができます.



探す漢字 使用部品 備考
月日大 総画数の指定なしの時の検索結果は 19 件
総画数 11 も指定した時の検索結果は 2 件
明大 総画数の指定なしの時の検索結果は 4 件
総画数 11 も指定した時の検索結果は 1 件


部品と総画数を指定すれば検索の効率は高くなりますが,現実問題として,画数の多い文字の画数を調べるのは面倒です.そのような場合,総画数の範囲を指定することも考えられます.下図は画数が 10 ~ 15 の文字を検索する例です.
「, (カンマ)」で区切って指定することもできます.例えば 11 画と 12 画と 15 画の文字を検索する場合は,「11,12,15」とします.



図6
総画数の範囲を指定




04_部品 ( 要素図形 ) の特定が困難な例


画数が多い部首に「龜 (かめ)」があります.これは「亀」の旧字体です.このような漢字は部品として使用できる字形が少ない気がします.「乚」の有無が検索結果に影響すると思われました.次のような結果となりました.画数の指定なしでこれ以上検索結果を絞るのは難しそうです.
「乚」は部首にはありません.画数が 1 の文字にあります.



探す漢字 使用する部品 (要素図形) 備考
㐅 一 丨 勹 乚彐 検索結果は 18 件
㐅 一 丨 勹 彐 検索結果は 92 件


最初の部品構成での検索結果です.






05_文字を分解して部品 ( 要素図形 ) を取り出す


漢字を部品の組み合わせで検索すると言っても,元の部品は何らかの方法で検索する必要があります.「隹」という字形を使用する漢字は多くあります.この「隹 (ふるとり)」fは 8 画の部首にありますが,これを既存の漢字から取り出す方法です.


    𨾫 雘󠄂 𩁇

「進む」の「進」に「隹」が使われています.これを使用することにします.



取得したい字形 分解する文字 その他の候補文字
英雄 (えいゆう) の「雄」
雀 (すずめ) の「雀」
催し物 (もよおしもの) の「催」
集まる (あつまる) の「集」
隼人 (はやと) の「隼」
唯一 (ゆいいつ) の「唯」,等々


[要素図形] の入力欄の右端に [分解] のボタンがあります.その右側に「進」の文字を入力して [分解] ボタンをクリックします.下図のように,分解結果の部品が表示されます.
目的の部品以外の字形の文字を削除します.




図7

字形「𠦝」を使用した漢字を見かけることがあります.この文字は,部首にはありません.8 画の漢字から探すこともできると思いますが,8 画の漢字は多くあります.漢字の「朝」から取り出した方が便利と言えます.文字を分解する際,既に分解して取得した部品も検索に使用する場合は,そのままにしておきます.

この「𠦝」は部首「十 (ジュウ)」に属する漢字ですが,「倝」は,人 (にんべん) に属する漢字です.部首や部首名だけから漢字を探し出すのは効率がいいとは言えません.部首の特定が困難な漢字もあります.



探す漢字 使用部品 備考
𠦝 羽 検索結果は 6 件
画数 14 を指定すると 1 件
十 日 羽 検索結果は 22 件
画数 14 を指定すると 4 件
検索結果は 766 件
部首 羽 (はね) だけでの検索と同じ
画数 14 を指定すれば 78 件


この方法は,取り出したい字形を含む文字を思いつく必要があります.思いつかなければ,部首の画数や文字の画数で調べることになります.





06_部品検索用のプログラム


部品を使用する漢字検索の際,[要素図形 に入力する文字は検索しなければなりません.Microsoft IME の IME パッドなどが利用できますが,以下は,拙作のプログラムを使用する例です.このプログラムは以下から入手できます.



漢字「醫」の部品を [要素図形] に入力する例です.
拙作のプログラムを起動します.[検索] の入力欄に「医」を入力します.かな漢字変換で,医学,医師,医者などに変換して「医」の文字だけにします.[Enter] キーを押すか [検索] ボタンをクリックします.

左上のウェブブラウザのアイコンをクリックすると,ウェブブラウが [文字情報基盤検索システム] の [詳細検索] のページを表示します.[要素図形] の入力欄をクリックします.
[要素図形] の入力欄をクリックしたら,[Ctrl] キーを押した状態で「医」の文字をダブルクリックします.下図のように,文字「医」が [要素図形] の入力欄に貼り付けされます.

下図では「醫」が表示されています.このプログラムでは,新字体の漢字を検索すると,対応した旧字体の漢字も検索して表示するためです.逆に,旧字体の漢字を検索した時に新字体の漢字があれば検索して表示します.これは,読み仮名や画数による検索の場合には機能しません.




図8
文字を [要素図形] の入力欄に貼り付ける

次に,[検索] 欄に「 4 」を入力します.[Shfit] キーを押したまま [Enter] キー押すか [検索] ボタンをクリックします.画数が 4 の部首がリストされます.
上と同じように,[Ctrl] キーを押した状態で文字「殳」をダブルクリックします.ダブルクリックした文字が [要素図形] の入力欄に貼り付けされます.

文字「殳」は,例えば「役所」の「役」の文字を分解しても取り出すことができます.かな漢字変換で,部首名や読みである「ほこ」あるいは「ほこづくり」を変換しても,変換候補に現れる可能性はほとんどありません.




図9
文字を [要素図形] の入力欄に貼り付ける


このプログラムは,[Shift] キーを押した状態で検索すると部首の検索になります.
数字の時は,その画数の部首を検索します.読み仮名の時は,部首の通称名を前方一致で検索します.文字の時は,その文字が部首にあるかを調べます.

このプログラムは,選択した文字をダブルクリックすると,直前にアクティブだったアプリにその文字をコピーして貼り付けます. [文字情報基盤検索システム] の [詳細検索] では,異体字セレクタを使用する文字を使用すると検索に失敗します.[Ctrl] キーを押した状態でダブルクリックすると,異体字セレクタを除いた文字を貼り付けます.異体字セレクタを除いた文字を「基底文字」と言います.





07_異体字と異体字セレクタ


異体字には 2 つの種類があります.
以下の各行の文字はお互いに異体字ですが,異体字セレクタを使用していません.
「辺」は「邊」の新字体です.以下は異体字ですから「邉」の新字体とも言えます.一般的な文書や公文書では,人名などの固有名でない場合,この新字体を使用します.



辺邊邉
高髙
崎﨑
斎斉齋齊
博愽
真眞


次の文字も異体字ですが,これらの文字は異体字セレクタを使用している文字です.各行の基底文字は全て同じです.異体字セレクタの値によって字形が異なります.似ている字形の漢字とも言えます.異体字セレクタを持たない異体字は,旧字体と新字体のように,あまり似ていない漢字もあります.
異体字セレクタを使用しない異体字は,通常の兄弟姉妹,異体字セレクタを使用する異体字は,一卵性の兄弟姉妹といったところです.

[文字情報基盤検索システム] の [詳細検索] の [要素図形] に基底文字を入力して検索するか,[簡易検索] で基底文字を検索すると,この異体字セレクタを使用した異体字を検索します.コードポイントが異なる,上の表のような異体字は検索しません.



基底文字 異体字セレクタを使用した異体字 ( 基底文字と同じ字形もある)
邊󠄈邊󠄉邊󠄊邊󠄋邊󠄌邊󠄍邊󠄎邊󠄏邊󠄐邊󠄑邊󠄒
邉󠄏邉󠄐邉󠄑邉󠄒邉󠄓邉󠄔邉󠄕邉󠄖邉󠄗邉󠄘邉󠄙邉󠄚邉󠄛邉󠄜邉󠄝邉󠄟
葛󠄂葛󠄃葛󠄄葛󠄅葛󠄆葛󠄇葛󠄈
齋󠄂齋󠄃齋󠄄齋󠄅齋󠄆
博󠄂博󠄃博󠄄博󠄅博󠄆
愽󠄂愽󠄃愽󠄄
真󠄂真󠄃真󠄅真󠄇
眞󠄂眞󠄃眞󠄄眞󠄅
朝󠄂朝󠄃朝󠄄


異体字セレクタという機能が存在しなかった時代,このような異体字は「外字」と言う機能を使用して作字していました.それらは作成者に依存する内容となっていました.IPAmj明朝フォントのようなフォントを使用すれば,システムが違っても同じ異体字を利用できます.
IPAmj明朝フォントで使用可能な異体字は, ユニコードコンソーシアムが提供している以下の PDF 文書で確認することができます.






08_検索した漢字を IME の辞書に登録


漢字を IME の辞書に登録して利用する方法です.以下は,Microsoft IME のユーザ辞書に登録する例です.IPAmj明朝フォントの文字の多くは,IME の辞書に登録されていません.そめため,ユーザ辞書などに登録しないと,変換候補には現れません.

漢字をユーザ辞書に登録するには,IME の [単語の登録] ダイアログを起動して操作します.[単語の登録] ダイアログは,IME か ON の状態であれば以下のどつらかのキー操作で起動できます.


// Microsoft IME が ON の時に [単語の登録] を起動
[Ctrl] + [F7]
Ctrl] + [F10], [O]


IME が OFF の状態の時は,次のコマンドを [ファイル名を指定して実行] のダイアログから実行すれば起動できます.[ファイル名を指定して実行] のダイアグは,[Win] + [R] のキー操作で起動できます.


// Microsoft IME の ON / OFF に関係なく [単語の登録] を起動するコマンド
%SystemRoot%\System32\IME\IMEJP\IMJPDCT.EXE



[単語の登録] ダイアログが起動したら,漢字とよみを入力して [登録] ボタンをクリックします.[単語] 欄に入力する漢字を選択状態にしておくか,コピーしておくと,[単語の登録] ダイアログが起動した時に自動的に入力されます.




図10
検索結果の漢字を辞書に登録
  • [単語] に漢字を入力
  • [よみ] に読みを入力
    複数のよみの同時入力は不可
  • [登録] ボタンをクリック

  • [よみ] ついては本文を参照

異体字セレクタ付きの文字は避けた方が無難です.異体字セレクタ付きの文字の異体字セレクタは,下図の手順で削除できます.
異体字セレクタ付きの文字でない場合は,[Alt] + [X] のキー操作で Unicode のコードポイントが表示されます.再度 [Alt] + [X] のキー操作をすれば元の表示に戻ります.




図11
[単語] に入力しした文字は「㖶󠄁
  • これは異体字セレクタ付きの文字
  • 異体字セレクタ付きでも登録は可能

図12
異体字セレクタを確認
  • 入力位置を文字の右に移動
  • [Alt] + [X]
  • E01XX は異体字セレクタ

図13
異体字セレクタを削除
  • 上の図の状態で [Delete]
  • 基底文字だけになる

漢字検索の結果,その漢字の読みが分かります.その読みでユーザ辞書に登録したとしても,同じ読みの漢字が多いことがあります.特に音読みでは顕著です.ユーザ辞書に登録しても,読みを忘れてしまえば,かな漢字変換で入力することはできません.そこで,かな漢字変換の際,変換候補に現れやすいように,[単語の登録] の [よみ] に入力する値を変えてみますす.

例えは,以下の表のように,漢字を構成する各々の文字の「読み」の最初の仮名文字の組み合わせを [よみ] として登録します.英単語で言えば,頭文字に相当する 1 文字を使用するのがポイントです.例えば,魚 (うおへん) の漢字のよみに「うお」や「さかな」を使用してしまうと,他の漢字のよみとの整合性が失われてしまいます.


文字 登録する [よみ] 備考
だあ 大 (い),明 (かるい)
おあ 大 (おきい),明 (かるい)
𢡰 てあこ 天 (ん),明 (かるい),心 (ころ)
にち 亻 (んべん).斤 は 近 (かい) に似ているので
くにつ 口 (ち),西 (し),土 (ち)
𪚥 た4 龍 (つ) が つ.4 は全角
り4 龍 (ゅう) が つ.4 は全角
りりりり -
くはて 艹 (さかんむり).癶 (つがしら).天 (ん)
くんて 艹 (さかんむり).癶 は読み不明として「」.天 (ん)


下図は,上の表にしたがって,漢字をユーザ辞書に登録した後,かな漢字変換で「にち」を変換しているところです.ユーザ辞書に登録した漢字が変換候補のリストに現れています.




図14
「にち」と入力して変換中
  • 辞書に登録した漢字がリストに現れる

漢字さえ入力できれば,その漢字本来の読みは,[文字情報基盤検索システム] の [簡易検索] で調べることができます.



ユーザ辞書に登録した内容は,[単語の登録] ダイアログ] の [ユーザ辞書ツール] ボタンをクリックして現れるダイアログで編集できます.



[備考 1]
ユーザ辞書には異体字セレクタ付きの文字も登録できますが,混乱の元になる可能性があります.登録するのは基底文字だけにした方が無難です.
[文字情報基盤] では MJ 番号によって,異体字セレクタ付きの文字を一意に識別できますが,IME の辞書への登録では,一意に識別させるのは困難と思われます.


[備考 2]
かな漢字変換で漢字を入力する際,目的の漢字にとらわれず,その漢字を使用する熟語などで変換した方が効率的な場合があります.
例えば「髙」は,「コウ」や「たか」ではなく,「たかい」で変換すると変換候補に現れやすくなります.入力後に不要な文字を削除します.