Magicのリポジトリ出力ファイルは、ANSIファイルです。使用しているUnicodeデータが現在のコードページと互換性がある場合、データはANSIで出力されます。互換性がない場合は、UTF-8で出力されます。
ヘッダ
リポジトリ出力ファイルは、以下のフォーマットでヘッダファイル内に追加エントリを含んでいます。
CodePage=現在のコードページ |
現在のコードページは、リポジトリ出力実行のコードページを定義します。リポジトリ出力ファイルに対するコードページを定義することは、どのようにしてリポジトリ出力データを解析するかをあらかじめ知っておく必要があるからです。
例えば、現在のコードページと互換のUnicode特性がANSI文字列として出力されるため、異なるコードページでその文字列を出力しようとした場合、アプリケーションに関する情報が失われる場合ああります。
Unicodeデータ
データは、現在のコードページに対してテストされます。全てのデータがこのコードページの一部であれば、ANSIに変換されて、この方法で出力されます。現在のコードページと互換でない場合、UnicodeからUTF-8に変換されます。
出力される各オブジェクトのためのエントリ名には、接尾辞として「U」が付加されます。
例えば、ヘブライ語と日本語のUnicodeデータを含んでいるメニューエントリは、「DESC」の代わりに「DESCU」と出力されます。