Files
opennurbs/6/dd/d29/class_o_n___font_metrics.html
Bozo 832ccb5c1a Publish!
Generated from v6.0.11315.11111-test14
2018-02-03 11:08:49 -08:00

688 lines
36 KiB
HTML

<!-- HTML header for doxygen 1.8.13-->
<!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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>openNURBS SDK Help: ON_FontMetrics Class Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<!-- <script type="text/javascript" src="../../jquery.js"></script> -->
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
<link href="../../customdoxygen.css" rel="stylesheet" type="text/css"/>
<!-- bootstrap -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
<!-- smartmenus -->
<link href="../../jquery.smartmenus.bootstrap.css" rel="stylesheet">
<script type="text/javascript" src="../../jquery.smartmenus.js"></script>
<script type="text/javascript" src="../../jquery.smartmenus.bootstrap.js"></script>
</head>
<body>
<!-- <div class="version-banner">
Go back to the <a href="/">main site</a>...
</div> -->
<div class="container">
<!-- navbar -->
<nav class="navbar navbar-default">
<div class="container-fluid">
<a class="navbar-brand" href="#">openNURBS SDK Help</a>
<div class="navbar-collapse collapse" id="main-nav-placeholder">
<!-- <p class="navbar-text navbar-right">v6.0</p> -->
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a class="dropdown-toggle" href="#">v6.0 <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="#">Latest (6.x)</a></li>
<li class="disabled"><a href="#">WIP (7.x)</a></li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div class="page-content">
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('../../',false,false,'search.php','Search');
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="../../d9/dfc/class_o_n___font_metrics-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">ON_FontMetrics Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="../../d6/dde/opennurbs__font_8h_source.html">opennurbs_font.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aad24cb9228a4523a31e0526e5f9beece"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d29/class_o_n___font_metrics.html#aad24cb9228a4523a31e0526e5f9beece">ON_FontMetrics</a> ()=default</td></tr>
<tr class="separator:aad24cb9228a4523a31e0526e5f9beece"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa21db7dc1dc1e3ceccb175debf3d601e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d29/class_o_n___font_metrics.html#aa21db7dc1dc1e3ceccb175debf3d601e">ON_FontMetrics</a> (const <a class="el" href="../../dd/d29/class_o_n___font_metrics.html">ON_FontMetrics</a> &amp;)=default</td></tr>
<tr class="separator:aa21db7dc1dc1e3ceccb175debf3d601e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13bf79253073ac3601d6f9991175261a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d29/class_o_n___font_metrics.html#a13bf79253073ac3601d6f9991175261a">~ON_FontMetrics</a> ()=default</td></tr>
<tr class="separator:a13bf79253073ac3601d6f9991175261a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1ea0b24c09579a5a5e1692b42382fb4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d29/class_o_n___font_metrics.html#aa1ea0b24c09579a5a5e1692b42382fb4">Ascent</a> () const</td></tr>
<tr class="separator:aa1ea0b24c09579a5a5e1692b42382fb4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a974646ee914d9e68f95c126f596b8d0e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d29/class_o_n___font_metrics.html#a974646ee914d9e68f95c126f596b8d0e">AscentOfI</a> () const</td></tr>
<tr class="separator:a974646ee914d9e68f95c126f596b8d0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68cce65111168ca99d30422c53839392"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d29/class_o_n___font_metrics.html#a68cce65111168ca99d30422c53839392">Descent</a> () const</td></tr>
<tr class="separator:a68cce65111168ca99d30422c53839392"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5fd3091511a96eb28410a0f04e7040bc"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d29/class_o_n___font_metrics.html#a5fd3091511a96eb28410a0f04e7040bc">GlyphScale</a> (double text_height) const</td></tr>
<tr class="memdesc:a5fd3091511a96eb28410a0f04e7040bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the scale to apply to normalized glyph boxes and outlines to render the 'I' in the glyph's font at a height of text_height. <a href="#a5fd3091511a96eb28410a0f04e7040bc">More...</a><br /></td></tr>
<tr class="separator:a5fd3091511a96eb28410a0f04e7040bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a365876c5b405ff965ae56ede9728019f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d29/class_o_n___font_metrics.html#a365876c5b405ff965ae56ede9728019f">HeightsAreValid</a> () const</td></tr>
<tr class="separator:a365876c5b405ff965ae56ede9728019f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ca4ec73ecb64c89b43350f7c092ae9e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d29/class_o_n___font_metrics.html#a0ca4ec73ecb64c89b43350f7c092ae9e">LineSpace</a> () const</td></tr>
<tr class="separator:a0ca4ec73ecb64c89b43350f7c092ae9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a789ea8c6fa64e2c1ece58aa646dd8862"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dd/d29/class_o_n___font_metrics.html">ON_FontMetrics</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d29/class_o_n___font_metrics.html#a789ea8c6fa64e2c1ece58aa646dd8862">operator=</a> (const <a class="el" href="../../dd/d29/class_o_n___font_metrics.html">ON_FontMetrics</a> &amp;)=default</td></tr>
<tr class="separator:a789ea8c6fa64e2c1ece58aa646dd8862"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a07291055733afe24402868e85bfb0fc3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d29/class_o_n___font_metrics.html#a07291055733afe24402868e85bfb0fc3">SetAscentOfI</a> (int ascent_of_I)</td></tr>
<tr class="separator:a07291055733afe24402868e85bfb0fc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a40a5d216ea17fa687b4e8a8f3c369456"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d29/class_o_n___font_metrics.html#a40a5d216ea17fa687b4e8a8f3c369456">SetHeights</a> (int ascent, int descent, int <a class="el" href="../../dd/d29/class_o_n___font_metrics.html#a0da738c6a893d763b7dd6dfeb6a0a56d">UPM</a>, int line_space)</td></tr>
<tr class="separator:a40a5d216ea17fa687b4e8a8f3c369456"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a305f401452d364dcf14b467e3b161d9c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d29/class_o_n___font_metrics.html#a305f401452d364dcf14b467e3b161d9c">SetStrikeout</a> (int strikeout_position, int strikeout_thickness)</td></tr>
<tr class="separator:a305f401452d364dcf14b467e3b161d9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a52f91a37b44bfb678aaefa9c2776fb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d29/class_o_n___font_metrics.html#a4a52f91a37b44bfb678aaefa9c2776fb">SetUnderscore</a> (int underscore_position, int underscore_thickness)</td></tr>
<tr class="separator:a4a52f91a37b44bfb678aaefa9c2776fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7492432f6c5b2d6c0de3809112edb0ec"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d29/class_o_n___font_metrics.html#a7492432f6c5b2d6c0de3809112edb0ec">StrikeoutPosition</a> () const</td></tr>
<tr class="separator:a7492432f6c5b2d6c0de3809112edb0ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a828cb0f0b7377a28422a3166e6cfb596"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d29/class_o_n___font_metrics.html#a828cb0f0b7377a28422a3166e6cfb596">StrikeoutThickness</a> () const</td></tr>
<tr class="separator:a828cb0f0b7377a28422a3166e6cfb596"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16a5e8d0d23263dac5b4d4c6272a4d46"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d29/class_o_n___font_metrics.html#a16a5e8d0d23263dac5b4d4c6272a4d46">UnderscorePosition</a> () const</td></tr>
<tr class="separator:a16a5e8d0d23263dac5b4d4c6272a4d46"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3929a837341fa996e0d534e96a00c0aa"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d29/class_o_n___font_metrics.html#a3929a837341fa996e0d534e96a00c0aa">UnderscoreThickness</a> () const</td></tr>
<tr class="separator:a3929a837341fa996e0d534e96a00c0aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0da738c6a893d763b7dd6dfeb6a0a56d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d29/class_o_n___font_metrics.html#a0da738c6a893d763b7dd6dfeb6a0a56d">UPM</a> () const</td></tr>
<tr class="separator:a0da738c6a893d763b7dd6dfeb6a0a56d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:afb89303ab385b3cd9347de339dfee4e6"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="../../dd/d29/class_o_n___font_metrics.html">ON_FontMetrics</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d29/class_o_n___font_metrics.html#afb89303ab385b3cd9347de339dfee4e6">Scale</a> (const <a class="el" href="../../dd/d29/class_o_n___font_metrics.html">ON_FontMetrics</a> &amp;font_metrics, double scale)</td></tr>
<tr class="separator:afb89303ab385b3cd9347de339dfee4e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:abe44d95515dabcce5ed56759c7ab770f"><td class="memItemLeft" align="right" valign="top">static const double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d29/class_o_n___font_metrics.html#abe44d95515dabcce5ed56759c7ab770f">DefaultLineFeedRatio</a></td></tr>
<tr class="separator:abe44d95515dabcce5ed56759c7ab770f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09a14df60aa3a72ffa0580f2dc86fac1"><td class="memItemLeft" align="right" valign="top">static const ON__UINT32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d29/class_o_n___font_metrics.html#a09a14df60aa3a72ffa0580f2dc86fac1">HeightOfCapitalCodePoint</a></td></tr>
<tr class="separator:a09a14df60aa3a72ffa0580f2dc86fac1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f0b2b89127afdb35f994e648d816884"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="../../dd/d29/class_o_n___font_metrics.html">ON_FontMetrics</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d29/class_o_n___font_metrics.html#a9f0b2b89127afdb35f994e648d816884">Unset</a></td></tr>
<tr class="memdesc:a9f0b2b89127afdb35f994e648d816884"><td class="mdescLeft">&#160;</td><td class="mdescRight">All properties are zero. <a href="#a9f0b2b89127afdb35f994e648d816884">More...</a><br /></td></tr>
<tr class="separator:a9f0b2b89127afdb35f994e648d816884"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="aad24cb9228a4523a31e0526e5f9beece"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aad24cb9228a4523a31e0526e5f9beece">&#9670;&nbsp;</a></span>ON_FontMetrics() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ON_FontMetrics::ON_FontMetrics </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a13bf79253073ac3601d6f9991175261a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a13bf79253073ac3601d6f9991175261a">&#9670;&nbsp;</a></span>~ON_FontMetrics()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ON_FontMetrics::~ON_FontMetrics </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aa21db7dc1dc1e3ceccb175debf3d601e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa21db7dc1dc1e3ceccb175debf3d601e">&#9670;&nbsp;</a></span>ON_FontMetrics() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ON_FontMetrics::ON_FontMetrics </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../dd/d29/class_o_n___font_metrics.html">ON_FontMetrics</a> &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="aa1ea0b24c09579a5a5e1692b42382fb4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa1ea0b24c09579a5a5e1692b42382fb4">&#9670;&nbsp;</a></span>Ascent()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_FontMetrics::Ascent </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Signed distance from the baseline to highest point on a glyph outline. </dd></dl>
<p>If every glyph outline in the font has (0,0) on the basline, then <a class="el" href="../../dd/d29/class_o_n___font_metrics.html#aa1ea0b24c09579a5a5e1692b42382fb4">Ascent()</a> is the maximum glyph bounding box Y. </p>
</div>
</div>
<a id="a974646ee914d9e68f95c126f596b8d0e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a974646ee914d9e68f95c126f596b8d0e">&#9670;&nbsp;</a></span>AscentOfI()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_FontMetrics::AscentOfI </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The signed distance from the baseline to the highest point on the 'I' glyph. </dd></dl>
<p>The primary uses of <a class="el" href="../../dd/d29/class_o_n___font_metrics.html#a974646ee914d9e68f95c126f596b8d0e">AscentOfI()</a> are: 1) Calculate a scale factor to produce text with a user specified "text height". 2) To calculate insertion location for ON::TextVerticalAlignment::Middle and ON::TextVerticalAlignment::Top.</p>
<p>Since 2005, opennurbs has used (user specified text height)/AscentOfI() as the scale factor to render glyphs when user interface has provided a "text height" value. Users are more satisfied with this approach than when the scaling is base on line space or maximum font glyph ascent values. Experiments have ruled out the use of any other capital latin letter glyph except 'H' for this use. When a font does not contain an 'I' glyph, a suitable value is returned that can be used for text height scaling and vertical alignment. </p>
</div>
</div>
<a id="a68cce65111168ca99d30422c53839392"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a68cce65111168ca99d30422c53839392">&#9670;&nbsp;</a></span>Descent()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_FontMetrics::Descent </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Signed distance from the baseline to lowest point on a glyph outline. </dd></dl>
<p>This value is typically negative because glyphs for letters like 'j' typically have a portion of their outline below the baseline. However, some fonts have positive descent. If every glyph outline in the font has (0,0) on the basline, then <a class="el" href="../../dd/d29/class_o_n___font_metrics.html#aa1ea0b24c09579a5a5e1692b42382fb4">Ascent()</a> is the maximum glyph bounding box Y. </p>
</div>
</div>
<a id="a5fd3091511a96eb28410a0f04e7040bc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5fd3091511a96eb28410a0f04e7040bc">&#9670;&nbsp;</a></span>GlyphScale()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double ON_FontMetrics::GlyphScale </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>text_height</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the scale to apply to normalized glyph boxes and outlines to render the 'I' in the glyph's font at a height of text_height. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">text_height</td><td>[in] The desired height of typical capital latin letter glyphs.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>text_height / <a class="el" href="../../dd/d29/class_o_n___font_metrics.html#a974646ee914d9e68f95c126f596b8d0e">AscentOfI()</a>. </dd></dl>
</div>
</div>
<a id="a365876c5b405ff965ae56ede9728019f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a365876c5b405ff965ae56ede9728019f">&#9670;&nbsp;</a></span>HeightsAreValid()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_FontMetrics::HeightsAreValid </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a0ca4ec73ecb64c89b43350f7c092ae9e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0ca4ec73ecb64c89b43350f7c092ae9e">&#9670;&nbsp;</a></span>LineSpace()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_FontMetrics::LineSpace </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd><p class="startdd">The postive distance to move a base line when moving to a new line of text.</p>
<p class="enddd"></p>
</dd></dl>
<p>For almost every font used to render text, <a class="el" href="../../dd/d29/class_o_n___font_metrics.html#a0ca4ec73ecb64c89b43350f7c092ae9e">LineSpace()</a> &gt; (<a class="el" href="../../dd/d29/class_o_n___font_metrics.html#aa1ea0b24c09579a5a5e1692b42382fb4">Ascent()</a> - <a class="el" href="../../dd/d29/class_o_n___font_metrics.html#a68cce65111168ca99d30422c53839392">Descent()</a>).</p>
<p>This metric is sometimes called "height", but that term is often confused with (<a class="el" href="../../dd/d29/class_o_n___font_metrics.html#aa1ea0b24c09579a5a5e1692b42382fb4">Ascent()</a> - <a class="el" href="../../dd/d29/class_o_n___font_metrics.html#a68cce65111168ca99d30422c53839392">Descent()</a>).</p>
<p>For fonts designed to render horizontal lines of text, <a class="el" href="../../dd/d29/class_o_n___font_metrics.html#a0ca4ec73ecb64c89b43350f7c092ae9e">LineSpace()</a> is a vertical distance. For fonts desingned to render vertical lines of text, <a class="el" href="../../dd/d29/class_o_n___font_metrics.html#a0ca4ec73ecb64c89b43350f7c092ae9e">LineSpace()</a> is a horizontal distance. Depending on the context, the direction to move can be up, down, left or right. </p>
</div>
</div>
<a id="a789ea8c6fa64e2c1ece58aa646dd8862"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a789ea8c6fa64e2c1ece58aa646dd8862">&#9670;&nbsp;</a></span>operator=()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../dd/d29/class_o_n___font_metrics.html">ON_FontMetrics</a>&amp; ON_FontMetrics::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../dd/d29/class_o_n___font_metrics.html">ON_FontMetrics</a> &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="afb89303ab385b3cd9347de339dfee4e6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afb89303ab385b3cd9347de339dfee4e6">&#9670;&nbsp;</a></span>Scale()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static const <a class="el" href="../../dd/d29/class_o_n___font_metrics.html">ON_FontMetrics</a> ON_FontMetrics::Scale </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../dd/d29/class_o_n___font_metrics.html">ON_FontMetrics</a> &amp;&#160;</td>
<td class="paramname"><em>font_metrics</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>scale</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a07291055733afe24402868e85bfb0fc3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a07291055733afe24402868e85bfb0fc3">&#9670;&nbsp;</a></span>SetAscentOfI()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_FontMetrics::SetAscentOfI </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>ascent_of_I</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a40a5d216ea17fa687b4e8a8f3c369456"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a40a5d216ea17fa687b4e8a8f3c369456">&#9670;&nbsp;</a></span>SetHeights()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_FontMetrics::SetHeights </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>ascent</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>descent</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>UPM</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>line_space</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a305f401452d364dcf14b467e3b161d9c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a305f401452d364dcf14b467e3b161d9c">&#9670;&nbsp;</a></span>SetStrikeout()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_FontMetrics::SetStrikeout </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>strikeout_position</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>strikeout_thickness</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a4a52f91a37b44bfb678aaefa9c2776fb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4a52f91a37b44bfb678aaefa9c2776fb">&#9670;&nbsp;</a></span>SetUnderscore()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_FontMetrics::SetUnderscore </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>underscore_position</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>underscore_thickness</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a7492432f6c5b2d6c0de3809112edb0ec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7492432f6c5b2d6c0de3809112edb0ec">&#9670;&nbsp;</a></span>StrikeoutPosition()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_FontMetrics::StrikeoutPosition </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Signed distance from baseline to center of strikeout. A positive value indicates the strikeout is above the baseline (common). </dd></dl>
<p>The signed distance from the baseline to the bottom of the strikeout is <a class="el" href="../../dd/d29/class_o_n___font_metrics.html#a7492432f6c5b2d6c0de3809112edb0ec">StrikeoutPosition()</a> - <a class="el" href="../../dd/d29/class_o_n___font_metrics.html#a828cb0f0b7377a28422a3166e6cfb596">StrikeoutThickness()</a>/2. </p>
</div>
</div>
<a id="a828cb0f0b7377a28422a3166e6cfb596"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a828cb0f0b7377a28422a3166e6cfb596">&#9670;&nbsp;</a></span>StrikeoutThickness()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_FontMetrics::StrikeoutThickness </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Thickness of strikeout. </dd></dl>
<p>The signed distance from the baseline to the bottom of the strikeout is <a class="el" href="../../dd/d29/class_o_n___font_metrics.html#a7492432f6c5b2d6c0de3809112edb0ec">StrikeoutPosition()</a> - <a class="el" href="../../dd/d29/class_o_n___font_metrics.html#a828cb0f0b7377a28422a3166e6cfb596">StrikeoutThickness()</a>/2. </p>
</div>
</div>
<a id="a16a5e8d0d23263dac5b4d4c6272a4d46"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a16a5e8d0d23263dac5b4d4c6272a4d46">&#9670;&nbsp;</a></span>UnderscorePosition()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_FontMetrics::UnderscorePosition </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Signed distance from baseline to center of underscore. A negative value indicates the underscore is below the baseline (common). </dd></dl>
<p>The signed distance from the baseline to the bottom of the underscore is <a class="el" href="../../dd/d29/class_o_n___font_metrics.html#a16a5e8d0d23263dac5b4d4c6272a4d46">UnderscorePosition()</a> - <a class="el" href="../../dd/d29/class_o_n___font_metrics.html#a3929a837341fa996e0d534e96a00c0aa">UnderscoreThickness()</a>/2. </p>
</div>
</div>
<a id="a3929a837341fa996e0d534e96a00c0aa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3929a837341fa996e0d534e96a00c0aa">&#9670;&nbsp;</a></span>UnderscoreThickness()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_FontMetrics::UnderscoreThickness </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Thickness of underscore </dd></dl>
<p>The signed distance from the baseline to the bottom of the underscore is <a class="el" href="../../dd/d29/class_o_n___font_metrics.html#a16a5e8d0d23263dac5b4d4c6272a4d46">UnderscorePosition()</a> - <a class="el" href="../../dd/d29/class_o_n___font_metrics.html#a3929a837341fa996e0d534e96a00c0aa">UnderscoreThickness()</a>/2. </p>
</div>
</div>
<a id="a0da738c6a893d763b7dd6dfeb6a0a56d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0da738c6a893d763b7dd6dfeb6a0a56d">&#9670;&nbsp;</a></span>UPM()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_FontMetrics::UPM </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The "units per EM". This is the height and width of the square grid where the font glyphs are designed. </dd></dl>
<p>The width of the 'M' glyph in a font can be different from UPM. The height of the 'M' glyph in a font is typically less than UPM. In TrueType fonts, UPM is often a power of two and generally 1024 or 2048. In OpenType fonts, UPM is often 1000. In PostScript fonts, UPM is often 1000. </p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="abe44d95515dabcce5ed56759c7ab770f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abe44d95515dabcce5ed56759c7ab770f">&#9670;&nbsp;</a></span>DefaultLineFeedRatio</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const double ON_FontMetrics::DefaultLineFeedRatio</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a09a14df60aa3a72ffa0580f2dc86fac1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a09a14df60aa3a72ffa0580f2dc86fac1">&#9670;&nbsp;</a></span>HeightOfCapitalCodePoint</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const ON__UINT32 ON_FontMetrics::HeightOfCapitalCodePoint</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a9f0b2b89127afdb35f994e648d816884"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9f0b2b89127afdb35f994e648d816884">&#9670;&nbsp;</a></span>Unset</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="../../dd/d29/class_o_n___font_metrics.html">ON_FontMetrics</a> ON_FontMetrics::Unset</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>All properties are zero. </p>
</div>
</div>
</div><!-- contents -->
<!-- HTML footer for doxygen 1.8.13-->
<!-- start footer part -->
</div> <!-- page-content -->
<hr class="footer"/><address class="footer"><small>
Generated on Sat Feb 3 2018 11:08:30 for openNURBS SDK Help by <a href="http://www.doxygen.org/index.html">
<!-- <img class="footer" src="../../doxygen.png" alt="doxygen"/> -->
Doxygen
</a> 1.8.13
</small></address>
</div> <!-- container -->
<!-- doxy-boot -->
<script type="text/javascript" src="../../doxy-boot.js"></script>
</body>
</html>