' Copyright ⌐ 1997 by Desaware Inc. All Rights Reserved.
Option Explicit
Public Const OUT_DEFAULT_PRECIS = 0
Public Const OUT_STRING_PRECIS = 1
Public Const OUT_CHARACTER_PRECIS = 2
Public Const OUT_STROKE_PRECIS = 3
Public Const OUT_TT_PRECIS = 4
Public Const OUT_DEVICE_PRECIS = 5
Public Const OUT_RASTER_PRECIS = 6
Public Const OUT_TT_ONLY_PRECIS = 7
Public Const CLIP_DEFAULT_PRECIS = 0
Public Const CLIP_CHARACTER_PRECIS = 1
Public Const CLIP_STROKE_PRECIS = 2
Public Const CLIP_LH_ANGLES = &H10
Public Const CLIP_TT_ALWAYS = &H20
Public Const CLIP_EMBEDDED = &H80
Public Const DEFAULT_QUALITY = 0
Public Const DRAFT_QUALITY = 1
Public Const PROOF_QUALITY = 2
Public Const DEFAULT_PITCH = 0
Public Const FIXED_PITCH = 1
Public Const VARIABLE_PITCH = 2
Public Const TMPF_FIXED_PITCH = 1
Public Const TMPF_VECTOR = 2
Public Const TMPF_DEVICE = 8
Public Const TMPF_TRUETYPE = 4
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
Public Const NTM_REGULAR = &H40&
Public Const NTM_BOLD = &H20&
Public Const NTM_ITALIC = &H1&
Public Const LF_FULLFACESIZE = 64
Public Const RASTER_FONTTYPE = 1
Public Const DEVICE_FONTTYPE = 2
Public Const TRUETYPE_FONTTYPE = 4
Public Const FF_DONTCARE = 0
Public Const FF_ROMAN = 16
Public Const FF_SWISS = 32
Public Const FF_MODERN = 48
Public Const FF_SCRIPT = 64
Public Const FF_DECORATIVE = 80
Public Const FW_DONTCARE = 0
Public Const FW_THIN = 100
Public Const FW_EXTRALIGHT = 200
Public Const FW_LIGHT = 300
Public Const FW_NORMAL = 400
Public Const FW_MEDIUM = 500
Public Const FW_SEMIBOLD = 600
Public Const FW_BOLD = 700
Public Const FW_EXTRABOLD = 800
Public Const FW_HEAVY = 900
Public Const FW_ULTRALIGHT = FW_EXTRALIGHT
Public Const FW_REGULAR = FW_NORMAL
Public Const FW_DEMIBOLD = FW_SEMIBOLD
Public Const FW_ULTRABOLD = FW_EXTRABOLD
Public Const FW_BLACK = FW_HEAVY
Public Const LF_FACESIZE = 32
Public Const GCP_DBCS = &H1
Public Const GCP_REORDER = &H2
Public Const GCP_USEKERNING = &H8
Public Const GCP_GLYPHSHAPE = &H10
Public Const GCP_LIGATE = &H20
Public Const GCP_DIACRITIC = &H100
Public Const GCP_KASHIDA = &H400
Public Const GCP_ERROR = &H8000
Public Const FLI_MASK = &H103B
Public Const GCP_JUSTIFY = &H10000
Public Const GCP_NODIACRITICS = &H20000
Public Const FLI_GLYPHS = &H40000
' Public Variables
#If Win32 Then
Public FontToUse& ' The font in use
#Else
Public FontToUse% ' The font in use
#End If
#If Win32 Then
Type LOGFONT
lfHeight As Long
lfWidth As Long
lfEscapement As Long
lfOrientation As Long
lfWeight As Long
lfItalic As Byte
lfUnderline As Byte
lfStrikeOut As Byte
lfCharSet As Byte
lfOutPrecision As Byte
lfClipPrecision As Byte
lfQuality As Byte
lfPitchAndFamily As Byte
lfFaceName(LF_FACESIZE) As Byte
End Type
Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Type TEXTMETRIC
tmHeight As Long
tmAscent As Long
tmDescent As Long
tmInternalLeading As Long
tmExternalLeading As Long
tmAveCharWidth As Long
tmMaxCharWidth As Long
tmWeight As Long
tmOverhang As Long
tmDigitizedAspectX As Long
tmDigitizedAspectY As Long
tmFirstChar As Byte
tmLastChar As Byte
tmDefaultChar As Byte
tmBreakChar As Byte
tmItalic As Byte
tmUnderlined As Byte
tmStruckOut As Byte
tmPitchAndFamily As Byte
tmCharSet As Byte
End Type
Type NEWTEXTMETRIC
tmHeight As Long
tmAscent As Long
tmDescent As Long
tmInternalLeading As Long
tmExternalLeading As Long
tmAveCharWidth As Long
tmMaxCharWidth As Long
tmWeight As Long
tmOverhang As Long
tmDigitizedAspectX As Long
tmDigitizedAspectY As Long
tmFirstChar As Byte
tmLastChar As Byte
tmDefaultChar As Byte
tmBreakChar As Byte
tmItalic As Byte
tmUnderlined As Byte
tmStruckOut As Byte
tmPitchAndFamily As Byte
tmCharSet As Byte
ntmFlags As Long
ntmSizeEM As Long
ntmCellHeight As Long
ntmAveWidth As Long
End Type
Declare Function CreateFontIndirect& Lib "gdi32" Alias "CreateFontIndirectA" (lpLogFont As LOGFONT)
Declare Function SelectObject& Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long)
Declare Function GetClientRect& Lib "user32" (ByVal hwnd As Long, lpRect As RECT)
Declare Function GetTextMetrics& Lib "gdi32" Alias "GetTextMetricsA" (ByVal hdc As Long, lpMetrics As TEXTMETRIC)
Declare Function GetTextFace& Lib "gdi32" Alias "GetTextFaceA" (ByVal hdc As Long, ByVal nCount As Long, ByVal lpFacename As String)
Declare Function DeleteObject& Lib "gdi32" (ByVal hObject As Long)
Declare Function TextOut Lib "gdi32" Alias "TextOutA" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal lpstring As String, ByVal nCount As Long) As Long
Declare Function GetFontLanguageInfo& Lib "gdi32" (ByVal hdc As Long)
#Else
Declare Function GetClientRect% Lib "User" (ByVal hwnd%, lpRect As RECT)
Declare Function CreateFontIndirect% Lib "GDI" (lpLogFont As LOGFONT)
Declare Function SelectObject% Lib "GDI" (ByVal hdc%, ByVal hObject%)
Declare Function GetTextMetrics% Lib "GDI" (ByVal hdc%, lpMetrics As TEXTMETRIC)