シーズンがやってきた。我が家では長らく筆ぐるめ14を利用してきたのだが、流石に古いので3年くらい前に筆ぐるめ23に買い替えた。過去に作成した年賀状データを見つつ毎年新しく作ったり部品をコピペしたりしているのだが、過去のデータが見えなくなってしまった。データ自体はファイルシステム上に存在しているにもかかわらずだ。この記事は筆ぐるめがどのようにディレクトリとファイルを認識しているかをたどる過程でわかったことを未来の自分のために書き残す備忘録である。他のバージョンの筆ぐるめについてもこの記事の内容が適用できるものと思っているが、保証はしない。1803を利用している。Windows7とかだと微妙に違っている可能性はある。新規サブグループ作成という選択肢が出てくる。このグループのことだ。左側のメニューは並び替えられるどういうことかというと、上の図で言えば例えばみんなのレイアウト→マイレイアウトという順番で並んでいるのを逆にしたりできるということだ。マウスのドラッグで変えられる。メニューの内容が記述されたファイルはどこかメニューの中身を入れ替えたり追加/削除できるということはどこかでその情報を管理しているはずである。どこにあるというのか。ソフトウェアの起動に管理者権限を要求されないことから、一般的な作法に従えば%USERPROFILE%\AppDataとかC:\ProgramDataを使っているだろう。探してみると%USERPROFILE%\AppData\Local\Fujisoft\Fgw\23C:\ProgramData\Fujisoft\Fgw\23にあった。画像の更新日時からも自明だが、C:\ProgramData\Fujisoft\Fgw\23のほうはただのカカシだ。我々が見るべきは%USERPROFILE%\AppData\Local\Fujisoft\Fgw\23だということだ。いくつかファイルがある。拡張子が.ginfoとなっている。ただのテキストファイルだった。次に拡張子が.ginfoのファイルだが、Sから始まるものとUから始まるものがある。Sから始まるものが何なのか、さっぱり分からないが、やはり更新日時から自明なように関係がない。我々が見るべきはUから始まるものだということだ。UAddres.ginfoUAlbum.ginfoUBackgr.ginfoUExampl.ginfoUExampl2.ginfoUIllust.ginfoULayout.ginfoまあ大体名前で何に対応しているかわかる。.ginfoファイルのフォーマットこれ自体は.iniファイルみたいなものだが、なぜか値がcsvになっている。素直にjson使うべきでは?。"C",,"0"Group3="年賀状","%SYSTEM_BACKGROUNDS%\\SGroup00",5001,1,"","C",,"1"Group4="はがき縦","%SYSTEM_BACKGROUNDS%\\SGroup00\\00_01",5103,1,"%SYSTEM_BACKGROUNDS%\\SGroup00","C",,"1"Group5="はがき横","%SYSTEM_BACKGROUNDS%\\SGroup00\\00_02",5103,1,"%SYSTEM_BACKGROUNDS%\\SGroup00","C",,"1"Group6="シンプル","%SYSTEM_BACKGROUNDS%\\SGroup00\\00_03",5103,1,"%SYSTEM_BACKGROUNDS%\\SGroup00","C",,"1"Group7="和風","%SYSTEM_BACKGROUNDS%\\SGroup01",5003,1,"","C",,"1"Group8="はがき縦","%SYSTEM_BACKGROUNDS%\\SGroup01\\01_01",5103,1,"%SYSTEM_BACKGROUNDS%\\SGroup01","C",,"1"Group9="はがき横","%SYSTEM_BACKGROUNDS%\\SGroup01\\01_02",5103,1,"%SYSTEM_BACKGROUNDS%\\SGroup01","C",,"1"Group10="喪中欠礼","%SYSTEM_BACKGROUNDS%\\SGroup03",5037,1,"","C",,"1"Group11="寒中見舞い","%SYSTEM_BACKGROUNDS%\\SGroup04",5034,1,"","C",,"1"名前はCountというのとGroupNというのがある。Nは1から始まる連番だ。このNの番号こそ、左のメニューの並び順の正体である。GroupNの値を見ていく。これは明らかにcsvなのでそれぞれの意味を探ってみた。そのためにわかりやすい値をいくつか拾ってきた。レイアウト","%USER_LAYOUTS%\\Group000",5022,1,"","D",,"0""test1","%USER_LAYOUTS%\\Group000\\Group009",5103,0,"%USER_LAYOUTS%\\Group000","D",,"""リムーバブル\n(I:)","\\",8422,4,"","I",4,"""CD-DVD\n(M:)","\\",8421,1,"","M",3,""とはいえcsvっていうのは読みにくいのでそれぞれの意味を解説がてらjsonっぽく書き換えてみよう。"項目内のデータが存在しているパス。プログラム内で定義されている謎の変数を含む。"グループの種類番号。}]推測だがこんな感じだろうか。グループの種類番号ってのはほんとによくわかんないが、とりあえず5103だけが大事な感じ。項目内のデータが存在しているパス。プログラム内で定義されている謎の変数を含む。解説した謎の変数について見ていく。Explorerで筆ぐるめ23(Fgw.exe)を覗くとそれらしい文字列が見えてくる。USER_LAYOUTSってさっきあったよな。このへん全部有効な変数名なんじゃなかろうか。ちなみにUSER_LAYOUTSは多分ライブラリのドキュメントの中の筆ぐるめ\ULayoutを指していると思う。"Personal"で分かる。共沸点やそのときの組成の情報はどこにあるか20190930侵害コンテンツのダウンロード違法化等に関するパブリックコメントを提出した。注目記事はてなブログをはじめよう!yumetodo_bgさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。