Symbian3/SDK/Source/GUID-416A3756-B5D5-5BCD-830E-2371C5F6B502.dita
changeset 13 48780e181b38
parent 8 ae94777fff8f
--- a/Symbian3/SDK/Source/GUID-416A3756-B5D5-5BCD-830E-2371C5F6B502.dita	Fri Jul 16 17:23:46 2010 +0100
+++ b/Symbian3/SDK/Source/GUID-416A3756-B5D5-5BCD-830E-2371C5F6B502.dita	Tue Jul 20 12:00:49 2010 +0100
@@ -11,6 +11,6 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <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>
              Font Store relationships 
-          </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
+          </title> <image href="GUID-184E301D-78BF-5324-98F6-AD583A875D6E_d0e406805_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
                 Overview</linktext> </link> <link href="GUID-71DADA82-3ABC-52D2-8360-33FAEB2E5DE9.dita"><linktext> Font and Bitmap Server Component Overview
                 </linktext> </link> </related-links></concept>
\ No newline at end of file