NiVE2用エフェクトプラグイン『マルチテキスト』(ruche.nive2.effects.wpf.MultiText.dll)の使用方法マニュアル。
この文書では、NiVE2用エフェクトプラグインセット ruche.nive2.effects に含まれているエフェクトの1つである『マルチテキスト』の使い方を解説します。
基本的に最新バージョンについて取り扱います。
過去のバージョンからの変更箇所については更新履歴を参照してください。
なお、導入手順等の基本的なことについては解説していませんので、添付のreadme.txtを参照してください。
『マルチテキスト』では次のようなことが行えます。
例えば、表示文字列に次のような文字列を設定したとします。
<u>HTML</u>みたいに<font color="red">タグ付け</font>できるよ! <i>デフォルトで<big>定義</i>されている</big> <shadow color="red" depth="3">タグ</shadow>や<b fill="blue">属性</b>もあるし、 <grad>自分でタグを<wide>定義</wide>することもできるよ!</grad> <エンティティ文字>にも対応<font color="violet">♥</font> 変数を使うことも$sample
これは次のように表示されます。
なお、タグ設定で grad
タグと wide
タグを、変数設定で sample
変数を予め設定してあります。
基本的に、最初に必要な分のテキストを配置して、キーフレームを打ちながら表示文字列を設定する流れになります。
テキストの描画対象となるレイヤーを用意する。
レイヤーに『マルチテキスト』エフェクトを追加する。
テキストを必要な数だけ追加する。
各テキストの配置を設定する。
各テキストの表示文字列を設定する。様々なテキスト書式を用いることができる。
その他の設定項目を適宜設定する。
プロパティ名はエクスプレッション用ですが、『マルチテキスト』では各プロパティを直接操作するよりもデリゲート隠しプロパティを用いることを推奨します。
詳しくはエクスプレッション対応の項を参照してください。
表示名 | プロパティ名 | 内容 |
---|---|---|
テキスト | texts | テキストを追加できる可変長リスト。 |
ベーススタイル | すべてのテキストのデフォルトとなるスタイル。 | |
ベース表示速度 | すべてのテキストのデフォルトとなる表示速度。 | |
変数 | variables | 変数を追加できる可変長リスト。 |
スタイルタグ | tags | タグを追加できる可変長リスト。 |
背景ポスト処理 | エフェクトを適用したレイヤーに対するポスト処理。 | |
(デリゲート) | delegate | エクスプレッション用の隠しプロパティ。 |
表示名 | プロパティ名 | 内容 | |
---|---|---|---|
表示文字列 | text | レイヤー上に表示する文字列。 様々なテキスト書式を使用可能。 | |
描画順序 | order | 複数のテキストがある場合の描画順序。 数字が小さいテキストほど先に描画される(奥側になる)。 数字が同じ場合はリストの先頭側にあるテキストほど先に描画される。 | |
全体配置 | 基準位置 | arrange.position | 配置の基準位置。 レイヤーの左上端を (0,0) とする相対座標。 |
横基準 | arrange.halign | 基準位置に対してテキスト領域のどの位置を割り当てるかの指定。 例えば横基準を「右」にすればテキスト領域の右端位置=基準位置となる。 | |
縦基準 | arrange.valign | ||
最小サイズ | arrange.size.min | テキスト領域の最小サイズ。 テキスト量が少ない場合もこのサイズ未満にはならない。 | |
最大サイズ | arrange.size.max | テキスト領域の最大サイズ。 あくまで配置用サイズの最大値であり、領域外の文字も表示はされる。 領域外の文字を非表示にしたい場合は『範囲変更』を併用すること。 | |
回転中心位置 | arrange.rotate.center | テキスト全体を回転させる場合の中心位置。 レイヤーの左上端を (0,0) とする相対座標。 | |
回転角度 | arrange.rotate.angle | テキスト全体の回転角度。 | |
行配置 | 行揃え | arrange.row.align | テキスト全体の領域に対する各行の配置。 |
最小サイズ | arrange.row.size.min | 各行の最小サイズ。 幅を大きくすると中央揃えや右揃えにした場合も行が左寄りになる。 高さを大きくすると行間が空く。 | |
最大サイズ | arrange.row.size.max | 各行の最大サイズ。折り返しサイズでもある。 幅を小さくするとその幅を超える場合に行が折り返される。 高さを小さくすると上下の行と重なり合う。 | |
行高タイプ | arrange.row.htype | 行によって文字の大きさが違う場合に、各行の高さをどう定めるかの指定。 「全行均一」にした場合は一番高い行に合わせられる。 | |
行間 | arrange.row.span | 行間の指定。 デフォルト状態を 100 、行が完全に重なる状態を 0 とするパーセント値。 | |
拡張書式 | 変数 | option.variable | 変数書式の有効/無効を切り替える。 |
変数ネスト | option.variable.nest | 変数書式が有効である場合に変数のネストの有効/無効を切り替える。 | |
タグ | option.tag | タグ書式の有効/無効を切り替える。 | |
エンティティ | option.entity | エンティティ書式の有効/無効を切り替える。 | |
スタイル | スタイルの上書き設定。 チェックを付けた項目についてはベーススタイルの設定を上書きする。 | ||
表示速度 | 表示速度の上書き設定。 チェックを付けた項目についてはベース表示速度の設定を上書きする。 | ||
ポスト処理 | 表示文字列に対するポスト処理。 | ||
ブレンド | blend | 表示文字列の背景レイヤーへのブレンド方法。 | |
(デリゲート) | delegate | エクスプレッション用の隠しプロパティ。 |
文字の見栄えを設定します。
ベーススタイル以外はチェックボックスによって各項目を設定するか否かを選択でき、設定しなかった項目についてはデフォルト値が用いられます。
表示名 | プロパティ名 | 内容 | ||
---|---|---|---|---|
文字配置 | 行内位置 | valign | 行内における文字の位置。 例えば文字を小さくして文字位置を上端にすることで上付き文字にしたりできる。 | |
スケール | 横 | scale.x | 各文字のサイズ倍率。 デフォルト状態を 100 とするパーセント値。負数にすることで上下左右を逆さにもできる。 | |
縦 | scale.y | |||
マージン | 上 | margin.top | 各文字の上下左右にある文字との間に適用する余白幅。 どの文字間にもここで設定した値を満たすような余白が取られる。 例えば右余白3pxの文字と左余白5pxの文字が隣り合う場合、余白は5pxとなる。 あくまで文字間の余白であり、テキスト全体の上下左右端に対しては適用されない。 なお、余白設定の適用はテキストの行間設定の適用より前に行われる。 そのため、行間の設定値に応じて実際の余白幅は変動する。 | |
下 | margin.bottom | |||
左 | margin.left | |||
右 | margin.right | |||
フォント | ファミリ | font.family | 文字のフォントファミリの選択。 フォントによっては全角文字をサポートしていない場合がある。 その場合は「MS Pゴシック」が全角文字の代替フォントとして適用される。 | |
サイズ | font.size | 文字の大きさ。 一般によく用いられるポイント値ではなく、ピクセル値で指定する。 基本的にこの値が文字の縦幅となるが、メイリオ等は余白サイズが上乗せされる。 | ||
太さ | font.weight | 文字の太さ。通常、太字のいずれか。 | ||
スタイル | font.style | 文字のスタイル。通常、イタリック体、斜体のいずれか。 | ||
塗り色 | fill.color | 文字の塗り潰し色。 塗り潰したくない場合は透明色にすること。 | ||
縁 | 色 | edge.color | 文字の縁の塗り潰し色。 | |
幅 | edge.width | 文字の縁の幅。 縁を表示したくない場合は 0 にすること。 | ||
形状 | edge.type | 文字の縁の形状。鋭角、面取り、丸角のいずれか。 | ||
下線 | 色 | underline.color | 下線の色。 | |
幅 | underline.width | 下線の幅。 下線を表示したくない場合は 0 にすること。 | ||
端形状 | underline.cap | 下線の端の形状。なし、四角、三角、半円のいずれか。 なし以外にした場合、形状分だけ線の長さが伸びる(線幅の半分)。 | ||
破線パターン | underline.pattern | 破線パターン。 (1,0) で実線となる。数値列によって線幅と空白幅を交互に表す。 各々の値は、線幅を 1 とする相対サイズ(小数も使用可能)。数値の個数が奇数個の場合、偶数個となるように同じ数値列2つを繋げた扱いとなる。 即ち、例えば 2,3,0 は 2,3,0,2,3,0 と等価として扱われる。 | ||
オフセット | underline.offset | 下線の基準位置である文字下端からの縦方向のオフセット割合。 正数にすると下方向、負数にすると上方向へ移動する。 文字の縦幅を 100 とするパーセント値。 | ||
Z位置 | underline.z | テキスト内での描画順序。値が小さいほど先に描画される(奥になる)。 表示文字列のZ位置は 0 で固定となる。値が同じ場合、文字列→下線→取り消し線→傍点の順に描画される。 なお、値が 100 より大きい場合、影が適用されなくなる。 | ||
取り消し線 | 色 | strike.color | 基準位置が文字中央であること以外は下線と同じ。 | |
幅 | strike.width | |||
端形状 | strike.cap | |||
破線パターン | strike.pattern | |||
オフセット | strike.offset | |||
Z位置 | strike.z | |||
傍点*2 | 色 | dot.color | 傍点の色。 | |
幅 | dot.width | 傍点の直径。 傍点を表示したくない場合は 0 にすること。 | ||
オフセット | dot.offset | 某店の基準位置である文字上端からの縦方向のオフセット割合。 下線の説明を参照のこと。 | ||
Z位置 | dot.z | テキスト内での描画順序。 下線の説明を参照のこと。 | ||
影 | 色 | shadow.color | 影の色。 影を表示したくない場合は透明色にすること。 他の色とは違い、グラデーション色は設定できない。 | |
方向 | shadow.dir | 影の方向。 | ||
距離 | shadow.depth | 文字から見た影の距離。 | ||
ぼかし幅 | shadow.blur | 影のぼかし幅。 大きい値にすればするほど処理が重くなる。 距離を 0 にすることで文字が発光しているような表現も可能。 | ||
品質 | shadow.quality | 影の品質。 |
各文字が表示されるタイミングを設定します。
テキストごとの表示速度設定はチェックボックスによって各項目を設定するか否かを選択でき、設定しなかった項目についてはベース表示速度で設定した値が用いられます。
表示名 | プロパティ名 | 内容 |
---|---|---|
文字間隔 | speak.letter | 文字の表示時間間隔(ミリ秒単位)。 前の文字が表示開始されてからこの時間が経過した後に次の文字が表示開始される。 |
改行間隔 | speak.row | 改行時の待機時間(ミリ秒単位)。 入力された改行にのみ適用され、折り返しによる改行には適用されない。 |
フェードイン | speak.fadein | 文字の表示開始から完全不透明になるまでの時間(ミリ秒単位)。 文字間隔より大きい値にすることも可能。 その場合、前の文字のフェードインが完了する前から次の文字が表示開始される。 |
スキップ行数 | speak.skip.row | 文字間隔指定や改行間隔指定を無視して最初から表示状態にする行数と文字数。 フェードイン指定も無視して最初から表示される。 スキップ文字数指定はスキップ行数指定の次の行に対して適用される。 例えばスキップ行数が 0 ならば1行目、 2 ならば3行目が対象となる。 |
スキップ文字数 | speak.skip.letter | |
余白スキップ | speak.skip.blank | 有効にすると行の先頭および末尾の空白文字をスキップする。 折り返しによって先頭や末尾にきた空白文字はスキップされない。 |
変数書式で用いることができる変数を設定します。
文字列値と数値(小数点以下桁数可変&固定)がありますが、どちらもその値がそのまま変数値となります。
なお、変数はエクスプレッションからデリゲート隠しプロパティを用いて設定することも可能です。
表示名 | プロパティ名 | 内容 |
---|---|---|
変数名 | variable.name | 変数の名前。 半角の英数字および _ (アンダーバー)を使うことが可能。数字やアンダーバーのみの変数名でも問題ない。 他の変数と同じ名前を付けた場合、リストの後ろにある変数が優先される。 |
変数値(文字列値、数値) | variable.value | 変数の値。 |
タグ書式で用いることができるタグを設定します。
ここで設定していない名前のタグを用いることも可能で、その場合は一切スタイル設定のされていないタグとして扱われます。
ただし、予めいくつかのスタイルが設定されている標準タグもあります。
表示名 | プロパティ名 | 内容 |
---|---|---|
タグ名 | tag.name | タグの名前。 半角の英数字および _ - . : ! @ を使うことが可能。数字や記号のみのタグ名でも問題ない。 他のタグと同じ名前を付けた場合、すべての項目がマージされる。 同一名かつ同一項目が設定されている場合はリストの後ろにあるタグが優先される。 |
スタイル(タグ名以外の項目) | タグによるスタイルの上書き設定。 チェックを付けた項目についてデフォルト値を上書きする。 |
エフェクト適用対象のレイヤーや各テキストに対して、レイヤーとテキストを合成する直前に行う画像変換処理を設定します。
『範囲変更』エフェクトを適用している場合、レイヤーへの処理は有効範囲のみに適用されます。
表示名 | プロパティ名 | 内容 |
---|---|---|
不透明度 | post.alpha | 後ろのレイヤーや背景をどれだけ透過するかの設定。100 で完全不透明、 0 で完全透明(=非表示)。 |
明度 | post.brightness | 明るさ。数値を小さくするほど黒に近付く。 |
彩度 | post.saturation | 鮮やかさ。数値を小さくするほどグレースケールに近付く。 |
各テキストの表示文字列には変数書式、タグ書式、エンティティ書式を用いることができます。
これらの書式はテキストの拡張書式設定で無効にすることも可能です。
各書式は、有効である場合、次の順序で適用されます。
あらかじめ設定した変数値を任意の位置に文字列として展開できます。
変数の構文は次の通りです。
[
と ]
で囲まれた部分は省略可能です。
$name
$(name[,width[.digits][,pad]])
${name[,width[.digits][,pad]]}
変数名 name
には半角の英数字および _
(アンダーバー)を使うことが可能です。
変数名以外の各パラメータの解説も兼ねて、具体的な構文の一覧を以下に示します。
ここでは説明の便宜上、変数名 foo
の変数に 12.3
という小数値が設定されているものとします。
書式 | 解説 | 記述例 | 表示例 |
---|---|---|---|
$foo | 変数の値を展開する。 変数の直後に英数字が続く場合には使えない。 | 答えは$fooです。 | 答えは12.3です。 |
$(foo) | 変数の値を展開する。 変数の直後に英数字が続く場合でも問題なく使える。 | $(foo)cm | 12.3cm |
${foo} | ${foo}msec. | 12.3msec. | |
$(foo,w) | 変数の値を文字幅 w で右詰めまたは左詰めして展開する。 正数ならば右詰め、負数ならば左詰めとなる。 余白は半角スペースで埋められる。 文字幅 w より実際の幅の方が大きい場合は何もしない。 なお、文字は半角も全角も同じ1文字としてカウントされる。 | x=$(foo,6)px | x= 12.3px |
${foo,w} | y=${foo,3}mm | y=12.3mm | |
$(foo,-w) | x=$(foo,-6)px | x=12.3 px | |
${foo,-w} | y=${foo,-3}mm | y=12.3mm | |
$(foo,w.d) | 変数の値を数値として扱い、小数部の幅を d とする。 小数部は指定した幅になるように 0 埋めや四捨五入が行われる。 それ以外の点は $(foo,w) や $(foo,-w) と同じ。変数の値を数値として扱えない場合は .d を無視する。 | x=$(foo,7.2)px | x= 12.30px |
${foo,w.d} | y=${foo,0.0}mm | y=12mm | |
$(foo,-w.d) | x=$(foo,-7.2)px | x=12.30 px | |
${foo,-w.d} | y=${foo,-0.3}mm | y=12.300mm | |
$(foo,w,p) | 余白を半角スペースではなく文字 p で埋める。 それ以外の点は $(foo,w) や $(foo,-w) と同じ。p には全角文字も指定可能。 | x=$(foo,6,0)px | x=0012.3px |
${foo,w,p} | y=${foo,3,x}mm | y=12.3mm | |
$(foo,-w,p) | x=$(foo,-6,*)px | x=12.3**px | |
${foo,-w,p} | y=${foo,-3,x}mm | y=12.3mm | |
$(foo,w.d,p) | 余白を半角スペースではなく文字 p で埋める。 それ以外の点は $(foo,w.d) や $(foo,-w.d) と同じ。p には全角文字も指定可能。 | x=$(foo,7.2,@)px | x=@@12.30px |
${foo,w.d,p} | y=${foo,0.0,x}mm | y=12mm | |
$(foo,-w.d,p) | x=$(foo,-7.2,あ)px | x=12.30ああpx | |
${foo,-w.d,p} | y=${foo,-0.3,x}mm | y=12.300mm |
なお、定義されていない変数名が用いられた場合、空の文字列を変数値として処理します。
$
の後に英数字が続くような文字列そのものを表示したい場合、エンティティ書式を用いる必要があります。
変数のネストが有効である場合、表示文字列内の変数は最大10回まで繰り返し展開されます。
例えば次のような変数が定義されているとします。
変数名 | 変数値(文字列値) |
---|---|
abc | あいうえお |
xyz | abc |
foo | $abc$x |
width | 6 |
この時、次のような記述をすることができます。
記述例 | 展開(1回目) | 展開(2回目) | 最終表示文字列 |
---|---|---|---|
$$xyz | $abc | あいうえお | あいうえお |
$(foo)yz | $abc$xyz | あいうえおabc | あいうえおabc |
$(xyz,$width,X) | $(xyz,6,X) | XXXabc | XXXabc |
ネスト展開を10回行っても完了しなかった場合、ネストを無効化して処理されます。
HTML風の記述で1つのテキスト内に複数のスタイル設定や表示速度設定を混在させることができます。
タグの構文は次の通りです。
[
と ]
で囲まれた部分は省略可能です。
<tag[ attr="value"[ attr="value"[...]]]>
</tag>
<tag[ attr="value"[ attr="value"[...]]]/>
tag
をタグ名、 attr
を属性名、 value
を属性値と呼びます。
また、属性名と属性値をイコールで結んだ attr="value"
をまとめて属性と呼びます。
タグ名 tag
には半角の英数字および _ - . : ! @
を使うことが可能です。
スタイルタグで定義したタグを用いる場合、タグ名の項目で設定した文字列をここに記述します。
定義されていないタグ名を記述することも可能です。
属性名 attr
には半角の英数字および _ - . :
を使うことが可能です。
定義されていない属性名を記述することも可能ですが、特に表示上の意味はありません。
属性値 value
は基本的にダブルクォートで囲んで記述しますが、空白文字を含まない場合はダブルクォート無しで記述することも可能です。
とはいえ、基本的に属性値はダブルクォートで囲むものと考えておいた方が良いでしょう。
属性名と属性値の内容がマッチしない場合、その属性は無視されます。
タグは開始タグから終端タグの間にある文字列に対して適用されます。
開始タグに対応する終端タグが存在しない場合は表示文字列の末尾まで適用されます。
範囲外<b>b の適用範囲</b>範囲外<span fill.color="red">span の適用範囲(文末まで)
独立タグの場合は記述した位置に対して適用されます。
タグをネストすることも可能です。
ネストされた表示文字列には両方のタグが適用されます。
<b>b の適用範囲<span fill.color="red">b と span の適用範囲</span>b の適用範囲</b>
また、適用範囲の一部だけを重ねることも可能です。
例えば次のような記述が行えます。
適用なし<u>下線適用<font color="#0000FF">両方適用</u>青字適用</font>適用なし
これは次のように表示されます。
あるタグで囲まれた表示文字列に適用されるスタイルおよび表示速度は次のように定まります。
内容 | 記述例 | 表示例*3 |
---|---|---|
標準属性 | <span fill.color="red">塗り潰したり</span>、 | |
標準タグ | <b>太字にしたり</b>、 | |
特殊属性 | <font color="RGB(0,128,0)" style="italic">緑字斜体にしたり</font>、 |
あらゆるタグにおいて指定可能な属性の一覧です。
スタイル指定および一部の表示速度指定を行うことができます。
auto
および inherit
を指定可能です。いずれも何も行わないことを表します。
font="normal"
と記述すると、フォントのスタイルが太さよりも前にあるため、 font.style="normal"
として解釈されます。1px auto 3mm
のように記述します。属性名 | 属性値内容 | 対応スタイル | 備考 | |||
---|---|---|---|---|---|---|
項目 | 対応値*4 | |||||
valign | top | 文字配置 | 行内位置 | 上端 | ||
middle | 中央 | |||||
baseline | ベースライン | |||||
bottom | 下端 | |||||
scale.x | 割合指定 | スケール | 横 | |||
scale.y | 割合指定 | 縦 | ||||
scale | 割合指定 | 横縦 | 横と縦に同一値を適用する。 | |||
割合指定×2 | 横,縦 | |||||
margin.top | サイズ指定 | マージン | 上 | |||
margin.bottom | サイズ指定 | 下 | ||||
margin.left | サイズ指定 | 左 | ||||
margin.right | サイズ指定 | 右 | ||||
margin | サイズ指定 | 上下左右 | 全方向に同一値を適用する。 | |||
サイズ指定×2 | 上下,左右 | 上下と左右に同一値を適用する。 | ||||
サイズ指定×3 | 上,左右,下 | 左右には同一値を適用する。 | ||||
サイズ指定×4 | 上,右,下,左 | |||||
font.family | フォント名 | フォント | ファミリ | |||
font.size | サイズ指定 | サイズ | ||||
font.weight | normal | 太さ | 通常 | |||
regular | ||||||
medium | ||||||
bold | 太字 | |||||
heavy | ||||||
font.style | normal | スタイル | 通常 | |||
italic | イタリック体 | |||||
oblique | 斜体 | |||||
font | 一括 | スタイル,太さ,サイズ,ファミリ | ファミリは末尾で指定する。 | |||
fill.color | 色指定 | 塗り色 | ||||
fill | 色指定 | fill.color と同じ。 | ||||
edge.color | 色指定 | 縁 | 色 | |||
edge.width | サイズ指定 | 幅 | ||||
edge.type | normal | 形状 | 鋭角 | |||
miter | ||||||
bevel | 面取り | |||||
round | 丸角 | |||||
edge | 一括 | 形状,幅,色 | 色は末尾で指定する。 | |||
underline.color | 色指定 | 下線 | 色 | |||
underline.width | サイズ指定 | 幅 | ||||
underline.cap | normal | 端形状 | なし | |||
none | ||||||
flat | ||||||
square | 四角 | |||||
tri | 三角 | |||||
triangle | ||||||
circle | 半円 | |||||
round | ||||||
underline.pattern | 数値×1以上 | 破線パターン | ||||
underline.offset | 割合指定 | オフセット | ||||
underline.z | 数値 | Z位置 | ||||
underline | 一括 | 端形状,幅,色 | 色は末尾で指定する。 | |||
strike.color | 色指定 | 取り消し線 | 色 | |||
strike.width | サイズ指定 | 幅 | ||||
strike.cap | normal | 端形状 | なし | |||
none | ||||||
flat | ||||||
square | 四角 | |||||
tri | 三角 | |||||
triangle | ||||||
circle | 半円 | |||||
round | ||||||
strike.pattern | 数値×1以上 | 破線パターン | ||||
strike.offset | 割合指定 | オフセット | ||||
strike.z | 数値 | Z位置 | ||||
strike | 一括 | 端形状,幅,色 | 色は末尾で指定する。 | |||
dot.color | 色指定 | 傍点 | 色 | |||
dot.width | サイズ指定 | 幅 | ||||
dot.offset | 割合指定 | オフセット | ||||
dot.z | 数値 | Z位置 | ||||
dot | 一括 | 幅,色 | 色は末尾で指定する。 | |||
shadow.color | 色指定 | 影 | 色 | |||
shadow.dir | 数値 | 方向 | ||||
shadow.depth | サイズ指定 | 距離 | ||||
shadow.blur | サイズ指定 | ぼかし幅 | 大きくし過ぎないこと。 | |||
shadow.quality | normal | 品質 | 通常 | |||
performance | ||||||
high | 高品質 | |||||
quality | ||||||
shadow | 一括 | 品質,方向,距離,色 | 色は末尾で指定する。 |
属性名 | 属性値内容 | 対応表示速度 | 備考 | |
---|---|---|---|---|
項目 | 対応値*5 | |||
speak.letter | 時間指定 | 文字間隔 | ||
speak.row | 時間指定 | 改行間隔 | ||
speak.fadein | 時間指定 | フェードイン | ||
speak.wait | 時間指定 | (対応なし) | 指定時間だけ停止する。 独立タグに対して指定しなければ効果なし。 |
末尾に単位を付けたり特殊な記述をしたりする属性値指定の一覧です。
N
のようなイタリック体の英字は任意の数値を表します。
指定可能な数値の範囲は指定方法や対象属性により異なります。
指定方法 | 記述 | 記述例 | 適用される値*6 | 備考 |
---|---|---|---|---|
割合指定 | N | 1.5 | 100倍値 | 割合 |
Nem | 2em | |||
N% | 80% | パーセント | ||
N% | 123.4% | |||
サイズ指定 | N | 20.4 | ピクセル | |
Npx | 10px | |||
Npixel | 12.3pixel | |||
Npt | 12pt | 96/72.0倍値 | ポイント | |
Npoint | 9.8point | |||
Nmm | 50mm | 96/25.4倍値 | ミリメートル | |
Npc | 1.2pc | 96/6.0倍値 | パイカ*7 | |
Npica | 2pica | |||
Ncm | 3cm | 96/2.54倍値 | センチメートル | |
Nin | 0.3in | 96倍値 | インチ | |
Ninch | 0.25inch | |||
色指定*8 | #RGB | #0E7 | R, G, B 各々の17倍値不透明度は255固定 | 各値はそれぞれ 0 〜 F の16進数値。大文字・小文字は問わない。 |
0xRGB | 0xFfF | |||
#ARGB | #F66A | A, R, G, B 各々の17倍値 | ||
0xARGB | 0xe07a | |||
#RRGGBB | #FF0080 | RR, GG, BB 不透明度は255固定 | 各値はそれぞれ 00 〜 FF の16進数値。大文字・小文字は問わない。 | |
0xRRGGBB | 0x00ff00 | |||
#AARRGGBB | #80aabbcc | AA, RR, GG, BB | ||
0xAARRGGBB | 0xFF5090C0 | |||
RGB(R,G,B) | RGB(255,128,0) | R, G, B 不透明度は255固定 | 各値はそれぞれ 0 〜 255 の10進数値。 | |
RGBA(R,G,B,A) | RGBA(192,96,96,0) | A, R, G, B | ||
ARGB(A,R,G,B) | RGBA(192,0,0,255) | |||
色名 | red | 赤 | HTMLで定義されている色名が使える。 参考:原色大辞典 | |
blue | 青 | |||
black | 黒 | |||
... | ... | |||
時間指定 | N | 200 | ミリ秒 | |
Nms | 10.5ms | |||
Nmsec | 500msec | |||
Ns | 1s | 1000倍値 | 秒 | |
Nsec | 0.7sec | |||
Nm | 0.05m | 60000倍値 | 分 | |
Nmin | 0.1min |
予めいくつかのスタイルが定義済みであるタグの一覧です。
スタイルタグ設定によって他のスタイルを追加したり、定義済みのスタイルを上書きすることも可能です。
タグ名 | 定義済みスタイル | 同等の属性指定 | |||
---|---|---|---|---|---|
スタイル | 値 | ||||
b | フォント | 太さ | 太字 | font.weight="bold" | |
big | 文字配置 | スケール | 横 | 125 | scale="125%" |
縦 | 125 | ||||
del | 取り消し線 | 色 | 黒 | strike="1px black" strike.pattern="2,1" | |
幅 | 1 | ||||
破線パターン | 2,1 | ||||
em | フォント | スタイル | 斜体 | font.style="oblique" | |
i | フォント | スタイル | イタリック体 | font.style="italic" | |
ins | 下線 | 色 | 黒 | underline="1px black" underline.pattern="2,1" | |
幅 | 1 | ||||
破線パターン | 2,1 | ||||
q | 下線 | 色 | 黒 | underline="1px black" underline.pattern="1,1" | |
幅 | 1 | ||||
破線パターン | 1,1 | ||||
small | 文字配置 | スケール | 横 | 75 | scale="75%" |
縦 | 75 | ||||
strong | フォント | 太さ | 太字 | font="bold oblique" | |
スタイル | 斜体 | ||||
sub | 文字配置 | 行内位置 | 下端 | valign="bottom" scale="50%" | |
スケール | 横 | 50 | |||
縦 | 50 | ||||
sup | 文字配置 | 行内位置 | 上端 | valign="top" scale="50%" | |
スケール | 横 | 50 | |||
縦 | 50 | ||||
tt | フォント | ファミリ | MS ゴシック | font.family="MS ゴシック" |
特殊属性を指定できたり一般のタグとは異なる挙動をしたりするタグと、それに対応する特殊属性の一覧です。
一部を除き、基本的には標準属性よりも少ない文字数で記述できることが利点です。
例えば、次の2行は同じ表示結果となります。
<span fill.color="black" font.size="20">あいうえお</span> <font color="black" size="20">あいうえお</font>
特殊タグ名 | 特殊属性名 | 対応する標準属性名 | 備考 |
---|---|---|---|
scale | x | scale.x | |
y | scale.y | ||
margin | top | margin.top | |
bottom | margin.bottom | ||
left | margin.left | ||
right | margin.right | ||
font | color | fill.color | 他と違い、 font.color 属性は存在しない。 |
family | font.family | ||
size | font.size | ||
weight | font.weight | ||
style | font.style | ||
fill | color | fill.color | |
edge | color | edge.color | |
width | edge.width | ||
type | edge.type | ||
u | color | underline.color | |
width | underline.width | 指定されなければ最小値を 1 とする。*9 | |
cap | underline.cap | ||
pattern | underline.pattern | ||
offset | underline.offset | ||
z | underline.z | ||
underline | u と同じであるため割愛。 | ||
s | color | strike.color | |
width | strike.width | 指定されなければ最小値を 1 とする。*10 | |
cap | strike.cap | ||
pattern | strike.pattern | ||
offset | strike.offset | ||
z | strike.z | ||
strike | s と同じであるため割愛。 | ||
dot | color | dot.color | |
width | dot.width | 指定されなければ最小値を 1 とする。*11 | |
offset | dot.offset | ||
z | dot.z | ||
shadow | color | shadow.color | |
dir | shadow.dir | ||
depth | shadow.depth | ||
blur | shadow.blur | ||
quality | shadow.quality | ||
speak | letter | speak.letter | |
row | speak.row | ||
fadein | speak.fadein | ||
wait | speak.wait | 独立タグに対して指定しなければ効果なし。 | |
w | なし | w の数×250ミリ秒だけ停止する。 独立タグとして用いなければ効果なし。 例: <www/> | |
ww | |||
www | |||
wwww | |||
wwwww | |||
wwwwww | |||
wwwwwww | |||
wwwwwwww |
変数書式、タグ書式で用いる文字($ < >
)や、通常では入力しづらい文字を表示できます。
エンティティの構文は次の通りです。
&name;
&#dec;
&#xhex; &#Xhex;
name
は定義済みの名前です。
HTMLエンティティで定義されている名前を用いることができます。
dec
はUnicode文字コードを表す10進数値、 hex
はUnicode文字コードを表す16進数値です。
いずれも指定したUnicode文字コードに対応する文字を表示できます。
名前が定義されている必要はありません。
なお、数値の頭には任意個数の 0
を付けても構いません。
代表的なエンティティ文字の一覧です。
文字 | 記述 | 備考 | ||
---|---|---|---|---|
名前 | 10進数 | 16進数 | ||
$ | $ | $ | $ | $100 のような変数書式と被る文字列そのものを表示したい場合に用いる。 なお、 dollar という名前はHTMLエンティティには定義されていない。 |
< | < | < | < | <abc> のようなタグ書式と被る文字列そのものを表示したい場合に用いる。 |
> | > | > | > | |
& | & | & | & | < のようなエンティティ書式と被る文字列そのものを表示したい場合に用いる。 |
" | " | " | " | |
' | ' | ' | ' | |
© | © | © | © | 著作権表記 |
® | ® | ® | ® | 商標表記 |
² | ² | ² | ² | 2乗 |
³ | ³ | ³ | ³ | 3乗 |
¼ | ¼ | ¼ | ¼ | 1/4 |
½ | ½ | ½ | ½ | 1/2 |
¾ | ¾ | ¾ | ¾ | 3/4 |
♠ | ♠ | ♠ | ♠ | スペード |
♣ | ♣ | ♣ | ♣ | クラブ |
♥ | ♥ | ♥ | ♥ | ハート |
♦ | ♦ | ♦ | ♦ | ダイヤ |
エクスプレッションで用いることのできる当プラグイン独自クラスの簡単な説明です。
C#言語およびエクスプレッションの知識があることが前提となります。
C#言語はわかるけどエクスプレッションをよく知らないという方には次のサイトが大変参考になります。
当プラグインをエクスプレッションで用いるにあたり推奨される設定は次の通りです。
以降、この設定がされているものとして解説します。
設定項目 | 設定値 |
---|---|
参照 | Plugins/ruche.nive2.effects.dll Plugins/ruche.nive2.effects.wpf.dll C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.0\WindowsBase.dll C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.0\PresentationCore.dll C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.0\PresentationFramework.dll |
名前空間 | ruche.nive2.effects ruche.nive2.effects.wpf System.Windows System.Windows.Media System.Windows.Shapes |
なお、参照の設定における C:\Program Files
の部分は標準のプログラムフォルダに適宜置き換えてください。
例えばWindowsをDドライブにインストールした場合は D:\Program Files
となります。
その他、基本的なことについてはNiVE2のマニュアルや添付のreadme_expression.txtを参照してください。
デリゲート隠しプロパティは、 ruche.nive2.effects.wpf.TextEffectDelegateProperty
クラス型のNiVE2プロパティです。
このプロパティの各メンバに対して適切なデリゲートを設定することで、通常の設定では行えない高度な表示制御が可能となります。
このプロパティはルート項目および各テキストが保持しています。
ルート項目のものはすべてのテキストに対して適用され、各テキストのものは各々に対してのみ適用されます。
両方に対してデリゲートを設定した場合、ルート項目→テキストの順に呼び出されます。
エフェクトのエクスプレッションでデリゲート隠しプロパティを取得および設定するコードは次の通りです。
|
|
このプロパティの主要なメンバ、およびそのデリゲート型は次の通りです。
各デリゲート型は ruche.nive2.effects.wpf.TextEffectDelegateProperty
クラスの内部型として定義されています。
|
|
|
描画情報デリゲートの引数 info
の型である ruche.nive2.effects.wpf.TextRenderingInfo
の詳細については別配布のクラスリファレンスを参照してください。
具体的なコーディング例は次節を参照してください。
簡単なコーディング例をいくつか示します。
ここではルート項目のデリゲート隠しプロパティに対してデリゲートを設定していますが、各テキストに対しても同様のことが行えます。
time
を変数に追加する。1 2 3 4 5 6 7 8 9 10 11 12 13 | - ! - ! - - ! ! - ! |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 | - ! - ! - - ! ! - ! |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | - ! - ! - - ! - - ! - - ! | - | | ! | | ! ! ! - ! |
|
ありがちな(ありそうな)疑問点とそれに対する答えをまとめています。
$
や <
といった文字を表示したい。$
は $
、 <
は <
、 >
は >
と記述することで表示できます。75
程度にするとちょうどいい具合になります。u, underline, s, strike, dot
各タグの width
属性が指定されなかった場合の挙動を変更した。
1
固定だったものを、指定されなければ最小値を 1
とするようにした。1
以上の値が指定されていた場合はその値に従います。