未来情報産業株式会社 追加情報


LOCATION:

各種の情報

目次‐機能面関係

文字の内部管理に関する情報

この実装では、1文字は64ビットで管理されています。

実際には、この1文字に対応するUnicode列を合わせて格納する構造体で管理していますが、直接的には、文字は64ビット管理であると言えます。

この64ビットは、32ビットのバンクと、32ビットの文字番号からなっています。

バンクは、TRONコードの仕様の拡張となっています。バンクで独自の文字集合を扱うことができるため、Unicodeに無い文字も、この処理系では難なく扱うことが可能となっています。

使用中のバンクの一例

  • 0x00000000 … ZEROPAGE (文字コードをISO/IEC 10646として扱う)
  • 0x0000XXXX … TRONコード用
  • 0x1xxxxxXX … 各種標準用 (Unicodeに無い文字管理)
  • 0xA0000100 … Unicode 1.0
  • 0xExxxXXXX … 言語別文字集合
  • 0xFxxxXXXX … 言語別文字集合

バンクも文字番号も余裕を充分に確保しており、高い拡張性を持っています。

現時点では、旧式であるUnicode 1.0文字集合や、Unicodeにはない放送業界用のモザイク文字集合、あるいは日本語のARIB STD-B24各種文字集合等の様々な文字を、情報を欠落させることなく管理することができています。

自動判別に関する情報

入力文書ファイルの自動認識機能が搭載されています。

ISO/IEC 2022のエスケープシーケンスや、UnicodeのBOMのような、自明に認識可能なもののほか、独自の自動認識機能を搭載しており、高精度に符号を認識します。

将来的には、優先する言語情報を設定できるようにする予定ですが、現在は主として日本語を認識します。

自動判別の言語は、-L:xx オプションで切り替えます。

  • -L:JA 日本語モードにする
  • -L:ZH 中文モードにする (現在未対応)
  • -L:ZH-CN 中文 大陸簡体モードにする (現在未対応)
  • -L:ZH-TW 中文 台湾正体モードにする (現在未対応)

詳細は、「高精度自動認識」を参照して下さい。

ユーザー定義外字に関する情報

ユーザー定義外字に対応しています。

但し、符号によっては利用できないことがあります。

Unicode

  • BMP領域 U+E000‐U+F8FF (6400字)
  • 15面 U+F0000‐U+FFFFD (65534字)
  • 16面 U+100000‐U+10FFFD (65534字)

ISO/IEC 10646

00群16面まではUnicodeと同じ

  • 00群224面‐255面 0x00E00000‐0x00FFFFFF (2,097,152字)
  • 96群‐127群 0x60000000‐0x7FFFFFFF (536,870,912字)

符号ごとに、一定の順序で、BMP、15面、16面、…の順で、順番に割り当ててい きます。

SHIFT_JIS

シフトJISは、実装により大きく仕様に差があります。

Windows-31J(Windowsで一般的なシフトJIS)
0xF040‐0xF9FC → Unicodeの U+E000‐U+E757

EUC-JP系符号

EUC-JP系符号は、実装により大きく仕様に差があります。

通常のEUC-JPは、外字に対応していません。対応する実装は、以下のように内部的に一旦Unicodeの外字領域にマッピングすることで、相互変換を実現してい ます。このマッピングは当実装独自のものもあり、必ずしも他の実装と交換性があるとは限りません。

eucJP-open(TOG日本ベンダ協議会(TOG/JVC)策定)
0xF5A1‐0xFEFE → Unicodeの U+E000‐U+E3AB (940字)
0x8F 0xF5A1‐0x8F 0xFEFE → Unicodeの U+E3AC‐U+E757 (940字)
EUC-HJ (詳細は下記)
0xA121‐0xE528 → Unicodeの U+E000‐U+F8FF (6,400字)
0xE529‐0xFE7E → Unicodeの U+F0000‐U+F0983 (2,436字)
DEC KANJI (DEC漢字、Super DEC漢字)
0xA121‐0xBF7E → Unicodeの U+E000‐U+EB61 (2,914字)
DEC HANYU (台湾正体)
0xFDCC‐0xFEFE → Unicodeの U+E000‐U+E090 (145字)
0xF245‐0xFE7E → Unicodeの U+E091‐U+E532 (1,186字)
DEC HANZI (大陸簡体)
0xA121‐0xE528 → Unicodeの U+E000‐U+F8FF (6,400字)
0xE529‐0xF77E → Unicodeの U+F0000‐U+F06F1 (1,778字)
CP1383(IBM AIX、EUC-CNの拡張)
0xA2A1‐0xA2B0 → UNICODEの U+E000‐U+E00F
0xA2E3‐0xA2E4 → UNICODEの U+E010‐U+E011
0xA2EF‐0xA2F0 → UNICODEの U+E012‐U+E013
0xA2FD‐0xA2FE → UNICODEの U+E014‐U+E015
0xA4F4‐0xA4FE → UNICODEの U+E016‐U+E020
0xA5F7‐0xA5FE → UNICODEの U+E021‐U+E028
0xA6B9‐0xA6C0 → UNICODEの U+E029‐U+E030
0xA6D9‐0xA6FE → UNICODEの U+E031‐U+E056
0xA7C2‐0xA7D0 → UNICODEの U+E057‐U+E065
0xA7F2‐0xA7FE → UNICODEの U+E066‐U+E072
0xA8BB‐0xA8C4 → UNICODEの U+E073‐U+E07C
0xA8EA‐0xA9A3 → UNICODEの U+E07D‐U+E094
0xA9F0‐0xAFFE → UNICODEの U+E095‐U+E2D7
0xD7FA‐0xD7FE → UNICODEの U+E2D8‐U+E2DC
0xF8A1‐0xFEDF → UNICODEの U+E2DD‐U+E54F

EUCで外字を扱う場合、例えばEUC-JPの規格を維持した場合はJIS X 0208の空き領域などへマッピングするなど、空き領域を埋めるように実装するのが一般的です。

さもなくば、2バイト目を0x21から0x7eの範囲で拡張し、その範囲に外字領域をマッピングする実装が多くあります。但しこれをEUCと言えるのかどうかは定かではありません。

EUC-HJ

EUC-HJは、戸籍情報システムで用いられている符号です。

EUC-HJの外字領域を、単純にUnicodeの外字領域に対応させる変換のみを実装しています。

0xA121‐0xE528 → Unicodeの U+E000‐U+F8FF
0xE529‐0xFE7E → Unicodeの U+F0000‐U+F0983

文字を認識し、変換する機能は、専用の変換表を作る必要があります為、別途 見積もりで開発いたします。

ISO-2022-JP系符号

通常のISO-2022-JP系符号は、外字に対応していません。

次の専用の符号で、外字に対応します。

  • CP50220
  • CP50221
  • CP50222
  • ISO-2022-JP-MS
CP50220/CP50221/CP50222
0x7F21‐0x927E → Unicodeの U+E000‐U+E757
(ISO/IEC 2022の仕様から外れています)
ISO-2022-JP-MS
ESC 2/4 2/8 3/15の私的終端文字で、ユーザー定義外字の集合を指定します。
0x2121‐0x347e → Unicodeの U+E000‐U+E757
(ISO/IEC 2022の仕様に合致しています)

その他符号

元がEUC-JP系でも、原形を留めない拡張をした符号は、その他として扱います。

CP1381(IBM OS/2、EUC-CNの拡張)
0x8DA1‐0xA0FE → Unicodeの U+E000‐U+E757 (1880字)
GBK/GB18030(EUC-CNの拡張)
0xAAA1‐0xAFFE → Unicodeの U+E000‐U+E233 (564字)
0xF8A1‐0xFEFE → Unicodeの U+E234‐U+E4C5 (658字)
0xA140‐0xA7A0 → Unicodeの U+E4C6‐U+E765 (672字)

点字に関する情報

様々ある点字の符号を変換できます。

対応符号

対応しない機能

  • 英/数/かな←→点字

点字との翻訳機能は、文字コード変換の範囲を超えると思われるため、搭載されません。

要望があれば、別製品として製造を賜わりますのでご相談下さい。

6点点字と8点点字

Unicodeでは、6点点字と8点点字が統合されています。Unicodeでは、6点点字は上側の6点を使うように包括されています。

このため、TRONコードのように6点点字と8点点字が別々に符号化されているものへ変換する場合、どちらの点字を使うかを選ぶ必要があります。

コマンドラインツールの場合、次のオプションを使用します。

  • BRAILLE:AUTO または TENJI:AUTO … 特に何も優先をしない(標準)
  • BRAILLE:8 または TENJI:8 … 8点点字を優先する
  • BRAILLE:6 または TENJI:6 … 6点点字を優先する

オプション使用例

gtef infile outfile -o:tad -tenji:6

Unicode→TRONコードの場合、「6点点字を使用する」オプションを使用しない限りは、8点点字で文字が出力されます。

あくまで「優先」であり、出力先に8点または6点しか無い場合は、オプションに関わらず出力可能な方法で出力をします。

戻る
Copyright © Mirai Corporation 2007-2010 All rights reserved.