Vla-setfont

提供:GizmoLabs - だいたい CAD LISP なサイト
2014年9月6日 (土) 21:31時点におけるGizmon (トーク | 投稿記録)による版 (ページの作成:「{{AutoLISP}} ; 構文 : (vla-setfont ''vla-object'' ''Typeface'' ''Bold'' ''Italic'' ''CharSet'' ''PitchAndFamily'') ; 機能 : 文字スタイルのフォントの定...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(vla-setfont vla-object Typeface Bold Italic CharSet PitchAndFamily)


機能
文字スタイルのフォントの定義データを設定する。


引数
  • vla-object … 文字スタイルの VLA オブジェクト
  • Typeface … タイプフェース(フォント名)の文字列
  • Bold … 文字スタイルの太字設定。ブール型; :vlax-true: 太字、:vlax-false: 太字ではない。
  • Italic … 文字スタイルの斜体設定。ブール型;:vlax-true: 斜体、:vlax-false: 斜体ではない。
  • CharSet … フォントの文字セット (注記を参照) 長整数型
  • PitchAndFamily … フォントのピッチおよびファミリの定義 (注記を参照) 長整数型;


戻り値
nil


注記:

CharSet パラメータはフォントの文字セットを指定する。

Public Const ANSI_CHARSET = 0
Public Const DEFAULT_CHARSET = 1
Public Const SYMBOL_CHARSET = 2
Public Const SHIFTJIS_CHARSET = 128
Public Const OEM_CHARSET = 255

PitchAndFamily パラメータは、フォントのピッチおよびファミリの値を指定する。 値は 3 つの別々な設定の組み合わせにより決定する。 PitchAndFamily の値を提供するには、各分類から設定を選択し、次に OR 演算子を使用してこれらを結合する。 最初の 2 つのカテゴリ、つまりピッチおよびファミリは必ず指定する。 3 番目のカテゴリ、TrueType Flag は、TrueType フォントを指定するときだけに使用する。

VB または VBA アプリケーションで次の定数を使用するには、コードの宣言セクションに定義をコピーする。

' Pitch Values
Public Const DEFAULT_PITCH = 0
Public Const FIXED_PITCH = 1
Public Const VARIABLE_PITCH = 2
' Family Values
Public Const FF_DONTCARE = 0    '  Don't care or don't know.
Public Const FF_ROMAN = 16      '  Variable stroke width, serifed.
Public Const FF_SWISS = 32      '  Variable stroke width, sans-serifed.
Public Const FF_MODERN = 48     '  Constant stroke width, serifed or sans-serifed.
Public Const FF_SCRIPT = 64     '  Cursive, etc.
Public Const FF_DECORATIVE = 80 '  Old English, etc.
' TrueType Flag
Public Const TMPF_TRUETYPE = &H4


サンプル
(vl-load-com)
(defun c:Example_SetFont()
    ;; アクティブな文字スタイルのフォント情報を検索して、フォントの太字を変える例。
    (setq *actdoc* (vla-get-ActiveDocument (vlax-get-acad-object)))

    (vla-getfont (vla-get-ActiveTextStyle *actdoc*) 'typeFace 'Bold 'Italic 'charSet 'PitchandFamily)
    
    (alert (strcat "現在の文字スタイルは、以下のフォントプロパティ:"
                   "\n書体: " typeFace
                   "\n太字: " (if (= Bold :vlax-true) "True" "False")
                   "\n斜体: " (if (= Italic :vlax-true) "True" "False")
                   "\n文字セット: " (itoa charSet)
                   "\nピッチとファミリー: " (itoa PitchandFamily)))
            
    ;; 太字に変更
    (setq Bold (if (= Bold :vlax-true) :vlax-false :vlax-true))

    (vla-SetFont (vla-get-ActiveTextStyle *actdoc*) typeFace Bold Italic charSet PitchandFamily)
  
    (alert (strcat "現在の文字スタイルは、以下のフォントプロパティ:"
                   "\n書体: " typeFace
                   "\n太字: " (if (= Bold :vlax-true) "True" "False")
                   "\n斜体: " (if (= Italic :vlax-true) "True" "False")
                   "\n文字セット: " (itoa charSet)
                   "\nピッチとファミリー: " (itoa PitchandFamily)))
            
    ;; フォントのリセット
    (setq Bold (if (= Bold :vlax-true) :vlax-false :vlax-true))
    (vla-SetFont (vla-get-ActiveTextStyle *actdoc*) typeFace Bold Italic charSet PitchandFamily)
)

関連事項