2023/07/09

リッチテキスト:#7)文字のフォント

今回は、NotesRichTextStyle クラスの中でフォントを表すプロパティである NotesFont を整理します。

NotesFont (NotesRichTextStyle - LotusScript®)

このプロパティも前回の NotesColor プロパティと同じく、データ型が Integer です。フォント名を指定するわけではありません。NotesColor と同じ匂いがしますね。使い方を順にみていきましょう。


NotesFont プロパティ

ヘルプを見ると、NotesFont プロパティにはあらかじめ定義されたフォントがあるようです。

  • FONT_COURIER (4)
  • FONT_HELV (1)
  • FONT_ROMAN (0)
  • STYLE_NO_CHANGE (255)

この定義済みのフォントを指定するとどんなフォントが確認されるのでしょうか?次のようなプログラムを作成してみました。同じ文字列を1行ずつフォントを変えながら表示します。

nd.Form = "RichText"
nd.Title = "リッチテキスト:#7)フォントの設定"

Set nrti = nd.CreateRichTextItem("Body")
Set nrts = ns.CreateRichTextStyle()
nrts.FontSize = 24

s = "0123456789 aAbBcCdDeE"
nrts.NotesFont = FONT_COURIER
Call nrti.AppendStyle(nrts)
Call nrti.AppendText(s)
Call nrti.Addnewline(1)

nrts.NotesFont = FONT_HELV
Call nrti.AppendStyle(nrts)
Call nrti.AppendText(s)
Call nrti.Addnewline(1)

nrts.NotesFont = FONT_ROMAN
Call nrti.AppendStyle(nrts)
Call nrti.AppendText(s)
Call nrti.Addnewline(1)

nrts.NotesFont = STYLE_NO_CHANGE
Call nrti.AppendStyle(nrts)
Call nrti.AppendText(s)
Call nrti.Addnewline(1)

Call nd.Save(True, False)

実行して出来上がった文書を編集し、それぞれの行のフォントを文字のプロパティで確認しました。結果は下表の通りでした。

定数 フォント
4 FONT_COURIER Default Monospace
1 FONT_HELV Default Sans Serif
0 FONT_ROMAN Default Serif
255 STYLE_NO_CHANGE Default Serif

STYLE_NO_CHANGE はこれまで設定していたフォントをそのまま使用しますよという定数です。今回の例では、前行の ”Default Serif” を引き継いだということですね。

残りの3つフォントについてですが、ノーツユーザなら見たことがありますよね?

ノーツの設定の [Notes クライアントの本設定] にある [デフォルトフォント] で開く画面で設定するフォントです。

Default Serif は明朝系のフォント、Default Sans Serif はゴシック系で、Default Monospace は等幅フォントとなります。この設定でノーツ内のあらゆるフォントのマッピングをコントロールできるようになっており、リッチテキスト内もそれに従うということですね。個人的には、等幅フォントの指定に、明朝系とゴシック系区分が欲しいところではありますが...

ちなみに、上記デフォルトフォントの状態での出力結果は以下の通りでした。コードの解説では触れませんでしたが、フォントサイズを 24 ポイントに設定し、違いが判りやすいようにしています。

Default Sans Serif のフォントを”メイリオ”に変更すると、以下のように表示されました。


前回 リッチテキストの基本操作 次回

0 件のコメント:

コメントを投稿