⚝
One Hat Cyber Team
⚝
Your IP:
18.216.45.231
Server IP:
97.74.87.16
Server:
Linux 16.87.74.97.host.secureserver.net 5.14.0-503.38.1.el9_5.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Apr 18 08:52:10 EDT 2025 x86_64
Server Software:
Apache
PHP Version:
8.2.28
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
share
/
gtk-doc
/
html
/
harfbuzz
/
View File Name :
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>