:932:#-----------------------------------------------# :932:# ToolMan のファイルフォーマットについて # :932:# ESC:(エスケープコロン)フォーマットについて # :932:# 前寺正彦 # :932:# 96/12/01 - 97/02/05 # :932:#-----------------------------------------------# :932: :932:(注意) このテキストファイルを正常に読むためには、 :932:「文字コードの設定ダイアログ」で編集時文字コードを :932:ESC: にしてください。 :932: :932:1.設定目的 :932:2.仕様 :932:3.Unicode+CodePage ---> Unicode :932:4.Unicode+CodePage ---> ローカルコードセット :932: :932:1.設定目的 :932: :932: Unicode は多言語の文字を単一のコードセットで :932: 表示できるように設定されたコードセットですが、 :932: 使用環境でフォント形状を変化させなければ実用的な :932: コードセットにならないという矛盾を持っています。 :932: ワープロソフト等は独自のファイルフォーマット内に :932: フォント情報を持たせることで対応していますが、 :932: この方法だとファイルフォーマットが複雑になり、 :932: 作成されたファイルをすべての環境で簡単に利用することが :932: 困難になります。 :932: そこでツールマンエディターは単純な制御コードを :932: 含んだテキストフォーマットを採用しています。 :932: また、このフォーマットを他の環境で利用することに :932: 対して制限はありません。 :932: :932:2. 仕様 :932: :932: 各構成文字はすべて Unicode 文字で構成されており、 :932: 各文字は次の形式のヘッダーをもちます。 :932: :932: ESC:コードページ:文字コード :932: (ESC はコード番号 0x001B です。) :932: :932: (例 1) :932: 大文字 A ESC:932:A :932: 円マーク \ ESC:932:\ :932: バックスラッシュ :1252:\:932: ESC:1252:\ :932: ウォンマーク :949:\:932: ESC:949:\ :932: :932: (例 2) :932: カタカナ アイウエオカキクケコサシスセソ :932: ラテン文字 :1252:ÀÈÌÒÙÁÉÍÓÚÂÊÎÔÛ :932: :932: (例 3) :932: Japanese こんにちは :932: Hangeul :949:안녕하세요 :932: Chinese :936:你好 :932: :932: ここで、各文字コード毎にこのヘッダーをつけると :932: ファイルサイズに無駄が生じます。 :932: したがって前の文字と同じコードページのときは省略します。 :932: ただし、行単位で処理を行うフィルター等のために :932: 各行頭のヘッダーは省略できません。 :932: :932:3.Unicode+CodePage ---> Unicode :932: :932: この形式ではすべてのヘッダー情報が Unicode で構成されて :932: いるので Unicode に対応したツールなら正常にあつかえます。 :932: また、ESC:...: のヘッダー情報を読み飛ばすことで、 :932: 普通の Unicode テキストに変換可能です。 :932: :932:4.Unicode+CodePage ---> ローカルコードセット :932: :932: この形式からローカルコードセットに変換するには :932: 各ヘッダーのコードセット番号に応じて変換します。 :932: 環境によってはすべてのコードセットに変換できませんが、 :932: 必要な部分だけを抜き出すことで変換可能です。 :932: 変換不可能な部分は ESC:1200:(Unicode) とすることで、 :932: Unicode 情報の保持も可能です。