Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 41ccc3b206824bb136a22fdbd1e55090 > files > 96

fontaine-0-3.svn39.fc15.i686.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>FONTAINE: FontFace.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.3 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">FONTAINE&#160;<span id="projectnumber">1.0</span></div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
<div class="header">
  <div class="headertitle">
<h1>FontFace.h</h1>  </div>
</div>
<div class="contents">
<a href="FontFace_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">//</span>
<a name="l00002"></a>00002 <span class="comment">// The Fontaine Font Analysis Project </span>
<a name="l00003"></a>00003 <span class="comment">// </span>
<a name="l00004"></a>00004 <span class="comment">// Copyright (c) 2009 by Edward H. Trager</span>
<a name="l00005"></a>00005 <span class="comment">// All Rights Reserved</span>
<a name="l00006"></a>00006 <span class="comment">// </span>
<a name="l00007"></a>00007 <span class="comment">// Released under the GNU GPL version 2.0 or later.</span>
<a name="l00008"></a>00008 <span class="comment">//     </span>
<a name="l00009"></a>00009 
<a name="l00010"></a>00010 
<a name="l00011"></a>00011 <span class="preprocessor">#ifndef FONTFACE_INCLUDED</span>
<a name="l00012"></a>00012 <span class="preprocessor"></span><span class="preprocessor">#define FONTFACE_INCLUDED</span>
<a name="l00013"></a>00013 <span class="preprocessor"></span>
<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;string&gt;</span>
<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;set&gt;</span>
<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;vector&gt;</span>
<a name="l00017"></a>00017 
<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;ft2build.h&gt;</span>  
<a name="l00019"></a>00019 <span class="preprocessor">#include FT_FREETYPE_H</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor">#include FT_SFNT_NAMES_H</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span>
<a name="l00022"></a>00022 <span class="preprocessor">#include &quot;<a class="code" href="Utf8String_8h.html">Utf8String.h</a>&quot;</span>
<a name="l00023"></a>00023 <span class="preprocessor">#include &quot;<a class="code" href="FontLibrary_8h.html">FontLibrary.h</a>&quot;</span>
<a name="l00024"></a>00024 <span class="preprocessor">#include &quot;<a class="code" href="OrthographyResults_8h.html">OrthographyResults.h</a>&quot;</span>
<a name="l00025"></a>00025 <span class="preprocessor">#include &quot;<a class="code" href="LicenseData_8h.html">LicenseData.h</a>&quot;</span>
<a name="l00026"></a>00026 
<a name="l00027"></a>00027 <span class="comment">//</span>
<a name="l00028"></a>00028 <span class="comment">// Needed by the non-const fillReport() method:</span>
<a name="l00029"></a>00029 <span class="comment">//</span>
<a name="l00030"></a>00030 <span class="preprocessor">#include &quot;<a class="code" href="MLR_8h.html">MLR.h</a>&quot;</span>
<a name="l00031"></a>00031 
<a name="l00032"></a>00032 <span class="comment">//</span>
<a name="l00033"></a>00033 <span class="comment">// This class contains information</span>
<a name="l00034"></a>00034 <span class="comment">// about a single font file:</span>
<a name="l00035"></a>00035 <span class="comment">// </span>
<a name="l00036"></a><a class="code" href="classFontFace.html">00036</a> <span class="keyword">class </span><a class="code" href="classFontFace.html">FontFace</a>{
<a name="l00037"></a>00037         
<a name="l00038"></a>00038 <span class="keyword">public</span>:
<a name="l00039"></a>00039         
<a name="l00040"></a>00040         <span class="comment">//</span>
<a name="l00041"></a>00041         <span class="comment">// FontFaces are distinguished uniquely by </span>
<a name="l00042"></a>00042         <span class="comment">// using commonName + subFamily as the key:</span>
<a name="l00043"></a>00043         <span class="comment">// </span>
<a name="l00044"></a><a class="code" href="structFontFace_1_1compare.html">00044</a>         <span class="keyword">struct </span><a class="code" href="structFontFace_1_1compare.html">compare</a>{
<a name="l00045"></a><a class="code" href="structFontFace_1_1compare.html#a6bd74ea0986f8e9530209ab01990354d">00045</a>                 <span class="keywordtype">bool</span> <a class="code" href="structFontFace_1_1compare.html#a6bd74ea0986f8e9530209ab01990354d">operator()</a>(<span class="keyword">const</span> <a class="code" href="classFontFace.html">FontFace</a> *f1,<span class="keyword">const</span> <a class="code" href="classFontFace.html">FontFace</a> *f2)<span class="keyword"> const</span>{
<a name="l00046"></a>00046                         std::string t1, t2;
<a name="l00047"></a>00047                         t1 =  f1-&gt;<a class="code" href="classFontFace.html#af9daed118f79a9d7c7150aff1abe6cb5">_commonName</a>;
<a name="l00048"></a>00048                         t1 += f1-&gt;<a class="code" href="classFontFace.html#a60b7a5ca242d5d18e87a3e3c98d71566">_subFamily</a> ;
<a name="l00049"></a>00049                         t2 =  f2-&gt;<a class="code" href="classFontFace.html#af9daed118f79a9d7c7150aff1abe6cb5">_commonName</a>;
<a name="l00050"></a>00050                         t2 += f2-&gt;<a class="code" href="classFontFace.html#a60b7a5ca242d5d18e87a3e3c98d71566">_subFamily</a> ;
<a name="l00051"></a>00051                         <span class="keywordflow">return</span> t1 &lt; t2;
<a name="l00052"></a>00052                 }
<a name="l00053"></a>00053         };
<a name="l00054"></a>00054         
<a name="l00055"></a>00055         <span class="comment">//</span>
<a name="l00056"></a>00056         <span class="comment">// The following enums generally follow the W3C CSS Standard (http://www.w3.org/TR/REC-CSS1):</span>
<a name="l00057"></a>00057         <span class="comment">//</span>
<a name="l00058"></a><a class="code" href="classFontFace.html#ae4a7d93e94ca45644bf2fc0e3e71269aa08b3a7437632ab0a21e322df0114e882">00058</a>         <span class="keyword">enum</span> <a class="code" href="classFontFace.html#ae4a7d93e94ca45644bf2fc0e3e71269a">FAMILY</a>  { <a class="code" href="classFontFace.html#ae4a7d93e94ca45644bf2fc0e3e71269aa08b3a7437632ab0a21e322df0114e882">SERIF</a>, <a class="code" href="classFontFace.html#ae4a7d93e94ca45644bf2fc0e3e71269aaf1927bfd6621f3c6c05d71d8f908e9fc">SANS</a>, <a class="code" href="classFontFace.html#ae4a7d93e94ca45644bf2fc0e3e71269aa5ed68c5caf8b42ec9357e370e5e59244">CURSIVE</a>, <a class="code" href="classFontFace.html#ae4a7d93e94ca45644bf2fc0e3e71269aa3deaef13148a0e0b8c27a113f40c0c39">FANTASY</a>, <a class="code" href="classFontFace.html#ae4a7d93e94ca45644bf2fc0e3e71269aabdedefeb1c6cfb7f7ede9f04a2026b8c">MONOSPACE</a> };
<a name="l00059"></a><a class="code" href="classFontFace.html#a8e939353bb23504b57ae8b5653f9d4f7">00059</a>         <span class="keyword">enum</span> <a class="code" href="classFontFace.html#a8e939353bb23504b57ae8b5653f9d4f7">STYLE</a>   { <a class="code" href="classFontFace.html#a8e939353bb23504b57ae8b5653f9d4f7acf8cc2a284a696132aa504d2454fc6fb">NORMAL</a>, <a class="code" href="classFontFace.html#a8e939353bb23504b57ae8b5653f9d4f7a166663c04ec483b3a4448c047e252dd8">ITALIC</a>, <a class="code" href="classFontFace.html#a8e939353bb23504b57ae8b5653f9d4f7a383f18b3624c7b7f0384db199035c352">OBLIQUE</a> };
<a name="l00060"></a><a class="code" href="classFontFace.html#a328e8d671fa91e461f6c23116d574728">00060</a>         <span class="keyword">enum</span> <a class="code" href="classFontFace.html#a328e8d671fa91e461f6c23116d574728">VARIANT</a> { <a class="code" href="classFontFace.html#a328e8d671fa91e461f6c23116d574728ae5dae1a99d75ef325246fbf1dfc0c411">NORMAL_VARIANT</a>, <a class="code" href="classFontFace.html#a328e8d671fa91e461f6c23116d574728ac658cfd277cb78b077275647b4e8c974">SMALL_CAPS</a> };
<a name="l00061"></a>00061         <span class="comment">// </span>
<a name="l00062"></a><a class="code" href="classFontFace.html#a54cd8848ee7ba192253610c8e6550422">00062</a>         <span class="keyword">enum</span> <a class="code" href="classFontFace.html#a54cd8848ee7ba192253610c8e6550422">WEIGHT</a>  { <a class="code" href="classFontFace.html#a54cd8848ee7ba192253610c8e6550422a8d4ee5011a30c38b94af658ca2a75fc7">NORMAL_WEIGHT</a>, <a class="code" href="classFontFace.html#a54cd8848ee7ba192253610c8e6550422afc69f10c174b66b9d22c8e3c3415bfe0">BOLD</a>, <a class="code" href="classFontFace.html#a54cd8848ee7ba192253610c8e6550422a8cb26b1299b50a50abce8c550eb61576">W100</a>, <a class="code" href="classFontFace.html#a54cd8848ee7ba192253610c8e6550422a55ef1c4ba145441987ec8625c4383f3e">W200</a>, <a class="code" href="classFontFace.html#a54cd8848ee7ba192253610c8e6550422a3994f8f8c0f14d9a589e2bdb7eb61629">W300</a>, <a class="code" href="classFontFace.html#a54cd8848ee7ba192253610c8e6550422af3dde2bc8fb0747cbbaf4473049319b2">W400</a>, <a class="code" href="classFontFace.html#a54cd8848ee7ba192253610c8e6550422ac465f56be212f5f3bd1dd3941c329fa1">W500</a>, <a class="code" href="classFontFace.html#a54cd8848ee7ba192253610c8e6550422a5a9633e17d4a0448dc0a7218db5492bd">W600</a>, <a class="code" href="classFontFace.html#a54cd8848ee7ba192253610c8e6550422a1c94abfbb861e872acac244633d5d35e">W700</a>, <a class="code" href="classFontFace.html#a54cd8848ee7ba192253610c8e6550422aa3ba3a76f734ca64d371000a69f18170">W800</a>, <a class="code" href="classFontFace.html#a54cd8848ee7ba192253610c8e6550422a52bbf067b2b72eb108e6a59dde0e38f1">W900</a> };
<a name="l00063"></a>00063         <span class="comment">//</span>
<a name="l00064"></a>00064         <span class="comment">// As the common labels &quot;serif&quot; and &quot;sans&quot; are primarily applicable in typography in the</span>
<a name="l00065"></a>00065         <span class="comment">// Western world, the following enum provides a generalization that is applicable across</span>
<a name="l00066"></a>00066         <span class="comment">// all scripts:</span>
<a name="l00067"></a>00067         <span class="comment">// </span>
<a name="l00068"></a><a class="code" href="classFontFace.html#ac6b2e9b6134e41437c6ce8b32cf19f18a895a2ed7cf17270915b60525d065496d">00068</a>         <span class="keyword">enum</span> <a class="code" href="classFontFace.html#ac6b2e9b6134e41437c6ce8b32cf19f18">STROKE</a> { <a class="code" href="classFontFace.html#ac6b2e9b6134e41437c6ce8b32cf19f18a895a2ed7cf17270915b60525d065496d">UNMODULATED</a>, <a class="code" href="classFontFace.html#ac6b2e9b6134e41437c6ce8b32cf19f18a0793e96ceb8beb2eb0c1ac0abdc5d5ef">SEMIMODULATED</a>, <a class="code" href="classFontFace.html#ac6b2e9b6134e41437c6ce8b32cf19f18a58c71a7c968d8b25cb154cc724c29aee">MODULATED</a> };
<a name="l00069"></a>00069         
<a name="l00070"></a><a class="code" href="classFontFace.html#a111868cfcb2607ec35702838b3f67684">00070</a>         <span class="keyword">enum</span> <a class="code" href="classFontFace.html#a111868cfcb2607ec35702838b3f67684">NAMEID</a> { 
<a name="l00071"></a><a class="code" href="classFontFace.html#a111868cfcb2607ec35702838b3f67684af49bd22338e4e7ce4b02734167be7710">00071</a>                 <a class="code" href="classFontFace.html#a111868cfcb2607ec35702838b3f67684af49bd22338e4e7ce4b02734167be7710">NID_COPYRIGHT</a>   =0, 
<a name="l00072"></a><a class="code" href="classFontFace.html#a111868cfcb2607ec35702838b3f67684aa2ff2b7167d92b9936491767472fbf6c">00072</a>                 <a class="code" href="classFontFace.html#a111868cfcb2607ec35702838b3f67684aa2ff2b7167d92b9936491767472fbf6c">NID_FONT_FAMILY</a> =1,
<a name="l00073"></a><a class="code" href="classFontFace.html#a111868cfcb2607ec35702838b3f67684a80b68d83f6f33c32222d2f598c3a6e30">00073</a>                 <a class="code" href="classFontFace.html#a111868cfcb2607ec35702838b3f67684a80b68d83f6f33c32222d2f598c3a6e30">NID_FONT_SUBFAM</a> =2,
<a name="l00074"></a><a class="code" href="classFontFace.html#a111868cfcb2607ec35702838b3f67684a115d3d2299bb234845eb2ebaceda62cf">00074</a>                 <a class="code" href="classFontFace.html#a111868cfcb2607ec35702838b3f67684a115d3d2299bb234845eb2ebaceda62cf">NID_UNIQUE_ID</a>   =3,
<a name="l00075"></a><a class="code" href="classFontFace.html#a111868cfcb2607ec35702838b3f67684a16d150b135b4d5da01e1e3207e4a2c98">00075</a>                 <a class="code" href="classFontFace.html#a111868cfcb2607ec35702838b3f67684a16d150b135b4d5da01e1e3207e4a2c98">NID_FULL_NAME</a>   =4,
<a name="l00076"></a><a class="code" href="classFontFace.html#a111868cfcb2607ec35702838b3f67684a0fafce4776e8ec225beb57369a1e1909">00076</a>                 <a class="code" href="classFontFace.html#a111868cfcb2607ec35702838b3f67684a0fafce4776e8ec225beb57369a1e1909">NID_VERSION</a>     =5,
<a name="l00077"></a><a class="code" href="classFontFace.html#a111868cfcb2607ec35702838b3f67684ad4459c4de2303136f1a4bd88edaa0149">00077</a>                 <a class="code" href="classFontFace.html#a111868cfcb2607ec35702838b3f67684ad4459c4de2303136f1a4bd88edaa0149">NID_POSTSCRIPT</a>  =6,
<a name="l00078"></a><a class="code" href="classFontFace.html#a111868cfcb2607ec35702838b3f67684a3521e39cc1157820e12ce5d449557674">00078</a>                 <a class="code" href="classFontFace.html#a111868cfcb2607ec35702838b3f67684a3521e39cc1157820e12ce5d449557674">NID_TRADEMARK</a>   =7,
<a name="l00079"></a><a class="code" href="classFontFace.html#a111868cfcb2607ec35702838b3f67684a8f7c3e39789509f8fa6c6d7536242c06">00079</a>                 <a class="code" href="classFontFace.html#a111868cfcb2607ec35702838b3f67684a8f7c3e39789509f8fa6c6d7536242c06">NID_VENDOR</a>      =8,
<a name="l00080"></a><a class="code" href="classFontFace.html#a111868cfcb2607ec35702838b3f67684a2f392e2741d5f91fdea24fa95a745bb3">00080</a>                 <a class="code" href="classFontFace.html#a111868cfcb2607ec35702838b3f67684a2f392e2741d5f91fdea24fa95a745bb3">NID_DESIGNER</a>    =9,
<a name="l00081"></a><a class="code" href="classFontFace.html#a111868cfcb2607ec35702838b3f67684a03bf929e0873638c612c6b85a61bceeb">00081</a>                 <a class="code" href="classFontFace.html#a111868cfcb2607ec35702838b3f67684a03bf929e0873638c612c6b85a61bceeb">NID_DESCRIPTION</a> =10,
<a name="l00082"></a><a class="code" href="classFontFace.html#a111868cfcb2607ec35702838b3f67684a44a8204576db908be2396fa57efeab0f">00082</a>                 <a class="code" href="classFontFace.html#a111868cfcb2607ec35702838b3f67684a44a8204576db908be2396fa57efeab0f">NID_URL_VENDOR</a>  =11,
<a name="l00083"></a><a class="code" href="classFontFace.html#a111868cfcb2607ec35702838b3f67684a8f6c6d94bb605cb7176ece386d420718">00083</a>                 <a class="code" href="classFontFace.html#a111868cfcb2607ec35702838b3f67684a8f6c6d94bb605cb7176ece386d420718">NID_URL_DESIGNER</a>=12,
<a name="l00084"></a><a class="code" href="classFontFace.html#a111868cfcb2607ec35702838b3f67684aea84db54a31de16b627ec55c85f88462">00084</a>                 <a class="code" href="classFontFace.html#a111868cfcb2607ec35702838b3f67684aea84db54a31de16b627ec55c85f88462">NID_LICENSE</a>     =13,
<a name="l00085"></a><a class="code" href="classFontFace.html#a111868cfcb2607ec35702838b3f67684af761ac3be3967219818f88c55d17e903">00085</a>                 <a class="code" href="classFontFace.html#a111868cfcb2607ec35702838b3f67684af761ac3be3967219818f88c55d17e903">NID_URL_LICENSE</a> =14,
<a name="l00086"></a><a class="code" href="classFontFace.html#a111868cfcb2607ec35702838b3f67684af2e512c395fbad53b6777cef3ef6b8c3">00086</a>                 <a class="code" href="classFontFace.html#a111868cfcb2607ec35702838b3f67684af2e512c395fbad53b6777cef3ef6b8c3">NID_RESERVED</a>    =15,
<a name="l00087"></a><a class="code" href="classFontFace.html#a111868cfcb2607ec35702838b3f67684a4f9f827a7b7363e4af0490eae8a7438b">00087</a>                 <a class="code" href="classFontFace.html#a111868cfcb2607ec35702838b3f67684a4f9f827a7b7363e4af0490eae8a7438b">NID_PREF_NAME</a>   =16,
<a name="l00088"></a><a class="code" href="classFontFace.html#a111868cfcb2607ec35702838b3f67684a46aa83f2e32333230a08fd2568b47c52">00088</a>                 <a class="code" href="classFontFace.html#a111868cfcb2607ec35702838b3f67684a46aa83f2e32333230a08fd2568b47c52">NID_PREF_SUBFAM</a> =17,
<a name="l00089"></a><a class="code" href="classFontFace.html#a111868cfcb2607ec35702838b3f67684ae927452b18edcf59b339f475f671fcee">00089</a>                 <a class="code" href="classFontFace.html#a111868cfcb2607ec35702838b3f67684ae927452b18edcf59b339f475f671fcee">NID_MAC_FULLNAME</a>=18,
<a name="l00090"></a><a class="code" href="classFontFace.html#a111868cfcb2607ec35702838b3f67684a0512ec4906244aae957f3d628eb53eee">00090</a>                 <a class="code" href="classFontFace.html#a111868cfcb2607ec35702838b3f67684a0512ec4906244aae957f3d628eb53eee">NID_SAMPLETEXT</a>  =19,
<a name="l00091"></a><a class="code" href="classFontFace.html#a111868cfcb2607ec35702838b3f67684aee6010154fdb2369ef2f71f9a725f51f">00091</a>                 <a class="code" href="classFontFace.html#a111868cfcb2607ec35702838b3f67684aee6010154fdb2369ef2f71f9a725f51f">NID_FINDFONT_NM</a> =20,
<a name="l00092"></a>00092         };
<a name="l00093"></a>00093         
<a name="l00094"></a>00094 <span class="keyword">private</span>:
<a name="l00095"></a>00095         
<a name="l00096"></a><a class="code" href="classFontFace.html#ade066ad01ec53520b113adf4ea67b6d0">00096</a>         FT_Face <a class="code" href="classFontFace.html#ade066ad01ec53520b113adf4ea67b6d0">_face</a>;
<a name="l00097"></a>00097         
<a name="l00098"></a><a class="code" href="classFontFace.html#a9c9cbbbbecfcee184c964053d67d1529">00098</a>         std::string <a class="code" href="classFontFace.html#a9c9cbbbbecfcee184c964053d67d1529">_fileName</a>;
<a name="l00099"></a><a class="code" href="classFontFace.html#af9daed118f79a9d7c7150aff1abe6cb5">00099</a>         std::string <a class="code" href="classFontFace.html#af9daed118f79a9d7c7150aff1abe6cb5">_commonName</a>; <span class="comment">// The English or common Font Family name. e.g. &quot;HanWangKaiMediumPoIn1&quot;</span>
<a name="l00100"></a><a class="code" href="classFontFace.html#a78a6f98793180a0030111b48ec16677b">00100</a>         std::string <a class="code" href="classFontFace.html#a78a6f98793180a0030111b48ec16677b">_nativeName</a>; <span class="comment">// The native Font Family name, e.g. &quot;漢宗中楷體破音一&quot;</span>
<a name="l00101"></a><a class="code" href="classFontFace.html#a60b7a5ca242d5d18e87a3e3c98d71566">00101</a>         std::string <a class="code" href="classFontFace.html#a60b7a5ca242d5d18e87a3e3c98d71566">_subFamily</a>;  <span class="comment">// As given in the English or common subFamily record.</span>
<a name="l00102"></a>00102         
<a name="l00103"></a><a class="code" href="classFontFace.html#a913e93dede8b6bee95bb17b400493f78">00103</a>         std::string <a class="code" href="classFontFace.html#a913e93dede8b6bee95bb17b400493f78">_copyright</a>; 
<a name="l00104"></a>00104         
<a name="l00105"></a><a class="code" href="classFontFace.html#aecb860960076c1ddf0d1fc0330be2ad3">00105</a>         std::string <a class="code" href="classFontFace.html#aecb860960076c1ddf0d1fc0330be2ad3">_licenseURL</a>; <span class="comment">// 2009.07.16.ET addendum</span>
<a name="l00106"></a>00106         
<a name="l00107"></a><a class="code" href="classFontFace.html#a6d0cfa1444bc43155d7c87be8173ff10">00107</a>         <span class="keywordtype">unsigned</span> <a class="code" href="classFontFace.html#a6d0cfa1444bc43155d7c87be8173ff10">_glyphCount</a>;    <span class="comment">// Number of glyphs</span>
<a name="l00108"></a>00108         
<a name="l00109"></a><a class="code" href="classFontFace.html#ab00dc166fbaed4da0a95185844549684">00109</a>         <a class="code" href="classFontFace.html#ae4a7d93e94ca45644bf2fc0e3e71269a">FAMILY</a>  <a class="code" href="classFontFace.html#ab00dc166fbaed4da0a95185844549684">_genericFamily</a>;
<a name="l00110"></a><a class="code" href="classFontFace.html#abdbc2778a0162925cf78f811f56ad907">00110</a>         <a class="code" href="classFontFace.html#a8e939353bb23504b57ae8b5653f9d4f7">STYLE</a>   <a class="code" href="classFontFace.html#abdbc2778a0162925cf78f811f56ad907">_style</a>;
<a name="l00111"></a><a class="code" href="classFontFace.html#aea4d09e1694c1cb4868271436d33186e">00111</a>         <a class="code" href="classFontFace.html#a328e8d671fa91e461f6c23116d574728">VARIANT</a> <a class="code" href="classFontFace.html#aea4d09e1694c1cb4868271436d33186e">_variant</a>;
<a name="l00112"></a><a class="code" href="classFontFace.html#acdcbf116a463644ce6ddb63dd5486d64">00112</a>         <a class="code" href="classFontFace.html#a54cd8848ee7ba192253610c8e6550422">WEIGHT</a>  <a class="code" href="classFontFace.html#acdcbf116a463644ce6ddb63dd5486d64">_weight</a>;
<a name="l00113"></a><a class="code" href="classFontFace.html#a957a20be79feaa88c539e13c276afd9c">00113</a>         <a class="code" href="classFontFace.html#ac6b2e9b6134e41437c6ce8b32cf19f18">STROKE</a>  <a class="code" href="classFontFace.html#a957a20be79feaa88c539e13c276afd9c">_stroke</a>;
<a name="l00114"></a>00114         
<a name="l00115"></a>00115         <span class="comment">//</span>
<a name="l00116"></a>00116         <span class="comment">// Supported Orthographies</span>
<a name="l00117"></a>00117         <span class="comment">//</span>
<a name="l00118"></a><a class="code" href="classFontFace.html#a0a44c13b7c84b323b9d84eebec9b0868">00118</a>         std::vector&lt; const OrthographyResults * &gt; <a class="code" href="classFontFace.html#a0a44c13b7c84b323b9d84eebec9b0868">_supportedOrthographies</a>;
<a name="l00119"></a>00119         
<a name="l00120"></a>00120         <span class="comment">//</span>
<a name="l00121"></a>00121         <span class="comment">// License:</span>
<a name="l00122"></a>00122         <span class="comment">//</span>
<a name="l00123"></a><a class="code" href="classFontFace.html#a3799ed3ef4b56cb9b13ea0cfe1473dc0">00123</a>         <span class="keyword">const</span> <a class="code" href="classLicenseData.html">LicenseData</a> *<a class="code" href="classFontFace.html#a3799ed3ef4b56cb9b13ea0cfe1473dc0">_licenseData</a>;
<a name="l00124"></a>00124         
<a name="l00125"></a><a class="code" href="classFontFace.html#a1672ad7925151df1806826471862a755">00125</a>         <span class="keywordtype">bool</span> <a class="code" href="classFontFace.html#a1672ad7925151df1806826471862a755">_hasVerticalMetrics</a>;
<a name="l00126"></a><a class="code" href="classFontFace.html#afad9b72bbca80852d49ba6ffb9d6b1e4">00126</a>         <span class="keywordtype">bool</span> <a class="code" href="classFontFace.html#afad9b72bbca80852d49ba6ffb9d6b1e4">_isFixedWidth</a>;
<a name="l00127"></a><a class="code" href="classFontFace.html#aed55b7eb045914b0a5defc10ea55e6f7">00127</a>         <span class="keywordtype">bool</span> <a class="code" href="classFontFace.html#aed55b7eb045914b0a5defc10ea55e6f7">_hasFixedSizes</a>;
<a name="l00128"></a>00128         
<a name="l00129"></a><a class="code" href="classFontFace.html#ad59c002527868043ba9cd152ddaf3f26">00129</a>         std::set&lt;UTF32&gt; <a class="code" href="classFontFace.html#ad59c002527868043ba9cd152ddaf3f26">_unicodeValues</a>;
<a name="l00130"></a>00130         
<a name="l00131"></a>00131         <a class="code" href="classUTF8String.html">UTF8String</a> <a class="code" href="classFontFace.html#a7d67dba413766a7462e5ef16accde964">_getPlatform3Encoding1String</a>( <span class="keywordtype">unsigned</span> length, <span class="keyword">const</span> FT_Byte *<span class="keywordtype">string</span>) <span class="keyword">const</span>;
<a name="l00132"></a>00132         <a class="code" href="classUTF8String.html">UTF8String</a> <a class="code" href="classFontFace.html#a097b131b8346d9ec78a907f3ab32b5d1">_getPlatform1Encoding0String</a>( <span class="keywordtype">unsigned</span> length, <span class="keyword">const</span> FT_Byte *<span class="keywordtype">string</span>) <span class="keyword">const</span>;
<a name="l00133"></a>00133         <a class="code" href="classUTF8String.html">UTF8String</a> <a class="code" href="classFontFace.html#a326ae1b0d8f60e8e24d937972664428c">_getStringFromTrueTypeFont</a>(FT_SfntName &amp;fontName) <span class="keyword">const</span>;
<a name="l00134"></a>00134         
<a name="l00135"></a>00135         <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classFontFace.html#a7321c3798e19ce4bc5cc4534d72ddf53">_getUnicodeValues</a>(<span class="keywordtype">void</span>);
<a name="l00136"></a>00136         
<a name="l00137"></a>00137         <span class="comment">//</span>
<a name="l00138"></a>00138         <span class="comment">// Reporting option state flags:</span>
<a name="l00139"></a>00139         <span class="comment">//</span>
<a name="l00140"></a><a class="code" href="classFontFace.html#a8e3bce4a322b4718d60969563c3ba15f">00140</a>         <span class="keywordtype">bool</span> <a class="code" href="classFontFace.html#a8e3bce4a322b4718d60969563c3ba15f">_reportMissing</a>;
<a name="l00141"></a><a class="code" href="classFontFace.html#a9f79164e71e753e13d10b592ca8f1e95">00141</a>         <span class="keywordtype">bool</span> <a class="code" href="classFontFace.html#a9f79164e71e753e13d10b592ca8f1e95">_reportFragmentary</a>;
<a name="l00142"></a><a class="code" href="classFontFace.html#a21f3813eb4eca634e005c08a51c12bd0">00142</a>         <span class="keywordtype">bool</span> <a class="code" href="classFontFace.html#a21f3813eb4eca634e005c08a51c12bd0">_reportPartial</a>;
<a name="l00143"></a><a class="code" href="classFontFace.html#a666320d569f74bbd6d3d1e25792690c0">00143</a>         <span class="keywordtype">bool</span> <a class="code" href="classFontFace.html#a666320d569f74bbd6d3d1e25792690c0">_reportFull</a>;
<a name="l00144"></a>00144         
<a name="l00145"></a>00145 <span class="keyword">public</span>:
<a name="l00146"></a>00146         
<a name="l00147"></a>00147         <span class="comment">//</span>
<a name="l00148"></a>00148         <span class="comment">// Constructor:</span>
<a name="l00149"></a>00149         <span class="comment">//</span>
<a name="l00150"></a>00150         <a class="code" href="classFontFace.html#a3f3cc86d4d87a53519c9818850ad7e6b">FontFace</a>( <a class="code" href="classFontLibrary.html">FontLibrary</a> &amp;library, <span class="keyword">const</span> std::string &amp;fileName );
<a name="l00151"></a>00151         
<a name="l00152"></a>00152         <span class="comment">//</span>
<a name="l00153"></a>00153         <span class="comment">// Destructor:</span>
<a name="l00154"></a>00154         <span class="comment">//</span>
<a name="l00155"></a>00155         <a class="code" href="classFontFace.html#a4c3742eb2618c6c6255e184c88be7668">~FontFace</a>();
<a name="l00156"></a>00156         
<a name="l00157"></a>00157         <span class="comment">//</span>
<a name="l00158"></a>00158         <span class="comment">// hasUnicodeValue()</span>
<a name="l00159"></a>00159         <span class="comment">//</span>
<a name="l00160"></a>00160         <span class="keywordtype">bool</span> <a class="code" href="classFontFace.html#ac4de6f6a3460568ba8494a71fa1af0bb">hasUnicodeValue</a>(<a class="code" href="Utf8String_8h.html#a0ae75062ae07deca9402a1fb245818b7">UTF32</a>) <span class="keyword">const</span>;
<a name="l00161"></a>00161         
<a name="l00162"></a>00162         <span class="comment">//</span>
<a name="l00163"></a>00163         <span class="comment">// getters for reports:</span>
<a name="l00164"></a>00164         <span class="comment">//</span>
<a name="l00165"></a>00165         std::string <a class="code" href="classFontFace.html#ab7b1e89d5c8e7d8c3afbcf1a9a45a5ac">getBasicReport</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
<a name="l00166"></a>00166         std::string <a class="code" href="classFontFace.html#a74272593908745d5282ad5dc8ef7631d">getOrthographyReport</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
<a name="l00167"></a>00167         
<a name="l00168"></a>00168         <span class="comment">//</span>
<a name="l00169"></a>00169         <span class="comment">// Reporting options:</span>
<a name="l00170"></a>00170         <span class="comment">//</span>
<a name="l00171"></a>00171         <span class="keywordtype">void</span> <a class="code" href="classFontFace.html#adfafcf0fba9c434078c04ce72ee87e79">setReportOnMissing</a>(<span class="keywordtype">bool</span> x);
<a name="l00172"></a>00172         <span class="keywordtype">void</span> <a class="code" href="classFontFace.html#a7cb5c75d524e6b62facc9bc23990afcd">setReportOnFragmentary</a>(<span class="keywordtype">bool</span> x);
<a name="l00173"></a>00173         <span class="keywordtype">void</span> <a class="code" href="classFontFace.html#aaf515fcf146fa85ccba2cab0c089f7ee">setReportOnPartial</a>(<span class="keywordtype">bool</span> x);
<a name="l00174"></a>00174         <span class="keywordtype">void</span> <a class="code" href="classFontFace.html#adda17fcf8e6b2ad49c65b4958daffca0">setReportOnFull</a>(<span class="keywordtype">bool</span> x);
<a name="l00175"></a>00175         
<a name="l00176"></a>00176 <span class="keyword">private</span>:
<a name="l00177"></a>00177         
<a name="l00178"></a>00178         <span class="keywordtype">bool</span> <a class="code" href="classFontFace.html#a73eb745fd2bdaccacfb8c182a20e3da9">_checkOrthography</a>( <span class="keyword">const</span> <a class="code" href="classOrthographyData.html">OrthographyData</a> *<a class="code" href="namespaceAladdinFreePublicLicense.html#a13951d9b098b78427527cd2da8d8648f">pData</a> );
<a name="l00179"></a>00179         <span class="keywordtype">void</span> <a class="code" href="classFontFace.html#acf20ef35dd5d62b53cf156d0b2b4ced0">_checkOrthographies</a>(<span class="keywordtype">void</span>);
<a name="l00180"></a>00180         
<a name="l00181"></a>00181         <span class="keywordtype">bool</span> <a class="code" href="classFontFace.html#a67a34747aa53c24f58894a2390d0d410">_checkLicense</a>( <span class="keyword">const</span> std::string &amp;test, <span class="keyword">const</span> <a class="code" href="classLicenseData.html">LicenseData</a> *<a class="code" href="namespaceAladdinFreePublicLicense.html#a13951d9b098b78427527cd2da8d8648f">pData</a>);
<a name="l00182"></a>00182         <span class="keywordtype">bool</span> <a class="code" href="classFontFace.html#a46f8e790870aff9c82a573988477c5c6">_checkAllKnownLicenses</a>( <span class="keyword">const</span> std::string &amp;licenseString);
<a name="l00183"></a>00183         <span class="keywordtype">void</span> <a class="code" href="classFontFace.html#aa97944a3e158324c3e6bf4078ddc189b">_storeCopyrightSummary</a>(<span class="keyword">const</span> std::string &amp;copyrightString);
<a name="l00184"></a>00184         <span class="keywordtype">void</span> <a class="code" href="classFontFace.html#ab621bfad871a70bc423ecc1c078517c4">_checkLicenses</a>(<span class="keywordtype">void</span>);
<a name="l00185"></a>00185         
<a name="l00186"></a>00186 <span class="keyword">public</span>:
<a name="l00187"></a>00187         
<a name="l00188"></a>00188         <span class="comment">//</span>
<a name="l00189"></a>00189         <span class="comment">// getters:</span>
<a name="l00190"></a>00190         <span class="comment">//</span>
<a name="l00191"></a>00191         <span class="keyword">const</span> std::string &amp; <a class="code" href="classFontFace.html#a6326dc9bd70a65a690ffc108e5f65725">getFileName</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
<a name="l00192"></a>00192         <span class="keyword">const</span> std::string &amp; <a class="code" href="classFontFace.html#a7dbfa5cd3256fabae3b5af391ebf245e">getCommonName</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
<a name="l00193"></a>00193         <span class="keyword">const</span> std::string &amp; <a class="code" href="classFontFace.html#a2cd543dde0d48bc57140c7f060acfa5e">getNativeName</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
<a name="l00194"></a>00194         <span class="keyword">const</span> std::string &amp; <a class="code" href="classFontFace.html#a0b60353ff6b303e55f7ca4abe31064d8">getSubFamily</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
<a name="l00195"></a>00195         
<a name="l00196"></a>00196         std::string <a class="code" href="classFontFace.html#ab8e259b301b551fbbad5bfe2d6255ba9">getLicenseReport</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
<a name="l00197"></a>00197         <span class="keyword">const</span> std::string &amp; <a class="code" href="classFontFace.html#a73e413fee907786f78a4d0588e9eb229">getCopyright</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
<a name="l00198"></a>00198         
<a name="l00199"></a>00199         <span class="keywordtype">unsigned</span> <a class="code" href="classFontFace.html#a67a1ed074377d68e4b96d754bac994b2">getGlyphCount</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
<a name="l00200"></a>00200         <span class="keywordtype">unsigned</span> <a class="code" href="classFontFace.html#ae07a90136d53840b73a53d90da7c9399">getCharacterCount</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
<a name="l00201"></a>00201         <a class="code" href="classFontFace.html#ae4a7d93e94ca45644bf2fc0e3e71269a">FAMILY</a>  <a class="code" href="classFontFace.html#aea70525daabe1d867f8e25d47c16ab94">getFamily</a>(<span class="keywordtype">void</span>)  <span class="keyword">const</span>;
<a name="l00202"></a>00202         <a class="code" href="classFontFace.html#a8e939353bb23504b57ae8b5653f9d4f7">STYLE</a>   <a class="code" href="classFontFace.html#a54a9d9ae1c1da47a0246a2c57f4ffc38">getStyle</a>(<span class="keywordtype">void</span>)   <span class="keyword">const</span>;
<a name="l00203"></a>00203         <a class="code" href="classFontFace.html#a328e8d671fa91e461f6c23116d574728">VARIANT</a> <a class="code" href="classFontFace.html#a5ccde2d2f93892149e6aad7068f93be3">getVariant</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
<a name="l00204"></a>00204         <a class="code" href="classFontFace.html#a54cd8848ee7ba192253610c8e6550422">WEIGHT</a>  <a class="code" href="classFontFace.html#aff943d06ca1d162ba8ed8e4e6c52f202">getWeight</a>(<span class="keywordtype">void</span>)  <span class="keyword">const</span>;
<a name="l00205"></a>00205         <a class="code" href="classFontFace.html#ac6b2e9b6134e41437c6ce8b32cf19f18">STROKE</a>  <a class="code" href="classFontFace.html#a875735b6f9f7a499ca4d9ac56b41db60">getStroke</a>(<span class="keywordtype">void</span>)  <span class="keyword">const</span>;
<a name="l00206"></a>00206         <span class="keywordtype">bool</span>    <a class="code" href="classFontFace.html#ab26391da2279a33c4f9847c3d8acd7ad">hasVerticalMetrics</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
<a name="l00207"></a>00207         <span class="keywordtype">bool</span>    <a class="code" href="classFontFace.html#a12e2a462dc1f393138ed01b3ecb3557e">isFixedWidth</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
<a name="l00208"></a>00208         <span class="keywordtype">bool</span>    <a class="code" href="classFontFace.html#a2adfef1616b149a3d8d7ba453284f248">hasFixedSizes</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
<a name="l00209"></a>00209         
<a name="l00210"></a>00210         <span class="comment">//</span>
<a name="l00211"></a>00211         <span class="comment">// Pass in a report object, mlr, </span>
<a name="l00212"></a>00212         <span class="comment">// and fill in the report:</span>
<a name="l00213"></a>00213         <span class="comment">//</span>
<a name="l00214"></a>00214         <span class="keywordtype">void</span> <a class="code" href="classFontFace.html#a24627cb0c46a3e8c20c93760adeebb5b">fillReport</a>(<a class="code" href="classMLR.html">MLR</a> *mlr);
<a name="l00215"></a>00215         
<a name="l00216"></a>00216 };
<a name="l00217"></a>00217 
<a name="l00218"></a>00218 <span class="preprocessor">#endif</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Tue Feb 8 2011 for FONTAINE by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address>
</body>
</html>