Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
5496 leency 1
/***************************************************************************/
2
/*                                                                         */
3
/*  ftcid.h                                                                */
4
/*                                                                         */
5
/*    FreeType API for accessing CID font information (specification).     */
6
/*                                                                         */
7
/*  Copyright 2007, 2009 by Dereg Clegg, Michael Toftdal.                  */
8
/*                                                                         */
9
/*  This file is part of the FreeType project, and may only be used,       */
10
/*  modified, and distributed under the terms of the FreeType project      */
11
/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
12
/*  this file you indicate that you have read the license and              */
13
/*  understand and accept it fully.                                        */
14
/*                                                                         */
15
/***************************************************************************/
16
 
17
 
18
#ifndef __FTCID_H__
19
#define __FTCID_H__
20
 
21
#include 
22
#include FT_FREETYPE_H
23
 
24
#ifdef FREETYPE_H
25
#error "freetype.h of FreeType 1 has been loaded!"
26
#error "Please fix the directory search order for header files"
27
#error "so that freetype.h of FreeType 2 is found first."
28
#endif
29
 
30
 
31
FT_BEGIN_HEADER
32
 
33
 
34
  /*************************************************************************/
35
  /*                                                                       */
36
  /* 
*/
37
  /*    cid_fonts                                                          */
38
  /*                                                                       */
39
  /*                                                                */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l40">40</a></td>
           <td class="code"><pre>  /*    CID Fonts                                                          */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l41">41</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l42">42</a></td>
           <td class="code"><pre>  /* <Abstract>                                                            */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l43">43</a></td>
           <td class="code"><pre>  /*    CID-keyed font specific API.                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l44">44</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l45">45</a></td>
           <td class="code"><pre>  /* <Description>                                                         */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l46">46</a></td>
           <td class="code"><pre>  /*    This section contains the declaration of CID-keyed font specific   */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l47">47</a></td>
           <td class="code"><pre>  /*    functions.                                                         */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l48">48</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l49">49</a></td>
           <td class="code"><pre>  /*************************************************************************/</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l50">50</a></td>
           <td class="code"><pre> </pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l51">51</a></td>
           <td class="code"><pre> </pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l52">52</a></td>
           <td class="code"><pre>  /**********************************************************************</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l53">53</a></td>
           <td class="code"><pre>   *</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l54">54</a></td>
           <td class="code"><pre>   * @function:</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l55">55</a></td>
           <td class="code"><pre>   *    FT_Get_CID_Registry_Ordering_Supplement</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l56">56</a></td>
           <td class="code"><pre>   *</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l57">57</a></td>
           <td class="code"><pre>   * @description:</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l58">58</a></td>
           <td class="code"><pre>   *    Retrieve the Registry/Ordering/Supplement triple (also known as the</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l59">59</a></td>
           <td class="code"><pre>   *    "R/O/S") from a CID-keyed font.</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l60">60</a></td>
           <td class="code"><pre>   *</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l61">61</a></td>
           <td class="code"><pre>   * @input:</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l62">62</a></td>
           <td class="code"><pre>   *    face ::</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l63">63</a></td>
           <td class="code"><pre>   *       A handle to the input face.</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l64">64</a></td>
           <td class="code"><pre>   *</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l65">65</a></td>
           <td class="code"><pre>   * @output:</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l66">66</a></td>
           <td class="code"><pre>   *    registry ::</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l67">67</a></td>
           <td class="code"><pre>   *       The registry, as a C~string, owned by the face.</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l68">68</a></td>
           <td class="code"><pre>   *</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l69">69</a></td>
           <td class="code"><pre>   *    ordering ::</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l70">70</a></td>
           <td class="code"><pre>   *       The ordering, as a C~string, owned by the face.</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l71">71</a></td>
           <td class="code"><pre>   *</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l72">72</a></td>
           <td class="code"><pre>   *    supplement ::</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l73">73</a></td>
           <td class="code"><pre>   *       The supplement.</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l74">74</a></td>
           <td class="code"><pre>   *</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l75">75</a></td>
           <td class="code"><pre>   * @return:</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l76">76</a></td>
           <td class="code"><pre>   *    FreeType error code.  0~means success.</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l77">77</a></td>
           <td class="code"><pre>   *</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l78">78</a></td>
           <td class="code"><pre>   * @note:</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l79">79</a></td>
           <td class="code"><pre>   *    This function only works with CID faces, returning an error</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l80">80</a></td>
           <td class="code"><pre>   *    otherwise.</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l81">81</a></td>
           <td class="code"><pre>   *</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l82">82</a></td>
           <td class="code"><pre>   * @since:</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l83">83</a></td>
           <td class="code"><pre>   *    2.3.6</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l84">84</a></td>
           <td class="code"><pre>   */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l85">85</a></td>
           <td class="code"><pre>  FT_EXPORT( FT_Error )</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l86">86</a></td>
           <td class="code"><pre>  FT_Get_CID_Registry_Ordering_Supplement( FT_Face       face,</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l87">87</a></td>
           <td class="code"><pre>                                           const char*  *registry,</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l88">88</a></td>
           <td class="code"><pre>                                           const char*  *ordering,</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l89">89</a></td>
           <td class="code"><pre>                                           FT_Int       *supplement);</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l90">90</a></td>
           <td class="code"><pre> </pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l91">91</a></td>
           <td class="code"><pre> </pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l92">92</a></td>
           <td class="code"><pre>  /**********************************************************************</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l93">93</a></td>
           <td class="code"><pre>   *</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l94">94</a></td>
           <td class="code"><pre>   * @function:</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l95">95</a></td>
           <td class="code"><pre>   *    FT_Get_CID_Is_Internally_CID_Keyed</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l96">96</a></td>
           <td class="code"><pre>   *</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l97">97</a></td>
           <td class="code"><pre>   * @description:</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l98">98</a></td>
           <td class="code"><pre>   *    Retrieve the type of the input face, CID keyed or not.  In</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l99">99</a></td>
           <td class="code"><pre>   *    constrast to the @FT_IS_CID_KEYED macro this function returns</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l100">100</a></td>
           <td class="code"><pre>   *    successfully also for CID-keyed fonts in an SNFT wrapper.</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l101">101</a></td>
           <td class="code"><pre>   *</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l102">102</a></td>
           <td class="code"><pre>   * @input:</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l103">103</a></td>
           <td class="code"><pre>   *    face ::</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l104">104</a></td>
           <td class="code"><pre>   *       A handle to the input face.</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l105">105</a></td>
           <td class="code"><pre>   *</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l106">106</a></td>
           <td class="code"><pre>   * @output:</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l107">107</a></td>
           <td class="code"><pre>   *    is_cid ::</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l108">108</a></td>
           <td class="code"><pre>   *       The type of the face as an @FT_Bool.</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l109">109</a></td>
           <td class="code"><pre>   *</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l110">110</a></td>
           <td class="code"><pre>   * @return:</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l111">111</a></td>
           <td class="code"><pre>   *    FreeType error code.  0~means success.</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l112">112</a></td>
           <td class="code"><pre>   *</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l113">113</a></td>
           <td class="code"><pre>   * @note:</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l114">114</a></td>
           <td class="code"><pre>   *    This function only works with CID faces and OpenType fonts,</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l115">115</a></td>
           <td class="code"><pre>   *    returning an error otherwise.</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l116">116</a></td>
           <td class="code"><pre>   *</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l117">117</a></td>
           <td class="code"><pre>   * @since:</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l118">118</a></td>
           <td class="code"><pre>   *    2.3.9</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l119">119</a></td>
           <td class="code"><pre>   */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l120">120</a></td>
           <td class="code"><pre>  FT_EXPORT( FT_Error )</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l121">121</a></td>
           <td class="code"><pre>  FT_Get_CID_Is_Internally_CID_Keyed( FT_Face   face,</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l122">122</a></td>
           <td class="code"><pre>                                      FT_Bool  *is_cid );</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l123">123</a></td>
           <td class="code"><pre> </pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l124">124</a></td>
           <td class="code"><pre> </pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l125">125</a></td>
           <td class="code"><pre>  /**********************************************************************</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l126">126</a></td>
           <td class="code"><pre>   *</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l127">127</a></td>
           <td class="code"><pre>   * @function:</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l128">128</a></td>
           <td class="code"><pre>   *    FT_Get_CID_From_Glyph_Index</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l129">129</a></td>
           <td class="code"><pre>   *</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l130">130</a></td>
           <td class="code"><pre>   * @description:</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l131">131</a></td>
           <td class="code"><pre>   *    Retrieve the CID of the input glyph index.</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l132">132</a></td>
           <td class="code"><pre>   *</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l133">133</a></td>
           <td class="code"><pre>   * @input:</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l134">134</a></td>
           <td class="code"><pre>   *    face ::</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l135">135</a></td>
           <td class="code"><pre>   *       A handle to the input face.</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l136">136</a></td>
           <td class="code"><pre>   *</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l137">137</a></td>
           <td class="code"><pre>   *    glyph_index ::</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l138">138</a></td>
           <td class="code"><pre>   *       The input glyph index.</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l139">139</a></td>
           <td class="code"><pre>   *</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l140">140</a></td>
           <td class="code"><pre>   * @output:</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l141">141</a></td>
           <td class="code"><pre>   *    cid ::</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l142">142</a></td>
           <td class="code"><pre>   *       The CID as an @FT_UInt.</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l143">143</a></td>
           <td class="code"><pre>   *</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l144">144</a></td>
           <td class="code"><pre>   * @return:</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l145">145</a></td>
           <td class="code"><pre>   *    FreeType error code.  0~means success.</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l146">146</a></td>
           <td class="code"><pre>   *</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l147">147</a></td>
           <td class="code"><pre>   * @note:</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l148">148</a></td>
           <td class="code"><pre>   *    This function only works with CID faces and OpenType fonts,</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l149">149</a></td>
           <td class="code"><pre>   *    returning an error otherwise.</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l150">150</a></td>
           <td class="code"><pre>   *</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l151">151</a></td>
           <td class="code"><pre>   * @since:</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l152">152</a></td>
           <td class="code"><pre>   *    2.3.9</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l153">153</a></td>
           <td class="code"><pre>   */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l154">154</a></td>
           <td class="code"><pre>  FT_EXPORT( FT_Error )</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l155">155</a></td>
           <td class="code"><pre>  FT_Get_CID_From_Glyph_Index( FT_Face   face,</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l156">156</a></td>
           <td class="code"><pre>                               FT_UInt   glyph_index,</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l157">157</a></td>
           <td class="code"><pre>                               FT_UInt  *cid );</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l158">158</a></td>
           <td class="code"><pre> </pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l159">159</a></td>
           <td class="code"><pre> /* */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l160">160</a></td>
           <td class="code"><pre> </pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l161">161</a></td>
           <td class="code"><pre>FT_END_HEADER</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l162">162</a></td>
           <td class="code"><pre> </pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l163">163</a></td>
           <td class="code"><pre>#endif /* __FTCID_H__ */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l164">164</a></td>
           <td class="code"><pre> </pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l165">165</a></td>
           <td class="code"><pre> </pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l166">166</a></td>
           <td class="code"><pre>/* END */</Description></Abstract>