ホーム
先頭ヘ
◁ 前 次 ▷ エディタ ▶ HOME
page top

prev.

next
EDITOR ▶

外字系資料 References of EUDC

目次 index

    外字について
      パソコン等での「文字」の仕組み(概略)
      外字ファイル
      リンク
      フォント
      昨今の状況

外字について  about EUDC


特にパソコンでいう「外字」とは、個人などで作成した、自由な字形を持つ「文字」のことです。

 「そんなの使ったこと無いよ」とおっしゃる方が大半だろうとは思いますが、使ったことのある方でも
 「昔、あったよねー」とか「今は、もう無くなったんじゃないの?」とか思っている人も多いようです。

 しかしながら、現行の Windows 10 でも、ちゃんと使えます。
Windows 10 で「外字エディター」(eudcedit.exe)を使っているところ。(Windows 8.1 でもほぼ同様) Windows Vista で「外字エディタ」(eudcedit.exe)を使っているところ。(Windows XP / 7 でもほぼ同様。Win 7 以降の表記は「外字エディタ」) (例示の字形(E000)は、Unicode 5.2 で新規登録されたものの、対応フォントが少なかった「ルーミー数字記号」の「1」をあらわしています。  ちなみに E000~E008 が「1~9」、E010~E018 が「10~90」、E020~E028 が「100~900」の数値をあらわしていた数字の字形です。)

Unicode では「私用領域」(PUA : Private Use Area) U+E000~F8FF の 6,400文字分 が、外字用として開放されています。
(旧来の Shift_JIS の場合は「ユーザー定義外字領域」といい、0xF040~F9FC の 1,880文字分が利用可能です。なお、ここでいう Shift_JIS は  より正確には「Shift-JIS-2004」(Shift_JISX0213)、「Microsoftコードページ932」(CP932) 由来の「Windows-31J」とも呼ばれるものです。  この Shift_JIS での外字領域1880文字は、Unicode では私用領域6400文字分の先頭1880文字分に引き継がれるよう割り当てられています。)

外字の字形は、ご利用のパソコンに1文字ずつ(またはまとめて)登録することで、文字として繰り返し使えるようになります。
ただ、そのためにはまず、外字を除いた パソコン等での「文字」の仕組みについて、いま一度 確認しておきたいところです。 (文字の仕組みを再確認する場合は、下のボタンを押せば 折りたたみ部分が展開表示されます。不要な場合は そのまま次へお進みください。)

    


 パソコン等で「文字」を表示するには、個々の文字に振られた番号すなわち「文字コード」と、
 そのコードごとに個別の字形を与えて、人間が目で見て読めるようにする「フォント」が不可欠です。

    (入力の際にも、キーボードで叩いたキーに対応する1文字分の文字コードが追加され、それが瞬時にフォントによって表示されています。)


 文字コード

  文字コードは、人間社会で一般に用いられる個々の文字に、個別に番号(コード)を振ることによって符号化し
  パソコンなどのデジタル機器で、扱い易くするためのものです。

     このため基本的に、ラテン文字、数字、仮名文字、漢字、ハングル、ギリシア文字、アラビア文字、などの 文字種 ごとにまとめて符号化されます。

  過去においては、国や地域ごとに異なる形式の文字コードが乱立していましたが
  現在では、人類史上 古代から現代に至る、世界中のあらゆる文字のデジタル化を目指す、Unicode が主流となっています。

     過去の文字コードは、デジタル化の初期に、それぞれの国や地域でおもに使われる言語の文字を優先したため、結果的に乱立状態となったものです。
       (欧米:ASCII、日本:ShiftJIS、台湾:Big5、香港:HKSCS、中国:GB、韓国:KS、アラビア語圏:ASMO、インド諸語:ISCII、等々)
     これらはインターネット時代になって文字コードの不整合が引き起こす文字化け等が頻発したため、世界共通仕様として Unicode が誕生しました。
     Unicode では、それら過去の様々な文字コードからの移行がスムーズにおこなわれるよう、包括的な配慮がなされています。


  Unicode は、16x16x16x16 (=16⁴) の 65,536 文字 を各1面としています。
  全17面あるため 1,114,112 文字分 が定義でき、そのうち表現に利用可能な文字数は 1,112,064 文字です。

     第0面の一部2048文字から2文字ずつを組み合わせて残り16面を再定義するため、表現用途にはその重複2048文字分が省かれます。
     まだ未定義の領域も多く、「非文字」などに定義されるコード位置もあるため、実際に利用できる文字数は、もっと少なくなります。
     ちなみに、Unicode 12.1 (2019.5.7) の時点で 定義済み のコード位置の総数は [ 137,994 ] 文字に過ぎません。


  Unicode でのコード位置は、多くの場合 4~6桁の 16進数 で表現されますが、10進数 で表現することもできます。

     ものを数えるとき、ふつう人間は先頭を 1 から数えますが、デジタル世界では先頭を 0 から数えます。
     コード位置は、先頭の 0番[0000(16)] から 末尾の 1114111番[10FFFF(16)] までの 1114112文字が、すべて数値的に連続しています。
     このため、コード位置の表現は、16進数でも10進数でも、数値的に変換するだけで、正しい位置が示されます。
       例: ラテン文字[A]=U+0041=0041(16)=65(10)、 ラテン文字[B]=U+0042=0042(16)=66(10)
          平仮名[あ]=U+3042=3042(16)=12354(10)、 平仮名[い]=U+3044=3044(16)=12356(10)
          漢字[阿]=U+963F=963F(16)=20124(10)、  漢字[𠂰]=U+200B0=200B0(16)=131248(10)
     Excel や OpenOffice 等の表計算ソフトで、コード位置から文字を得る UNICHAR 関数では 10進コード で指定し
     その逆に、文字から Unicode 上のコード位置を求める UNICODE 関数でも 10進コード を返しますが
     DEC2HEX 関数で 10進数 から 16進数 に、また HEX2DEC 関数で 16進数 から 10進数 に変換しても、結局同じ値です。
     なお、10進数 と 16進数 との相互変換は、Windows 付属の「電卓」を使っても 簡単にできます。



 フォント

  フォントは、内部的には番号の羅列に過ぎない個々の文字コードに「字形」を与えて、人間が読める形にするものです。

     もちろん文字コードの羅列を追っていけば人間にもわかりますが、それではあまりに非効率なので「読みやすくする」ということです。

  フォント自身が個別のコード位置ごとに持っている字形情報(外字の場合は外字ファイルに登録されたコード位置にある字形情報)
  計算によって瞬時にディスプレイに表示(描画)する仕組みであり、このため一種のプログラムともいえるものです。

  字形デザインが表現の一部にもなりうるため、著作権を有し、有料のフォントもあります。
  また、フォントは「書体」と呼ばれることもあります。

     フォントは デジタル登場以前、活版印刷以来の「活字」にも用いられた、伝統的な文字デザインが基本になっており
     全体として、各文字の見映えや、並べたときの読み易さなどを考慮したデザインがおこなわれ、近年は独特の特徴あるデザインも増えています。
     文字種ごとに統一感を持たせたデザインを「書体」と呼びますが、デジタルではフォントを差し替えれば全体的な印象(書体)も変わるため、
     フォントと書体は同じ意味として使われることもあります。


フォントごとにデザインは違っても、文字コードの定義に沿った個別のコード位置に 該当する字形が共通に与えられることで
  文字の並びとして見たときに、はじめて「意味が通る」すなわち「読める」 または 文章 として成り立つことになります。

     単一のフォントでは、ひとつのコード位置に、複数の字形もしくは書体デザインを定義することはできません。
このため、ひとつだけで完璧なフォント、というようなものは存在せず、表現に適したフォントの使い分けが求められます。



  以上のように、フォントの役割は、人間が文字コードを追わなくていいようにする、というのが根本となっているので、
  文字を扱う「表示」または「印刷」の場面において、フォントは必要不可欠なものとなっています。


  では、「外字」を扱う場合には、文字コードとフォントは、どのような役割になるのでしょうか。
  本題に戻りましょう。


 パソコン等で「文字」を表示するには、個々の文字に振られた番号すなわち「文字コード」と、
 そのコードごとに個別の字形を与えて、人間が目で見て読めるようにする「フォント」が不可欠なのでした。

 外字を扱う場合でも、デジタル表示に必要不可欠な、文字コードとフォントの仕組みはそのままです。
 ただ、文字コードとフォントとの間に「外字ファイル」と「リンク」という、2つの仕組みが加わります。


 外字ファイル

  外字の字形を定義可能なコード位置の区画( Unicode では「私用領域」、Shift_JIS では「ユーザー定義外字領域」)に対応し、
  個人などのユーザーが自由にデザインする 個々の具体的な字形を、区画全体で一括して保存・管理します。

     Windows では、同じ名前を持ち 拡張子の異なる 2種類のファイル([.TTE][.EUF])のペアを、
     あたかも「ひとつの外字ファイル」であるかのように、必ず同時に扱います。
     外字ファイルのペアは、異なる名前を付ければ、いくつでも作れますので
     実際は、6,400文字(Unicodeの場合)という字数制限は、無いにも等しいものです。


     外字ファイルは、所定のフォルダ(用途別の2箇所)に置かれている場合に限り、リンクの設定が可能です。
     外字ファイルは、Windows付属の「外字エディタ」で 字形とともに 作成・複製できますが、外字エディタでは移動や削除ができません。
     (当方アプリの「GaijiSupporter」は、常にペアで扱う必要のある外字ファイルを、複製・保存・移動・削除など、適切に管理できます。)



 リンク (フォントとのリンク)

  外字ファイルと特定のフォントとを、対応付け(紐付け)します。
  これにより、外字ファイルに定義されたコード位置と字形が、フォントを通して、文字として表示されることになります。

     特定のフォントとのリンクを設定する場合、外字ファイルはシステム所定の「EUDC」フォルダに置かれる必要があります。
     また、初歩的かつ簡易的な機能として、フォントを特定せずに「すべてのフォントにリンクする」ことも選択できます。
     この場合はシステムの「フォント」フォルダに置かれる既定の外字ファイル([EUDC.TTE],[EUDC.EUF])を使うことになりますが
     そこではフォントファイルが優先となっており、外字ファイルは「不可視ファイル」となるため、扱いづらいのが実情です。
     なお、すべてのフォント と同時に、特定のフォントとのリンク を持つ 別の外字ファイルもある場合、そのフォントでは、後者が優先されます。


     リンクの情報は、パソコンの設定情報データベースである「レジストリ」という特殊な領域に保管されます。
     レジストリを手作業などで直接扱うのは、その性質上 大変危険 な行為であり、とても一般にお薦めできるものではありません。
     リンクの状況は、Windows付属の「外字エディタ」でも設定・確認できますが、わかりにくいのが欠点です。
     (当方アプリの「GaijiSupporter」は、不可視な外字ファイルの管理や、リンクの確認・設定・変更・解除を 安全に、わかりやすくできます。)



 フォント (外字の場合)

  特に外字用のコード範囲について見た場合、フォントによっては
  外字用のコード位置に フォント提供者が定義した 独自の字形 が存在している場合があります。
  そのようなフォントは一般に、ユーザーが個人で作成する外字の利用には 向いていないといえます。

     これは フォント提供者(ベンダー)独自の「ベンダー外字」と呼ばれるものです。この場合 一般の外字は「ユーザー外字」と呼んで区別します。
     ベンダー外字は すでにフォントになっており、字形も定義位置も個性的で、ユーザー外字よりも優先的に表示されることが多くなっていますので
     ユーザー外字との混在による混乱を避けるため、ベンダー外字のあるフォントについては、外字ファイルとのリンクは避けるのが賢明です。


     (ちなみに、ベンダー外字の有無を簡単にチェックするには、Unicode なら「私用領域」内の表示を確認すれば済みます。
      MS-IME の「IMEパッド」等を使ってもいいですし、当方アプリ「GaijiSupporter」のほか「dNetFontViewer」「UniCharFinder」も使えます。)


  また、プロポーショナルフォントとも呼ばれる、文字幅が自動的に調整されるフォントもありますが
  外字の場合は 文字幅が常に一定(等幅)なので、特に誤解のないよう、注意しておきたいところです。

    (パソコンの外字は「漢字文化圏」とも呼ばれる東アジアの3か国-中国,日本,韓国-(CJK)を中心に、おもに異体字の表現などで発展してきた技術です。
     すなわち、漢字,仮名,ハングル といった「正方形に収まる文字」が想定されているため、外字の形状も、必ず四辺の等しい正方形で表現されます。
     ちなみに プロポーショナルフォントに収録された字形は 文字ごとに個別の文字幅が指定されているので [|] のように「詰まって」表現されますが、
     外字の場合は(たとえプロポーショナルフォントにリンクさせて表示したとしても)文字ごとに個別の文字幅は指定できないため、
     [|] のような 縦に細い字形であっても、正方形に基づく [ | ] のような 広めの文字幅が取られることになります。)





 昨今の状況

 外字は以前、普段よく使われる漢字の一部が異なるなどの、やや珍しい字形(異体字)などを表現するのに、よく使われました。
 たとえば「」の上部がハシゴ状になった「はしごだか」や、「」の上部が「土」の「つちよし」などです。(いずれも通称)

 しかしながら現在では「」(U+9AD9 : CJK統合漢字) や「𠮷」(U+20BB7 : CJK統合漢字拡張B) などは このとおり
 Unicode に登録済みの文字のため(目的の文字をきちんと探せることと表示フォントさえ対応していれば)そのまま使えます。

 また、異体字形の多いことで知られる「」(U+908A) や「」(U+9089) なども、「異体字セレクタ」の併用と
 対応フォントの利用で(あらかじめ決められた字形の中からの選択とはなりますが)かなりの表現が可能になってきています。

  
  (上の2行は画像として表示しています。撮影に用いたフォントは花園明朝A)

 また記号系に関しても、Unicode には「絵文字」(Emoji) が導入され、表現の幅を拡げるのに一役買っています。
 これは日本のケータイ絵文字から派生したもので、すでに多様な種類がありますが、現在も頻繁に追加がおこなわれています。
 本来は色がありませんが、WEBブラウザを介せば特定のカラーフォントが自動的に適用されるようになっていますので
 お使いの環境では、次のような見え方になります。(異なる環境では表示される絵文字のフォントが異なりデザインも異なる場合があります。)

  😀 😁 😂 😃 😄 😅 😭 😲 😰 😱 😜 😍 🚀 🚅 🚻 🚭 🛒

  👦 👦🏻 👦🏼 👦🏽 👦🏾 👦🏿
(2段目の先頭以外には肌の色などを変化させるフィッツパトリック制御[1-2],[3],[4],[5],[6]を適用)

 これら フォントを介した表示によって共通的に利用できる、Unicode の文字種が充実してきたことから
 おもに ユーザー個人の裁量の範囲で用いる 外字の利用は、逆に 減少傾向にあるといえます。

 外字の不利な面は、それだけではありません。

    冒頭の画像にもあるように、字形は格子状のマス目を埋めることにより表現するので、ギザギザの荒さが目立つことと
    正方形の幅が採られるため、余白を含めた文字幅が一定で、[I] のような縦に細い文字でも「詰めて書く」ことができないこと、
    外字の字形を登録・編集するには、Windows においては事実上「外字エディタ」を用いるしか方法がないこと、
    Office 系ソフトにおいては、環境や時期により 自分で登録した外字が表示できなくなる問題 が発生したことがあること、
    技術的な理屈がわかりにくい上、他者と同じ外字を共有する際などには技術面での的確な理解が必要、などの点が挙げられます。



 さて、マイナス面ばかりを書き連ねてきましたが、もちろん、外字にも有利な面はあります。

 まず何といっても、自由な字形を自分で作って、それを文字として扱える、というのは、他にはない魅力です。
 字形の作成段階では、自分の独創で一から作り上げる、DIY(日曜大工)的な楽しさが味わえます。

    この作業は、十分な時間が取れない人や、少しでも面倒なことは避けたいと思ってしまう人、などにはお奨めできませんが
    整えられた出来合いのものが多くなった昨今のパソコン作業の中では、なかなか得ることのできない、貴重な体験となります。


 また、作った字形を利用する段階では、ワープロソフトなどで文章内に文字として組み込めるのはもちろん、
 単独での 記号・スタンプ(印章)的な利用だけでも、文面に効果的な独自色を加えることができます。
 自分で作った独自の外字を他者と共有するのも、理屈さえわかってしまえば、それほど難しいことではありません。

    当方アプリ「GaijiSupporter」(外字サポーター)は、それらの際に必要となる、技術的な理解も得やすくなるよう作られていますし
    字形デザインに用いる「外字エディタ」を、マス目の密度(外字の精度)を調節して起動したり、各種フォントとのリンク設定、
    さらに、作った外字の ファイル管理、および 個々の文字に対する説明などの記録を残すような能動的な管理にも、力を発揮します。



  →  GaijiSupporter(外字サポーター) の概要を見る
→   外字エディタの使い方 へ進む
inserted by FC2 system