You are on page 1of 116

FONT V STRING

Font va String
Cc khi nim c bn
Font
Cc khi nim v Font
Lp Font
Lp FontFamily
String
Mt s thanh phn lin quan n chui k t
Lp StringFormat
Lp TextRenderer
4/28/2009 Lp trnh mi trng Windows 2
Cc khi nim c bn
- B k t
- Trang ma
- B k t Unicode

4/28/2009 Lp trnh mi trng Windows 3


B k t va Trang ma
B k t (character set)
B ma ban phim c inh ma mt h my
tinh cu th ang s dung.
Trang ma (code page)
Trang ma cha 1 b cc k t ng vi h
b k t nao o cua mt hoc nhiu ngn
ng.
Phn ln cc trang ma cha 256 k t.
4/28/2009 Lp trnh mi trng Windows 4
Character Set va Code Page

4/28/2009 Lp trnh mi trng Windows 5


Vi du v Code Page
Windows Latin 1 code page (1252)

4/28/2009 Lp trnh mi trng Windows 6


Vi du v Code Page (tt)
Windows Cyrillic code page (1251)

4/28/2009 Lp trnh mi trng Windows 7


B k t Unicode
- Unicode la 1 b k t 16 bit cha tt c
cc k t thng dng trong x l thng
tin.
- Unicode la 1 s ng v cch lu tr k
t, 1 chun c s h tr bi cc thanh
vin cua cng ng Unicode
- Unicode cung cp 1 s duy nht cho mi
k t, khng lin quan n h iu hanh,
chng trnh hay ngn ng nao.
4/28/2009 Lp trnh mi trng Windows 8
Vi du b k t Unicode

4/28/2009 Lp trnh mi trng Windows 9


Vi du b k t Unicode (tt)

4/28/2009 Lp trnh mi trng Windows 10


Cc khi nim v Font
- inh ngha Font
- Kiu Font va Ho Font
- Cc loai Font trn HH Windows
- Cc thng s Font
- o Font

4/28/2009 Lp trnh mi trng Windows 11


inh ngha Font
Tp hp hoan chinh
- cc ch ci
- cc du cu
- cc con s
- cc k t c bit
theo mt - kiu loai
- trong lng (thng hoc m net)
- dng b (thng hoc nghing)
vi kich c ph hp va co th phn bit khc nhau.
4/28/2009 Lp trnh mi trng Windows 12
inh ngha Font (tt)
- Mt font co th c cung cp bi 1 hoc
nhiu trang ma
- Mi font thng c lu trong 1 file font
- Mi font thng c t 1 tn.
Vi du font Times New Roman Bold,
font Courier New Italic

4/28/2009 Lp trnh mi trng Windows 13


Kiu Font va Ho Font
Tn Font = Ho Font + ( Kiu Font )
Font name = Font family + ( Typestyle )
Vi du:
Ho font Times New Roman cha 4 font
khc nhau:
- Times New Roman
- Times New Roman Italic
- Times New Roman Bold
- Times New Roman Bold Italic
4/28/2009 Lp trnh mi trng Windows 14
Kiu Font va Ho Font (tt)
Vi du:

4/28/2009 Lp trnh mi trng Windows 15


Cc loai Font trn HH Windows
- Bitmap Font
- Vector Font
- TrueType Font
- OpenType Font

4/28/2009 Lp trnh mi trng Windows 16


Bitmap Font
- Dng hnh nh hin thi cc im nh
cua 1 k t
- Thng la nhng file co dang *.fon
- Khi hin thi k t co kich thc ln
thng bi nt hnh

4/28/2009 Lp trnh mi trng Windows 17


Vector Font
- Dng cc oan thng ni vi nhau hin
thi k t
- Thng la nhng file co dang *.fnt
- Mc d hin thi k t co kich thc ln tt
hn bitmap font nhng vn cha co c
sc net cao

4/28/2009 Lp trnh mi trng Windows 18


TrueType Font
- Dng cc oan thng va oan cong ni
vi nhau hin thi k t
- Thng la nhng file co dang *.ttf
- Hin thi k t co kich thc ln vi sc
net cao

4/28/2009 Lp trnh mi trng Windows 19


OpenType Font
- La chun inh dang font kt hp 2 loai
inh dang font co sn: Type 1 (PostScript)
font va TrueType font
- c lp vi h iu hanh (cross-platform)
- H tr nhiu loai ngn ng trong 1 font
- Thng la nhng file co dang *.otf
- Trong Windows, TrueType Font co biu
tng la ch TT, con OpenType Font la
ch O
4/28/2009 Lp trnh mi trng Windows 20
Cc thng s Font (Font metrics )

4/28/2009 Lp trnh mi trng Windows 21


Font metrics (tt)

4/28/2009 Lp trnh mi trng Windows 22


o Font
Font c o bi nhiu o:
- pixel: phn t nh nht cua nh ma 1 thit
bi co th hin thi (man hnh, my in)
- point: 1 point = 1/72 inch trong in n
- em: rng cua ch M ng vi kiu ch
ang dng
- design unit: dng o kich c 1 ho font
bng o point khi bi thay i kich thc
4/28/2009 Lp trnh mi trng Windows 23
Class Font
- M t lp Font
- Cc thuc tinh lp Font
- Cc ham khi tao lp Font
+ Tp hp FontStyle
+ Tp hp GraphicsUnit
- Cc phng thc lp Font
- Cc vi du

4/28/2009 Lp trnh mi trng Windows 24


M t lp Font
- Dng xc inh cch inh dang vn bn
- Bao gm cc thuc tinh cch th hin, kich
thc, kiu dng
- Khng cho phep k tha

- Namespace: System.Drawing
- Assembly: System.Drawing (in dll)

4/28/2009 Lp trnh mi trng Windows 25


Font Properties

4/28/2009 Lp trnh mi trng Windows 26


Font Properties (tt)

4/28/2009 Lp trnh mi trng Windows 27


Font Constructor
Public Constructors

4/28/2009 Lp trnh mi trng Windows 28


Font Constructor (tt)
Font(string, float)
Font(string, float, FontStyle)
Font(FontFamily, float)
Font(FontFamily, float, FontStyle)
Font(string, float, GraphicsUnit)
Font(string, float, FontStyle, GraphicsUnit)
Font(FontFamily, float, GraphicsUnit)
Font(string, float, FontStyle, GraphicsUnit, byte, bool)
Font(string, float, FontStyle, GraphicsUnit, byte)
Font(Font, FontStyle)
Font(FontFamily, float, FontStyle, GraphicsUnit)
.
4/28/2009 Lp trnh mi trng Windows 29
Tp hp FontStyle

Member Name Value Description


Bold 0 Bold text
Italic 1 Italic text
Regular 2 Normal text
Strikeout 4 Text with a line through the middle
Underline 8 Underlined text

4/28/2009 Lp trnh mi trng Windows 30


Vi du FontStyle
Hin thi tt c cc dang FontStyle

4/28/2009 Lp trnh mi trng Windows 31


Font Sizes

4/28/2009 Lp trnh mi trng Windows 32


Font Names

4/28/2009 Lp trnh mi trng Windows 33


Tp hp GraphicsUnit

Member Name Value Description


World 0 Units of world coordinates
Display 1 Wont work with font constructor
Pixel 2 Units of pixels
Point 3 Units of 1/72 inch
Inch 4 Units of inch
Document 5 Units of 1/300 inch
Milimeter 6 Units of milimeters

4/28/2009 Lp trnh mi trng Windows 34


Vi du
new Font(strFamily, float fSize)
new Font(strFamily, float fSize, GraphicsUnit.Point)

new Font(strFamily, 72)


new Font(strFamily, 72, GraphicsUnit.Point)
new Font(strFamily, 1, GraphicsUnit.Inch)
new Font(strFamily, 25.4f, GraphicsUnit.Millimeter)
new Font(strFamily, 300, GraphicsUnit.Document)

4/28/2009 Lp trnh mi trng Windows 35


Font Methods
Public Methods

4/28/2009 Lp trnh mi trng Windows 36


Font Methods (tt)
Public Methods

4/28/2009 Lp trnh mi trng Windows 37


Font Methods (tt)
Public Methods

4/28/2009 Lp trnh mi trng Windows 38


Font Methods (tt)
Public Methods

Protected Methods

4/28/2009 Lp trnh mi trng Windows 39


Vi du v Font
Ly thng tin v font

4/28/2009 Lp trnh mi trng Windows 40


FontFamily Class
- M t lp FontFamily
- Cc thuc tinh lp FontFamily
- Cc ham khi tao lp FontFamily
+ Tp hp GenericFontFamilies
- Cc phng thc lp FontFamily
- Cc vi du

4/28/2009 Lp trnh mi trng Windows 41


M t lp FontFamily
- Xc nhn mt nhom cc font c thit k
v cch th hin va kiu dng tng t
nhau
- Khng cho phep k tha

- Namespace: System.Drawing
- Assembly: System.Drawing (in dll)

4/28/2009 Lp trnh mi trng Windows 42


FontFamily Properties
Public Properties

4/28/2009 Lp trnh mi trng Windows 43


FontFamily Constructor
Public Constructors
Name Description
Overloaded. Initializes a new FontFamily
FontFamily
that uses the specified name.

Overload List
FontFamily (GenericFontFamilies)
FontFamily (String)
FontFamily (String, FontCollection)
4/28/2009 Lp trnh mi trng Windows 44
Tp hp GenericFontFamilies

Member Name Value Description


Serif 0 V d nh font Times New Roman
SansSerif 1 V d nh font Arial
Monospace 2 V d nh font Courier New

4/28/2009 Lp trnh mi trng Windows 45


FontFamily Methods
Public Methods

4/28/2009 Lp trnh mi trng Windows 46


FontFamily Methods (tt)
Public Methods

4/28/2009 Lp trnh mi trng Windows 47


FontFamily Methods (tt)
Public Methods

4/28/2009 Lp trnh mi trng Windows 48


FontFamily Methods (tt)
Public Methods

Protected Methods

4/28/2009 Lp trnh mi trng Windows 49


Vi du v Font Family
Ly thng tin v font family

4/28/2009 Lp trnh mi trng Windows 50


Ly thng tin v font family (tt)

4/28/2009 Lp trnh mi trng Windows 51


Font Families List

4/28/2009 Lp trnh mi trng Windows 52


Vi du cc thng s Ho Font (tt)
V cc ng thng tai cc ni ascent,
descent, baseline, line space

4/28/2009 Lp trnh mi trng Windows 53


V cc ng thng (tt)

4/28/2009 Lp trnh mi trng Windows 54


V cc ng thng (tt)

4/28/2009 Lp trnh mi trng Windows 55


V cc ng thng (tt)

4/28/2009 Lp trnh mi trng Windows 56


V cc ng thng (tt)

4/28/2009 Lp trnh mi trng Windows 57


V cc ng thng (tt)

4/28/2009 Lp trnh mi trng Windows 58


Mt s thanh phn lin quan n
chui k t
- Tp hp TextRenderingHint
- Tp hp TextFormatFlags
- Thuc tinh Graphics.TextContrast
- Phng thc Graphics.MeasureString

4/28/2009 Lp trnh mi trng Windows 59


Tp hp TextRenderingHint
- M t tp hp TextRenderingHint
- Cc thanh vin tp hp TextRenderingHint
- Cc vi du

4/28/2009 Lp trnh mi trng Windows 60


M t tp hp TextRenderingHint
- Quy inh vic hin thi chui vn bn theo
mt cht lng cu th

- Namespace: Text
- Assembly: System.Drawing (in dll)

4/28/2009 Lp trnh mi trng Windows 61


Cc thanh vin tp hp TextRenderingHint

4/28/2009 Lp trnh mi trng Windows 62


Cc thanh vin tp hp
TextRenderingHint (tt)

4/28/2009 Lp trnh mi trng Windows 63


Vi du v TextRenderingHint
Hin thi chui theo cc inh dang cua TextRenderingHint

4/28/2009 Lp trnh mi trng Windows 64


Hin thi chui theo cc inh dang cua TextRenderingHint (tt)

4/28/2009 Lp trnh mi trng Windows 65


4/28/2009 Lp trnh mi trng Windows 66
Tp hp TextFormatFlags
- M t tp hp TextFormatFlags
- Cc thanh vin tp hp TextFormatFlags
- Minh hoa v Padding Flags
- Cc vi du

4/28/2009 Lp trnh mi trng Windows 67


M t tp hp TextFormatFlags
- Quy inh s hin thi va b cuc cua chui
k t

- Namespace: System.Windows.Forms
- Assembly: System.Windows.Forms
(in system.windows.forms.dll)

4/28/2009 Lp trnh mi trng Windows 68


Cc thanh vin tp hp
TextFormatFlags
Bottom Internal
Default Left
EndEllipsis LeftAndRightPadding
ExpandTabs ModifyString
ExternalLeading NoClipping
GlyphOverhangPadding NoFullWidthCharacterBreak
HidePrefix NoPadding
HorizontalCenter NoPrefix
4/28/2009 Lp trnh mi trng Windows 69
Cc thanh vin tp hp
TextFormatFlags (tt)
PathEllipsis Top
PrefixOnly VerticalCenter
PreserveGraphicsClipping WordBreak
PreserveGraphicsTranslateTransform WordEllipsis
Right
RightToLeft
SingleLine
TextBoxControl
4/28/2009 Lp trnh mi trng Windows 70
Minh hoa v Padding Flags

4/28/2009 Lp trnh mi trng Windows 71


Vi du v TextFormatFlags
Hin thi chui vi cc Padding Flags

4/28/2009 Lp trnh mi trng Windows 72


Hin thi chui vi cc Padding Flags (tt)

4/28/2009 Lp trnh mi trng Windows 73


Thuc tinh Graphics.TextContrast
- M t thuc tinh TextContrast
- Vi du v thuc tinh TextContrast

4/28/2009 Lp trnh mi trng Windows 74


M t thuc tinh TextContrast
- Graphics.TextContrast Property gets or sets the
gamma correction value for rendering text.

- Namespace: System.Drawing
- Assembly: System.Drawing (in dll)

4/28/2009 Lp trnh mi trng Windows 75


Vi du v thuc tinh TextContrast
Change TextRenderingHint And TextContrast

4/28/2009 Lp trnh mi trng Windows 76


Change TextRenderingHint And TextContrast (tt)

4/28/2009 Lp trnh mi trng Windows 77


Phng thc
Graphics.MeasureString
- M t cc ham MeasureString
- Vi du v ham MeasureString

4/28/2009 Lp trnh mi trng Windows 78


M t cc ham MeasureString
- o chui khi chui c v vi 1 loai font cu
th.

- Namespace: System.Drawing
- Assembly: System.Drawing (in dll)

4/28/2009 Lp trnh mi trng Windows 79


M t cc ham MeasureString (tt)
o chui khi c v vi 1 loai font cu th.
MeasureString Method (String, Font)
MeasureString Method (String, Font, int)
- o chui khi c v vi 1 loai font cu th
trong 1 vng th hin.
MeasureString Method (String, Font,
SizeF)

4/28/2009 Lp trnh mi trng Windows 80


M t cc ham MeasureString (tt)
- o chui khi c v vi 1 loai font cu th va
c inh dang bi 1 i tng StringFormat.
MeasureString Method (String, Font, int,StringFormat)
MeasureString Method (String, Font, PointF, StringFormat)
MeasureString Method (String, Font, SizeF, StringFormat)
MeasureString Method (String, Font, SizeF, StringFormat,
int, int)

4/28/2009 Lp trnh mi trng Windows 81


Vi du v ham MeasureString
Hin thi chui chinh gia form

4/28/2009 Lp trnh mi trng Windows 82


Hin thi chui chinh gia form (tt)

4/28/2009 Lp trnh mi trng Windows 83


Vi du v ham MeasureString (tt)
V hnh ch nht boc chui

4/28/2009 Lp trnh mi trng Windows 84


V hnh ch nht boc chui (tt)

4/28/2009 Lp trnh mi trng Windows 85


StringFormat Class
- M t lp StringFormat
- Cc thuc tinh lp StringFormat
+ Tp hp StringFormatFlags
+ Tp hp StringTrimming
+ Tp hp HotkeyPrefix
- Cc ham khi tao lp StringFormat
- Cc phng thc lp StringFormat
- Cc vi du
4/28/2009 Lp trnh mi trng Windows 86
M t lp StringFormat
- Cha tt c cc thng tin cch th hin
(layout) cua vn bn (nh canh dong,
hng th hin, tab stop)
- Khng cho phep k tha

- Namespace: System.Drawing
- Assembly: System.Drawing (in dll)

4/28/2009 Lp trnh mi trng Windows 87


StringFormat Properties
Public Properties

4/28/2009 Lp trnh mi trng Windows 88


StringFormat Properties (tt)
Public Properties

4/28/2009 Lp trnh mi trng Windows 89


Tp hp StringFormatFlags

4/28/2009 Lp trnh mi trng Windows 90


Tp hp StringFormatFlags (tt)

4/28/2009 Lp trnh mi trng Windows 91


Tp hp StringFormatFlags (tt)

4/28/2009 Lp trnh mi trng Windows 92


Tp hp StringTrimming

4/28/2009 Lp trnh mi trng Windows 93


Tp hp StringTrimming (tt)
Member Name Description
None Specifies no trimming.
Specifies that text is trimmed to the nearest
Word
word.

Tp hp HotkeyPrefix
Member Name Description
Hide Do not display the hot-key prefix.
None No hot-key prefix.
Show Display the hot-key prefix.
4/28/2009 Lp trnh mi trng Windows 94
StringFormat Constructor
Public Constructors
Name Description
Overloaded. Initializes a new
StringFormat
StringFormat object.

Overload List
StringFormat ()
StringFormat (StringFormat )
StringFormat (StringFormatFlags )
StringFormat (StringFormatFlags, Int32)
4/28/2009 Lp trnh mi trng Windows 95
StringFormat Methods
Public Methods

4/28/2009 Lp trnh mi trng Windows 96


StringFormat Methods (tt)
Public Methods

4/28/2009 Lp trnh mi trng Windows 97


StringFormat Methods (tt)
Public Methods

4/28/2009 Lp trnh mi trng Windows 98


StringFormat Methods (tt)
Protected Methods

4/28/2009 Lp trnh mi trng Windows 99


Vi du v StringFormat
Hin thi chui theo chiu thng ng

4/28/2009 Lp trnh mi trng Windows 100


Hin thi chui theo chiu thng ng (tt)

4/28/2009 Lp trnh mi trng Windows 101


Vi du v StringFormat
Hin thi chui va canh l

4/28/2009 Lp trnh mi trng Windows 102


Hin thi chui va canh l (tt)

4/28/2009 Lp trnh mi trng Windows 103


Hin thi chui va canh l (tt)

4/28/2009 Lp trnh mi trng Windows 104


TextRenderer Class
- M t lp TextRenderer
- Cc phng thc lp StringFormat
- c im cua lp TextRenderer
- Cc thuc tinh cua lp StringFormat va
cc thanh vin tp hp TextFormatFlags
- Cc vi du

4/28/2009 Lp trnh mi trng Windows 105


M t lp TextRenderer
- Cung cp phng thc cho vic o lng
va thay i hnh thc hin thi cua chui vn
bn
- Khng cho phep k tha

- Namespace: System.Windows.Forms
- Assembly: System.Windows.Forms
(in system.windows.forms.dll)
4/28/2009 Lp trnh mi trng Windows 106
Lp TextRenderer
Public Methods

4/28/2009 Lp trnh mi trng Windows 107


Lp TextRenderer (tt)
Public Methods

4/28/2009 Lp trnh mi trng Windows 108


S khc bit cua Text
Rendering

4/28/2009 Lp trnh mi trng Windows 109


nh xa gi tri cc thuc tinh t lpStringFormat
vao tp hp TextFormatFlags

4/28/2009 Lp trnh mi trng Windows 110


nh xa gi tri cc thuc tinh t lpStringFormat
vao tp hp TextFormatFlags (tt)

4/28/2009 Lp trnh mi trng Windows 111


nh xa gi tri cc thuc tinh t lpStringFormat
vao tp hp TextFormatFlags (tt)

4/28/2009 Lp trnh mi trng Windows 112


Vi du v Rendering Text
Rendering Text vi TextRenderer

4/28/2009 Lp trnh mi trng Windows 113


Rendering Text vi TextRenderer (tt)

4/28/2009 Lp trnh mi trng Windows 114


Vi du v TextRenderer (tt)
T ng lc b k t va thay bng du ...

4/28/2009 Lp trnh mi trng Windows 115


T ng lc b k t va thay bng du ... (tt)

4/28/2009 Lp trnh mi trng Windows 116

You might also like