Type Alias harfbuzz_sys::bindings::hb_memory_mode_t

source ·
pub type hb_memory_mode_t = c_uint;
Expand description

hb_memory_mode_t: @HB_MEMORY_MODE_DUPLICATE @HB_MEMORY_MODE_READONLY @HB_MEMORY_MODE_WRITABLE @HB_MEMORY_MODE_READONLY_MAY_MAKE_WRITABLE

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.