文字コードとフォント

パソコンの種類、OSにより制限される特殊文字のガイダンスです。Mac特有の文字は表示できませんのでご了承ください。追加・変更などあれば教えてください。 (このページは予告なく変更されます。) 問い合わせはこちらまで

●文字コード体系
 
○ASCII(American Standard Code for Information Interchnage)

パソコン発祥の時から使用されている、1バイトの英字文字体系である。どんなコンピュータでも正しく認識され文字化けすることはない。7ビットで128種類の文字コードがある。実際には、制御コードも含まれるので文字数はややすくない。標準キーボードで、英文モードで入力できる文字、と考えておけばよい。

○JISコード(1バイト系)

正式名称を「JIS X 0201」という、旧型コンピュータで使われていた、半角カタカナを中心とした拡張文字体系である。この文字コードをサポートする古いコンピュータは、わずかながら使われているらしく、時折ネット上に半角カタカナが流れ込み文字化けの原因となることがある。7ビット、8ビットがあり、古いパソコンでは8ビットコードが使われていた。(「ANK」と呼ばれている。)

○JISコード(2バイト系)

すべての全角文字には2バイトの数値 (コード) が割り当てられているが、実際の値は文字コード体系によって異なる。全てのパソコンで共通の文字コードのみを使用すればどのパソコンでも正しく表示されるが、標準文字セットに組み込まれていない一部の特殊文字などはそれぞれの都合でコードを割り当てるため、Windowsで作成した文字コードがMac OSでは別の文字コードが割り当てられていたり「カラ」だったりする場合がある。このような文字を使うと、メールの文字化けなどの原因になってしまう。

1.第1水準と第2水準(JIS X0208)

2バイト文字(漢字)は、JIS X0208 で第1水準と第2水準の2つに大別される。
第 1水準は、約500字の記号、英数字、ひらがな、カタカナ等の非漢字と、約3000字の基本的な漢字で構成されています。第1水準の漢字は、その読みがなで分類されている。 これに対して第2水準は、約3400字の漢字で構成されている。人名、地名などの固有名詞に必要な文字や、旧漢字が集められている。第1水準の漢字と違って、漢字の「部首」によって分類されている。(どちらもIMEの漢字コード表で検索できる。)

2.補助漢字(JIS X0212)

補助漢字とは、JIS X0212 で定められている漢字であり、第2水準にも入らなかった人名や旧漢字などの難しい漢字をさす。補助漢字は、Windows ファミリー上でのみ表示できます。

3.「ISO-2022-JP」

上述の「JIS X 0208」から、半角カタカナを削除した、インターネットメールで使用できる7ビットで表記できる漢字コード(2バイト文字)の体系である。

○シフトJIS(8ビットJIS)

もともと、ASCIIとマイクロソフト社が独自に採用したパソコン用の漢字コード体系だが、MS-DOSの標準漢字コードとなり、やがてインターネットでもデファクトスタンダードとして認められるようになった。現在では、JISコードの一つとして認可されている。メールではJISを使用するが、Windows 2000 などのWEBサーバーではEUCと共に広く使われている。
JISコードが、ASCIIコードと同じ文字コードを割り当てて「ESC」(エスケープシーケンス)を挿入して漢字とASCII文字のモードを切り替えるのに対し、シフトJISは、ASCII文字やANK文字と第1バイトが重ならないように漢字を割り振った。SJISでは、ASCIIと漢字の文字コードが重複することはないので、いちいち「ESC」で区切る必要はなくなった。(SJIS漢字の1バイト目は、81〜9Fh、E0〜EFh のいずれかになる。)

○EUC(Extended UNIX Code)

UNIXで使われている漢字コード体系である。SJISと同じく、JISコード(ISO-2022)をベースにして拡張された漢字コード体系で、文字コード規則によりグループ(G0〜G4)に分けられる。どのグループの文字コードなのかは、最上位ビットやグループを表す制御文字(SS2、SS3など)で認識する。ただし、UNIXメーカーは複数あり、それぞれ詳細な部分で異なるところがあるらしい。

3.Unicode

Windowsで扱える2バイト文字コードには、JISコード(16進数)、シフトJISコード、区点コード(10進数)、Unicodeの4種類がある。
Unicodeは、世界各国の文字に対応できる新しい2バイト文字コード体系であり、すべての文字を2バイト固定長で表記する。日本では、「JIS X 0221-1955」として、34168文字が決められている。Windows 98/NT以降で扱えるが、アプリケーションインタフェースではシフトJISが使われる。(Windows のIMEパッドの文字一覧アプレットで確認できる。)
Unicode は英数字も2バイトで表示されるため、ASCIIとの共存ができない、漢字採用国の類似形文字が勝手にユニファイされている、などの問題もある。

参考:言語コードと国コード
 
●機種依存文字(拡張文字)
 
JIS規格では、メーカーが独自に文字を追加することを制限しなかった。そのため、メーカーは追加拡張領域を勝手に使用してJIS規格以外の文字を割り振っていった。「NEC特殊文字」や「IBM拡張文字」などがある。これらは、Windows に取り込まれることになるが、一部、同じ文字が異なるコードに割り振られる異常事態になった。これらの拡張文字を使わなければ問題は発生しないが、UNIXやMACでは読めない。原則的にインターネットの世界、特にWWW、メール、ニュースでは、特定の機種に依存する(特定の機種でしか読めない)文字は使用してはならない。とはいっても、それが具体的にどの文字なのかわからないと知らずに使用してしまいます。一応理解しておきましょう。

○Windows特有の文字(Mac OS、DOSなどからは読めない可能性大。)

1.特殊記号: ∧∨¬⇒⇔∀∃∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬ʼn♯♭♪†‡¶◯ など
2.組み合わせ文字(複合文字): ~順括窮欠хgb など
3.丸付き数字やローマ数字: @ABTUV@AB など
4.文字罫線: ┴┗┼ など

○Mac OS特有の文字(Windows、DOSなどからは読めない可能性大。)

詳細な文字例は省略。

1.数字: ○に数字、()に数字、●に数字
2.英字: ()にabc
3.ローマ数字: 大文字、小文字 
4.単位記号:  mm、cm、HzやKB、MB、○秘、カタカナの単位記号(ミリ、センチなど)など 
5.年号記号: 明治、大正、昭和などの記号  
6.No、KK、TEL、FAXやトランプマーク  

以外に多いのに驚くでしょう。WindowsとMacをともにインターネットで使っているユーザーは少ないと思います。Webページでは、エンコード・エラーによりページ全体が化けてしまう場合とページを開発した機種の依存文字が部分的に化けている場合があります。よく見極めて対処しましょう。

●機種に依存しない文字

機種依存文字のように感じられるが、依存しない文字もある。次の文字や記号は依存しないといわれています。

○半角記号・全角記号・特殊記号など

!@#$%^&*()_+|-=\*/-+=.,{}[];:'"`~<>?
、。,.・:;?!゛゜´`¨^ ̄_ヽヾゝゞ〃仝々〆〇ー―‐/\〜‖|…‥
‘’“”()〔〕[]{}〈〉《》「」『』【】+−±×÷=≠<>≦≧∞∴♂♀
°′″℃¥$¢£%#&*@§☆★○●◎◇◆□■△▲▽▼※〒→←↑↓〓
─│┌┐┘└├┬┤┴┼━┃ ┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝ ┰┥┸╂

○ギリシャ文字とロシア文字(IMEで、「ぎりしゃ」、「ろしあ」で変換すると候補に表示される文字セット)

ΑΒΓΔΕΖΗΘΙΚΛΜ ΝΞΟΠΡΣΤΥΦΧΨΩ
αβγδεζηθικλμ νξοπρστυφχψω
АБВГДЕЁЖЗИЙКЛ МНОПРСТУФХЦЧШЩЪ ЫЬЭЮЯ
абвгдеёжзийкл мнопрстуфхцчшщъ ыьэюя

●文字化け

パソコンの世界では、表示される文字のひとつひとつは「文字コード」に割り当てられて処理される。つまり、表示や印刷をおこなう場合のみ、文字コードに該当する字形イメージをフォントファイルから読み込んで使用する。したがって、パソコン間であれ、サーバーとクライアントパソコン間であれ、コンピュータ間での文字のやり取りをおこなう場合は、同じ文字コードを使用しなければならない。異なった文字コード間では、たまたま一部の文字が正しく表示されることがあるが、誤った文字が表示され認識できない文字列が並ぶことになる。

○文字化け例

文字コード
表示テキスト
SJIS このページをオフラインで使用するには、インターネットに接続して、 [お気に入り] メニューの [お気に入りに追加] をクリックします。次に [オフラインで使用する] チェック ボックスをオンにしてください。
EUC i"磨yージり!フラインs.g用l"・・・Aインターネットu0搶・・・A [d韻u3應[ メニューv[d韻u3應・・・ り¨リックk"梳・B氓並[オフラインs.g用l"・ チェック ボックスり!ンu"・逐・準・・B
Unicode ?±??y?[?W???t???C????g?p?・?邉??A?C???^?[?l?b?g???±?μ??A [?¨?C???? ???j???[??[?¨?C??????] ?????b?N?μ??・?B????[?I?t???C????g?p?・?靠?`?F?b?N ?{?b?N?X??????μ??-???3?¢?B

このように、Webでは、EUCとSJISのサイトが混在しているため、文字コードを指定していないページを訪問した際に、ブラウザが認識できずに文字コードを間違えて表示してしまう場合も多い。文字コードが異なれば漢字の文章は全く意味不明になってしまう。他に、コードは合致していても文字化けする例がある。たとえば、インターネット上のメールでは7ビットのJISに変換して送るのが基本であり受信したパソコンで文字コードを再度変換して表示する。この変換がうまくいかなかったり、漢字であることを知らせるための「ESC」コードが欠落したりする場合がある。

○改行コード

プレーンなテキストデータは文字コードと改行コードから構成されている。したがって、インターネットのメールやWEBページを正しく表示するためには、次のように、機種によって異なっている改行コードも、正しく変換してやる必要がある。メールにおける改行コードは、「CR+LF」 が基本である。「CR」は、「表示位置を行頭に戻す」、「LF」は、「表示位置を1行分送る」という意味らしい。現在は、どのメーラーも、「CR+LF」に変換して送信するのでインターネットメールでエラーが発生することはないはずである。(少なくともWindowsマシンの間では)

1.Windows:CR+LF
2.UNIX:LF
3.Macintosh:CR

むしろ、WEBページの制作の際に、ビルダー側の設定ミスやWEBサーバーとのファイル転送などで改行コードの変換エラーが発生する可能性が高い。この間違いは、UNIX系のWEBサーバーとWindows環境のビルダーを使用している場合に特に多い。(「LF」が基本のサーバーに、「CR+LF」付きで転送すると、ブラウザで見る限り問題なく表示されていても、サーバーのファイル自体のレイアウトがバラバラになる。)

参考:文字化けしたメールの修復

●Windowsフォントの知識

○フォントキャッシュ

Windowsで使用するフォントは、起動時にフォントフォルダ(通常:c:\Windows\fonts)から読み込まれる。よく使われる標準フォントはTTFキャッシュ(c:\Windows\ttfCache)と呼ばれるキャッシュにアクセスすることで高速表示を可能にしている。フォントフォルダに大量のフォントを組み込んでいる場合、起動に時間がかかるだけでなく、読み込みに失敗するフォントがでやすくなる。また、一部の文字が化けるなどの異常が認められた場合は、フォントキャッシュが壊れている可能性がある。Windowsを再起動しているうちに自然に修復される場合もあるが、なかなか直らない場合は、Safeモードで起動してみるとよい。または、フォントキャッシュを手動で削除し再起動してもよい。

○フォントのインストールと削除

コントロールパネルのフォントフォルダを開き、「ファイル」の「新しいフォントのインストール」または「削除」から行う。

1.「新しいフォントのインストール」から新しいフォントを追加する

漢字のフォントは容量が大きく起動時の読み込みに時間がかかる。毛筆体など、あまり使わないフォントなら、
「フォントの追加」ダイアログの「[FONTS]フォルダにフォントをコピーする」のチェックをはずしておくとフォントフォルダにショットカットのみを置いておくことができる。

2.フォントの削除

使わないフォントは、削除してパフォーマンスをアップさせよう。不安なら別フォルダにコピーしておけば後で再インストールできる。

○インターネットのフォント

Windowsが管理するフォントの多くも、機種に依存します。例えばWindows上の機種依存フォントで表示するよう指定されたWebページをMac上で表示すると、通常は、Mac OSの管理する標準フォントに置き換えて表示します。例えば毛筆体フォントは、ワープロやはがき印刷ソフトなどをインストールした際に同時に組み込まれる場合が多く、そのようなフォントを指定したWebページは、異なる機種上では単純なゴシック体や明朝体にすりかわってしまいます。そのようなフォントを使っても視覚上の効果は期待できず、逆に置き換えがうまくいかずレイアウトも崩れてしまうことがあります。
ネット上で書体による効果を求めるなら、どのパソコンにも組み込まれている共通フォントを指定するか、Web用にイメージ化した画像ファイルとして扱うことです。

○印刷用フォント

コントロールパネルの「フォント」フォルダを開くとインストール済みのフォントが検索できます。一般ユーザーのWindowsパソコンでは、「True Type」フォント(拡張子=.TTx)がほとんどですが、ラスターフォントも何種類か組み込まれているはずです。これは、タイプライターや旧型パソコン時代のなごりのフォントなどで、拡張子=.FONでアイコンが赤く表示されている。ラスターフォントを拡大すると周辺がギザギザのモザイク上になってしまうため、印刷する際にはこれらのフォントは使わないほうがよい。他に、まともなフォトレタッチ・ソフトやパブリッシング・ソフトなどをインストールすると、「Type1」フォントなるものが組み込まれる場合があるが、これはポストスクリプト・デバイスのために作成されたスケーラブルフォントであり、Windowsのビューアでは表示できない。(プリンターがPostScript対応であればドライバーとの組み合わせで利用できる。)

○OpenType Font

現在のフォントには、一般用のTrueType(WindowsのMS明朝、MSゴシック、MacのOSAKAなど)と出版用に用いられるPostScriptフォント(Macの細明朝体など)がある。これらは、モニター表示や印刷時の仕組も異なっており、互換性がない。OpenTypeは、Microsoft社とAdobe社が共同で開発を進めている、TrueTypeとPostScriptをクロスプラットホームで融合したフォントフォーマットである。OpenTypeフォントフォーマットの特長は、使いやすさと高度なタイポグラフィー機能である。従来の二種類のフォントの長所を取り入れ、ユニコードに完全対応した文字セットから構成され、ファイル自体もOS間で共通である。OpenTypeフォントが普及し、それをサポートするOSサービスが確立すると、これまでより簡単にフォントをインストールして使えるようになるという。また、ベースとなる文字アウトラインデータがTrueType形式でもPostScript形式でも、ユーザー側からはまったく同じOpenTypeフォントのように見えるというのもありがたい。

対応するOSについては、Windows 2000、MacOSX以降が標準でサポートしている。しかし、日本語フォントとしてリリースされているのは Mac OSX 付属の「ヒラギノ書体」とAdobe社の「小塚書体」だけである。さらに、この機能もアプリケーションの対応が必要であり、現在対応しているのは、「Indesign」と「EG-Word13」(Mac OSX版)程度である。今後の普及に期待したい。