oleo のファイルフォーマットの説明


昔の Sylk の説明書(英語)
MSKKのSYLKの解説

コメント
# コメント
フォントの登録
%F Xフォント,PSフォント,フォントのポイント
領域のフォントの指定(Oleo 1.0,1.1 で作成されたファイルでのみ使用される)
%f 領域,Xフォント,PSフォント,フォントのポイント
領域=R1:3C2:3
デフォルトフォーマットの指定
F;D{フォーマット}{表示形式}{列幅}
その他のフォーマットの指定
F[;領域指定] [;fフォントid(%Fで定義された順に1からふられる)][;F{フォーマット}{表示形式}]
[;W桁1,桁2,桁幅][;H桁1,桁2,桁高(JF拡張)]
境界(無視される)
B;c列;r行
B;X列;Y行 (SYLK-NOA0のみ)
領域名定義
NN[;N変数名][;E領域名]
セル定義
C[;領域指定(C,Rは無効)][;E式][;K値][;P(保護)][;G][;D][;S]
ウィンドウ定義
Wウィンドウ定義
ユーザー定義フォーマット(JF拡張)
Uユーザー定義フォーマット
オプション(JF拡張)
Oオプション
終了
E
(以下は SYLK-NOA0でのみ)
IDフィールド
ID;ID文字列

値="文字列" | 実数 | 整数 | 論理値 | エラー

フォーマット=フォーマット文字(F|数字) Fはfloat,数字はユーザー定義番号だったり、表示桁数だったり

領域指定= 全列 | 全桁 | 特定セル
全列 = C列
全行 = R行
特定セル = c列;r行 (c は前のセルと同一ならば省略)| X列;Y行(SYLK-NOA0のみ)

ユーザー定義フォーマット=Nフォーマット番号;P"";S""[;HP""][;HN""][;TP""][;TN""][;Z""][;C""][;D""]
(Pは0-14,floatならば15)

ウインドウ定義 = 
	W;Nウインドウ番号;A行 列[;Oウィンドウオプション][;S{HVT}(分離ウインドウ)L(リンク)]
		[;C色(未サポート)][;B境界(未サポート)]

表示形式 =
	C 中央よせ
	| R 右よせ 
	| L 左よせ
	| D デフォルトに従う(デフォルトフォーマットの定義では使用不可)
	| G 標準(デフォルトフォーマットで使用,未実装)

フォーマット文字 =
	G general
	| E exponent
	| F fixed
	| $ dollar
	| * graph(JF拡張)
	| , comma(JF拡張)
	| U user(JF拡張)
	| % percent(JF拡張)
	| H hide(JF拡張)
	| C continuous(未サポート、デフォルト時のみ)

オプション
	status ユーザーステータス
	lockh
	lockv
	pageh
	pagev
	standout
	noedges

日本語の場合

FontSetやFontList の指定で "," を使用するので、適当にエンコードして 逃げる予定です。エンコード方法がある方は提案してください。

任意のFontSet,FontList の文字列から、指定した大きさのFontSetを 作成する方法を考えています。正攻法では面倒すぎる。

"," でフォント単位に分割
フォントごとに指定サイズのフォントを取得
それを結合してCreateFontSet を呼ぶ
は面倒だから嫌