Value | Meaning |
---|---|
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 |
Page generated by adrdox
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.