---------------------------------------------------------------------- 月相/月齢表示付きデジタル時計 Moon Clock スキンファイル仕様書 Ver.1.4 2010/04/24 ZORAC ---------------------------------------------------------------------- 2010/04/24 Ver.1.4 ・PNGファイル対応 2010/03/12 Ver.1.3 ・パネル領域マージン構文(Margin**, Padding**)の追加 ・日付書式指定構文(Type, Format)の追加 ・時刻0埋め構文(LeadingZero)の追加 2010/02/14 Ver.1.2 ・RiseSetセクションの新設 2009/08/09 Ver.1.1 ・LeftMarginP/LeftMarginL 構文の追加(Date/Time) ・RightMarginP/RightMarginL 構文の追加(Date/Time) ・HAlignP/HAlignL 構文の追加(Date/Time) ・VAlign構文の追加(Moon/Time) 2009/07/11 Ver.1.0 ・最初のバージョン ---------------------------------------------------------------------- ■スキンファイルの構成 スキンファイルは、スキン定義ファイル(*.skn)と、各種画像ファイルで構成 されます。 スキン定義ファイル(*.skn)はテキストファイルなので、テキストエディタで 簡単に編集できます。 スキン定義ファイル(*.skn)と、各種画像ファイルは、同一フォルダに存在 しなければなりません。 従って、スキン定義ファイルでの画像ファイルの指定では、フォルダパスは 指定せず、ファイル名のみを記述します。 スキン定義ファイルのすべての項目は、省略可能です。 省略した項目は既定値が採用されます。 画像ファイル指定を省略した場合は、画像ファイル自体も不要です。 別の言い方をすると、画像の変更を伴わないカスタマイズでは、カスタマイズ する項目のみを記述したスキン定義ファイルを用意するだけでよいということ です。 ■スキンファイルによるカスタマイズの手順 1.画像を変更したい場合は、その画像を用意します。 2.スキン定義ファイルを作成します。 既定のスキン定義ファイルをコピーして、それを元に改造すると楽です。 3.それらをWM端末本体上の同一フォルダに配置します。 4.設定→個人用→Today→アイテム→MoonClock→オプションで、スキン定義 ファイルを指定します。 既定のスキン定義ファイルや画像を直接編集するのは避けてください。 既定のファイルを上書きすることも可能ではあるのですが、既定のファイル はバージョンアップ時に更新されてしまいますし、新しい項目の既定値が追加 されることもあります。 また、複数のスキンを用意しておけば、いつでもオプション画面で簡単に 切り換えられるというメリットもあります。 ■スキン定義ファイル書式 ◆セクション 書式: [セクション名] []で囲まれた項目はセクションとなります。 セクション名や[]の前後の空白は無視されます。 各セクションの下には、設定値があります。 ◆設定項目 書式: キー名=値 キー名と値を'='で繋げたものが設定項目です。 キー名や値の前後の空白は無視されます。 ◆コメント 各行の'#'以降はコメントとなります。 ◆記述例 +--------------------------------- |################################ |# サンプル |################################ |[Panel] | Color=0x000080 # 暗い赤 | Opacity=100 # 完全に不透明 +--------------------------------- ■スキン定義ファイル詳細 ◆Panelセクション Color パネルの色です。BBGGRRの順で16進数で指定します。 Opacity パネルの不透明度です。0~100%の範囲で指定します。 LeftMargin 半透過パネル外側(左)の余白ピクセル数。 TopMargin 半透過パネル外側(上)の余白ピクセル数。 RightMargin 半透過パネル外側(右)の余白ピクセル数。 BottomMargin 半透過パネル外側(下)の余白ピクセル数。 LeftPadding 半透過パネル内側(左)の余白ピクセル数。 TopPadding 半透過パネル内側(上)の余白ピクセル数。 RightPadding 半透過パネル内側(右)の余白ピクセル数。 BottomPadding 半透過パネル内側(下)の余白ピクセル数。 ◆Dateセクション Visible 0:日付を表示しません。 1:日付を表示します。[既定] FontSize 日付のフォントサイズをポイント単位で指定します。 0を指定すると、システム設定の文字サイズが採用されます。[既定] UseThemeColor 0:このスキンで日付の文字色を指定します。 1:テーマカラーを日付の文字色として採用します。[既定] NormalColor 通常時の日付文字色です。BBGGRRの順で16進数で指定します。 UseThemeColor=1の場合は無視されます。 HighlightColor 選択時の日付文字色です。BBGGRRの順で16進数で指定します。 UseThemeColor=1の場合は無視されます。 HAlignP ポートレート(縦画面)時の水平方向の配置基準。 0:左寄せ [既定] 1:センタリング 2:右寄せ HAlignL ランドスケープ(横画面)時の水平方向の配置基準。 0:左寄せ [既定] 1:センタリング 2:右寄せ LeftMarginP ポートレート(縦画面)時の左端マージン(ピクセル単位)。 LeftMarginL ランドスケープ(横画面)時の左端マージン(ピクセル単位)。 RightMarginP ポートレート(縦画面)時の右端マージン(ピクセル単位)。 RightMarginL ランドスケープ(横画面)時の右端マージン(ピクセル単位)。 Type 0:システムの長い日付フォーマットを使います。[既定] 文字列化の対象はシステムカレンダーです。 1:システムの短い日付フォーマットを使います。 文字列化の対象はシステムカレンダーです。 2:任意の日付フォーマットを使います。 文字列化の対象はシステムカレンダーです。 3:任意の日付フォーマットを使います。 文字列化の対象は代替カレンダーです。 代替カレンダーとは、各国固有のカレンダーのことで、日本では和暦を 指します。 Format Type2またはType3で使用される日付フォーマット文字列を指定します。 制御文字の仕様: d 日。1桁の場合でも、先頭に'0'は付きません。 dd 日。1桁の場合、先頭に'0'が付きます。 ddd 曜日の略称。 月, 火等。 dddd 曜日の完全な名称。月曜日, 火曜日等。 M 月を表す数字。1桁の場合でも、先頭に'0'は付きません。 MM 月を表す数字。1桁の場合、先頭に'0'が付きます。 MMM 英語表記等では、月名の3文字の略称。 MMMM 英語表記等では、月名の完全な名称。 y カレンダーに従った年の下2桁。1桁の場合でも、先頭に'0'は付きません。 yy カレンダーに従った年の下2桁。1桁の場合、先頭に'0'が付きます。 yyyy カレンダーに従った年。 gg 王朝や元号を表す文字列。 制御文字の仕様は、システムの日付の形式(スタート→設定→システム→ 地域→日付)で使われているものです。 参考にしながら一部を変更していくのが簡単だと思います。 例: 平成 22年03月06日 土曜日 のように表示させたい場合 Type=3 Format=gg yy'年'MM'月'dd'日' dddd ◆Moonセクション ImageFile 月の模様の画像ファイルを指定します。 MaskFile 月の形を規定するマスクデータファイルを指定します。 しかしながら、マスクデータは独自形式であり、現段階では作成ツールを 公開していないので、この項目は省略することになると思います。 ShowAge 0:月齢を表示しません。 1:月齢を表示します。[既定] ShowLit 0:輝面比を表示しません。 1:輝面比を表示します。[既定] FontSize 月情報のフォントサイズをポイント単位で指定します。 0を指定すると、システム設定の文字サイズが採用されます。[既定] UseThemeColor 0:このスキンで月情報の文字色を指定します。 1:テーマカラーを月情報の文字色として採用します。[既定] NormalColor 通常時の月情報文字色です。BBGGRRの順で16進数で指定します。 UseThemeColor=1の場合は無視されます。 HighlightColor 選択時の月情報文字色です。BBGGRRの順で16進数で指定します。 UseThemeColor=1の場合は無視されます。 VAlign 時計表示部の高さが、月表示部より高いときの、垂直方向配置基準。 0:上寄せ 1:センタリング [既定] 2:下寄せ ◆Timeセクション DigitFile 数字の画像ファイルを指定します。 MarkerFile タイムマーカー(午前/午後)の画像ファイルを指定します。 DigitSpacing 各桁間の間隔を指定します。 正の値を指定することで、各桁間の間隔を広げることができます。 逆に、イタリック体のようにオーバーハングのある数字デザインでは、 負の値を指定することで、見栄えをよくすることができます。 MarkerSpacing タイムマーカーと数字(分)間の間隔を指定します。 HAlignP ポートレート(縦画面)時の水平方向の配置基準。 0:左寄せ 1:センタリング [既定] 2:右寄せ HAlignL ランドスケープ(横画面)時の水平方向の配置基準。 0:左寄せ 1:センタリング [既定] 2:右寄せ VAlign 月表示部の高さが、時計表示部より高いときの、垂直方向配置基準 0:上寄せ 1:センタリング [既定] 2:下寄せ LeftMarginP ポートレート(縦画面)時の左端マージン(ピクセル単位)。 LeftMarginL ランドスケープ(横画面)時の左端マージン(ピクセル単位)。 RightMarginP ポートレート(縦画面)時の右端マージン(ピクセル単位)。 RightMarginL ランドスケープ(横画面)時の右端マージン(ピクセル単位)。 LeadingZero 時刻が一桁のときに先頭に0を表示するかどうかを指定します。 0:先頭に0を表示しません。 1:先頭に0を表示します。 2:システム設定に従って先頭の0の表示有無を決定します。[既定] ◆RiseSetセクション IconFile 太陽・月アイコンの画像ファイルを指定します。 SunBarFrameColor 太陽出没棒グラフの枠の色です。 BBGGRRの順で16進数で指定します。 SunBarDarkColor 太陽出没棒グラフの暗い部分(太陽が出ていない区間)の色です。 BBGGRRの順で16進数で指定します。 SunBarLightColor 太陽出没棒グラフの明るい部分(太陽が出ている区間)の色です。 BBGGRRの順で16進数で指定します。 MoonBarFrameColor 月出没棒グラフの枠の色です。 BBGGRRの順で16進数で指定します。 MoonBarDarkColor 月出没棒グラフの暗い部分(月が出ていない区間)の色です。 BBGGRRの順で16進数で指定します。 MoonBarLightColor 月出没棒グラフの明るい部分(月が出ている区間)の色です。 BBGGRRの順で16進数で指定します。 FontSize 出没情報のフォントサイズをポイント単位で指定します。 0を指定すると、画面に収まるように文字サイズを計算します。[既定] UseThemeTextColor 0:このスキンで出没情報の文字色を指定します。 1:テーマカラーを出没情報の文字色として採用します。[既定] SunTextNormalColor 通常時の太陽出没情報文字色です。BBGGRRの順で16進数で指定します。 UseThemeTextColor=1の場合は無視されます。 SunTextHighlightColor 選択時の太陽出没情報文字色です。BBGGRRの順で16進数で指定します。 UseThemeTextColor=1の場合は無視されます。 MoonTextNormalColor 通常時の月出没情報文字色です。BBGGRRの順で16進数で指定します。 UseThemeTextColor=1の場合は無視されます。 MoonTextHighlightColor 選択時の月出没情報文字色です。BBGGRRの順で16進数で指定します。 UseThemeTextColor=1の場合は無視されます。 ■月画像ファイルについて 月の模様を指定するファイルです。 マスクデータ(月の形を規定するデータ)は、72×72Pixel(QVGA版では36×36) を想定しているので、そのサイズに合わせる必要があります。 対応しているピクセル形式は、8bitインデックス、16bitRGB(RGB565のみ)、24bitRGBです。 対応しているファイル形式は、BMP(Windows Device Independent Bitmap)、PNG(Portable Network Graphics) です。 色数が足りるのであれば、サイズの小さい8bitインデックスカラーをお勧めします。 (実際、既定の月画像ファイルも8bitカラーを試用しています) ■時計画像ファイルについて ◆数字画像ファイル ・時計の数字、空白桁イメージ、区切り記号を指定します。 ・0123456789_:の順に横一列に並んでいなければなりません。 ('_'は空白イメージ、':'は区切り記号を表しています) ・数字と空白桁イメージは同じ幅でなければなりません。 ・区切り記号は、数字の半分の幅でなければなりません。 ◆タイムマーカー画像ファイル ・午前、午後の順に横一列に並んでいなければなりません。 ・午前、午後のイメージは同じ幅でなければなりません。 ◆画像の形式 対応しているピクセル形式は、8bitインデックス、16bitRGB(RGB565のみ)、24bitRGB、32bitARGBです。 対応しているファイル形式は、BMP(Windows Device Independent Bitmap)、PNG(Portable Network Graphics) です。 ◆アルファチャネル付き画像の処理 アルファチャネルで指定された不透明度に従い、透過処理を行い描画します。 複雑なデザインが可能ですが、データサイズが大きくなるのが欠点です。 ◆アルファチャネル無し画像の処理 簡単なアルゴリズムで、透過処理を行い描画します。 大雑把に書くと、暗い色ほど透明になり、明るい色ほど不透明になるように 処理します。 正確には、描くPixel毎に、RGBのうち最も大きい値をアルファ値として演算 します。 従って、黒背景に明るい色でパターンを描き、周辺部を背景に馴染ませる ようにした(アンチエイリアス等を施した)画像を用意するだけでOKです。 色数が足りるのであれば、サイズの小さい8bitBMPをお勧めします。 (実際、既定の月画像ファイルも8bitカラーを試用しています) ■太陽・月アイコン画像ファイルについて ◆画像配置 ・太陽、月の順に横一列に並んでいなければなりません。 ・太陽、月のイメージは同じ幅でなければなりません。 ◆画像の形式 時計画像ファイルと同様です。時計画像ファイルの説明を参照してください。 ◆アルファチャネル付き画像の処理 時計画像ファイルと同様です。時計画像ファイルの説明を参照してください。 ◆アルファチャネル無し画像の処理 時計画像ファイルと同様です。時計画像ファイルの説明を参照してください。 ■作成したスキンファイルの配布について 無償で行われる限り、自由に行って下さってかまいません。 独自に作成したものはもちろん、標準のスキン、サンプルスキン、及び、 それらを改変したものを使用していても、まったく問題ありません。