ベトナム語には様々な符号が存在しますが、そのうちの主流なものの幾つかに対応しています。
なお、「クオック・グー」のみ対応しています。
漢字や字喃については、需要があれば対応する予定です。
Microsoft Windowsで一般的な実装
文字集合は、Windows-1252(ISO-8859-1風のWindows実装)と一致するものは同じコードポイントとするよう文字を配置しています。そして5種類の声調にそれぞれ符号位置を与え、これは連結によって合成表現します。
このため、例えば Á なら「0xc1」と「0x41 0xec」の二通りの方法で表現できることになります。
入力は、どちらも対応します。
出力は、冗長にならないよう、1バイトで済むものは1バイトで出力します。
このため、Windows-1258で入力しWindows-1258で出力しても、両者が完全に一致しないこともあります。
VIQRは、RFC 1456の記載に準拠しています。
RFCでは1文字ごとに<>で囲むような記載がありますが、当製品では、囲まずに出力しています。また入力も、<>に囲まれたものは対応していません。
これは、実際に<>で囲って使用する実装が確認できていないためです。
またRFCには記載がありませんが、声調文字などの効果を打ち消すため、バックスラッシュ(\)の機能に対応しています。
例えば「ddo+`i\.」なら、最後の母音はiであり、i.ではありません。次いで、ピリオドが出力されます。「dda^u\?」といった場合も同様です。
\V \M \L というシーケンスでモード切替を行なう実装があるようですが、現時点ではこのシーケンスに対応していません。
参考文献 http://vietunicode.sourceforge.net/charset/viqr.html
他の符号から通貨記号dongが入力された場合、VIQRの出力は「dong」の4文字を出力します。但し、VIQRからdong記号は入力できません。
なお、これら差異に、個別の名称が付けられるのであれば、需要に応じて動作を切り替える等の対応をする準備はあります。
VNIは、実際の実装が出力する結果を独自に解析する方法で実装されています。
VNIの場合、ベトナム語では使用されないような文字も扱うことが可能なほか、同じ文字を複数の方法で符号化することも可能です。
Y(に声調の付いた文字のような、Unicodeにすら無い文字にも、技術的努力により対応しています。Y('であれば、内部ではU+0059 U+0306 U+0301という、Unicode文字にして3文字分の扱いになります。
出力は、実際の実装が用いている符号法を採用しています。このため、必ずしも最短の符号とはなりません。一部、冗長と思われる符号も存在しますが、最短で出力して実際の実装が読めないと困るので、実際の実装に準拠しています。
入力は、実際の実装が用いている符号法の多くに対応しています。
VNIについては、さらなる試験が必要と考えられるため、興味のある方は様々な試験をお願いいたします。
NATS-SEFIの入出力に対応しています。
独特の文字は、次のUnicode文字に対応させています。変換に使用するUnicode文字は、RFC 1345の提案に基づいています。
| 4/0 | Unit space A | U+E002 Private Use Area |
| 6/0 | Unit space B | U+E003 Private Use Area |
| 5/14 | Solid | U+25A0 BLACK SQUARE |
| 7/14 | Hyphen | U+2013 EN DASH |
4/0と6/0は、該当文字がUnicode文字に存在しないため、いわゆる外字領域を割り当てているようです。
NATS-DANOの入出力に対応しています。
独特の文字は、次のUnicode文字に対応させています。変換に使用するUnicode文字は、RFC 1345の提案に基づいています。
| 2/2 | opening quotation mark | U+00AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK |
| 2/3 | closing quotation mark | U+00BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK |
| 4/0 | Unit space A | U+E002 | Private Use Area |
| 6/0 | Unit space B | U+E003 | Private Use Area |
| 5/14 | Solid | U+25A0 | BLACK SQUARE |
| 7/14 | Hyphen | U+2013 | EN DASH |
4/0と6/0は、該当文字がUnicode文字に存在しないため、いわゆる外字領域を割り当てているようです。
Big5では様々な文字集合(CCS)が使われています。
主要な、次の文字集合に対応しています。
Big5の実装は、下記のサイトを情報源としています。
FirefoxのBig5は、基本的にはBig5-ETENの上位互換ですが、他の実装とは全く異なる拡張を行ない、Unicodeにある文字の多くが利用可能となっています。
この文字集合は「big5-uao」という名で、「BIG5 Unicode 補完計画拡張コード」と呼ばれているようです。
現在は、Firefox 3に搭載されている仕様に準拠して実装されています(Firefox 3.0.4とFirefox 3.5.2で同一であることを確認済み)。
Big5に存在する外字領域や予約領域に文字を割り当てているため、符号化方法としては互換性を維持しています。また、漢字や基本的な非漢字類については、他の実装、例えばWindowsの実装と、概ね互換性を有しています。
big5-uaoには、次のような特徴があります。
外字領域に文字を追加する発想は、香港のHKSCSと同様です。
一部についてはHKSCSと同様の実装がされていますがが、基本的に他の集合と互換性はない、独自の文字集合となっています。
現在Firefox 3の実装とは若干異なりますが、Mozilla Taiwanのサイトに、「Unicode 補完計劃 2.30 alpha for Mozilla/Netscape win32」という記述が見られます。
なお、幾つかの文字について重複登録が確認されています。意図した仕様なのか、あるいはバグなのかは定かではありません。
ISO/IEC 2022の7単位符号系、及び「EUC-TW」により、CNS 11643に対応しています。
現在対応している文字集合は、次の通りです。
対応する第14字面は、古い第14字面です。CCSをCNS 11643:1986に設定した時のみ利用されます。
初版「CNS 11643:1986」、改訂版「CNS 11643:1992」は、第1字面から第16字面までを定義しており、「CNS 11643:2004」からは64字面が追加されて第17字面から第80字面が増やされました。このうち対応するのは上に示した面です。
なお、第8字面以降は、EUC-TWでのみ対応します。
Unicodeへの変換については、Unicode 5.2までで定義された文字に対応しています。
ISO-2022-CN(-EXT)とEUC-TW間の変換は、Unicode未定義の文字でも行なうことが可能です。その他の符号では一旦Unicodeを介するため、Unicode未定義の文字は不明文字となります。
現在対応準備中の文字集合は、次の通りです。
ANSI/NISO Z39.47 (ANSEL)に、暫定的に対応しています。
この符号系は、Unicodeなどとの対応が困難な文字が一部にあります。
http://www.gymel.com/charsets/ANSEL.html
現在は、ISO-IR-231として、基本的に古い仕様(Alte Zuordnung)に準じ、次のように実装されています。
最近の仕様は、需要に応じて対応する用意があります。