forked from tidev/titanium-sdk
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Font.yml
106 lines (78 loc) · 4.2 KB
/
Font.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
---
name: Font
summary: An abstract datatype for specifying a text font.
description: |
Available fonts vary by platform and device. On iOS, font support depends on the OS
version. On Android, font support depends on the OS version **and** device manufacturer.
Note that to update the font used by a UI component, you must set the object's `font`
property, like this:
myLabel.font = { fontSize: 24, font: myFontName }
Changing the `font` object after assigning it does not reliably affect the underlying UI
component:
// This may not work as expected
myLabel.font.fontSize = 24;
#### Custom Fonts
Custom TrueType (.ttf) or OpenType (.otf) fonts may be embedded in an application on iOS and
Android. (Note that you must have redistribution rights on the fonts you ship.)
Custom fonts must be placed in the `Resources/fonts` directory. Note that the steps
for referring to the fonts are slightly different by platform.
* On Android, use the font file name, minus the `.otf` or `.ttf` extension.
For example, if you are using the Chantelli Antiqua font and the file is
named `Chantelli_Antiqua.ttf`, specify `fontFamily: 'Chantelli_Antiqua'`
on Android.
* On iOS, use the official font name--this name is embedded in the font file and
does not change if you rename the file. For example, for Chantelli Antiqua,
you'd specify: `fontFamily: 'Chantelli Antiqua'` (with a space).
On OS X, double-clicking on the font file will launch the Font Book application,
which shows the official font name.
iOS requires one more step to embed a custom font in an application. The font must be
added to the application's `Info.plist` file:
1. Build the project at least once (the font won't work yet).
2. Copy *yourproject*`/build/iphone/Info.plist` to the *yourproject* folder.
3. Double-click `Info.plist` to open it in Xcode.
4. Right-click a blank area in the list of keys and choose **Add Row**.
From the resulting list, choose **Fonts provided by application**.
5. Expand **Fonts provided by application** and click in the Value field.
Enter the full path of the font file, for example, `/fonts/Chantelli_Antiqua.ttf`.
6. Save the file and close Xcode.
7. In Studio, clean the project then build it again. Your custom font should
show up.
For more information on embedding custom fonts, see:
* [Custom Fonts in the Titanium Mobile Guides](http://docs.appcelerator.com/titanium/#!/guide/Custom_Fonts)
properties:
- name: fontFamily
summary: Name of a font family, for example, "Helvetica" or "DroidSans".
description: |
Note the the fonts available differ by platform.
If the requested family name does not match an existing font, the default font
family is used.
On Android, the generic names "sans-serif," "serif," and "monospace" (or "monospaced") are
mapped to system fonts. On iOS, only "monospace" is supported.
type: String
default: Uses the default system font.
- name: fontSize
summary: Font size, in platform-dependent units.
description: |
On iOS and Mobile Web, font sizes are always specified in typographical points
(not to be confused with the Apple "points" used for other measurements on iOS).
On Android the default font sizing is in pixels, but the size can also
include a unit specifier. Supported units and their specifiers are:
* pixels (px)
* typographical points (pt)
* density-independent pixels (dp or dip)
* millimeters (mm)
* inches (in)
For example, "16dp" specifies a size of 16 density-independent pixels.
iOS ingores any unit specifier after the size value.
type: [ Number, String ]
default: 15px
- name: fontWeight
summary: Font weight. Valid values are "bold" or "normal".
description: The "semibold" weight is recognized on iOS only.
type: String
default: normal
- name: fontStyle
summary: Font style. Valid values are "italic" or "normal".
type: String
platforms: [ iphone, ipad ]
default: normal