2024/01/19

DXL Step-by-Step:#22)文字の装飾

DXL 活用の調査・検証で、実現できたことや発見したことご紹介する『DXL Step-by-Step』シリーズの第 22 回です。 今回は、段落内に配置されるオブジェクトの中からテキストについてまとめます。


文字の装飾 と font ノード

文字サイズや太字や斜体などの装飾を変化させた文字を 1 つの段落内に配置するサンプルを作成してみました。

この文書を DXL に変換すると次のようになります。

まず、大前提として、文字の装飾が指定されていない部分である "の" や "です" は par ノード直下にテキストノードとして存在ます。装飾が指定されている部分については同じ装飾が指定されている範囲を run ノードで括り、そのサブノードとして font ノードとテキストノードが存在します。そして、装飾は font ノードの属性で指定されています。

この構造さえ理解できれば、 font ノードの属性を指定するだけで、自由に文字を装飾できることになります。


文字のサイズ

文字サイズを指定するには size 属性でポイント数を指定します。設定できる範囲は、プロパティボックスの設定では、フォントサイズは 1 ~ 250 までの値がセットできます。確認する限り、範囲外のサイズを指定しても保存(インポート)時にエラーにはならないようですが、指定したサイズで表示されないようです。

設定 属性設定値
サイズ size ポイントを整数で指定('1pt' 以上、'250pt' 以下)。
(なし) 指定しない場合、10 ポイント。

また、size 属性を設定しない場合、10 ポイントとして取り扱われるようです。ためしにフォームでリッチテキストのサイズを 24 ポイントにして、size を指定せずにインポートしたところ、10 ポイントで表示されました。指定しない場合、フォームのフィールドのフォントにゆだねるというわけではなさそうです。


文字のスタイル

太字や斜体などの装飾の設定です。代表的な 4 種のみ記載しています。複数のスタイルをセットする場合、スペース区切りで指定します。

設定 属性設定値
太字 style 'bold'
斜体 'italic'
下線 'underline'
取消線 'strikethrough'


文字の色

色の指定を行う属性は color となっています。設定法については下表のとおり 2 種類あります。

設定 属性設定値
文字色 color 定義済みの 16 色については文字列で指定。
'red' や 'purple' など(下表参照)。
RGB を 2 桁の 16 進数で指定。
先頭に # をつけ '#8242ff' のように記述。

プロパティボックスで文字の色を設定する際の上部にある 16 色が定義済みの色です。

DXL で指定できる色名は、それぞれ以下の通りです(画像と同じ順)。

white yellow lime aqua blue fuchsia red silver
black olive green teal navy purple maroon gray

なお、何も指定しない場合は 黒 となるのですが、'black' と指定しても 黒 となるようです。


フォントの指定

ノーツは一般にデフォルトフォントを呼ばれる 4 種類のフォントを使用します。デフォルトフォントは『Notes クライアントの基本設定』でクラアインと PC 内の実際のフォントにマッピングする仕組みとなっていて、クライアントごとのフォントの違いを吸収しやすいように作られています。

もちろん、デフォルトフォント以外のフォントもダイレクトに指定できます。例えば、リッチテキストに次のようにフォントをセットして DXL に変換してみます。

結果は次のようになりました。

まず、フォント名の指定は name 属性で指定することがわかります。そして、デフォルトフォントでない場合には、pich や truetype など複数の属性が付加されていることがわかります。これら属性の役割は現時点で不明ですが、name 以外の属性を省いた DXL をインポートしたところ正しくフォントが反映されました。フォントは name 属性さえ指定すればとりあえず OK ということなのでしょう。

設定 属性設定値
Default Sans Serif name 属性を作成しない
Default Serif 'serif'
Default Monospace 'monospace'
Default Multilingual 'multilingual'
その他フォント フォント名を直接指定


パーマネントペン

リッチテキストには文字を強調するため、蛍光ペンでマーキングしたように背景色を設定する機能があり、パーマネントペンと呼びます。

今回初めて利用したのですが、パーマネントペンには 3 色の設定があるようで、DXL では次のように表現されました。

パーマネントペンペンの設定は run ノードの属性となっている点に注意が必要です。操作的には文字の装飾と同等のように感じるのですが、DXL 的には少し違うようです。難しいですね...

設定属性設定値
黄色highlight'yellow'
ピンク'pink'
'blue'


まとめ

今回は、リッチテキスト内の文字の装飾と DXL の関係についてまとめました。

run というノードで括りその範囲に対して文字の装飾を font ノードとその属性で詳細に指定するという点がポイントですね。

前回 DXL Step-by-Step 次回


0 件のコメント:

コメントを投稿