Blame docs/html/buffers-language-script-and-direction.html

Packit Service 5bcba8
Packit Service 5bcba8
<html>
Packit Service 5bcba8
<head>
Packit Service 5bcba8
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
Packit Service 5bcba8
<title>Buffers, language, script and direction: HarfBuzz Manual</title>
Packit Service 5bcba8
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
Packit Service 5bcba8
<link rel="home" href="index.html" title="HarfBuzz Manual">
Packit Service 5bcba8
<link rel="up" href="pt01.html" title="Part I. User's manual">
Packit Service 5bcba8
<link rel="prev" href="hello-harfbuzz.html" title="Hello, Harfbuzz">
Packit Service 5bcba8
<link rel="next" href="adding-text-to-the-buffer.html" title="Adding text to the buffer">
Packit Service 5bcba8
<meta name="generator" content="GTK-Doc V1.25.1 (XML mode)">
Packit Service 5bcba8
<link rel="stylesheet" href="style.css" type="text/css">
Packit Service 5bcba8
</head>
Packit Service 5bcba8
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Home
Packit Service 5bcba8
Up
Packit Service 5bcba8
Prev
Packit Service 5bcba8
Next
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8

Packit Service 5bcba8
Buffers, language, script and direction
Packit Service 5bcba8
Packit Service 5bcba8
Creating and destroying buffers
Packit Service 5bcba8
Adding text to the buffer
Packit Service 5bcba8
Setting buffer properties
Packit Service 5bcba8
What about the other scripts?
Packit Service 5bcba8
Customizing Unicode functions
Packit Service 5bcba8
Packit Service 5bcba8

Packit Service 5bcba8
    The input to Harfbuzz is a series of Unicode characters, stored in a
Packit Service 5bcba8
    buffer. In this chapter, we'll look at how to set up a buffer with
Packit Service 5bcba8
    the text that we want and then customize the properties of the
Packit Service 5bcba8
    buffer.
Packit Service 5bcba8
  

Packit Service 5bcba8
Packit Service 5bcba8

Packit Service 5bcba8
Creating and destroying buffers
Packit Service 5bcba8

Packit Service 5bcba8
      As we saw in our initial example, a buffer is created and
Packit Service 5bcba8
      initialized with hb_buffer_create(). This
Packit Service 5bcba8
      produces a new, empty buffer object, instantiated with some
Packit Service 5bcba8
      default values and ready to accept your Unicode strings.
Packit Service 5bcba8
    

Packit Service 5bcba8

Packit Service 5bcba8
      Harfbuzz manages the memory of objects that it creates (such as
Packit Service 5bcba8
      buffers), so you don't have to. When you have finished working on
Packit Service 5bcba8
      a buffer, you can call hb_buffer_destroy():
Packit Service 5bcba8
    

Packit Service 5bcba8
Packit Service 5bcba8
  hb_buffer_t *buffer = hb_buffer_create();
Packit Service 5bcba8
  ...
Packit Service 5bcba8
  hb_buffer_destroy(buffer);
Packit Service 5bcba8
Packit Service 5bcba8

Packit Service 5bcba8
      This will destroy the object and free its associated memory -
Packit Service 5bcba8
      unless some other part of the program holds a reference to this
Packit Service 5bcba8
      buffer. If you acquire a Harfbuzz buffer from another subsystem
Packit Service 5bcba8
      and want to ensure that it is not garbage collected by someone
Packit Service 5bcba8
      else destroying it, you should increase its reference count:
Packit Service 5bcba8
    

Packit Service 5bcba8
Packit Service 5bcba8
void somefunc(hb_buffer_t *buffer) {
Packit Service 5bcba8
  buffer = hb_buffer_reference(buffer);
Packit Service 5bcba8
  ...
Packit Service 5bcba8
Packit Service 5bcba8

Packit Service 5bcba8
      And then decrease it once you're done with it:
Packit Service 5bcba8
    

Packit Service 5bcba8
Packit Service 5bcba8
  hb_buffer_destroy(buffer);
Packit Service 5bcba8
}
Packit Service 5bcba8
Packit Service 5bcba8

Packit Service 5bcba8
      To throw away all the data in your buffer and start from scratch,
Packit Service 5bcba8
      call hb_buffer_reset(buffer). If you want to
Packit Service 5bcba8
      throw away the string in the buffer but keep the options, you can
Packit Service 5bcba8
      instead call hb_buffer_clear_contents(buffer).
Packit Service 5bcba8
    

Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8

Generated by GTK-Doc V1.25.1
Packit Service 5bcba8
</body>
Packit Service 5bcba8
</html>