ページの先頭行へ戻る
Interstage Charset ManagerStandard Edition V9 システム構築ガイド コンバータ編
FUJITSU Software

3.1.2 コード変換ポリシー定義ファイル

コード変換ポリシー定義ファイルはテキストファイルで、以下の形式で指定します。

FileEncoding=Shift_JIS
ID=Charset-Conversion-Policy
Version=1.0

# コード変換ID 
ConversionID=KEIRI-UNI_TO_JINJI-JEF
# 変換元文字セット
SourceConverterKeyword=Unicode(UCS2)
# 変換元無効コードポイント
SourceInvalidCode=\
    0000-001F,    \         # 制御コードを無効化
    EC1E-F8FF               # 3102文字以降の外字を無効化
# 変換先文字コード系
DestinationConverterKeyword=JEF_ASCII(JEF)
# 変換先無効コードポイント
DestinationInvalidCode=\
    0000-003F               # 制御コードを無効化
# 製品規定の対応定義の使用
UseDefaultTable=TRUE
# ユーザ対応定義ファイル
UserTableFile=usertable.txt

以下のルールに従います。

キー値行

キー句+区切り記号+値句から成る行です。区切り記号は"="です。

キー値+コメント行

キー句+区切り記号+値句+コメント句から成る行です。

コメント行

コメント句から成る行です。

空行

0回以上の空白記号の連続から成る行です。空白記号とは、半角空白、タブを指します。

コード変換ポリシー定義ファイルのキー句と値句

FileEncoding

本設定ファイルのファイルエンコーディングを指定します。本キーは必ず1行目に指定してください。値句は大文字小文字を区別します。指定できる値は以下のとおりです。

文字列

意味

Shift_JIS

シフトJISエンコーディングであることを示します。

ID

ファイル識別子を指定します。省略はできません。値句は大文字小文字を区別します。指定できる値は以下のとおりです。

文字列

意味

Charset-Conversion-Policy

コード変換ポリシー定義ファイルであることを示します。

Version

ファイルのバージョンを指定します。省略はできません。指定できる値は以下のとおりです。

文字列

意味

1.0

バージョン1.0であることを示します。

ConversionID

文字コード変換IDを指定します。文字コード変換IDとは、変換ポリシーを指定するためのID文字列として使用します。省略はできません。

文字コード変換IDは以下のルールに従って、任意に命名してください。

  • 使用できる文字は英数字と半角アンダースコア「_」、ハイフン「-」です。

  • 英大文字・小文字は同一視されます。

  • 長さは50文字までです。

SourceConverterKeyword

変換元のConverterキーワードを指定します。省略はできません。指定できる値については、“表3.1 Converterキーワードとコードポイントの表記方法”を参照してください。大文字・小文字は同一視されます。

SourceInvalidCode

変換元の文字セットの中の特定のコードポイントを無効としたい場合に、そのコードポイントを指定します。コードの指定方法については、“表3.1 Converterキーワードとコードポイントの表記方法”を参照してください。

SourceAdditionalBasecode

変換元の文字セットに、コードポイントを追加します。コードポイントの指定方法については、“表3.1 Converterキーワードとコードポイントの表記方法”を参照してください。このキーワードはSourceConverterKeywordのコード系種別がUnicodeのときのみ有効です。利用できるコードポイント範囲はU+0000~U+10FFFFで、SourceInvalidCodeに指定されたコードポイントと指定が重複する場合、そのコードは無効文字となります。

Unicode2面の文字すべてを文字セットに加えるには以下のようにします。

SourceAdditionalBasecode=20000-2FFFF
DestinationConverterKeyword

変換先のConverterキーワードを指定します。省略はできません。指定できる値については、“表3.1 Converterキーワードとコードポイントの表記方法”を参照してください。大文字・小文字は同一視されます。

DestinationInvalidCode

変換先の文字セットの中の特定のコードポイントを無効としたい場合に、そのコードポイントを指定します。コードの指定方法については、“表3.1 Converterキーワードとコードポイントの表記方法”を参照してください。

DestinationAdditionalBasecode

変換先の文字セットに、コードポイントを追加します。コードポイントの指定方法については、“表3.1 Converterキーワードとコードポイントの表記方法”を参照してください。このキーワードはDestinationConverterKeywordのコード系種別がUnicodeのときのみ有効です。利用できるコードポイント範囲はU+0000~U+10FFFFで、DestinationInvalidCodeに指定されたコードポイントと指定が重複する場合、そのコードは無効文字となります。

UseDefaultTable

製品既定の対応定義を有効とするかどうかを指定します。製品既定の対応定義とは、標準コード変換機能の標準の変換対応(カスタマイズせずに変換した場合)と同等です。変換内容については、“Charset Manager 使用手引書 標準コード変換機能編”の“付録A 標準の変換対応と縮退文字一覧”、“付録B 他社ホストコード系との変換対応と縮退文字一覧”を参照してください。
以下のいずれかを指定します。省略した場合、TRUEの扱いとなります。

文字列

意味

TRUE

製品既定の対応定義を有効とします。

FALSE

製品既定の対応定義は無効とし、UserTableFileキーで指定された対応定義のみが使用されます。この場合、UserTableFileキーを省略すると、変換できるコードが0となり、警告が表示されます。

UserTableFile

コード変換をカスタマイズするためのユーザ対応定義ファイル、または拡張対応定義ファイルのファイル名を指定します。ここに指定されたファイル名は下記の2つのディレクトリより検索されます。ファイル名が重複した場合にはa)のディレクトリが優先になります。

  1. コード変換ポリシー定義ファイル(本ファイル)と同じディレクトリ
    ユーザ対応定義ファイルを配置します。形式については、“対応定義ファイル形式”を参照してください。

  2. Charset Managerインストールディレクトリ\converter\data\extra
    製品に添付された拡張対応定義ファイルが格納されています。詳細については、“拡張対応定義ファイルについて”を参照してください。

なお、ファイル名はカンマ区切りで5つまでの複数指定が可能です。複数指定した場合、同じコードに対する設定は後の指定が有効となります。

以下のように指定した場合、各ファイルの対応定義の優先順位関係は以下のようになります。

Alternative

コード変換ができない文字を、変換先のコード系において、どのコードポイントで代替出力するかを指定します。省略した場合、代替文字は変換先のコードでのアンダースコア文字になります。デフォルトの代替文字のコードポイントについては、“代替文字について”を参照してください。
以下のように指定します。

<16進コードポイント値>

Alternative=3013

各コード系種別におけるコードポイントの表記法については、“表3.1 Converterキーワードとコードポイントの表記方法”を参照してください。

Alternative.half

コード変換ができない半角文字を、変換先のコード系において、どのコードポイントで代替出力するかを指定します。OperationForInconvertibleCharにALTERNATEを指定した場合に、有効となります。指定方法はAlternativeと同様となります。このパラメタを省略した場合、代替文字は変換先のコードでの半角アンダースコア文字になります。デフォルトの代替文字のコードポイントについては、“代替文字について”を参照してください。

なお、変換元コード系種別で半角として扱われる文字の定義についても、“代替文字について”を参照してください。

OperationForEncodingError

変換元の文字列に、不正エンコーディングが検出された場合の動作を指定します。以下のいずれかを指定します。大文字小文字を区別します。省略した場合、EXCEPTIONの扱いとなります。

文字列

意味

EXCEPTION

例外を発生させます。(C言語インタフェースの場合、STOPと同じ動作になります)

STOP

処理を中断します。

OperationForInvalidChar

無効文字が検出された場合の動作を指定します。以下のいずれかを指定します。大文字小文字を区別します。省略した場合、STOPの扱いとなります。

文字列

意味

ALTERNATE

Alternativeの指定に従って、代替文字に変換します。

STOP

処理を中断します。

SKIP

その文字を削除して処理を続行します。

OperationForInconvertibleChar

変換不能文字が検出された場合の動作を指定します。以下のいずれかを指定します。大文字小文字を区別します。省略した場合、ALTERNATEの扱いとなります。

文字列

意味

ALTERNATE

Alternative、Alternative.halfの指定に従って、代替文字に変換します。

STOP

処理を中断します。

SKIP

その文字を削除して処理を続行します。

Converterキーワードとコードポイントの表記方法

SourceConverterKeywordキー、DestinationConverterKeywordキーに指定できるキーワードと、キーワードごとのコードポイントの表記方法については、以下のとおりです。コード系種別と文字セットについては、“表2.1 コード系種別一覧”を参照してください。

表3.1 Converterキーワードとコードポイントの表記方法

Converterキーワード

コード系種別

文字セット

コードポイントの表記方法

Unicode(MS932)

Unicode

MS932

UCSのコードポイント値を利用します。例えば、U+2000Bのコードポイントは2000Bとなります。

IVSはConverterキーワードが
”Unicode(UCS4_IVS)”の場合のみ記述することができます。

IVSは、基底文字のコードの直後にアンダースコア(‘_’)を記述し、続いてVSのコードポイントを記載します。

VSは、E0100からE01EFをサポートします。

例)基底文字 U+8FBB、VS U+E0100の文字のコードポイントは8FBB_E0100となります。

Unicode(MS932ex)

MS932ex

Unicode(UCS2)

UCS2

Unicode(2004MS)

2004MS

Unicode(UCS4)

UCS4

Unicode(UCS4_IVS)

UCS4_IVS

SJIS(MS932) 注1)

SJIS

MS932

SJISコード値そのものがコードポイントとなります。例えば、'A'→0041、'あ'→82A0

EUC@EUC_JP(S90) 注2)

EUC@EUC_JP

S90

EUCコード値そのものがコードポイントとなります。3バイトの補助漢字も同様です。(8FA1A1など)

EUC@EUC_JP(U90) 注2)

U90

JEF_ASCII(JEF)

JEF_ASCII

JEF

1バイト文字はEBCDIC(ASCII)コード、2バイト文字はJEFコードがそれぞれコードポイントとなります。

JEF_KANA(JEF)

JEF_KANA

JEF

1バイト文字はEBCDIC(カナ)コード、2バイト文字はJEFコードがそれぞれコードポイントとなります。

KEIS(KEIS)

KEIS

KEIS

1バイト文字はEBCDIC(カナ)コード、2バイト文字はKEISコードがそれぞれコードポイントとなります。

JIPS_J(JIPS)

JIPS_J

JIPS

1バイト文字はJIS8単位コード、2バイト文字はJIPS(J)コードがそれぞれコードポイントとなります。

JIPS_JE(JIPS)

JIPS_JE

1バイト文字はEBCDIC(カナ)、2バイト文字はJIPS(J)コードがそれぞれコードポイントとなります。

※JIPS_Eの場合も、コードポイント表現としてJIPS(J)コードを使用します。

JIPS_E(JIPS)

JIPS_E

DBCS_HOST_ASCII(DBCS_HOST)

DBCS_HOST_ASCII

DBCS_HOST

1バイト文字はEBCDIC(ASCII)コード、2バイト文字はDBCS-Hostコードがそれぞれコードポイントとなります。

DBCS_HOST_KANA(DBCS_HOST)

DBCS_HOST_KANA

1バイト文字はEBCDIC(カナ)コード、2バイト文字はDBCS-Hostコードがそれぞれコードポイントとなります。

注意

  1. Shift_JISエンコーディング形式が扱う2バイト文字の各バイトの値の範囲は、次の通りです。この条件に合致しない場合、不正エンコーディングとして扱います。

    第1バイト : 0x81~0x9F および 0xE0~0xFC
    第2バイト : 0x40~0x7E および 0x80~0xFC
  2. EUC-JPエンコーディング形式が扱う2バイト、3バイト文字の各バイトの値の範囲は、次の通りです。この条件に合致しない場合、不正エンコーディングとして扱います。

    • 2バイト文字

      第1バイト : 0x8E および 0xA1~0xFE
      第2バイト : 0xA1~0xFE
    • 3バイト文字

      第1バイト : 0x8F
      第2バイト : 0xA1~0xFE
      第3バイト : 0xA1~0xFE

コードの指定方法

SourceInvalidCodeキー、SourceAdditionalBasecodeキー、DestinationInvalidCodeキー、およびSourceAdditionalBasecodeキーのコードの指定方法は以下のとおりです。

先頭コード[-最終コード]

コードは16進数で、6桁までの半角英数字で記述してください。

大文字、小文字は区別しません。

指定するコードは、SourceConverterKeywordキー、DestinationConverterKeywordキーに指定したConverterキーワードに対応するコードポイントの表記方法に従ってください。詳しくは、“表3.1 Converterキーワードとコードポイントの表記方法”を参照してください。

IVSはConverterキーワードが”Unicode(UCS4)”または"Unicode(UCS4_IVS)"の場合のみ記述することができます。

IVSは、基底文字のコード直後に'_'を記述し、続いてVSのコードポイントを記載します。

ハイフン(-)を使ってIVSの連続するコード範囲を指定する場合は、基底文字とVSを別々に指定(「(基底文字の範囲指定)_(VSの範囲指定)」の形式で指定)します。VS無しの基底文字とIVSを同時に範囲指定できません。

VSは、E0100からE01EFをサポートします。

最終コードを省略した場合、先頭コード1文字を対象範囲とします。

カンマで区切って複数範囲を指定することができます。

E000からE010までの場合

E000-E010

E000とE010の場合

E000,E010

E000からE010とE020の場合

E000-E010,E020

8FBAと8FBA E0100の場合

8FBA,8FBA_E0100

8FBA E0100と8FBA E0101と8FBB E0100と8FBB E0101の場合

8FBA-8FBB_E0100-E0101

対応定義ファイル形式

変換元と変換先のコードを定義するテキストファイルです。以下のルールに従って作成します。

E000\tE000
E001\tE001
E002\t3013
E003\t3013
E004\t3013
E008\t_NONE_
…

拡張対応定義ファイルについて

製品に添付されている拡張対応定義ファイルは以下のとおりです。

表3.2 拡張対応定義ファイル一覧

ファイル名

変換元コード系種別

変換先コード系種別

説明

90MS-U90.txt

Unicode

EUC@EUC_JP

UnicodeからEUC(U90)への変換を行う。

2004MS-U90.txt

Unicode

EUC@EUC_JP

UnicodeからEUC(U90)への変換を行う。JIS2004字形変更文字167文字中、118文字について、JIS2004字形を前提にした対応となる。

FUJ-U90.txt

Unicode

EUC@EUC_JP

Unicode-JEFフォントの字形を前提としたUnicodeからEUC(U90)への変換を行う。

2004MS-JEF.txt

Unicode

JEF_ASCII
JEF_KANA

UnicodeからJEFへの変換を行う。

JIS2004字形変更文字167文字中、118文字について、JIS2004字形を前提にした対応となる。

FUJ-JEF.txt

Unicode

JEF_ASCII
JEF_KANA

Unicode-JEFフォントの字形を前提としたUnicodeからJEFへの変換を行う。

SJ90MS-JEFAUG.txt

SJIS

JEF_ASCII
JEF_KANA

シフトJISからJEFへの変換を字形重視で行う。

SJ2004MS-JEFAUG.txt

SJIS

JEF_ASCII
JEF_KANA

シフトJISからJEFへの変換を字形重視で行う。

JIS2004字形変更文字167文字中、117文字について、JIS2004字形を前提にした対応となる。

S90-JEFAUG.txt

EUC@EUC_JP

JEF_ASCII
JEF_KANA

EUC(S90)からJEFへの変換を字形重視で行う。

U90-90MS.txt

EUC@EUC_JP

Unicode

EUC(U90)からUnicodeへの変換を行う。

U90-2004MS.txt

EUC@EUC_JP

Unicode

EUC(U90)からUnicodeへの変換を行う。

JIS2004字形変更文字167文字中、118文字について、JIS2004字形を前提にした対応となる。

U90-FUJ.txt

EUC@EUC_JP

Unicode

EUC(U90)から、Unicode-JEFフォントの字形を前提としたUnicodeへの変換を行う。

JEFAUG-S90.txt

JEF_ASCII
JEF_KANA

EUC@EUC_JP

JEFからEUC(S90)への変換を字形重視で行う。

JEF-2004MS.txt

JEF_ASCII
JEF_KANA

Unicode

JEFからUnicodeへの変換を行う。

JIS2004字形変更文字167文字中、118文字について、JIS2004字形を前提にした対応となる。

JEF-FUJ.txt

JEF_ASCII
JEF_KANA

Unicode

JEFから、Unicode-JEFフォントの字形を前提としたUnicodeへの変換を行う。

JEFAUG-SJ90MS.txt

JEF_ASCII
JEF_KANA

SJIS

JEFからシフトJISへの変換を、字形重視で行う。

JEFAUG-SJ2004MS.txt

JEF_ASCII
JEF_KANA

SJIS

JEFからシフトJISへの変換を、字形重視で行う。

JIS2004字形変更文字167文字中、117文字について、JIS2004字形を前提にした対応となる。

S90-JIPSAUG.txt

EUC@EUC_JP

JIPS_J
JIPS_JE
JIPS_E

EUC(S90)からJIPSへの変換を字形重視で行う。

SJ-JIPSAUG.txt

SJIS

JIPS_J
JIPS_JE
JIPS_E

シフトJISからJIPSへの変換を字形重視で行う。

JIPSAUG-S90.txt

JIPS_J
JIPS_JE
JIPS_E

EUC@EUC_JP

JIPSからEUC(S90)への変換を字形重視で行う。

JIPSAUG-SJ.txt

JIPS_J
JIPS_JE
JIPS_E

SJIS

JIPSからシフトJISへの変換を字形重視で行う。

2004MSA-U90.txt

Unicode

EUC@EUC_JP

JIS2004フォント利用のUnicode(2004MS文字セットの範囲内)からEUC(U90)への変換を行う。JIS2004字形変更文字およびJIS2004で追加となった文字の対応を含む。

2004UNI-JEF.txt

Unicode

JEF_ASCII
JEF_KANA

JIS2004フォント利用のUnicodeからJEFへの変換を行う。JIS2004で追加となった文字の対応を含む。

U90-2004MSA.txt

EUC@EUC_JP

Unicode

EUC(U90)から、JIS2004フォント利用のUnicode(2004MS文字セットの範囲内)に対する変換を行う。JIS2004で追加となった文字の対応を含む。

JEF-2004UNI.txt

JEF_ASCII
JEF_KANA

Unicode

JEFから、JIS2004フォント利用のUnicodeに対する変換を行う。JIS2004で追加となった文字の対応を含む。

注意

JIS2004字形変更文字の詳細については、“Charset Manager 使用手引書 標準コード変換機能編”の“A.3 JIS2004字形変更文字の対応”を参照してください。

参考

同等の変換を行う標準コード変換の設定について

拡張対応定義ファイルで用意されている変換と同等の変換を、Charset Managerの標準コード変換機能で行う場合の設定は以下のとおりです。標準コード変換機能については、“Charset Manager 使用手引書 標準コード変換機能編”を参照してください。

ただし、Charset ConverterではConverterキーワードとして指定した文字セットに応じて、対応定義範囲が狭められるため、Unicodeでは、標準コード変換とは同一の変換にならないことがあります。同一の変換を行う場合には、Unicodeの文字セットとしてUCS2を使用してください。

ファイル名

標準コード変換での設定

変換元キーワード

変換先キーワード

サンプルの対応定義ファイル

90MS-U90.txt

Unicode系(注1)

U90

2004MS-U90.txt

Unicode系(注1)

U90

U90_2004MSUni.CTL

FUJ-U90.txt

Unicode系(注1)

U90

U902FUNI.CTL

2004MS-JEF.txt

Unicode系(注1)

jefkana または
jefascii

JEFA_2004MSUni.CTL

FUJ-JEF.txt

Unicode系(注1)

jefkana または
jefascii

Jef2FUNI.ctl

SJ90MS-JEFAUG.txt

sjisms

JEF字形重視(注2)

SJ2004MS-JEFAUG.txt

sjisms

JEF字形重視(注2)

JEFA_2004MS.CTL

S90-JEFAUG.txt

S90

JEF字形重視(注2)

U90-90MS.txt

U90

Unicode系(注1)

U90-2004MS.txt

U90

Unicode系(注1)

U90_2004MSUni.CTL

U90-FUJ.txt

U90

Unicode系(注1)

U902FUNI.CTL

JEFAUG-S90.txt

JEF字形重視(注2)

S90

JEF-2004MS.txt

jefkana または
jefascii

Unicode系(注1)

JEFA_2004MSUni.CTL

JEF-FUJ.txt

jefkana または
jefascii

Unicode系(注1)

Jef2FUNI.ctl

JEFAUG-SJ90MS.txt

JEF字形重視(注2)

sjisms

JEFAUG-SJ2004MS.txt

JEF字形重視(注2)

sjisms

JEFA_2004MS.CTL

S90-JIPSAUG.txt

S90

N_JIPSJAUG または
N_JIPSJEAUG または
N_JIPSEAUG

SJ-JIPSAUG.txt

sjisms

N_JIPSJAUG または
N_JIPSJEAUG または
N_JIPSEAUG

JIPSAUG-S90.txt

N_JIPSJAUG または
N_JIPSJEAUG または
N_JIPSEAUG

S90

JIPSAUG-SJ.txt

N_JIPSJAUG または
N_JIPSJEAUG または
N_JIPSEAUG

sjisms

2004MSA-U90.txt

Unicode系(注1)

U90

U90_2004Uni.CTL

2004UNI-JEF.txt

Unicode系(注1)

jefkana またはjefascii

JEFA_2004Uni.CTL

U90-2004MSA.txt

U90

Unicode系(注1)

U90_2004Uni.CTL

JEF-2004UNI.txt

jefkana またはjefascii

Unicode系(注1)

JEFA_2004Uni.CTL

注1)UCS2、UCS2LE、UTF8、UTF16BE、UTF16LE、UTF8_4のいずれか。

注2)jefkana、jefascii、jefaugkana、jefaugasciiのいずれか。ただし、jefkana、jefasciiの場合、変換仕様ユーティリティ、環境変数にて字形重視の設定が必要。

代替文字について

各コード系種別のデフォルト代替文字のコードポイント値と、半角として扱われるコードポイントの定義については以下のとおりです。

表3.3 各コード系種別の代替文字について

コード系種別

代替文字の既定値(コードポイント値)

半角として扱われるコードポイント

デフォルト代替文字

デフォルト半角文字用代替文字

Unicode

FF3F

005F

0000~007F, FF60~FF9Fの範囲のうち、文字セットUCS2に含まれるコードポイント。

SJIS

8151

005F

0000~00FFの範囲のうち、文字セットMS932に含まれるコードポイント。

EUC@EUC_JP

A1B2

005F

0000~007F, 8EA1~8EDFの範囲のうち、文字セットS90に含まれるコードポイント。

JEF_ASCII

A1B2

006D

0000~00FFのうち、EBCDIC(ASCII)として有効なコードポイント。

JEF_KANA

A1B2

006D

0000~00FFのうち、EBCDIC(カナ)として有効なコードポイント。

KEIS

A1B2

006D

0000~00FFのうち、EBCDIC(カナ)コードとして有効なコードポイント。

JIPS_J

2132

005F

0000~00FFのうち、JIS8単位コードとして有効なコードポイント。

JIPS_JE

2132

006D

0000~00FFのうち、EBCDIC(カナ)コードとして有効なコードポイント。

JIPS_E

2132

006D

0000~00FFのうち、EBCDIC(カナ)コードとして有効なコードポイント。

DBCS_HOST_ASCII

426D

006D

0000~00FFのうち、EBCDIC(ASCII)コードとして有効なコードポイント。

DBCS_HOST_KANA

426D

006D

0000~00FFのうち、EBCDIC(カナ)コードとして有効なコードポイント。