✏️ 正在编辑: object-model-blobs.html
路径:
/usr/share/gtk-doc/html/harfbuzz/object-model-blobs.html
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Blobs: HarfBuzz Manual</title> <meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> <link rel="home" href="index.html" title="HarfBuzz Manual"> <link rel="up" href="object-model.html" title="The HarfBuzz object model"> <link rel="prev" href="object-model-user-data.html" title="User data"> <link rel="next" href="buffers-language-script-and-direction.html" title="Buffers, language, script and direction"> <meta name="generator" content="GTK-Doc V1.32 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> <td width="100%" align="left" class="shortcuts"></td> <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> <td><a accesskey="u" href="object-model.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> <td><a accesskey="p" href="object-model-user-data.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> <td><a accesskey="n" href="buffers-language-script-and-direction.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> <div class="section"> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> <a name="object-model-blobs"></a>Blobs</h2></div></div></div> <p> While most of HarfBuzz's object types are specific to the shaping process, <span class="emphasis"><em>blobs</em></span> are somewhat different. </p> <p> Blobs are an abstraction desgined to negotiate lifecycle and permissions for raw pieces of data. For example, when you load the raw font data into memory and want to pass it to HarfBuzz, you do so in a <code class="literal">hb_blob_t</code> wrapper. </p> <p> This allows you to take advantage of HarffBuzz's reference-counting and <code class="function">destroy</code> callbacks. If you allocated the memory for the data using <code class="function">malloc()</code>, you would create the blob using </p> <pre class="programlisting"> hb_blob_create (data, length, HB_MEMORY_MODE_WRITABLE, data, free) </pre> <p> That way, HarfBuzz will call <code class="function">free()</code> on the allocated memory whenever the blob drops its last reference and is deconstructed. Consequently, the user code can stop worrying about freeing memory and let the reference-counting machinery take care of that. </p> </div> <div class="footer"> <hr>Generated by GTK-Doc V1.32</div> </body> </html>
💾 保存文件
← 返回文件管理器