niszetの日記

アナログCMOS系雑用エンジニアが頑張る備忘録系日記

(OOXML/Word)w:themeFillTint とか w:themeFillShade とか(メモ)

現れたり消えたりするタグ

theme系の情報の取得はちょっと癖がありますね。ついこの間テーマ色を使った方が良いと書いたとはいえ…。

テーマの色は、こんな感じで色選択で出てくるときに上の方に出てくる色のことを指しています。

f:id:niszet:20200725172351p:plain

で、縦方向に段々と色が濃くなっていますが、これを制御するのがTintとShade。OOXMLタグ的には"w:pPr/w:shd"などの下にある。shdは影つくるやつ。pPrは段落のタグ。そして、Fillは背景色の設定。なので、文字タグの下であるとか、境界線であるとか、色々な他の要素にも表れますが、theme色のバリエーションを使っている場合にはこれらの関係は同じです。

しかし、値によってはタグそのものが存在しないなどのルールがあり、かつMS Word上での表示文字列ともまた異なる値がdocxファイル中に保存されているので注意が必要です。

で、実際の値をdocxの中を見て確認することにしました。矢印の列を見ています。

f:id:niszet:20200725192202p:plain

これを順に見ていくとこんな感じ。

f:id:niszet:20200725192402p:plain

どうやら色の値自体もいじられているようで、これを直接指定するのはどうかなー?という感じがしますね。

ということで、stylexパッケージで使用する場合はマスタになるスタイルを何か適当なスタイルに対して与えた上で、それをコピーするのが無難かなぁ?という気がしてきました。基本的には値の直接指定は危険なんですよね(でも必要なので作る)

色の値のルールがわかれば内部的にそれを模擬することも可能ですが…どうだろうなぁ…?といったところ。Wordは難しい…。