Sophie

Sophie

distrib > Mageia > 6 > x86_64 > media > core-release > by-pkgid > 2a9a0500ba8dfb95025148f22d49b751 > files > 72

lib64caca-devel-0.99-0.beta18.13.mga6.x86_64.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
    <title>libcaca documentation</title>
    <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head>
  <body>
<!-- Generated by Doxygen 1.8.11 -->
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">The libcaca font format (version 1) </div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>All types are big endian.</p>
<div class="fragment"><div class="line"><span class="keyword">struct</span></div><div class="line">{</div><div class="line">magic:</div><div class="line">   uint8_t caca_header[2];    <span class="comment">// &quot;\xCA\xCA&quot;</span></div><div class="line">   uint8_t caca_file_type[2]; <span class="comment">// &quot;FT&quot;</span></div><div class="line"></div><div class="line">font_header:</div><div class="line">   uint32_t control_size;     <span class="comment">// Control size (font_data - font_header)</span></div><div class="line">   uint32_t data_size;        <span class="comment">// Data size (EOF - font_data)</span></div><div class="line"></div><div class="line">   uint16_t version;          <span class="comment">// Font format version</span></div><div class="line">                              <span class="comment">//  bit 0: set to 1 if font is compatible</span></div><div class="line">                              <span class="comment">//         with version 1 of the format</span></div><div class="line">                              <span class="comment">//  bits 1-15: unused yet, must be 0</span></div><div class="line"></div><div class="line">   uint16_t blocks;           <span class="comment">// Number of blocks in the font</span></div><div class="line">   uint32_t glyphs;           <span class="comment">// Total number of glyphs in the font</span></div><div class="line"></div><div class="line">   uint16_t bpp;              <span class="comment">// Bits per pixel for glyph data (valid</span></div><div class="line">                              <span class="comment">// Values are 1, 2, 4 and 8)</span></div><div class="line">   uint16_t width;            <span class="comment">// Standard glyph width</span></div><div class="line">   uint16_t height;           <span class="comment">// Standard glyph height</span></div><div class="line">   uint16_t maxwidth;         <span class="comment">// Maximum glyph width</span></div><div class="line">   uint16_t maxheight;        <span class="comment">// Maximum glyph height</span></div><div class="line"></div><div class="line">   uint16_t flags;            <span class="comment">// Feature flags</span></div><div class="line">                              <span class="comment">//  bit 0: set to 1 if font is fixed width</span></div><div class="line">                              <span class="comment">//  bits 1-15: unused yet, must be 0</span></div><div class="line"></div><div class="line">block_info:</div><div class="line">   <span class="keyword">struct</span></div><div class="line">   {</div><div class="line">      uint32_t start;         <span class="comment">// Unicode index of the first glyph</span></div><div class="line">      uint32_t stop;          <span class="comment">// Unicode index of the last glyph + 1</span></div><div class="line">      uint32_t index;         <span class="comment">// Glyph info index of the first glyph</span></div><div class="line">   }</div><div class="line">   block_list[blocks];</div><div class="line"></div><div class="line">glyph_info:</div><div class="line">   <span class="keyword">struct</span></div><div class="line">   {</div><div class="line">      uint16_t width;         <span class="comment">// Glyph width in pixels</span></div><div class="line">      uint16_t height;        <span class="comment">// Glyph height in pixels</span></div><div class="line">      uint32_t data_offset;   <span class="comment">// Offset (starting from data) to the data</span></div><div class="line">                              <span class="comment">// for the first character</span></div><div class="line">   }</div><div class="line">   glyph_list[glyphs];</div><div class="line"></div><div class="line">control_extension_1:</div><div class="line">control_extension_2:</div><div class="line">   ...</div><div class="line">control_extension_N:</div><div class="line">   ...                        <span class="comment">// reserved for future use</span></div><div class="line"></div><div class="line">font_data:</div><div class="line">   uint8_t data[data_size];   <span class="comment">// glyph data</span></div><div class="line"></div><div class="line">data_extension_1:</div><div class="line">data_extension_2:</div><div class="line">   ...</div><div class="line">data_extension_N:</div><div class="line">   ...                        <span class="comment">// reserved for future use</span></div><div class="line">};</div></div><!-- fragment --> </div></div><!-- contents -->
  </body>
</html>