📄 winfont.h
字号:
/* winfont.h*//* * Copyright (c) 2000 Greg Haerr <greg@censoft.com> * * Win32 font structures and API *//* tmPitchAndFamily flags*/#define TMPF_FIXED_PITCH 0x01 /* win32 bug: means variable*/#define TMPF_VECTOR 0x02#define TMPF_TRUETYPE 0x04#define TMPF_DEVICE 0x08typedef struct tagTEXTMETRIC { LONG tmHeight; LONG tmAscent; LONG tmDescent; LONG tmInternalLeading; LONG tmExternalLeading; LONG tmAveCharWidth; LONG tmMaxCharWidth; LONG tmWeight; LONG tmOverhang; LONG tmDigitizedAspectX; LONG tmDigitizedAspectY; BYTE tmFirstChar; BYTE tmLastChar; BYTE tmDefaultChar; BYTE tmBreakChar; BYTE tmItalic; BYTE tmUnderlined; BYTE tmStruckOut; BYTE tmPitchAndFamily; BYTE tmCharSet;} TEXTMETRIC, *PTEXTMETRIC, NEAR *NPTEXTMETRIC, FAR *LPTEXTMETRIC;BOOL WINAPI GetTextMetrics(HDC hdc, LPTEXTMETRIC lptm);BOOL WINAPI GetCharWidth(HDC hdc,UINT iFirstChar,UINT iLastChar,LPINT lpBuffer);BOOL WINAPI GetTextExtentPoint(HDC hdc,LPCTSTR lpszStr,int cchString, LPSIZE lpSize);BOOL WINAPI GetTextExtentExPoint(HDC hdc,LPCTSTR lpszStr,int cchString, int nMaxExtent,LPINT lpnFit,LPINT alpDx,LPSIZE lpSize);/* inherit logical font descriptor from engine*/typedef struct { LONG lfHeight; /* desired height in pixels*/ LONG lfWidth; /* desired width in pixels or 0*/ LONG lfEscapement; /* rotation in tenths of degree*/ LONG lfOrientation; /* not used*/ LONG lfWeight; /* font weight*/ BYTE lfItalic; /* =1 for italic*/ BYTE lfUnderline; /* =1 for underline*/ BYTE lfStrikeOut; /* not used*/ BYTE lfCharSet; /* font character set*/ BYTE lfOutPrecision; /* font type selection*/ BYTE lfClipPrecision; /* not used*/ BYTE lfQuality; /* not used*/ BYTE lfPitchAndFamily; /* font pitch and family*/ CHAR lfFaceName[MWLF_FACESIZE]; /* font name, may be aliased*/} LOGFONT, *PLOGFONT, NEAR *NPLOGFONT, FAR *LPLOGFONT;#define LF_FACESIZE MWLF_FACESIZE/* font weights*/#define FW_DONTCARE MWLF_WEIGHT_DEFAULT#define FW_THIN MWLF_WEIGHT_THIN#define FW_EXTRALIGHT MWLF_WEIGHT_EXTRALIGHT#define FW_LIGHT MWLF_WEIGHT_LIGHT#define FW_NORMAL MWLF_WEIGHT_NORMAL#define FW_MEDIUM MWLF_WEIGHT_MEDIUM#define FW_SEMIBOLD MWLF_WEIGHT_DEMIBOLD#define FW_BOLD MWLF_WEIGHT_BOLD#define FW_EXTRABOLD MWLF_WEIGHT_EXTRABOLD#define FW_HEAVY MWLF_WEIGHT_BLACK#define FW_ULTRALIGHT FW_EXTRALIGHT#define FW_REGULAR FW_NORMAL#define FW_DEMIBOLD FW_SEMIBOLD#define FW_ULTRABOLD FW_EXTRABOLD#define FW_BLACK FW_HEAVY/* output precision - used for font selection*/#define OUT_DEFAULT_PRECIS MWLF_TYPE_DEFAULT#define OUT_STRING_PRECIS 1#define OUT_CHARACTER_PRECIS 2#define OUT_STROKE_PRECIS 3#define OUT_TT_PRECIS MWLF_TYPE_SCALED#define OUT_DEVICE_PRECIS MFLF_TYPE_RASTER#define OUT_RASTER_PRECIS MFLF_TYPE_RASTER#define OUT_TT_ONLY_PRECIS MWLF_TYPE_TRUETYPE#define OUT_OUTLINE_PRECIS 8#define OUT_SCREEN_OUTLINE_PRECIS 9/* clip precision - unused*/#define CLIP_DEFAULT_PRECIS 0#define CLIP_CHARACTER_PRECIS 1#define CLIP_STROKE_PRECIS 2#define CLIP_MASK 0xf#define CLIP_LH_ANGLES (1<<4)#define CLIP_TT_ALWAYS (2<<4)#define CLIP_EMBEDDED (8<<4)/* output quality - unused*/#define DEFAULT_QUALITY 0#define DRAFT_QUALITY 1#define PROOF_QUALITY 2#define NONANTIALIASED_QUALITY 3#define ANTIALIASED_QUALITY 4/* font charset*/#define ANSI_CHARSET MWLF_CHARSET_ANSI#define DEFAULT_CHARSET MWLF_CHARSET_DEFAULT#define SYMBOL_CHARSET 2#define OEM_CHARSET MWLF_CHARSET_OEM/* font pitch - lfPitchAndFamily*/#define MWLF_PITCH_DEFAULT 0 /* any pitch*/#define MWLF_PITCH_FIXED 1 /* fixed pitch*/#define MWLF_PITCH_VARIABLE 2 /* variable pitch*//* font pitch*/#define DEFAULT_PITCH MWLF_PITCH_DEFAULT#define FIXED_PITCH MWLF_PITCH_FIXED#define VARIABLE_PITCH MWLF_PITCH_VARIABLE#define MONO_FONT 8/* * font family - lfPitchAndFamily * * MWF_FAMILY_SERIF - Times Roman, Century Schoolbook * MWF_FAMILY_SANSSERIF - Helvetica, Swiss * MWF_FAMILY_MODERN - Pica, Elite, Courier */#define MWLF_FAMILY_DEFAULT (0<<4) /* any family*/#define MWLF_FAMILY_SERIF (1<<4) /* variable stroke width, serif*/#define MWLF_FAMILY_SANSSERIF (2<<4) /* variable stroke width, sans-serif*/#define MWLF_FAMILY_MODERN (3<<4) /* constant stroke width*//* add definitions here for font mapper extensions*/#define MWLF_FAMILY_BITSTREAM (6<<4) /* bitstream*/#define MWLF_FAMILY_ADOBE (7<<4) /* adobe*//* font family*/#define FF_DONTCARE MWLF_FAMILY_DEFAULT#define FF_ROMAN MWLF_FAMILY_SERIF#define FF_SWISS MWLF_FAMILY_SANSSERIF#define FF_MODERN MWLF_FAMILY_MODERN#define FF_SCRIPT (4<<4) /* Cursive, etc. */#define FF_DECORATIVE (5<<4) /* Old English, etc. */HFONT WINAPI CreateFont(int nHeight, int nWidth, int nEscapement, int nOrientation, int fnWeight, DWORD fdwItalic, DWORD fdwUnderline, DWORD fdwStrikeOut,DWORD fdwCharSet, DWORD fdwOutputPrecision,DWORD fdwClipPrecision, DWORD fdwQuality, DWORD fdwPitchAndFamily, LPCSTR lpszFace);HFONT WINAPI CreateFontIndirect(CONST LOGFONT *lplf);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -