memory_mode_t

class 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_MODE_READONLY_MAY_MAKE_WRITABLE, however, using that mode correctly is very tricky. Use HB_MEMORY_MODE_READONLY instead.

Fields

class memory_mode_t
DUPLICATE

HarfBuzz immediately makes a copy of the data.

READONLY

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

READONLY_MAY_MAKE_WRITABLE

See above

WRITABLE

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