Difference between revisions of "UIFont"

From iPhone Development Wiki
Jump to: navigation, search
(adding language option)
 
(3 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{occlass|library=UIKit.framework}}
+
<small>'''Languages: English &bull; [[UIFont/fr|français]]'''</small>
  
 
[[UIFont]] is a class representing a font face and the font size. This class is built on top of [[GSFont]].
 
[[UIFont]] is a class representing a font face and the font size. This class is built on top of [[GSFont]].
Line 137: Line 137:
 
{{Function signature
 
{{Function signature
 
|signature=+(UIFont*)fontWithFamilyName:(NSString*)familyName traits:(GSFontTraitMask)traits size:(CGFloat)fontSize;
 
|signature=+(UIFont*)fontWithFamilyName:(NSString*)familyName traits:(GSFontTraitMask)traits size:(CGFloat)fontSize;
|firmware=2.0 – 3.1
+
|firmware=2.0 –
 
}}
 
}}
 
Returns a font with specific family name, traits (bold/italic) and font size. For example:
 
Returns a font with specific family name, traits (bold/italic) and font size. For example:
Line 148: Line 148:
 
{{Function signature
 
{{Function signature
 
|signature=+(UIFont*)fontWithMarkupDescription:(NSString*)markupDescription;
 
|signature=+(UIFont*)fontWithMarkupDescription:(NSString*)markupDescription;
|firmware=2.0 — 3.1
+
|firmware=2.0 —
 
}}
 
}}
 
Create a font using a CSS font description, e.g.
 
Create a font using a CSS font description, e.g.
Line 165: Line 165:
 
{{Function signature
 
{{Function signature
 
|signature=-(GSFontTraitMask)traits;
 
|signature=-(GSFontTraitMask)traits;
|firmware=2.0 – 3.1
+
|firmware=2.0 –
 
}}
 
}}
 
Returns the traits (bold/italic) of the font.
 
Returns the traits (bold/italic) of the font.
Line 172: Line 172:
 
{{Function signature
 
{{Function signature
 
|signature=-(BOOL)isFixedPitch;
 
|signature=-(BOOL)isFixedPitch;
|firmware=2.0 – 3.1
+
|firmware=2.0 –
 
}}
 
}}
 
Returns whether the font is monospaced or not.
 
Returns whether the font is monospaced or not.
Line 179: Line 179:
 
{{Function signature
 
{{Function signature
 
|signature=-(NSString*)markupDescription;
 
|signature=-(NSString*)markupDescription;
|firmware=2.0 – 3.1
+
|firmware=2.0 –
 
}}
 
}}
 
Returns the CSS rules that can reproduce this font.
 
Returns the CSS rules that can reproduce this font.
Line 186: Line 186:
 
* Official documentation: http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UIFont_Class/Reference/Reference.html
 
* Official documentation: http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UIFont_Class/Reference/Reference.html
 
* Extra header: http://github.com/kennytm/iphone-private-frameworks/blob/master/UIKit/UIFont2.h
 
* Extra header: http://github.com/kennytm/iphone-private-frameworks/blob/master/UIKit/UIFont2.h
 +
* Font samples: http://blog.backpackholic.tv/attach/1/1169354710.png
 +
 +
{{occlass|library=UIKit.framework|navbox=on}}

Latest revision as of 08:41, 15 January 2014

Languages: English • français

UIFont is a class representing a font face and the font size. This class is built on top of GSFont.

Default font families

Family Normal Bold Italic Bold-Italic Example
AppleGothic AppleGothic Korean-한국어-韓國語
Hiragino Kaku Gothic ProN HiraKakuProN-W3 HiraKakuProN-W6 Japanese-にほんご-ニヒンゴ-日本語
Arial Unicode MS ArialUnicodeMS Unicode-AMZamz157½ßĽΔΩθφДЫжю
Heiti K STHeitiK-Light STHeitiK-Medium Korean-한국어-韓國語
DB LCD Temp DBLCDTempBlack 0123456789abcdef
Helvetica Helvetica Helvetica-Bold Helvetica-Oblique Helvetica-BoldOblique Latin-AMZamz157½ßĽΔΩθφДЫжю
Marker Felt MarkerFelt-Thin Latin-AMZamz157½ßĽΔΩθφДЫжю
Times New Roman TimesNewRomanPSMT TimesNewRomanPS-BoldMT TimesNewRomanPS-ItalicMT TimesNewRomanPS-BoldItalicMT Latin-AMZamz157½ßĽΔΩθφДЫжю
Verdana Verdana Verdana-Bold Verdana-Italic Verdana-BoldItalic Latin-AMZamz157½ßĽΔΩθφДЫжю
Georgia Georgia Georgia-Bold Georgia-Italic Georgia-BoldItalic Latin-AMZamz157½ßĽΔΩθφДЫжю
Arial Rounded MT Bold ArialRoundedMTBold Latin-AMZamz157½ßĽΔΩθφДЫжю
Trebuchet MS TrebuchetMS TrebuchetMS-Bold TrebuchetMS-Italic Trebuchet-BoldItalic Latin-AMZamz157½ßĽΔΩθφДЫжю
Heiti TC STHeitiTC-Light STHeitiTC-Medium Traditional Chinese-繁體中文
Geeza Pro GeezaPro GeezaPro-Bold Arabic-العربية/Farsi-فارسی
Courier Courier Courier-Bold Courier-Oblique Courier-BoldOblique Latin-AMZamz157½ßĽΔΩθφДЫжю
Arial ArialMT Arial-BoldMT Arial-ItalicMT Arial-BoldItalicMT Latin-AMZamz157½ßĽΔΩθφДЫжю
Heiti J STHeitiJ-Light STHeitiJ-Medium Japanese-にほんご-ニヒンゴ-日本語
Arial Hebrew ArialHebrew ArialHebrew-Bold Hebrew-עִבְרִית
Courier New CourierNewPSMT CourierNewPS-BoldMT CourierNewPS-ItalicMT CourierNewPS-BoldItalicMT Latin-AMZamz157½ßĽΔΩθφДЫжю
Zapfino Zapfino Latin-AMZamz157½ßĽΔΩθφДЫжю
American Typewriter AmericanTypewriter AmericanTypewriter-Bold Latin-AMZamz157½ßĽΔΩθφДЫжю
Heiti SC STHeitiSC-Light STHeitiSC-Medium Simplified Chinese-简体中文
Helvetica Neue HelveticaNeue HelveticaNeue-Bold Latin-AMZamz157½ßĽΔΩθφДЫжю
Thonburi Thonburi Thonburi-Bold Thai-ภาษาไทย

Default font sizes

There are 4 font sizes that can be obtained using +[UIFont someSize]. The last 2 are conventional values.

Name Value
smallSystemFontSize 12
systemFontSize 14
labelFontSize 17
buttonFontSize 18
Default font size of UIButton 15
Default font size of UITextField 12

Undocumented methods

+fontWithFamilyName:traits:size:

Signature +(UIFont*)fontWithFamilyName:(NSString*)familyName traits:(GSFontTraitMask)traits size:(CGFloat)fontSize;
Available in 2.0 –

Returns a font with specific family name, traits (bold/italic) and font size. For example:

// Equivalent to [UIFont fontWithName:@"Arial-BoldMT" size:24]
UIFont* font = [UIFont fontWithFamilyName:@"Arial" traits:GSBoldFontMask size:24];

+fontWithMarkupDescription:

Signature +(UIFont*)fontWithMarkupDescription:(NSString*)markupDescription;
Available in 2.0 —

Create a font using a CSS font description, e.g.

// Equivalent to [UIFont fontWithName:@"Arial-BoldMT" size:24]
UIFont* font = [UIFont fontWithMarkupDescription:@"font-family: Arial; font-size: 24px; font-weight: bold;"];

Unlike real CSS rules there are heavy restrictions on the "markup description":

  • The font-family rule must be exact. A list of fonts like Arial, Helvetica, sans-serif will not be supported by UIKit, and will always return nil regardless whether any font in the list is available.
  • The unit of font-size will always be interpreted as px. Names such as font-size: large will be considered as 0px.
  • font-weight can only be bold or not.
  • font-style can only be italic or not. In particular, oblique is not recognized and treated as normal.

-traits

Signature -(GSFontTraitMask)traits;
Available in 2.0 –

Returns the traits (bold/italic) of the font.

-isFixedPitch

Signature -(BOOL)isFixedPitch;
Available in 2.0 –

Returns whether the font is monospaced or not.

-markupDescription

Signature -(NSString*)markupDescription;
Available in 2.0 –

Returns the CSS rules that can reproduce this font.

References