コミケットカタログブラウザ70 チェックリスト(Ver2)仕様書

 以下は DiskA(CCC70A) の ¥DOCUMENT¥CHKLIST.TXT と同じ内容です。
------------------------------------------------------
 コミケットカタログブラウザ70 チェックリスト 仕様書
------------------------------------------------------

○概要

この文章はコミケットカタログブラウザ70 によって保存される
「チェックリスト」のデータファイル形式を定義します。

◯コミケット70での変更点

特にありません

○チェックリストデータ形式

◇ファイル仕様

書式: CSV 形式 
拡張子: CSV

・フィールドセパレータ: カンマ
・ラインセパレータは CR(0x0D)のみ、LF(0x0A)のみ、CR+LF(0x0D0A)のいずれか

  ※プログラムはいずれの改行コードでも正常に扱える必要があります。

各フィールドは次の仕様で格納されます。

・データの中にセパレータ文字が含まれている時はその項目はダブルクォートで括られる

  ※ダブルクォートでくくられている中に存在するセパレータ文字はセパレータ
    として機能しません。

・項目がダブルクォートで括られている時は、その中のダブルクォートは
  二つ連続で入れることにより、括るのに使用しているダブルクォートと区別される
・項目の先頭のデータがダブルクォートの時はその項目は必ずダブルクォートで括られる
  (データかどうかの区別のため)
・各項目は常にダブルクォートで括ってもかまわない

注意点:
 Ver1 形式で存在した、メモ中の改行のエスケープ処理 (改行を¥nにする)
 は Ver2 形式では存在しません。通常の CSV 仕様に従い、そのまま改行
 文字として保持されます。 

◇レコード共通仕様

・第一フィールドは文字列で該当レコードの種別を示します
・第一フィールドの文字列は、英字の大文字と小文字は区別されます
・第二フィールド以降は、レコードの種別によって別の意味をもちます
・「ヘッダ」レコードは全てのレコードの先頭に存在する必要があります※1
・ヘッダレコードのテキストエンコーディングは、ASCII コードとします
・ヘッダレコード以外のテキストエンコーディングは、ASCII互換※2 のものとします

  実際に使われているエンコーディングはヘッダレコードで指定されます。

  ※1 二行目以降にあっても無視されます

  ※2 8bit 1byte のバイト列で構成され、MSB が off の部分については、
      ASCIIコード、または、それに準拠したコード体系 (ISO 646) であること
      Shift_JIS, EUC-JP, ISO-2022-JP, UTF-8 などが該当する。
      UCS-2 など 16bit体系は不可です。

     これにより、各行のセパレータ、特殊な文字、いわゆる「半角英数字」
     については、かならず同じ値をとります。プログラムはそれを期待した
     処理を行ってかまいません。

実装上の注意点:

 (1)エンコーディングによっては、いわゆる「全角文字」の部分に
    セパレータ文字を含む場合があるので、フィールド部の処理には注意が必要です。

 (2)全ての項目で、空白も含めて処理されますので、区切りのカンマ前後
    に空白があると別データとみなされます。

(例)"Circle"の後ろに空白があるので認識されない
○:Circle,0,1,91,1,金,東,A,1,999,サークル名
×:Circle ,0,1,91,1,金,東,A,1,999,サークル名

◇レコード仕様詳細

●ヘッダレコード

フィールド番号 データ

1: "Header"

2: "ComicMarketCD-ROMCatalog"  

  識別用のシグネチャです。
  英字の大文字と小文字は区別されますので注意してください。

3: イベント名 

  第何回目のコミックマーケットの保存ファイルかを判別するための文字列です。
  今回は "ComicMarket70" という文字列になります。
  イベント名が変化した場合は、サークルに対するIDが合致していることは期待できません。
  英字の大文字と小文字は区別されますので注意してください。

4: エンコーディング指定 

  データ部のエンコーディングを IANA の規定する名称で指定します。
  ※この項目は英字の大文字と小文字は区別されません。

5: プログラム識別ID

  チェックリストを作成したプログラムが任意に挿入する文字列です。

  ※CM70 版ではそれぞれ次の文字列が入ります

    Windows 版:  "Windows 1.40"
    Mac OS X 版: "Mac OS X 1.0.0"

●サークルレコード

チェックしたサークルの情報を保持するためのレコードです。

フィールド番号 データ

1: "Circle"

2: サークルシリアル番号  ※必須項目

  サークルデータ(C70ROM1.TXT〜C69ROM0.TXT)の先頭行を0とする、
  何行目のサークルかを表します。サークルデータは1日目、2日目、3日目、
  抽選漏れの順番で繋がっています。

3: チェックカラー番号  ※必須項目

   0〜9の整数。
   1〜9はチェックしたカラーの番号を表します。
   0の時はメモが記入されていてサークルがチェックされていない場合を表します。

4: ページ番号
5: カットインデックス
6: 参加曜日
7: 配置地区
8: ブロック名
9: スペース番号
10: ジャンルコード
11: サークル名
12: サークル名の読み仮名
13: 執筆者名   
14: 発行誌名   
15: URL   
16: メールアドレス   
17: 補足説明 半角で最大4000文字。 

 サークル情報がサークルデータから転記されます。

18: メモ

 ユーザが入力したメモが転記されます。

19: 配置図のX座標 マップ情報ファイルの X座標と同じ値が入る
20: 配置図のY座標 マップ情報ファイルの Y座標と同じ値が入る
21: 配置図のテーブルレイアウト情報 マップ情報ファイルのレイアウトと同じ値が入る
22: スペース配置 aの場合:0 bの場合:1 

 印刷処理用補助情報がマップデータから転記されます。

 ※サークル情報フィールドについて

  Windows版はCDATA / MacOS X版はUDATAからの転写が出力されます
  これらのフィールドは必須項目ではありませんが存在する場合には
  参考情報として使用することが可能です。

●未登録サークルレコード

過去のチェックリストをインポートした際に合致するサークルが
存在しなかった時に、そのデータを次回以降に維持して保持する
ためのレコードです。

フィールド番号 データ

1: "UnKnown"

2: サークル名
3: サークル名の読み仮名
4: 執筆者名

 サークル情報からサークルを特定するための情報が転記されます。

5: メモ (CM66では未記入。CM67 から対応)

 ユーザ入力したメモが転記されます。

6: チェックカラー番号 (CM67から追加)

 チェックリストの色情報が転記されます。

以下 CM68 から追加

7: 発行誌名
8: URL   
9: メールアドレス
10: 補足説明 半角で最大4000文字。 

インポート時情報が参考のため転記されます

●カラーレコード

チェックリストの色情報を保持するためのレコードです。

1: "Color"

2: チェックカラー番号

    サークルレコードのものと対応します。

3: チェックカラー

    チェックリストの色を 16進数で RRGGBB 値で示したものです。

4: 印刷カラー

    印刷用の色を 16進数の RRGGBB 値で示したものです。

5: カラー解説

    チェック色を説明するテキストです。

●保存した時の選択情報レコード

ドキュメントを保存した時に選択していた内容を保持します。

1: "LastSelect"

2: 最後に開いていた頁

    最後に開いていた頁を記録します。

3: 最後に選択していたサークル

    最後に選択していたサークルの番号を記録します。
    何も選択されいていなかった時は、-1になります。

●Mac OS X版プリント設定レコード

Mac OS X版のプリント設定を格納します。
このレコードはMac OS X版以外で意味を持ちません。

1: "MacPrintInfo"

2: プリント設定

   プリント設定を記録します (XML 形式のデータがそのまま入ります)

○プログラムに対する要求事項

Ver2 形式をサポートするプログラムは以下の機能を満たす必要があります

・Ver2 形式を読み込めるソフトは自動判別で Ver1 形式も読み込める事
・Ver2 形式を書き出せるソフトは、ユーザーの選択指定により Ver1 形式も書き出せる事

未知のレコードについては、無視する、あるいは、動作時は無視するが、
保存時はそのままの形で保存する、のいずれかを選択できます。

未知のフィールドについては全て無視し、保存時にも残さないものとします。

○CM70 Windows 版 詳細仕様

●対応するレコード

  Header
  Circle
  Color
  UnKnown

●対応するエンコーディング

  Shift_JIS
  ISO-2022-JP
  EUC-JP
  UTF-8

  保存時には「Shift_JIS」を使います。

●ロード時自動判定ロジック

・イベント名(コミケットの開催回数)が同じ場合

  a. サークルID を参照してサークルを決定します
  b. サークルID が存在しない場合、ページ番号とカットインデックスからサークルを決定します

・イベント名が同じでもサークルが特定できない場合、またはイベント名が異なる場合

  c. (サークル名 OR サークル名読み仮名) AND 執筆者名が合致するサークルを検索します
  d. サークル名 OR サークル名読み仮名 OR 執筆者名 が合致するサークルを検索します

  c と d において複数のサークルが合致する場合はその全てをチェック対象にします。
 それでもみつからない場合は未登録サークルとして登録します。

 合致したサークルのメモ情報はチェック情報として記録されます。

  ※未登録サークルの情報は保存時にもそのまま記録されます

○CM70 Mac OS X 版 詳細仕様

●対応するレコード

  Header
  Circle
  LastSelect
  MacPrintInfo

●対応するエンコーディング

  Shift_JIS
  ISO-2022-JP
  EUC-JP
  UTF-8

   保存時には「UTF-8」を使います。

  △Back△ ▲ページ先頭に戻る