etc.negui.draw.font

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
  • source属性変更。
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
OEM 文字セットの固定幅フォント
SYSTEM
システムフォント
ICON
アイコンフォント
NORMALCAPTION
通常タイトルバー
SMALLCAPTION
ツールウィンドウタイトルバー
MENU
メニュー
STATUS
ステータスバー
MESSAGE
メッセージボックス
this(STOCK Stock , bool Suicide = true);
History:
1.021
  • source表明追加。
this(in LOGFONTW* LogFont );

this(in Text[] Values );

const Text[] toTexts();
History:
1.081
  • 新規作成。
const Text toText();
History:
1.081
  • 新規作成。
string toString();
History:
1.081
  • 新規作成。
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();
フォントのピッチ、およびファミリ