Google

東海大学理学部物理学科素粒子理論・安江研究室  

ホーム 最新情報 サイトマップ

文字情報

上へ ウィンドウズ カーソル メッセージの種類 描画・色 長方形領域 文字情報 時間 仮想キーコード

TEXTMETRIC

使用文字フォントの大きさ・幅・高さ・太さなどをもつ構造体です:

  • LPTEXTMETRICTEXTMETRIC FAR * (Win16);TEXTMETRIC * (Win32)
  • TEXTMETRIC tm; ⇒ LPTEXTMETRIC lptm = &tm;
typedef struct tagTEXTMETRIC{
LONG tmHeight;
LONG tmAscent;
LONG tmDescent;
LONG tmInternalLeading;
LONG tmExternalLeading;
LONG tmAveCharWidth;
LONG tmMaxCharWidth;
LONG tmWeight;
LONG tmOverhang;
LONG tmDigitizedAspectX;
LONG tmDigitizedAspectY;
BCHAR tmFirstChar;
BCHAR tmLastChar;
BCHAR tmdefaultChar;
BCHAR tmBreakChar;
BYTE tmItalic;
BYTE tmUnderlined;
BYTE tmStruckOut;
BYTE tmPitchAndFamily;
BYTE tmCharSet;
} TEXTMETRIC;

 font.gif (4940 バイト)

A幅、B幅、C幅はGetCharABCDWidths関数を使って求めることができます

トゥルータイプ専用としてOUTLINETEXTMETRIC構造体GetOutlineTextMetrics関数があります

  • tmHeight: 文字の高さ (tmAscentメンバとtmDescentメンバの値の和)
  • tmAscent: 文字のベースラインから一番上まで
  • tmDescent: 文字のベースラインから一番下まで
  • tmInternalLeading: フォントのポイントサイズと物理サイズの差
  • tmExternalLeading: フォントとフォントの間の特殊な空間
  • tmAveCharWidth: フォントとの平均の幅
  • tmMaxCharWidth: フォントとの平均の高さ
  • tmWeight: フォントの太さ
    • FW_DONTCARE 0
    • FW_THIN 100
    • FW_EXTRALIGHT (or FW_EXTRALIGHT) 200
    • FW_LIGHT 300
    • FW_NORMAL (or FW_REGULAR) 400
    • FW_MEDIUM 500
    • FW_SEMIBOLD (or FW_DEMIBOLD) 600
    • FW_BOLD 700
    • FW_EXTRABOLD (or FW_ULTRABOLD) 800
    • FW_HEAVY (or FW_BLACK) 900
  • tmOverhang:Bold(太字)とItalic(斜め字)など同時に指定したとき少々幅など広げて調節するその幅の値
  • tmDigitizedAspectX:フォントが表示されるデバイス(画面やプリンタ)の水平アスペクト値
  • tmDigitizedAspectY:フォントが表示されるデバイス(画面やプリンタ)の垂直アスペクト値
  • tmFirstChar:フォントで定義されている最初の文字の値
  • tmLastChar:フォントで定義されている最後の文字の値
  • tmdefaultChar:対応する文字が無いときに代用される文字に値
  • tmBreakChar:テキストの位置あわせのときに単語の区切り文字として使われる文字の値
  • tmItalic:0以外のときにイタリック体フォントを示す
  • tmUnderlined:0以外のときに下線付フォントを示す
  • tmStruckOut:0以外のときに打ち消し線付きフォントを示す
  • tmPitchAndFamily:選択されたフォントのピッチとファミリを示す
    • 下位4ビットの値: OXFでアンド演算(&記号)をする
      • TMPF_FIXED_PITCH 文字によって幅などが異なる可変フォントです
      • TMPF_VECTOR ベクターフォント
      • TMPF_TRUETYPE トゥルータイプフォント
      • TMPF_DEVICE デバイスフォント
    • 上位4ビットの値: OXF0でアンド演算(&記号)をする
      • FF_DONTCARE (0<<4) ファミリーを特に指定しない
      • FF_ROMAN (1<<4) 可変ストローク幅を持つセリフ付きフォント(Times New Roman、New Century Schoolbook等)
      • FF_SWISS (2<<4) 可変ストローク幅を持つセリフ無しフォント(MS Sans Serif等)
      • FF_MODERN (3<<4) 一定のストローク幅を持つセリフ付き及び無しフォント(Pica、 Elite、 Courier等)
      • FF_SCRIPT (4<<4) 手書き風のフォント(Script、Cursive等)
      • FF_DECORATIVE (5<<4) 装飾付きフォント(Old English等)
  • tmCharSet:フォントの文字セット
    • ANSI_CHARSET
    • DEFAULT_CHARSET
    • SYMBOL_CHARSET
    • SHIFTJIS_CHARSET(和文フォント
    • HANGUL_CHARSET
    • GB2312_CHARSET
    • CHINESEBIG5_CHARSET
    • OEM_CHARSET
    • JOHAB_CHARSET
    • HEBREW_CHARSET
    • ARABIC_CHARSET
    • GREEK_CHARSET
    • TURKISH_CHARSET
    • VIETNAMESE_CHARSET
    • THAI_CHARSET
    • EASTEUROPE_CHARSET
    • RUSSIAN_CHARSET
    • MAC_CHARSET
    • BALTIC_CHARSET

GetTextMetrics関数をつかってどんなフォントが使われているかを調べることができます。

BOOL GetTextMetrics(HDC hDC, LPTEXTMETRIC lptm)

設定されているキャンバス(画面やプリンタ)でのフォントの種類や大きさを取得します

  • hDC:画面描画用のキャンパスのハンドル
  • lptm:フォントの情報を格納するためのTEXTMETRIC構造体のアドレス

使用例

TEXTMETRIC tm;
GetTextMetrics(hDC, &tm);
 

前へ ホーム 上へ 次へ

このWeb サイトではインターネットエクスプローラVer.3.0あるいはそれ以上が推奨です Internet Explorer
この Web サイト(since 1997年12月1日)に関する質問やコメントについては、Mail.gif (4196 バイト)安江 まで電子メールをお送りください。
Copyright © 1997-2022/10 東海大学理学部物理学科安江研究室 All rights reserved
最終更新日: 2022年10月14日
マイクロソフト Front Page98