<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title> Class: RRTF::FontTable — Documentation by YARD 0.9.9 </title> <link rel="stylesheet" href="../css/style.css" type="text/css" charset="utf-8" /> <link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8" /> <script type="text/javascript" charset="utf-8"> pathId = "RRTF::FontTable"; relpath = '../'; </script> <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script> <script type="text/javascript" charset="utf-8" src="../js/app.js"></script> </head> <body> <div class="nav_wrap"> <iframe id="nav" src="../class_list.html?1"></iframe> <div id="resizer"></div> </div> <div id="main" tabindex="-1"> <div id="header"> <div id="menu"> <a href="../_index.html">Index (F)</a> » <span class='title'><span class='object_link'><a href="../RRTF.html" title="RRTF (module)">RRTF</a></span></span> » <span class="title">FontTable</span> </div> <div id="search"> <a class="full_list_link" id="class_list_link" href="../class_list.html"> <svg width="24" height="24"> <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect> <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect> <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect> </svg> </a> </div> <div class="clear"></div> </div> <div id="content"><h1>Class: RRTF::FontTable </h1> <div class="box_info"> <dl> <dt>Inherits:</dt> <dd> <span class="inheritName">Object</span> <ul class="fullTree"> <li>Object</li> <li class="next">RRTF::FontTable</li> </ul> <a href="#" class="inheritanceTree">show all</a> </dd> </dl> <dl> <dt>Defined in:</dt> <dd>lib/rrtf/font.rb</dd> </dl> </div> <h2>Overview</h2><div class="docstring"> <div class="discussion"> <p>This class represents the font table for an RTF document. An instance of the class is used internally by the Document class and should not need to be explicitly instantiated (although it can be obtained from a Document object if needed).</p> </div> </div> <div class="tags"> </div> <h2> Instance Method Summary <small><a href="#" class="summary_toggle">collapse</a></small> </h2> <ul class="summary"> <li class="public "> <span class="summary_signature"> <a href="#[]-instance_method" title="#[] (instance method)">#<strong>[]</strong>(index) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'> <p>This method overloads the array dereference operator for the FontTable class.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#add-instance_method" title="#add (instance method)">#<strong>add</strong>(font) ⇒ Object </a> (also: #<<) </span> <span class="summary_desc"><div class='inline'> <p>This method adds a font to a FontTable instance.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#each-instance_method" title="#each (instance method)">#<strong>each</strong> ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'> <p>This method iterates over the contents of a FontTable object.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#index-instance_method" title="#index (instance method)">#<strong>index</strong>(font) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'> <p>This method fetches the index of a font within a FontTable object.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(*fonts) ⇒ FontTable </a> </span> <span class="note title constructor">constructor</span> <span class="summary_desc"><div class='inline'> <p>This is the constructor for the RTFTable class.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#size-instance_method" title="#size (instance method)">#<strong>size</strong> ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'> <p>This method is used to retrieve a count of the number of fonts held within an instance of the FontTable class.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#to_rtf-instance_method" title="#to_rtf (instance method)">#<strong>to_rtf</strong>(indent = 0) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'> <p>This method generates the RTF text for a FontTable object.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#to_s-instance_method" title="#to_s (instance method)">#<strong>to_s</strong>(indent = 0) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'> <p>This method generates a textual description for a FontTable object.</p> </div></span> </li> </ul> <div id="constructor_details" class="method_details_list"> <h2>Constructor Details</h2> <div class="method_details first"> <h3 class="signature first" id="initialize-instance_method"> #<strong>initialize</strong>(*fonts) ⇒ <tt><span class='object_link'><a href="" title="RRTF::FontTable (class)">FontTable</a></span></tt> </h3><div class="docstring"> <div class="discussion"> <p>This is the constructor for the RTFTable class.</p> <h4 id="label-Parameters">Parameters</h4> <dl class="rdoc-list note-list"><dt>*fonts <dd> <p>Zero or more font objects that are to be added to the font table. Objects that are not Fonts will be ignored.</p> </dd></dl> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 101 102 103 104</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/rrtf/font.rb', line 101</span> <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_fonts'>fonts</span><span class='rparen'>)</span> <span class='ivar'>@fonts</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span> <span class='id identifier rubyid_fonts'>fonts</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_font'>font</span><span class='op'>|</span> <span class='id identifier rubyid_add'>add</span><span class='lparen'>(</span><span class='id identifier rubyid_font'>font</span><span class='rparen'>)</span><span class='rbrace'>}</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> </div> <div id="instance_method_details" class="method_details_list"> <h2>Instance Method Details</h2> <div class="method_details first"> <h3 class="signature first" id="[]-instance_method"> #<strong>[]</strong>(index) ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>This method overloads the array dereference operator for the FontTable class.</p> <h4 id="label-Parameters">Parameters</h4> <dl class="rdoc-list note-list"><dt>index <dd> <p>The index into the font table of the font to be retrieved. If the index is invalid then nil is returned.</p> </dd></dl> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 138 139 140</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/rrtf/font.rb', line 138</span> <span class='kw'>def</span> <span class='op'>[]</span><span class='lparen'>(</span><span class='id identifier rubyid_index'>index</span><span class='rparen'>)</span> <span class='ivar'>@fonts</span><span class='lbracket'>[</span><span class='id identifier rubyid_index'>index</span><span class='rbracket'>]</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="add-instance_method"> #<strong>add</strong>(font) ⇒ <tt>Object</tt> <span class="aliases">Also known as: <span class="names"><span id='<<-instance_method'><<</span></span> </span> </h3><div class="docstring"> <div class="discussion"> <p>This method adds a font to a FontTable instance. This method returns a reference to the FontTable object updated.</p> <h4 id="label-Parameters">Parameters</h4> <dl class="rdoc-list note-list"><dt>font <dd> <p>A reference to the font to be added. If this is not a Font object or already exists in the table it will be ignored.</p> </dd></dl> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 118 119 120 121 122 123</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/rrtf/font.rb', line 118</span> <span class='kw'>def</span> <span class='id identifier rubyid_add'>add</span><span class='lparen'>(</span><span class='id identifier rubyid_font'>font</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_font'>font</span><span class='period'>.</span><span class='id identifier rubyid_instance_of?'>instance_of?</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="Font.html" title="RRTF::Font (class)">Font</a></span></span><span class='rparen'>)</span> <span class='ivar'>@fonts</span><span class='period'>.</span><span class='id identifier rubyid_push'>push</span><span class='lparen'>(</span><span class='id identifier rubyid_font'>font</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='ivar'>@fonts</span><span class='period'>.</span><span class='id identifier rubyid_index'>index</span><span class='lparen'>(</span><span class='id identifier rubyid_font'>font</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='kw'>end</span> <span class='kw'>self</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="each-instance_method"> #<strong>each</strong> ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>This method iterates over the contents of a FontTable object. This method expects a block that takes a single parameter (the next font from the table).</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 128 129 130</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/rrtf/font.rb', line 128</span> <span class='kw'>def</span> <span class='id identifier rubyid_each'>each</span> <span class='ivar'>@fonts</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_font'>font</span><span class='op'>|</span> <span class='kw'>yield</span> <span class='id identifier rubyid_font'>font</span><span class='rbrace'>}</span> <span class='kw'>if</span> <span class='id identifier rubyid_block_given?'>block_given?</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="index-instance_method"> #<strong>index</strong>(font) ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>This method fetches the index of a font within a FontTable object. If the font does not exist in the table then nil is returned.</p> <h4 id="label-Parameters">Parameters</h4> <dl class="rdoc-list note-list"><dt>font <dd> <p>A reference to the font to check for.</p> </dd></dl> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 147 148 149</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/rrtf/font.rb', line 147</span> <span class='kw'>def</span> <span class='id identifier rubyid_index'>index</span><span class='lparen'>(</span><span class='id identifier rubyid_font'>font</span><span class='rparen'>)</span> <span class='ivar'>@fonts</span><span class='period'>.</span><span class='id identifier rubyid_index'>index</span><span class='lparen'>(</span><span class='id identifier rubyid_font'>font</span><span class='rparen'>)</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="size-instance_method"> #<strong>size</strong> ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>This method is used to retrieve a count of the number of fonts held within an instance of the FontTable class.</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 108 109 110</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/rrtf/font.rb', line 108</span> <span class='kw'>def</span> <span class='id identifier rubyid_size'>size</span> <span class='ivar'>@fonts</span><span class='period'>.</span><span class='id identifier rubyid_size'>size</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="to_rtf-instance_method"> #<strong>to_rtf</strong>(indent = 0) ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>This method generates the RTF text for a FontTable object.</p> <h4 id="label-Parameters">Parameters</h4> <dl class="rdoc-list note-list"><dt>indent <dd> <p>The number of spaces to prefix to the lines generated by the method. Defaults to zero.</p> </dd></dl> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 169 170 171 172 173 174 175 176 177 178</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/rrtf/font.rb', line 169</span> <span class='kw'>def</span> <span class='id identifier rubyid_to_rtf'>to_rtf</span><span class='lparen'>(</span><span class='id identifier rubyid_indent'>indent</span><span class='op'>=</span><span class='int'>0</span><span class='rparen'>)</span> <span class='id identifier rubyid_prefix'>prefix</span> <span class='op'>=</span> <span class='id identifier rubyid_indent'>indent</span> <span class='op'>></span> <span class='int'>0</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'> </span><span class='tstring_end'>'</span></span> <span class='op'>*</span> <span class='id identifier rubyid_indent'>indent</span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span> <span class='id identifier rubyid_text'>text</span> <span class='op'>=</span> <span class='const'>StringIO</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span> <span class='id identifier rubyid_text'>text</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_prefix'>prefix</span><span class='embexpr_end'>}</span><span class='tstring_content'>{\\fonttbl</span><span class='tstring_end'>"</span></span> <span class='ivar'>@fonts</span><span class='period'>.</span><span class='id identifier rubyid_each_index'>each_index</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_index'>index</span><span class='op'>|</span> <span class='id identifier rubyid_text'>text</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\n</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_prefix'>prefix</span><span class='embexpr_end'>}</span><span class='tstring_content'>{\\f</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_index'>index</span><span class='embexpr_end'>}</span><span class='embexpr_beg'>#{</span><span class='ivar'>@fonts</span><span class='lbracket'>[</span><span class='id identifier rubyid_index'>index</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_to_rtf'>to_rtf</span><span class='embexpr_end'>}</span><span class='tstring_content'>}</span><span class='tstring_end'>"</span></span> <span class='kw'>end</span> <span class='id identifier rubyid_text'>text</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\n</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_prefix'>prefix</span><span class='embexpr_end'>}</span><span class='tstring_content'>}</span><span class='tstring_end'>"</span></span> <span class='id identifier rubyid_text'>text</span><span class='period'>.</span><span class='id identifier rubyid_string'>string</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="to_s-instance_method"> #<strong>to_s</strong>(indent = 0) ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>This method generates a textual description for a FontTable object.</p> <h4 id="label-Parameters">Parameters</h4> <dl class="rdoc-list note-list"><dt>indent <dd> <p>The number of spaces to prefix to the lines generated by the method. Defaults to zero.</p> </dd></dl> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 156 157 158 159 160 161 162</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/rrtf/font.rb', line 156</span> <span class='kw'>def</span> <span class='id identifier rubyid_to_s'>to_s</span><span class='lparen'>(</span><span class='id identifier rubyid_indent'>indent</span><span class='op'>=</span><span class='int'>0</span><span class='rparen'>)</span> <span class='id identifier rubyid_prefix'>prefix</span> <span class='op'>=</span> <span class='id identifier rubyid_indent'>indent</span> <span class='op'>></span> <span class='int'>0</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'> </span><span class='tstring_end'>'</span></span> <span class='op'>*</span> <span class='id identifier rubyid_indent'>indent</span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span> <span class='id identifier rubyid_text'>text</span> <span class='op'>=</span> <span class='const'>StringIO</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span> <span class='id identifier rubyid_text'>text</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_prefix'>prefix</span><span class='embexpr_end'>}</span><span class='tstring_content'>Font Table (</span><span class='embexpr_beg'>#{</span><span class='ivar'>@fonts</span><span class='period'>.</span><span class='id identifier rubyid_size'>size</span><span class='embexpr_end'>}</span><span class='tstring_content'> fonts)</span><span class='tstring_end'>"</span></span> <span class='ivar'>@fonts</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_font'>font</span><span class='op'>|</span> <span class='id identifier rubyid_text'>text</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\n</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_prefix'>prefix</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_font'>font</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rbrace'>}</span> <span class='id identifier rubyid_text'>text</span><span class='period'>.</span><span class='id identifier rubyid_string'>string</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> </div> </div> <div id="footer"> Generated on Wed Aug 2 23:05:15 2017 by <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a> 0.9.9 (ruby-2.3.3). </div> </div> </body> </html>