Main Page   Modules   Data Structures   Globals   Appendix  

コード変換
[シェル API]

コード系オブジェクトとそれに関する API. More...

Data Structures

struct  MConverter
 コード変換に用いられる構造体. More...
struct  MCodingInfoISO2022
 MCODING_TYPE_ISO_2022 タイプのコード系で必要な付加情報用構造体. More...
struct  MCodingInfoUTF
 MCODING_TYPE_UTF タイプのコード系で必要な付加情報用の構造体. More...

Enumerations

enum  MConversionResult {
  MCONVERSION_RESULT_SUCCESS,
  MCONVERSION_RESULT_INVALID_BYTE,
  MCONVERSION_RESULT_INVALID_CHAR,
  MCONVERSION_RESULT_INSUFFICIENT_SRC,
  MCONVERSION_RESULT_INSUFFICIENT_DST,
  MCONVERSION_RESULT_IO_ERROR
}
 コード変換の結果を示すコード. More...
enum  MCodingType {
  MCODING_TYPE_CHARSET,
  MCODING_TYPE_UTF,
  MCODING_TYPE_ISO_2022,
  MCODING_TYPE_MISC
}
 コード系のタイプ. More...
enum  MCodingFlagISO2022 {
  MCODING_ISO_RESET_AT_EOL = 0x1,
  MCODING_ISO_RESET_AT_CNTL = 0x2,
  MCODING_ISO_EIGHT_BIT = 0x4,
  MCODING_ISO_LONG_FORM = 0x8,
  MCODING_ISO_DESIGNATION_G0 = 0x10,
  MCODING_ISO_DESIGNATION_G1 = 0x20,
  MCODING_ISO_DESIGNATION_CTEXT = 0x40,
  MCODING_ISO_DESIGNATION_CTEXT_EXT = 0x80,
  MCODING_ISO_LOCKING_SHIFT = 0x100,
  MCODING_ISO_SINGLE_SHIFT = 0x200,
  MCODING_ISO_SINGLE_SHIFT_7 = 0x400,
  MCODING_ISO_EUC_TW_SHIFT = 0x800,
  MCODING_ISO_ISO6429 = 0x1000,
  MCODING_ISO_REVISION_NUMBER = 0x2000,
  MCODING_ISO_FULL_SUPPORT = 0x3000,
  MCODING_ISO_FLAG_MAX
}
 MCODING_TYPE_ISO_2022 タイプのコード系の詳細を表わすビットマスク. More...

Detailed Description

m17n ライブラリは、符号化文字集合 (coded character set; CCS) の文字符合化方式 (character encoding scheme; CES) を コード系 と呼ぶオブジェクトで表現する。 アプリケーションプログラムは独自にコード系を追加することもできる。

コードポイントから文字コードへの変換を エンコード と呼び、文字コードからコードポイントへの変換を デコード と呼ぶ。

アプリケーションプログラムは、指定されたコード系でバイト列をデコードすることによって M-text を得ることができる。また逆に、指定されたコード系で M-text をエンコードしすることによってバイト列を得ることができる。


Enumeration Type Documentation

enum MConversionResult
 

これらの値のうち一つが MConverter->result に設定される。

Enumerator:
MCONVERSION_RESULT_SUCCESS  コード変換は成功.
MCONVERSION_RESULT_INVALID_BYTE  デコード時、ソースに不正なバイトが含まれている.
MCONVERSION_RESULT_INVALID_CHAR  エンコード時、指定のコード系でエンコードできない文字がソースに含まれている.
MCONVERSION_RESULT_INSUFFICIENT_SRC  デコード時、不完全なバイト列でソースが終わっている。
MCONVERSION_RESULT_INSUFFICIENT_DST  エンコード時、結果を格納する領域が短かすぎる。
MCONVERSION_RESULT_IO_ERROR  コード変換中に I/O エラーが起こった。

enum MCodingType
 

Enumerator:
MCODING_TYPE_CHARSET  このタイプのコード系は文字セットを直接サポートする。 各文字セットの次元とは、その文字セットで一文字を表現するために必要なバイト数であり、バイト列は文字のコードポイントを直接表す。

m17n ライブラリはこのタイプ用のデフォルトのエンコード/デコードルーティンを提供する。

MCODING_TYPE_UTF  このタイプのコード系は、UTF 系 (UTF-8, UTF-16, UTF-32) のバイト列をサポートする。

m17n ライブラリはこのタイプ用のデフォルトのエンコード/デコードルーティンを提供する。

MCODING_TYPE_ISO_2022  このタイプのコード系は、ISO-2022 系のバイト列をサポートする。 各コード系の構造の詳細は MCodingInfoISO2022 で指定される。

m17n ライブラリはこのタイプ用のデフォルトのエンコード/デコードルーティンを提供する。

MCODING_TYPE_MISC  このタイプのコード系は、その他の構造のバイト列のためのものである。

m17n ライブラリはこのタイプ用のエンコード/デコードルーティンを提供しないので、アプリケーションプログラム側で準備する必要がある。

enum MCodingFlagISO2022
 

Enumerator:
MCODING_ISO_RESET_AT_EOL  エンコードの際、行末で呼び出し (invocation) と指示 (designation) の状態を初期値に戻す。
MCODING_ISO_RESET_AT_CNTL  エンコードの際、すべての制御文字の前で、呼び出し (invocation) と指示 (designation) の状態を初期値に戻す。
MCODING_ISO_EIGHT_BIT  図形文字集合の右側を使う。
MCODING_ISO_LONG_FORM  JISX0208-1978, GB2312, JISX0208-1983 の文字集合に対する指示シークエンスとして、非標準の4バイト形式を用いる。
MCODING_ISO_DESIGNATION_G0  エンコードの際、特に指定されない限り、文字集合を G0 に指示する。
MCODING_ISO_DESIGNATION_G1  エンコードの際、特に指定されない限り、ASCII 以外の文字集合を G1 に指示する。
MCODING_ISO_DESIGNATION_CTEXT  エンコードの際、特に指定されない限り、94文字集合を G0 に、96文字集合を G1 に指示する。
MCODING_ISO_DESIGNATION_CTEXT_EXT  エンコードの際、ISO-2022 に合致しない文字集合を ESC % / ... でエンコードする。サポートされていない Unicode 文字は ESC % G ... ESC % @ でエンコードする。 デコードの際、これらのエスケープ・シーケンスを解釈する。
MCODING_ISO_LOCKING_SHIFT  ロッキングシフトを使う。
MCODING_ISO_SINGLE_SHIFT  シングルシフト (SS2 (0x8E or ESC N), SS3 (0x8F or ESC O)) を使う。
MCODING_ISO_SINGLE_SHIFT_7  7ビットシングルシフト 2 (SS2 (0x19)) を使う。
MCODING_ISO_EUC_TW_SHIFT  EUC-TW 風の特別なシフトを使う。
MCODING_ISO_ISO6429  ISO-6429 のエスケープシークエンスで方向を指示する。未実装。
MCODING_ISO_REVISION_NUMBER  エンコードの際、文字セットに revision number があればそれを表わすエスケープシークエンスを生成する。
MCODING_ISO_FULL_SUPPORT  ISO-2022 の全文字集合をサポートする。
MCODING_ISO_FLAG_MAX 


このページの先頭

Main Page   Modules   Data Structures   Globals   Appendix  

mulemark mule-aist@m17n.org