digital 千里眼 @abp_jp

アナログな日常とデジタルの接点

更新時にリセットされてしまう iCBM3 画面の文字とその大きさを修正するスクリプト

2010-07-11 追記

  • 0.137b より以下の対処は必要なくなりました(「Appearance.XML」の設定内容をちゃんと引き継いでくれるようになりました。作者様に感謝)

スクリーンショット撮り忘れ...orz

ミサイルではありません

山田偽研 - iCBM3
Feed(RSS/ATOM) の巡回チェッカとして使用中(Webアプリは反応遅くて嫌い)。特徴としては...

    • 多機能で細かくカスタマイズ可能な Windows アプリ
    • 他にない特徴「開くブラウザを自在に変更できる

多機能すぎてマニュアルの量が凄いことになっていたり、設定画面が少なかったりしますがそこら辺はトレードオフということで

アップデート毎に画面表示設定がリセット...orz

  • 今まではバージョンアップの度に手動で設定ファイルを修正してましたが、面倒なので sed スクリプトにしてみました
  • sed が使えるかどうか確認するためには、コマンドプロンプトで「where sed リターン」してパスが表示されればOKです
  • where sed で「与えられたパターンのファイルが見つかりませんでした」と表示された場合は Cygwin 等で sed を使えるようにしておいてください
まず、画面表示設定ファイルを確認
  • ファイル名は「Appearance.XML
  • インストール先の users 以下、自分のログイン名のフォルダ内にある
  • エンコーディングUTF-8XML ファイルで、改行コードは CR + LF
  • 念のためオリジナルをコピーしてバックアップしておきましょう
sed スクリプトを別ファイル化
  • 適当な名前を付けて保存(ここでは「SetAppearance.sed」とする)
s/\(<font name="\)Tahoma\(" size="\)12\.0\(" \/>\)/\1Meiryo UI\28.0\3/g
s/\(<font name="\)Tahoma\(" size="\)11\.0\(" [^/]*\/>\)/\1Meiryo UI\27.0\3/g
s/\(<font name="\)Tahoma\(" size="\)10\.0\(" \/>\)/\1Meiryo UI\27.0\3/g
s/\(font-family:"\)Tahoma\("; font-size:\)12\(pt;\)/\1Meiryo UI\28.0\3/g
s/\(font-size:\)10\(pt;\)/\17.0\2/g
s/\(font-size:\)x\?x\?-small\(;\)/\1xx-small\2/g
s/\(font-size:\)medium\(;\)/\1x-small\2/g
s/\(font-size:\)x\?x\?-large\(;\)/\1small\2/g
s/\([^\r]\)$/\1\r/g

読み難いけどやっていることは単純で、

    • s/正規表現で置換対象文字列を指定/置換後文字列/g でフォント名を「Tahoma」から「Meiryo UI」に、フォントサイズをそれぞれ小さくしているだけ(白文字の部分を自分好みに修正してカスタマイズできる)
    • 最後の「s/\([^\r]\)$/\1\r/g」は改行コードを「LF」から「CR + LF」に直しているだけ
コマンドラインから呼び出す
  • 作業用に「Appearance.XML」をコピーして「Appearance.wrk」と名前を付けて保存して変更前後で比較できるようにしておく
sed -f SetAppearance.sed Appearance.wrk > Appearance.XML

こうやってバージョンアップ毎にバッチファイルでサクッと修正するようにしています


今思えば、sed より WSH(JScript) 使った方が初心者向き...orz