hb_memory_mode_t

Data type holding the memory modes available to client programs.

Regarding these various memory-modes:

- In no case shall the HarfBuzz client modify memory that is passed to HarfBuzz in a blob. If there is any such possibility, @HB_MEMORY_MODE_DUPLICATE should be used such that HarfBuzz makes a copy immediately,

- Use @HB_MEMORY_MODE_READONLY otherwise, unless you really really really know what you are doing,

- @HB_MEMORY_MODE_WRITABLE is appropriate if you really made a copy of data solely for the purpose of passing to HarfBuzz and doing that just once (no reuse!),

- If the font is mmap()ed, it's okay to use @HB_MEMORY_READONLY_MAY_MAKE_WRITABLE, however, using that mode correctly is very tricky. Use @HB_MEMORY_MODE_READONLY instead.

Values

ValueMeaning
DUPLICATE0

HarfBuzz immediately makes a copy of the data.

READONLY1

HarfBuzz client will never modify the data, and HarfBuzz will never modify the data.

WRITABLE2

HarfBuzz client made a copy of the data solely for HarfBuzz, so HarfBuzz may modify the data.

READONLY_MAY_MAKE_WRITABLE3

See above

Meta