Symbian3/SDK/Source/GUID-416A3756-B5D5-5BCD-830E-2371C5F6B502.dita
author Dominic Pinkman <dominic.pinkman@nokia.com>
Fri, 11 Jun 2010 12:39:03 +0100
changeset 8 ae94777fff8f
parent 7 51a74ef9ed63
child 13 48780e181b38
permissions -rw-r--r--
Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
8
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
     1
<?xml version="1.0" encoding="utf-8"?>
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
     2
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
     3
<!-- This component and the accompanying materials are made available under the terms of the License 
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
     4
"Eclipse Public License v1.0" which accompanies this distribution, 
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
     5
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
     6
<!-- Initial Contributors:
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
     7
    Nokia Corporation - initial contribution.
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
     8
Contributors: 
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
     9
-->
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
    10
<!DOCTYPE concept
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
    11
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
    12
<concept xml:lang="en" id="GUID-416A3756-B5D5-5BCD-830E-2371C5F6B502"><title>Font Store Component Overview</title><shortdesc>The Font Store contains all of the fonts and typefaces on a phone. It is encapsulated by the Font and Bitmap server which provides a client-side class that applications use to find which fonts are available and to find fonts to match their requirements. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><p>The Font Store component is sometimes called the <b>Open Font System</b> or <b>Open Font Framework</b>. </p> <section><title>Required background</title> <ul><li id="GUID-5081B96C-4FC7-5881-8D4C-F09B9A843D99"><p>You require no background knowledge or experience use the Font Store using the Font and Bitmap Server interfaces. </p> </li> <li id="GUID-AFE1A3F5-E64C-52F5-AADF-7DF2ECEABF4F"><p>You require no background knowledge or experience to add new font files to the Font Store. You must simply copy the files to the appropriate location. </p> </li> <li id="GUID-A67D26EC-93E2-55F7-9277-24DDAAC1E04B"><p>To create a font file or a font rasterizer, you require an in-depth knowledge of fonts and Symbian programming. </p> </li> </ul> </section> <section><title>Key concepts and terms</title> <p>See <xref href="GUID-90644B52-69D7-595C-95E3-D6F7A30C060D.dita#GUID-90644B52-69D7-595C-95E3-D6F7A30C060D/GUID-9F33DD34-F5E5-5EA0-8559-7A933D230129">Concepts and Terms</xref> in the <xref href="GUID-90644B52-69D7-595C-95E3-D6F7A30C060D.dita">Font and Text Services Collection Overview</xref>. </p> </section> <section><title>Architectural relationships</title> <p>The Font Store can contain three types of font: bitmap fonts, which are stored as fixed-size pixel definitions; open fonts, which may be stored in any format; and linked fonts, which use characters from two or more other fonts. Open fonts must be converted into bitmaps (rasterized) before they can be used so the Font Store must also contain a font rasterizer for each format of open font. </p> <p>Fonts are stored on Symbian phones as files. The Font Store maintains a list of font files along with specifications for each font that the file contains. When an application requests a font the Font Store searches its list for the best match. If the font is a bitmap font the Font Store loads it into the Font and Bitmap Server's shared heap (unless the font is in eXecute In Place (XIP) ROM, in which case it is accessed directly from ROM). If the font is an open font the Font Store uses the associated open font rasterizer to rasterize glyphs into the heap as they are required. Font rasterizers are ECOM plugins. </p> <fig id="GUID-E823CA77-1B9E-5E0A-BBC3-D99F29D22BBD"><title>
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
    13
             Font Store relationships 
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
    14
          </title> <image href="GUID-184E301D-78BF-5324-98F6-AD583A875D6E_d0e403005_href.png" placement="inline"/></fig> </section> <section><title>Font Store API summary</title> <p>The Font Store contains APIs for specifying and selecting fonts and for rasterizing open fonts. </p> <table id="GUID-2F133AAE-E960-58A0-84C8-C0807D79FA24"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>API</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-25D4B920-6158-3014-8E7D-4E1C5267C5EF.dita"><apiname>CBitmapFont</apiname></xref>  </p> </entry> <entry><p>Bitmap-based font object </p> </entry> </row> <row><entry><p> <xref href="GUID-54E7330D-F794-39EC-8A59-72669ED5F5CF.dita"><apiname>CFontStore</apiname></xref>  </p> </entry> <entry><p>Central font storage class </p> </entry> </row> <row><entry><p> <xref href="GUID-623C40B5-A8FB-3FEE-9F92-254CAB580C5B.dita"><apiname>CLinkedTypefaceGroup</apiname></xref>  </p> </entry> <entry><p>Linked fonts typeface group </p> </entry> </row> <row><entry><p> <xref href="GUID-6BE49D00-7174-3FEC-A944-FE4A5228C13E.dita"><apiname>CLinkedTypefaceSpecification</apiname></xref>  </p> </entry> <entry><p>Linked font creation </p> </entry> </row> <row><entry><p> <xref href="GUID-DDFD0FCB-8413-3FF2-A8D7-A052C30592C9.dita"><apiname>CLinkedTypefaceElementSpec</apiname></xref>  </p> </entry> <entry><p>Linked font typeface element spec </p> </entry> </row> <row><entry><p> <xref href="GUID-039375D3-AFD9-3E31-9C1C-ACEDC10E27CE.dita"><apiname>COpenFont</apiname></xref>  </p> </entry> <entry><p>Generic outline font object </p> </entry> </row> <row><entry><p> <xref href="GUID-FC62EDD7-A3F7-3611-A899-CA5F17BB2EEE.dita"><apiname>COpenFontFile</apiname></xref>  </p> </entry> <entry><p>Open font file </p> </entry> </row> <row><entry><p> <xref href="GUID-CA16238D-478A-302A-9671-97B62B0E738A.dita"><apiname>COpenFontRasterizer</apiname></xref>  </p> </entry> <entry><p>Open font rasterizer </p> </entry> </row> <row><entry><p> <xref href="GUID-20F3E896-46D2-3385-99E5-2EB19F9D301F.dita"><apiname>COpenFontRasterizerContext</apiname></xref>  </p> </entry> <entry><p>Open font rasterizer context </p> </entry> </row> <row><entry><p> <xref href="GUID-06F847E3-B60B-3159-87FE-66F1F75A36B2.dita"><apiname>TAlgStyle</apiname></xref>  </p> </entry> <entry><p>Algorithmic style attributes </p> </entry> </row> <row><entry><p> <xref href="GUID-56CFD361-6DD7-3C21-81A6-D538FA10EAE7.dita"><apiname>TCharacterMetrics</apiname></xref>  </p> </entry> <entry><p>Character information </p> </entry> </row> <row><entry><p> <xref href="GUID-53F6508E-8911-3363-BC07-A0E7BCE29199.dita"><apiname>TLinkedTypeface</apiname></xref>  </p> </entry> <entry><p>Linked fonts </p> </entry> </row> <row><entry><p> <xref href="GUID-BECBB72B-9FA1-317D-A413-B94AB1DCBE90.dita"><apiname>TOpenFontAttachment</apiname></xref>  </p> </entry> <entry><p>Diacritic attachment point information </p> </entry> </row> <row><entry><p> <xref href="GUID-493119E1-65DF-3517-98A4-55E874023BBB.dita"><apiname>TOpenFontCharMetrics</apiname></xref>  </p> </entry> <entry><p>Open font character metrics </p> </entry> </row> <row><entry><p> <xref href="GUID-2408A284-3F1A-325C-BDCB-5B1B12CDA0C9.dita"><apiname>TOpenFontFaceAttrib</apiname></xref>  </p> </entry> <entry><p>Open font typeface information </p> </entry> </row> <row><entry><p> <xref href="GUID-76FDED57-C10E-3B09-B9C5-0FA1118A2774.dita"><apiname>TOpenFontFaceAttribBase</apiname></xref>  </p> </entry> <entry><p>Basic open font typeface information </p> </entry> </row> <row><entry><p> <xref href="GUID-AAE1F96F-03A8-36CD-9D3D-AD106B873663.dita"><apiname>TOpenFontGlyphData</apiname></xref>  </p> </entry> <entry><p>Open font glyph information </p> </entry> </row> <row><entry><p> <xref href="GUID-00FAE7BA-3E49-3DF4-923F-DC35A879900C.dita"><apiname>TOpenFontMetrics</apiname></xref>  </p> </entry> <entry><p>Open font information </p> </entry> </row> <row><entry><p> <xref href="GUID-3E94D613-029F-3A6F-B979-C756C745C828.dita"><apiname>TOpenFontSpec</apiname></xref>  </p> </entry> <entry><p>Open font specification </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Font Store tasks</title> <p>The following functionality is provided by the <codeph>fntstore</codeph> subsystem component: </p> <ul><li id="GUID-E851A049-1C7F-513F-8CA8-DDE4A1D5069B"><p> <b>Font loading </b>  </p> <p>Font file loading using plug-in font rasterizers if required. </p> </li> </ul> <ul><li id="GUID-684260D8-4FF2-5099-BF22-FF0A6A56A7A1"><p> <b>Font request matching</b>  </p> <p>Closest-fit matching of font requests. </p> </li> </ul> <ul><li id="GUID-E4C5B016-EF51-5E1F-A3F8-CF455EF5840D"><p> <b> Font linking</b>  </p> <p>The creation and use of <xref href="GUID-5042997F-4B8C-538D-B1E0-DD82F5283BB6.dita">Linked Fonts</xref> – virtual fonts that are made out of one or (usually) more physical fonts. These can be used to: </p> <ul><li id="GUID-693DA237-AFBF-5294-A4A5-854124B2DEA0"><p>Combine multiple character ranges from individual fonts into a single font. </p> </li> <li id="GUID-33B69D75-24FC-567C-AAE6-71222823458A"><p>Allow an existing font containing a particular script to be customized to use regional variant characters. </p> </li> <li id="GUID-4A331581-B834-54C8-82C6-84DC8AD09337"><p>Allow a comprehensive range of scripts to be built into a device ROM and multiple possible subsets to be defined and used by software configuration. </p> </li> </ul> <p>Linked fonts are primarily used for system fonts. The fact that a font is a linked font is invisible to the user. </p> </li> </ul> </section> <section><title>Platform security information</title> <p>Font data files are installed in the read-only folder <codeph>\resource\fonts</codeph>. </p> </section> </conbody><related-links><link href="GUID-90644B52-69D7-595C-95E3-D6F7A30C060D.dita"><linktext> Font and Text Services Collection
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
    15
                Overview</linktext> </link> <link href="GUID-71DADA82-3ABC-52D2-8360-33FAEB2E5DE9.dita"><linktext> Font and Bitmap Server Component Overview
7
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    16
                </linktext> </link> </related-links></concept>