|
1 <?xml version="1.0" encoding="utf-8"?> |
|
2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. --> |
|
3 <!-- This component and the accompanying materials are made available under the terms of the License |
|
4 "Eclipse Public License v1.0" which accompanies this distribution, |
|
5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". --> |
|
6 <!-- Initial Contributors: |
|
7 Nokia Corporation - initial contribution. |
|
8 Contributors: |
|
9 --> |
|
10 <!DOCTYPE concept |
|
11 PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"> |
|
12 <concept id="GUID-5042997F-4B8C-538D-B1E0-DD82F5283BB6" xml:lang="en"><title>Linked |
|
13 Fonts Guide</title><shortdesc>The linked font feature allows the creation of linked typefaces |
|
14 using characters from two or more existing typefaces. Once created, linked |
|
15 typefaces are available to all users. Application developers do not need to |
|
16 know whether a font is a linked font or a real font. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody> |
|
17 <p> </p> |
|
18 <p> <b>Target audience</b>: Device creators. </p> |
|
19 <section><title>Key concepts and terms</title> <p>See <xref href="GUID-90644B52-69D7-595C-95E3-D6F7A30C060D.dita">Font |
|
20 and Text Services Collection Overview</xref>. </p> </section> |
|
21 <section><title>Overview</title> <p>A linked typeface can be considered a |
|
22 virtual typeface that has a name and consists of one or more typefaces (open |
|
23 fonts only). A typeface is usually made up of an alphabet of letters, numerals |
|
24 and punctuation marks. It may include or consist entirely of ideograms and |
|
25 symbols. </p> <p>The following diagram represents a linked typeface that consists |
|
26 of characters from Chinese and English typefaces. </p> <fig id="GUID-D9F370EF-BA91-5D8B-B963-D3B6EBEFAFF5"> |
|
27 <title> Figure 1: An example linked typeface that contains Chinese |
|
28 and English characters </title> |
|
29 <image href="GUID-ACC2777E-F555-58ED-82D0-6F8423FB3EA3_d0e641699_href.png" placement="inline"/> |
|
30 </fig> <p>Once a linked typeface has been successfully created, fonts can |
|
31 be derived from it and rasterized in just the same way as from a non-linked |
|
32 typeface. Similarly clients request a font from a linked typeface in the same |
|
33 way as from any other typeface. </p> <p>Using linked typefaces reduces the |
|
34 ROM size because it reduces the number of font files that are required. The |
|
35 following table provides an example that demonstrates this. </p> <table id="GUID-CB3CE0D8-7E18-56D5-AC1C-D4E765410198"> |
|
36 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/> |
|
37 <thead> |
|
38 <row> |
|
39 <entry>Using standard unlinked fonts</entry> |
|
40 <entry>Using linked fonts</entry> |
|
41 </row> |
|
42 </thead> |
|
43 <tbody> |
|
44 <row> |
|
45 <entry><p>Chinese and Bold English </p> </entry> |
|
46 <entry><p>Chinese </p> </entry> |
|
47 </row> |
|
48 <row> |
|
49 <entry><p>Chinese and Italic English </p> </entry> |
|
50 <entry><p>English </p> </entry> |
|
51 </row> |
|
52 <row> |
|
53 <entry><p>Chinese and Bold Italic English </p> </entry> |
|
54 <entry><p>Linked Font File </p> </entry> |
|
55 </row> |
|
56 <row> |
|
57 <entry><p>Chinese and Underline English </p> </entry> |
|
58 <entry/> |
|
59 </row> |
|
60 </tbody> |
|
61 </tgroup> |
|
62 </table> <p>A linked typeface can contain more than one complex font (for |
|
63 example, another linked font). The font rasterizer merges the tables required |
|
64 for the shaping engine. </p> <p><b>The Canonical font </b> </p> <p>The creator |
|
65 of a linked typeface must specify one of the component typefaces as the principal, |
|
66 or canonical, typeface. If no font is specified as the canonical font, an |
|
67 error is returned at registration. Similarly an error is returned if more |
|
68 than one font is specified as the canonical font. </p> <p>When a character |
|
69 or character metric is requested from a linked font, the real fonts that make |
|
70 it up are checked, one after another, in the order in which they were originally |
|
71 added to the linked typeface, until a match is found and the |
|
72 requested information can be returned. If no match is found in any of the |
|
73 real fonts within a linked font, the missing character glyph is supplied from |
|
74 the canonical font. </p> <p><b>Typeface groups </b> </p> <p>A linked typeface |
|
75 must be created with at least one typeface group and each typeface must belong |
|
76 to a typeface group. A typeface group defines metrics applicable to all of |
|
77 the typefaces that it contains. The metrics are as follows: </p> <ul> |
|
78 <li id="GUID-B6AA0A72-EE60-5BC1-9BC4-488ECB417D02"><p>Scaling Option: The |
|
79 different ways in which a typeface can be scaled. (None, up, down, or both |
|
80 up and down.) </p> </li> |
|
81 <li id="GUID-59A4FDD5-5052-5BE8-8C29-B169E857B669"><p>Baseline Shift: Whether |
|
82 the font baseline can be shifted or not. </p> </li> |
|
83 <li id="GUID-65082783-3EAF-5C8E-ACA8-E9D264DD2EE4"><p>Boldness Percentage: |
|
84 How bold a bold font is. </p> </li> |
|
85 <li id="GUID-1BE6F5B0-71D8-5B1F-B087-037DEA0B499B"><p>Italic Angle: The angle |
|
86 (in percent) of italic text. </p> </li> |
|
87 </ul> </section> |
|
88 <section><title>Linked typeface creation</title> <p>You create a linked typeface |
|
89 in two stages, as shown in the following diagram. First you build up the specification. |
|
90 Then when the specification is complete, you register it with the <xref href="GUID-71DADA82-3ABC-52D2-8360-33FAEB2E5DE9.dita">Font |
|
91 and Bitmap Server</xref>. </p> <fig id="GUID-2AC8C198-0BDB-5D69-B53D-3391F33658E7"> |
|
92 <title> Figure 2: The linked typeface creation process |
|
93 </title> |
|
94 <image href="GUID-192003B7-631D-5AF6-9511-119EF5853054_d0e641843_href.png" placement="inline"/> |
|
95 </fig> <p>The following diagram represents the structure of the specification |
|
96 for the Chinese - English example shown in Figure 1 above. </p> <fig id="GUID-F44F3735-B486-5870-9514-10B80ADDDE99"> |
|
97 <title> Figure 3: The structure of the specification for the |
|
98 Chinese - English example. </title> |
|
99 <image href="GUID-597D496F-D85A-5FFD-B9CA-FDCA3E016BE7_d0e641854_href.png" placement="inline"/> |
|
100 </fig> <p>See <xref href="GUID-5B4D38A7-DCDC-51D8-A349-050CF0FD1586.dita">Creating |
|
101 a Linked Typeface</xref> for more information. </p> </section> |
|
102 <section><title>Related APIs</title> <p>The following table shows the linked |
|
103 typeface classes. They are primarily designed for the creation of device system |
|
104 fonts. The platform security capability <codeph>ECapabilityWriteDeviceData</codeph> is |
|
105 required to register linked typefaces. <codeph>ECapabilityReadDeviceData</codeph> is |
|
106 required to fetch linked typeface information from the <xref href="GUID-71DADA82-3ABC-52D2-8360-33FAEB2E5DE9.dita">Font |
|
107 and Bitmap Server</xref>. </p> <table id="GUID-4485D14A-2A96-5D1D-BDF6-56E91EE4F7A2"> |
|
108 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/> |
|
109 <thead> |
|
110 <row> |
|
111 <entry>Class</entry> |
|
112 <entry>Description</entry> |
|
113 </row> |
|
114 </thead> |
|
115 <tbody> |
|
116 <row> |
|
117 <entry><p> <xref href="GUID-6BE49D00-7174-3FEC-A944-FE4A5228C13E.dita"><apiname>CLinkedTypefaceSpecification</apiname></xref> </p> </entry> |
|
118 <entry><p>The specification of a linked typeface, made up of groups and typefaces. </p> </entry> |
|
119 </row> |
|
120 <row> |
|
121 <entry><p> <xref href="GUID-DDFD0FCB-8413-3FF2-A8D7-A052C30592C9.dita"><apiname>CLinkedTypefaceElementSpec</apiname></xref> </p> </entry> |
|
122 <entry><p>Specifies an individual typeface within a linked typeface. </p> </entry> |
|
123 </row> |
|
124 <row> |
|
125 <entry><p> <xref href="GUID-623C40B5-A8FB-3FEE-9F92-254CAB580C5B.dita"><apiname>CLinkedTypefaceGroup</apiname></xref> </p> </entry> |
|
126 <entry><p>Represents the typeface group. Groups have attributes that control |
|
127 how the rasterizer draws the typefaces within the group. </p> </entry> |
|
128 </row> |
|
129 </tbody> |
|
130 </tgroup> |
|
131 </table> </section> |
|
132 </conbody><related-links> |
|
133 <link href="GUID-5B4D38A7-DCDC-51D8-A349-050CF0FD1586.dita"><linktext>Creating |
|
134 a Linked Typeface</linktext></link> |
|
135 <link href="GUID-90644B52-69D7-595C-95E3-D6F7A30C060D.dita"><linktext>Font and |
|
136 Text Services Collection Overview </linktext></link> |
|
137 <link href="GUID-416A3756-B5D5-5BCD-830E-2371C5F6B502.dita"><linktext>Font Store |
|
138 Component Overview </linktext></link> |
|
139 <link href="GUID-71DADA82-3ABC-52D2-8360-33FAEB2E5DE9.dita"><linktext> Font and |
|
140 Bitmap Server Component Overview</linktext></link> |
|
141 </related-links></concept> |