- BUGS:
- なんか汎用性なさそうというか古いというか。
class FontException: etc.negui.draw.draw.DrawException;
class Font: etc.negui.draw.draw.Draw, etc.negui.system.text.IText;
フォントラッパークラス。
- Note:
-
絶賛手抜きでText[] -> LOGFONT変換。
近いうちに整理。
alias hFont;
const typeof(this) dup();
- History:
- 1.100
- sourceHandleRaii.dupの継承。
- source戻り値の型変更(Font -> HandleRaii)。
- 1.090
- 1.00β17
this(HFONT hFont
, bool Suicide
);
enum STOCK;
ANSI_DIXED
Windows 文字セットの固定幅システムフォント
ANSI_VAR
Windows 文字セットの可変幅システムフォント
DEVICE_DEFAULT
デバイス依存のフォント(WindowsNT系OSのみ)
DEFAULT_GUI
ユーザーインターフェイス用のデフォルトフォント(Windows9x系OSのみ)
OEM_FIXED
SYSTEM
ICON
NORMALCAPTION
SMALLCAPTION
MENU
STATUS
MESSAGE
this(STOCK Stock
, bool Suicide
= true);
this(in LOGFONTW* LogFont
);
this(in Text[] Values
);
const Text[] toTexts();
const Text toText();
string toString();
bool height(in int Height
);
const int height();
bool width(in int Width
);
const int width();
bool escapement(in int Escapement
);
const int escapement();
bool orientation(in int Orientation
);
const int orientation();
enum WEIGHT;
フォントの太さ
DONTCARE
THIN
EXTRALIGHT
ULTRALIGHT
LIGHT
NORMAL
REGULAR
MEDIUM
SEMIBOLD
DEMIBOLD
BOLD
EXTRABOLD
ULTRABOLD
HEAVY
BLACK
bool weight(WEIGHT Weight
);
const WEIGHT weight();
bool italic(bool Italic
);
const bool italic();
bool underLine(bool Underline
);
const bool underLine();
bool strikeOut(bool StrikeOut
);
const bool strikeOut();
bool faceName(in Text FaceName
);
const Text faceName();
bool charSet(ubyte CharSet
);
const ubyte charSet();
enum OUT;
出力精度
CHARACTER_PRECIS
DEFAULT_PRECIS
DEVICE_PRECIS
同じ名前のフォントが見つかったときは、デバイス フォントを使用します。
OUTLINE_PRECIS
同じ名前のフォントが見つかったときは、TrueType や他のアウトラインベースのフォントを使用します(WindowsNT系OSのみ)。
RASTER_PRECIS
同じ名前のフォントが見つかったときは、ラスタ フォントを使用します。
STRING_PRECIS
STROKE_PRECIS
同じ名前のフォントが見つかったときは、ベクトル フォントを使用します(Windows9x系OSのみ)。
TT_PRECIS
同じ名前のフォントが見つかったときは、TrueType フォントを使用します。
TT_ONLY_PRECIS
TrueType フォントを使用します。TrueType フォントが組み込まれていないときは、デフォルトの動作になります。
bool outPrecision(OUT OutPrecision
);
const OUT outPrecision();
enum CLIP;
クリッピング精度
DEFAULT_PRECIS
CHARACTER_PRECIS
STROKE_PRECIS
MASK
EMBEDDED
LH_ANGLES
座標系が右手座標系か左手座標系かによって、すべてのフォントの回転方向を決めるようにします。
TT_ALWAYS
bool clipPrecision(CLIP ClipPrecision
);
const CLIP clipPrecision();
enum QUALITY;
出力品質
DEFAULT
DRAFT
フォントの文字品質は、PROOF_QUALITY フラグを指定したときほど重視されません。
PROOF
フォントの文字品質は、論理フォントの属性を正確に一致させることよりも重視されます。
QUALITY quality(QUALITY Quality
);
const QUALITY quality();
enum PITCH_FAMILY;
フォントのピッチ、およびファミリ
DEFAULT
FIXED
VARIABLE
DECORATIVE
装飾付きフォントが指定されます(Old English など)。
DONTCARE
MODERN
モノスペース フォントが指定されます(Pica、Elite、CourierNewなど)。
ROMAN
セリフ(H、I などの上下にあるひげ飾り)のあるプロポーショナルフォントが指定されます(Times New Roman など)。
SCRIPT
手書き風のデザインのフォントが指定されます(Script、Cursive など)。
SWISS
セリフ(H、I などの上下にあるひげ飾り)のないプロポーショナルフォントが指定されます。
bool pitchAndFamily(PITCH_FAMILY PitchAndFamily
);
const PITCH_FAMILY pitchAndFamily();