機種依存文字

 
機種依存文字（きしゅいぞんもじ）または環境依存文字（かんきょういぞんもじ）とは、電子的に扱う文字データのうち、処理系（ソフトウェアおよびハードウェア）によって違う文字に表示されたり、全く表示印刷できなかったりするものの慣用的な総称である。JEFやJIPS等のようなメインフレーム/汎用機用の符号化文字集合については、文字コード体系そのものが機種依存するという前提があるため、本項では扱わない。
不特定多数との情報通信で機種依存文字を使用すると文字化けの原因にもなる。
機種依存文字に関する歴史.
初期.
日本語の文字コード体系は、JIS C 6226-1978によって第1水準漢字、第2水準漢字、非漢字として規格化されたが、これらは実際の文書作成の際に必要となる記号や組文字を十分に組み込んだものではなかった。そして、コード空間の空き領域（09区-15区）は「一時的・局所的に文字を割り当てて使用しても構わない」自由領域とされた（この規定は1997年のJIS X 0208-1997から削除）。
そのため、コンピュータメーカー各社はそれぞれ独自に拡張した記号類をこの領域に収録し、外字領域として扱われることになった。また、ユーザーもこの領域に独自に文字を登録（外字登録）できることが一般的になった。コンピュータの機種によって違う文字が表示されるコード領域となった。
代表格は、
問題の表面化.
1986年頃から主要なパソコン通信サービスが開始されるようになった。多くのパーソナルコンピュータ（パソコン、PC）がホスト局に接続され、電子掲示板や電子メールなどで文章のやり取りが行われるようになると、特に問題となったのがPC-9800シリーズとMacintosh・DOS/V間での表示の相違だった。このことから、これらのコードをパソコン通信等の世界では「機種依存文字」と呼ぶようになった。
また、当時PC-9800シリーズのシェアが多かったために、PC-9800（あるいはエプソンのPC-9800互換機）シリーズでしか表示できない文字として「98文字」（キューハチ文字）と呼ぶようになった。
Macintoshが機種依存文字で不利な立場に立たされたのは、シェアの低さだけでなく、Microsoft Windowsが1992年という早い段階からWindows標準システム外字に統一されたのに対して、Macintoshは二転三転を繰り返してきたことも指摘されている。
1990年代末以降にはNTTドコモのiモードを始めとする日本国内の携帯電話のインターネット接続サービス対応電話機で「絵文字」が登場する。しかし、当初の絵文字はそれぞれの通信キャリアが独自にShift_JISのユーザー拡張領域やUnicodeの私的領域に登録するといった形で実装を行ったため、通信キャリア間の互換性が無かった。のちに各社は通信キャリア間で送受信されるキャリアメールに含まれる絵文字を自動変換するなどの対応を行ったものの、完全とは言い難かった。また、ウェブにおける携帯電話向けサイトでは、それぞれのサイトが訪問者の通信キャリアに応じた規格で絵文字を送信する仕組みを実装するなどの対応を強いられた。
Unicode以降.
機種依存文字の代表格だった丸囲み数字、ローマ数字などがに収録され規格内のコードとなった。したがって、コード名（UTF-8など）を正しく提示して使用するならば、機種依存性が解消されることとなった。
オペレーティングシステム (OS) の内部コードでUnicodeが採用されて以降、レガシーソフトウェアなどを除いて機種依存文字は解消されていった。携帯電話の絵文字についても、2000年代に入ってから日本国外の事業者が主導する形で規格統一が行われ、2010年にUnicodeに収録されたことで通信キャリア間の互換性問題が一段落したのみならず、PCでも絵文字が利用可能になった。ただし、Unicodeではその後も新たな絵文字の考案と規格への追加収録が続いており、古いバージョンのOSでは新しい絵文字が表示されないといった互換性問題は残っている。
同じOS上で複数の異なるフォントセットを使えるため、機種という言葉の意味は失われているものの、歴史的な経緯から、表示に関してフォントセットに依存する文字の総称として使用されることがあるが、本来の「機種依存文字」と意味合いは異なる。
Unicodeでは漸進的に文字を追加しており、追加された時期が新しい場合、フォントが対応しておらず表示できないことが多い（各文字の追加された時期についてはUnicode一覧表で確認できる）。また、基本多言語面にない文字や合成が必要な文字はOSやアプリケーションがそれらに対応している必要があり、対応していない場合はそれらの文字を含むフォントがあっても表示できない。
機種依存文字の定義.
1980年代.
1980年代においては、以下の理由により、ベンダ定義文字（各コンピュータメーカーが、公的規格には無い文字を独自に拡張して搭載した文字）が、機種依存文字であるという定義が成り立っていた。
ただし、公的規格であっても、以下のような文字は、規格が普及・定着するまでは機種依存文字とされることがあった。
2000年代以降.
以下の理由により2000年代以降では、
機種依存などの理由による文字の誤表示の各ケース.
文字が正しく表示できないことについては、次の二つの観点で語ることができる。
「〓（ゲタ）」「・（中黒）」「□（四角、豆腐）」等の文字に置換されて表示された場合というのは、大抵の場合、符号化方式は一致しているものの、フォント集合を表示側のシステムが用意していないときである。
別の文字として表示（文字化け）された場合というのは、符号化方式が違うか、システム固有の登録文字を他システムで表示しようとしているときである。
この中で、フォント集合を表示側のシステムが用意していない場合と、特定のシステムに固有の登録文字を他システムで表示しようとしている場合が「機種依存」であるとされる。
使用するフォントに依存する場合.
使用するフォントの相違によって、テキストデータ中の特定の文字が意図しない字形として表示されたり、全く表示・印刷できなくなる場合もある。
使用するソフトウェアに依存する場合.
使用するソフトウェアによって、同じフォントを使用しても特定の文字が意図しない字形として表示される場合がある。主に文字合成を必要とするものに見られ、例えばアイヌ語のカタカナの1つ「」や、鼻濁音の「」などが挙げられる。