Unicodeでは、プライベート使用領域( PUA ) は、標準で文字が割り当てられていない3 つのブロックです。 [ 1 ] 3 つのブロックは、基本多言語面( U+E000 – U+F8FF )のプライベート使用領域、補足プライベート使用領域 A、および補足プライベート使用領域 B であり、後者 2 つはそれぞれ面 15 と 16 ( U+F0000 – U+FFFFD、U+100000 – U+10FFFD )のほぼ全体をカバーしています。これらは、第三者が Unicode 標準の割り当てと競合することなく独自の文字を割り当てることができるように、意図的に未定義のままになっています。Unicode の安定性ポリシーの下では、プライベート使用領域は将来のすべての Unicode バージョンでその目的のために割り当てられたままになります。[ 2 ]
プライベート使用コードポイントへの割り当ては、組織内部のみに限定されるという意味での「プライベート」である必要はありません。実際、複数の組織によって様々な割り当て方式が公開されています。こうした公開には、定義をサポートするフォント(グリフを表示するもの)や、プライベート使用文字を利用するソフトウェア(例えば、「印刷ドキュメント」機能用のグラフィック文字)が含まれる場合があります。定義上、複数の個人が同じコードポイントに異なる文字を割り当てることが可能であり、その結果、ユーザーは本来意図されていた文字とは異なるプライベート文字が、インストール済みのフォントから表示されるという事態に陥る可能性があります。
Unicodeの定義によれば、私的使用領域のコードポイントは、非文字、予約済み、または未割り当てではありません。そのカテゴリは「Other, private use (Co)」であり、文字名は指定されていません。代表的なグリフは提供されておらず、文字の意味は私的な合意に委ねられています。
私的使用文字には、この規格で解釈が規定されていないUnicodeコードポイントが割り当てられ、その使用は協力ユーザー間の私的合意によって決定される場合があります。これらの文字は私的使用のために指定されており、私的合意を除いて、定義済みで解釈可能な意味を持ちません。...私的使用文字については、その性質上、この規格のコンテキスト外でのみ定義されるため、チャートは提供されていません。[ 3 ]
Unicodeには3つのPUAブロックがあります。[ 3 ] [ 4 ] [ 5 ]
基本多言語面(面0)において、「私用エリア(PUA)」というタイトルのブロックには6400のコードポイントがあります。
プレーン 15 と 16 は、ほぼ完全に[注 1 ] 2 つの追加のプライベート使用エリア、補足プライベート使用エリア A (SPUA-A) と補足プライベート使用エリア B (SPUA-B) に割り当てられています。UTF -16では、これらのプレーンのみに高サロゲート (U+DB80..U+DBFF) のサブセットが使用され、高プライベート使用サロゲートと呼ばれます。
Unicode 1.0.0 では、プライベート使用領域は U+E800 から U+FDFF まで拡張されていました[ 6 ] (つまり、U+E000..E7FF は含まれていませんでしたが、CJK 互換表意文字、アルファベット表示形式、アラビア語表示形式 - Aが占める U+F900..FDFF の範囲も含まれていました)。これは Unicode 1.0.1 で U+E000..F8FF に変更され[ 7 ]、Unicode 1.1 でもそのままでした[ 8 ] 。Unicode 2.0 以降UTF-16サロゲートに使用されている U+D800..DFFF の範囲は割り当てられておらず、Unicode 1.x のどのバージョンでもプライベート使用領域の一部ではありませんでした。
ユニバーサル符号化文字セットのプレーン E0 (224) から FF (255) まで、およびグループ 60 (96) から 7F (127) (つまり U+E00000 から U+FFFFFF および U+60000000 から U+7FFFFFFF まで) もプライベート使用として指定されていました。これらの範囲は、UCS が UTF-16 で到達可能な 17 プレーンに制限されたときに削除されました。[ 9 ]
多くの人々や機関が、PUA(プライベート使用契約)用の文字コレクションを作成してきました。これらのプライベート使用契約の中には公開されているものもあり、他のPUA実装者は、重複を避けるために未使用または使用頻度の低いコードポイントを目標にすることができます。プライベート使用契約で以前にエンコードされていた文字やスクリプトのいくつかは、実際にはUnicodeで完全にエンコードされているため、PUAから他のUnicodeコードポイントへのマッピングが必要になります。
PUA協定の中でも特に広く知られ、広く採用されているものの1つが、ConScript Unicode Registry (CSUR) によって維持されています。CSURは、Unicodeコンソーシアムの公式な承認や提携を受けているわけではありませんが、クリンゴン語のpIqaDやフェレンギ語(スタートレック)、テングワール語とキルス語(J.R.R.トールキンの筆記体とルーン文字)、アレクサンダー・メルヴィル・ベルのVisible Speech、ドクター・スースのOn Beyond Zebraのアルファベットなど、人工的に作られた文字体系のマッピングを提供しています。CSURは以前、解読されていないファイストス文字や、シャヴィアン文字、デゼレット文字をエンコードしており、これらはすべてUnicodeで公式にエンコードされることが認められています。
もう一つの一般的なPUA協定は、中世ユニコードフォントイニシアチブ(MUFI)によって維持されています。このプロジェクトは、ラテン文字で書かれた中世のテキストに見られるすべての筆記略語、合字、合成文字、記号、および代替文字をサポートすることを目指しています。MUFIの明確な目的は、これらのテキストを表現するために必要な文字を実験的に決定し、それらの文字を公式にユニコードにエンコードすることです。ユニコードバージョン5.1の時点で、152のMUFI文字が公式のユニコードエンコードに組み込まれています。
合意済みのPUA文字コレクションの中には、Unicodeコンソーシアムがエンコードを急いでいないため、一部または全部が存在するものもあります。表現されていない言語など、将来エンコードされる可能性が高いものもあります。架空の言語など、通常Unicodeの範囲外ではあるものの、Unicodeの原則によって明示的に除外されているわけではない特殊なケースもあり、いずれ登場する可能性があります(スタートレックやトールキンの文字体系など)。その他のケースでは、提案されたエンコードが1つ以上のUnicode原則に違反しているため、Unicodeによって公式に認められる可能性は低いでしょう。これは主に、ユーザーが代替形式、合字、または基本文字と発音記号の組み合わせ(TUNEスキームなど)を直接エンコードしたい場合です。
非公式には、U+F000 から U+F8FF までの範囲は企業利用領域として知られています。これは、Unicode の初期バージョンに由来するもので、U+E000 より上まで広がる「エンドユーザーゾーン」と、U+F8FF より下まで広がる「企業利用ゾーン」が定義され、両者の境界は定義されていませんでした。[ 8 ]
U+F000U+F000のような一部のビデオゲームでは 13 または 18 から始まる数字の連続です。U+E0FF「Circle Of Friends」ロゴ[ 23 ]として表示され、Ubuntu フォントU+F200で「ubuntu」と表示され、上付き文字の「Circle Of Friends」が付いています (これ自体は です)。[ 24 ]U+F0FFU+F100。U+E000が表示されます。U+E003U+F862-U+F89FおよびU+F8FB- ) を使用しています。これらのうち、 はクラウン通貨記号 ("Kr")用に予約されていることが知られており、および は後にそれぞれ( fl ) および( fi )にマッピングされました。さらに、UTF-16 コードが LMBCS に埋め込まれる場合、 LMBCS は埋め込みヌルバイトを含まないように設計されているため、 から に対応する UTF-16 コードは、ヌルバイトを含む UTF-16 コードに置き換えられます。[ 27 ] [ 28 ]U+F8FEU+F8FBU+F8FCU+F8FDU+FB02U+FB01U+F601U+F6FFU+F000を使用します。U+F0FFU+E000左下矢印に対応するアイコン、U+EA00Twitterの鳥に対応するアイコン、U+F8FFAppleロゴに対応するアイコンなど、いくつかの追加アイコンが用意されており、おそらくAppleフォントとの互換性のためだろう。[ 34 ]特定のコードポイントを私的使用のために予約するという概念は、他の文字セットにおける同様の以前の使用法に基づいています。特に、東アジアの文字体系では、本来は廃止された文字の多くが特定の名前やその他の状況で引き続き使用されており、そのため、これらの文字体系用の文字セットの中には、私的使用文字(CNS 11643のユーザー定義プレーンや、特定の日本語エンコーディングのgaijiなど)を認めているものがあります。Unicode 標準では、これらの使用法を「エンドユーザー文字定義」(EUCD)という名前で参照しています。[ 3 ]
さらに、C1制御ブロックには、 ECMA-48によるプライベート使用「制御機能」を目的とした2つのコード、0x91プライベート使用1(PU1)と0x92プライベート使用2(PU2)が含まれています。[ 35 ] [ 36 ] Unicodeでは、これらはU+0091 <control-0091>に含まれています。およびU+0092 <control-0092>しかし、それらは制御文字(カテゴリCc)として定義され、私的使用文字(カテゴリCo)としては定義されていない。[ 4 ] [ 37 ]
ISO/IEC 8859やShift JISのように、プライベート使用領域を持たないものの、多かれ少なかれ未使用領域を持つエンコーディングでは、これらのエンコーディングの制御されていないバリアントが進化してきた。[ 38 ] Unicodeの場合、ソフトウェア企業はプライベート使用領域を必要な追加機能に使用できる。
無効な NTFS ファイル名文字は、SFM (Services for Macintosh) のプライベート使用 Unicode 文字を使用してエンコード
さ
れ
ます
。
使用するアプリケーション (ターミナル エミュレータなど) は、パッチされたフォントを使用するように構成されているか (カスタム グリフは一部のアプリケーションが予約しているプライベート使用領域に存在するため、場合によってはサポートする必要がある)、Powerline 固有のグリフで正しく動作するために powerline の fontconfig をサポートしている必要があります。
上記のチャートに示されている領域は、プレーン 0F の行 FF の 254 バイトのみを表しています。
上記のチャートに示されている領域は、プレーン 0F の行 FF の 254 バイトのみを表しています。
IBM は、U+F83D から U+F8FF までの 195 ポジションを IBM コーポレート ゾーンとして指定し、IBM 文字の往復整合性を維持する必要がある場合は、IBM 内で一貫して使用する予定です。