<?xml version="1.0" standalone="no"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">

<refentry id="class-mateprintglyphlist">
  <refnamediv>
    <refname>mateprint.Glyphlist</refname>
    <refpurpose>Glyphlist object for MatePrint</refpurpose>
  </refnamediv>

<!-- ************************************* -->
<!-- BEGIN OF MATEPRINTGLYPHLIST SYNOPSIS -->
<!-- ************************************* -->

<refsect1>
    <title>Synopsis</title>

    <classsynopsis language="python">
    <ooclass><classname>mateprint.Glyphlist</classname></ooclass>
    <ooclass><classname><link linkend="class-gobjectgboxed">gobject.GBoxed</link></classname></ooclass>
    
    <constructorsynopsis language="python">
	   <methodname><link linkend="constructor-mateprintglyphlist">mateprint.Glyphlist</link></methodname>
	   <methodparam><parameter role="keyword"></parameter></methodparam>
    </constructorsynopsis>
    
    <methodsynopsis language="python">
	    <methodname><link linkend="method-mateprintglyphlist--advance">advance</link></methodname>
	    <methodparam><parameter role="keyword">advance</parameter></methodparam>
    </methodsynopsis>
    
    <methodsynopsis language="python">
        <methodname><link linkend="method-mateprintglyphlist--bbox">bbox</link></methodname>
        <methodparam><parameter role="keyword">transform</parameter></methodparam>
        <methodparam><parameter role="keyword">flags</parameter></methodparam>
        <methodparam><parameter role="keyword">bbox</parameter></methodparam>
    </methodsynopsis>
    
    <methodsynopsis language="python">
        <methodname><link linkend="method-mateprintglyphlist--color">color</link></methodname>
        <methodparam><parameter role="keyword">color</parameter></methodparam>
    </methodsynopsis>    
    
    <methodsynopsis language="python">
        <methodname><link linkend="method-mateprintglyphlist--duplicate">duplicate</link></methodname>
        <methodparam></methodparam>
    </methodsynopsis>
    
    <methodsynopsis language="python">
        <methodname><link linkend="method-mateprintglyphlist--font">font</link></methodname>
        <methodparam><parameter role="keyword">font</parameter></methodparam>
     </methodsynopsis>
    
    <methodsynopsis language="python">
        <methodname><link linkend="method-mateprintglyphlist--glyph">glyph</link></methodname>
        <methodparam><parameter role="keyword">glyph</parameter></methodparam>
    </methodsynopsis> 
  
    <methodsynopsis language="python">
        <methodname><link linkend="method-mateprintglyphlist--glyphs">glyphs</link></methodname>
        <methodparam><parameter role="keyword">glyphs</parameter></methodparam>
        <methodparam><parameter role="keyword">num_glyps</parameter></methodparam>
    </methodsynopsis> 

    <methodsynopsis language="python">
        <methodname><link linkend="method-mateprintglyphlist--kerning">kerning</link></methodname>
        <methodparam><parameter role="keyword">kerning</parameter></methodparam>
    </methodsynopsis>
    
    <methodsynopsis language="python">
        <methodname><link linkend="method-mateprintglyphlist--letterspace">letterspace</link></methodname>
        <methodparam><parameter role="keyword">letterspace</parameter></methodparam>
    </methodsynopsis>
    
    <methodsynopsis language="python">
        <methodname><link linkend="method-mateprintglyphlist--moveto">moveto</link></methodname>
        <methodparam><parameter role="keyword">x</parameter></methodparam>
        <methodparam><parameter role="keyword">y</parameter></methodparam>
    </methodsynopsis> 
    
    <methodsynopsis language="python">
        <methodname><link linkend="method-mateprintglyphlist--rmoveto">rmoveto</link></methodname>
        <methodparam><parameter role="keyword">x</parameter></methodparam>
        <methodparam><parameter role="keyword">y</parameter></methodparam>
    </methodsynopsis> 

    <methodsynopsis language="python">
        <methodname><link linkend="method-mateprintglyphlist--text-dumb">text_dumb</link></methodname>
        <methodparam><parameter role="keyword">text</parameter></methodparam>
    </methodsynopsis> 
  </classsynopsis>

<programlisting>
<emphasis role="bold">Functions</emphasis>
    
<methodsynopsis language="python">
    <methodname><link linkend="function-mateprint--glyphlist-from-text-dumb">mateprint.glyphlist_from_text_dumb</link></methodname>
    <methodparam><parameter role="keyword">font</parameter></methodparam>
    <methodparam><parameter role="keyword">color</parameter></methodparam>
    <methodparam><parameter role="keyword">kerning</parameter></methodparam>
    <methodparam><parameter role="keyword">letterspace</parameter></methodparam>
    <methodparam><parameter role="keyword">text</parameter></methodparam>
</methodsynopsis></programlisting>
</refsect1>

<!-- ************************************* -->
<!-- BEGIN OF MATEPRINTGLYPHLIST ANCESTRY -->
<!-- ************************************* -->

<refsect1>
    <title>Ancestry</title>

<synopsis>+-- <link linkend="class-gobjectgboxed">gobject.GBoxed</link>
  +-- <link linkend="class-mateprintglyphlist">mateprint.Glyphlist</link>
</synopsis>
</refsect1>

<!-- **************************************** -->
<!-- BEGIN OF MATEPRINTGLYPHLIST DESCRIPTION -->
<!-- **************************************** -->

<refsect1 id="description-mateprintglyphlist">
    <title>Description</title>

<para>

</para>
</refsect1>

<!-- **************************************** -->
<!-- BEGIN OF MATEPRINTGLYPHLIST CONSTRUCTOR -->
<!-- **************************************** -->

<refsect1 id="constructor-mateprintglyphlist">
  <title>Constructor</title>

  <programlisting><constructorsynopsis language="python">
	  <methodname>mateprint.Glyphlist</methodname>
	  <methodparam><parameter role="keyword"></parameter></methodparam>
  </constructorsynopsis></programlisting>
    
  <variablelist>

    <varlistentry>
	    <term><emphasis>Returns</emphasis>&nbsp;:</term>
	    <listitem><simpara>a new <link linkend="class-mateprintglyphlist"><classname>mateprint.Glyphlist</classname></link>.
        </simpara></listitem>
    </varlistentry>
  </variablelist>

  <para>
    Creates a new <link linkend="class-mateprintglyphlist"><classname>mateprint.Glyphlist</classname></link> object.
  </para>
</refsect1>

<!-- ************************************ -->
<!-- BEGIN OF MATEPRINTGLYPHLIST METHODS -->
<!-- ************************************ -->

<refsect1>
    <title>Methods</title>

    <refsect2 id="method-mateprintglyphlist--advance">
        <title>mateprint.Glyphlist.advance</title>
            <programlisting><methodsynopsis language="python">
                <methodname>advance</methodname>
                    <methodparam></methodparam>
            </methodsynopsis></programlisting>
      
            <variablelist>
                <varlistentry>
                    <term><parameter role="keyword">advance</parameter>&nbsp;:</term>
                    <listitem><simpara> if <literal>TRUE</literal> move the pen position, <literal>FALSE</literal> otherwise.</simpara></listitem>
                </varlistentry>
            </variablelist>

        <para>
            The <methodname>advance</methodname>() method decide whether or not to move the pen position by the font standard advance vector. 
            Advancing happens immediately after glyph is sent through pipeline.
        </para>
    </refsect2>

    <refsect2 id="method-mateprintglyphlist--bbox">
        <title>mateprint.Glyphlist.bbox</title>
            <programlisting><methodsynopsis language="python">
                <methodname>bbox</methodname>
                    <methodparam><parameter role="keyword">transform</parameter></methodparam>
                    <methodparam><parameter role="keyword">flags</parameter></methodparam>
                    <methodparam><parameter role="keyword">bbox</parameter></methodparam>
            </methodsynopsis></programlisting>

            <variablelist>
                <varlistentry>
                    <term><parameter role="keyword">transform</parameter>&nbsp;:</term>
                    <listitem><simpara> </simpara></listitem>
                </varlistentry>
                <varlistentry>
                    <term><parameter role="keyword">flags</parameter>&nbsp;:</term>
                    <listitem><simpara> should be 0 for now.</simpara></listitem>
                </varlistentry>
                <varlistentry>
                    <term><parameter role="keyword">bbox</parameter>&nbsp;:</term>
                    <listitem><simpara> </simpara></listitem>
                </varlistentry>
                <varlistentry>
                    <term><emphasis>Returns</emphasis>&nbsp;:</term>
                    <listitem><simpara> bbox or <literal>None</literal> on error.</simpara></listitem>
                </varlistentry>
            </variablelist>

        <para>
            The <methodname>bbox</methodname>() method gets ink dimensions of transformed glyphlist Flags are to specify user preferences, 
            should be 0 for now.
        </para>
    </refsect2>

    <refsect2 id="method-mateprintglyphlist--color">
        <title>mateprint.Glyphlist.color</title>
        <programlisting><methodsynopsis language="python">
            <methodname>color</methodname>
            <methodparam><parameter role="keyword">color</parameter></methodparam>
        </methodsynopsis></programlisting>
        
        <variablelist>
            <varlistentry>
                <term><parameter role="keyword">color</parameter>&nbsp;:</term>
                <listitem><simpara> the color in the form RRGGBBAA.</simpara></listitem>
            </varlistentry>
        </variablelist>
        
        <para>
            The <methodname>color</methodname>() method specify the color as RRGGBBAA to be used for the glyphs that follow.
        </para>
    </refsect2>

    <refsect2 id="method-mateprintglyphlist--duplicate">
        <title>mateprint.Glyphlist.duplicate</title>
        <programlisting><methodsynopsis language="python">
                <methodname>duplicate</methodname>
                <methodparam></methodparam>
            </methodsynopsis></programlisting>
        
        <variablelist>
            <varlistentry>
                <term><emphasis>Returns</emphasis>&nbsp;:</term>
                <listitem><simpara> </simpara></listitem>
            </varlistentry>
        </variablelist>
        
        <para>
            The <methodname>duplicate</methodname>() method 
        </para>
    </refsect2>

    <refsect2 id="method-mateprintglyphlist--font">
        <title>mateprint.Glyphlist.font</title>
        <programlisting><methodsynopsis language="python">
                <methodname>font</methodname>
                <methodparam><parameter role="keyword">font</parameter></methodparam>
            </methodsynopsis></programlisting>
        
        <variablelist>
            <varlistentry>
                <term><parameter role="keyword">font</parameter>&nbsp;:</term>
                <listitem><simpara> </simpara></listitem>
            </varlistentry>
        </variablelist>
        
        <para>
            The <methodname>font</methodname>() method specify the font to be used for the glyphs that follow.
        </para>
    </refsect2>

    <refsect2 id="method-mateprintglyphlist--glyph">
        <title>mateprint.Glyphlist.glyph</title>
        <programlisting><methodsynopsis language="python">
                <methodname>glyph</methodname>
                <methodparam><parameter role="keyword">glyph</parameter></methodparam>
            </methodsynopsis></programlisting>
        
        <variablelist>
            <varlistentry>
                <term><parameter role="keyword">glyph</parameter>&nbsp;:</term>
                <listitem><simpara> </simpara></listitem>
            </varlistentry>
        </variablelist>
        
        <para>
            The <methodname>glyph</methodname>() method appends a single glyph to the glyphlist. 
            It will be connected to the previous glyphs by the previously defined rules.
        </para>
    </refsect2>

    <refsect2 id="method-mateprintglyphlist--glyphs">
        <title>mateprint.Glyphlist.glyphs</title>
        <programlisting><methodsynopsis language="python">
                <methodname>glyphs</methodname>
                <methodparam><parameter role="keyword">glyphs</parameter></methodparam>
                <methodparam><parameter role="keyword">num_glyps</parameter></methodparam>
            </methodsynopsis></programlisting>
        
        <variablelist>
            <varlistentry>
                <term><parameter role="keyword">glyps</parameter>&nbsp;:</term>
                <listitem><simpara> </simpara></listitem>
            </varlistentry>
            <varlistentry>
                <term><parameter role="keyword">val</parameter>&nbsp;:</term>
                <listitem><simpara> </simpara></listitem>
            </varlistentry>
        </variablelist>
        
        <para>
            The <methodname>gluphs</methodname>() method append a string of glyphs.
        </para>
    </refsect2>

    <refsect2 id="method-mateprintglyphlist--kerning">
        <title>mateprint.Glyphlist.kerning</title>
        <programlisting><methodsynopsis language="python">
                <methodname>kerning</methodname>
                <methodparam><parameter role="keyword">kerning</parameter></methodparam>
            </methodsynopsis></programlisting>
        
        <variablelist>
            <varlistentry>
                <term><parameter role="keyword">kerning</parameter>&nbsp;:</term>
                <listitem><simpara> </simpara></listitem>
            </varlistentry>
        </variablelist>
        
        <para>
            The <methodname>kerning</methodname>() method sets the amount of kerning to add between glyphs connected by an advance rule. 
            It is specified as fraction of a full kerning value If a glyph is manually positioned, 
            the kerning value is ignored Kerning will be added immediately before placing a new glyph.
        </para>
    </refsect2>
    
    <refsect2 id="method-mateprintglyphlist--letterspace">
        <title>mateprint.Glyphlist.letterspace</title>
        <programlisting><methodsynopsis language="python">
                <methodname>letterspace</methodname>
                <methodparam><parameter role="keyword">letterspace</parameter></methodparam>
            </methodsynopsis></programlisting>
        
        <variablelist>
            <varlistentry>
                <term><parameter role="keyword">letterspace</parameter>&nbsp;:</term>
                <listitem><simpara> </simpara></listitem>
            </varlistentry>
        </variablelist>
        
        <para>
            The <methodname>letterspace</methodname>() method sets the amount of white space to add between glyphs connected by an advance rule. 
            It is specified in font units (i.e. 12 for 12pt font is the width of an em square). 
            If glyph is manually positioned, letterspace value will be ignored. 
            Letterspace will be added immediately before placing a new glyph
        </para>
    </refsect2>
    
    <refsect2 id="method-mateprintglyphlist--moveto">
        <title>mateprint.Glyphlist.moveto</title>
        <programlisting><methodsynopsis language="python">
                <methodname>moveto</methodname>
                <methodparam><parameter role="keyword">x</parameter></methodparam>
                <methodparam><parameter role="keyword">y</parameter></methodparam>
            </methodsynopsis></programlisting>
        
        <variablelist>
            <varlistentry>
                <term><parameter role="keyword">x</parameter>&nbsp;:</term>
                <listitem><simpara> </simpara></listitem>
            </varlistentry>
            <varlistentry>
                <term><parameter role="keyword">y</parameter>&nbsp;:</term>
                <listitem><simpara> </simpara></listitem>
            </varlistentry>
        </variablelist>
        
        <para>
            The <methodname>moveto</methodname>() method position manually the glyph following.
        </para>
    </refsect2>
    
    <refsect2 id="method-mateprintglyphlist--rmoveto">
        <title>mateprint.Glyphlist.rmoveto</title>
        <programlisting><methodsynopsis language="python">
            <methodname>rmoveto</methodname>
            <methodparam><parameter role="keyword">x</parameter></methodparam>
            <methodparam><parameter role="keyword">y</parameter></methodparam>
        </methodsynopsis></programlisting>
        
        <variablelist>
            <varlistentry>
                <term><parameter role="keyword">x</parameter>&nbsp;:</term>
                <listitem><simpara> </simpara></listitem>
            </varlistentry>
            <varlistentry>
                <term><parameter role="keyword">y</parameter>&nbsp;:</term>
                <listitem><simpara> </simpara></listitem>
            </varlistentry>
        </variablelist>
        
        <para>
            The <methodname>rmoveto</methodname>() method position the glyph following relative to current pen position.
        </para>
    </refsect2>
    
    <refsect2 id="method-mateprintglyphlist--text-dumb">
        <title>mateprint.Glyphlist.text_dumb</title>
        <programlisting><methodsynopsis language="python">
                <methodname>text_dumb</methodname>
                <methodparam><parameter role="keyword">text</parameter></methodparam>
            </methodsynopsis></programlisting>
            <variablelist>
                <varlistentry>
                    <term><parameter role="keyword">text</parameter>&nbsp;:</term>
                    <listitem><simpara> </simpara></listitem>
                </varlistentry>
            </variablelist>
        
        <para>
            The <methodname>text_dumb</methodname>() method 
        </para>
    </refsect2>
  </refsect1>

  <!-- ************************************** -->
  <!-- BEGIN OF MATEPRINTGLYPHLIST FUNCTIONS -->
  <!-- ************************************** -->
  
  <refsect1>
      <title>Functions</title>
      
      <refsect2 id="function-mateprint--glyphlist-from-text-dumb">
          <title>mateprint.glyphlist_from_text_dumb</title>
          <programlisting><methodsynopsis language="python">
                  <methodname>mateprint.glyphlist_from_text_dumb</methodname>
                  <methodparam><parameter role="keyword">font</parameter></methodparam>
                  <methodparam><parameter role="keyword">color</parameter></methodparam>
                  <methodparam><parameter role="keyword">kerning</parameter></methodparam>
                  <methodparam><parameter role="keyword">letterspace</parameter></methodparam>
                  <methodparam><parameter role="keyword">text</parameter></methodparam>
              </methodsynopsis></programlisting>
          
          <variablelist>
              <varlistentry>
                <term><parameter role="keyword">font</parameter>&nbsp;:</term>
                <listitem><simpara> </simpara></listitem>
              </varlistentry>
              <varlistentry>
                <term><parameter role="keyword">color</parameter>&nbsp;:</term>
                <listitem><simpara> </simpara></listitem>
              </varlistentry>
              <varlistentry>
                <term><parameter role="keyword">kerning</parameter>&nbsp;:</term>
                <listitem><simpara> </simpara></listitem>
              </varlistentry>
              <varlistentry>
                <term><parameter role="keyword">letterspace</parameter>&nbsp;:</term>
                <listitem><simpara> </simpara></listitem>
              </varlistentry>
              <varlistentry>
                <term><parameter role="keyword">text</parameter>&nbsp;:</term>
                <listitem><simpara> </simpara></listitem>
              </varlistentry>
              <varlistentry>
                  <term><emphasis>Returns</emphasis>&nbsp;:</term>
                  <listitem><simpara> </simpara></listitem>
              </varlistentry>
          </variablelist>
          
          <para>
              The <methodname>glyphlist_from_text_dumb</methodname>() function appends utf8 text, converting it to glyphs and 
              connecting it as specified by rules. You cannot expect anything about language-specific typesetting rules, 
              so if the given script does not use trivial placement, you should better avoid this.
          </para>
      </refsect2>
  </refsect1>
</refentry>
