/usr/share/doc/libcaca-dev/html/libcaca-font.html is in libcaca-dev 0.99.beta19-2build2~gcc5.2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 | <!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.9.1 -->
</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">// "\xCA\xCA"</span></div>
<div class="line"> uint8_t caca_file_type[2]; <span class="comment">// "FT"</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>
|