Symbian3/PDK/Source/GUID-5042997F-4B8C-538D-B1E0-DD82F5283BB6.dita
changeset 1 25a17d01db0c
child 3 46218c8b8afa
equal deleted inserted replaced
0:89d6a7a84779 1:25a17d01db0c
       
     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>