Hatena::Groupnadesiko

雪乃☆雫のなでしこ日和

2016/12/26 (月)

フォント名、フォントサイズ、フォントスタイルを一括で指定するよ!

| 07:50 | フォント名、フォントサイズ、フォントスタイルを一括で指定するよ! - 雪乃☆雫のなでしこ日和 を含むブックマーク はてなブックマーク - フォント名、フォントサイズ、フォントスタイルを一括で指定するよ! - 雪乃☆雫のなでしこ日和 フォント名、フォントサイズ、フォントスタイルを一括で指定するよ! - 雪乃☆雫のなでしこ日和 のブックマークコメント

 通常時は、人様のお役に立つことなんか一切考えずに、ムシロ人様のめーわくも省みずに一人で勝手にバカバカしく大騒ぎを繰り広げ、それを書き散らしているわけですが・・・

 たまには、少しは世の人のためになるかもしないよーなTipsなどを書いてみようと思う。


 以前、「文字書体」命令で、フォントスタイルの指定も出来る事を知ったときには、世紀の大発見をしたような気になったもんでした;

https://nadesiko.g.hatena.ne.jp/snowdrops89/20090524/1243170894

 当時の記事は読み返すと、バカだな自分;;;って感じですが(んなに変わってない!)


 しかし、この機能は、もなお、あんまり周知されてないみたいなんですよね。

 なにしろ、マニュアルの命令一覧なんかを見ても、用例どころか、フォント名の事しか書かれてないんです。なんでだ。


 「文字書体」は、実はフォント名だけではなく、「|」で区切って、

文字書体は「フォント名|フォントサイズ|フォントスタイル」

 のように、三ついっぺんに設定できるんですよね~。

 ワタシのプログラムコードの中では多用してるんだけど、これは広めていきたい便利機能なので、単独の記事としてUPしてみるるる~。

 こんな感じ。

文字書体は「MS 明朝|20|太字」
「いろはにほへと」を表示

 カンタンですね♪

・フォント名は一応省略可能で、省略すれば、それまでのフォント名が引き継がれます。

・フォントサイズは、「文字サイズ」命令と同様の機能ですが、ここを変更しても、「文字サイズ」の値は変わらないので、もし文字サイズの値を参照してなんかかんかしようとしてる場合は注意が必要です。

 ここの値だけは、省略すると何故かそれまでのサイズが引き継がれず、標準(10)に戻ってしまうのも要注意です。

 さらに、この形式で文字書体を設定した場合、たとえここを省略しても、以降の「文字サイズ」命令が無視されてしまいます。(りゃー、これでいっぺんに設定出来るんだから、もはや文字サイズ命令はいないくらいなもんだけど、これってやっぱりバグと言って過言じゃないんじゃないかと思う今日この頃; でも、マニュアルに記載されてない機能だから、考慮されてないのかな?

※うぇいく様に教えを頂き、これは、フォントを実際に使うときに値を参照し設定するようになっているためである事が分かりました(コメント欄参照)

 いや~、マニュアルにの辺りの優先順位などの記載があれば、いうモノと思って使うので問題なかったのですが・・・最初に文字書体で全部設定した後、後の方で文字サイズだけ変えようと思ったら反映されなくて延々はまった事が!><

 基本的には、「文字書体」でスタイルやサイズの指定を行う場合は、「文字サイズ」は使わない方が良いようです。

・フォントスタイルに設定できるのは、「太字」「斜体」「下」「打消」の4種類で、「太字斜体」みたいに複数指定できます。(ワタシは続けて書いていましたが、この単語が入ってさえいればOKで、どんな区切り文字も使えるそうです!)

 省略するとそれまでのスタイルが引き継がれます。

 上記四種類の単語がいっこも入ってない文字列は全て、標準に戻るようなんですが、意図的に戻す場合はやっぱり無難に「標準」とでもしておくのがイイと思います。(では省略扱いになり、それまでのスタイルが引き継がれるので、標準に戻りません)


 ・・・とりあえず、こんなところ?

うぇいくうぇいく2016/12/28 01:33これは、「文字なんとか」に値を設定した時ではなく、それを使おうとしたときにそれぞれの変数の内容を参照して使うフォントを決定しているためで、「変数を設定した順序」によらず、値の組み合わせが同じならば、同じ結果になるというメリット(動作の明確さ)もあります。
その、実際にフォントを参照するときの処理順序は、以下です。
・文字書体のフォント名
・文字サイズのサイズ
・文字書体のサイズ(欄があれば。空欄は10)
・文字書体のスタイル(欄があれば。)
そうしないと、サイズは常に文字サイズの設定で上書きされてしまい、フォント名へのサイズ指定が有効にならないので、難しいところですね。
(文字スタイルの変数が無いのはなぜなんだろう)

スタイルについては、欄がある場合、標準の状態を基準に、それぞれの単語が含まれていたら、含まれている単語の属性を付加して組み合わせてゆく という動作をするため、どの単語もない=基準の標準のまま という感じになります。

雪乃☆雫雪乃☆雫2017/01/03 16:36あけましておめでとうございます。
いつもありがとううございます☆
なるほど~、使うときに参照しているから、順番は関係なかったんですね(.. )ψメモメモ
なんでこんなことがおこるのか、ようく分かりました!
この情報も広めていきたいですね!!

トラックバック - http://nadesiko.g.hatena.ne.jp/snowdrops89/20161226