Since 0.9.7an HarfBuzz.buffer_t buffer.
the first item in buffer to serialize.
the last item in buffer to serialize.
the HarfBuzz.font_t used to shape this buffer, needed to read glyph names and extents. If NULL, an empty font will be used.
the HarfBuzz.buffer_serialize_format_t to use for formatting the output.
the HarfBuzz.buffer_serialize_flags_t that control what glyph properties to serialize.
The number of serialized items.
Serializes
bufferinto a textual representation of its glyph content, useful for showing the contents of the buffer, for example during debugging. There are currently two supported serialization formats:text
A human-readable, plain text format. The serialized glyphs will look something like:
[and].|=then HarfBuzz.glyph_info_t.cluster.,y_offset. Then,+x_advance, then,y_advanceif HarfBuzz.glyph_position_t.y_advance is not 0. Then,<x_bearing,y_bearing,width,height>json
A machine-readable, structured format. The serialized glyphs will look something like:
Each glyph is a JSON object, with the following properties:
g: the glyph name or glyph index if #HB_BUFFER_SERIALIZE_FLAG_NO_GLYPH_NAMES flag is set.cl: HarfBuzz.glyph_info_t.cluster if #HB_BUFFER_SERIALIZE_FLAG_NO_CLUSTERS is not set.dx,dy,ax,ay: HarfBuzz.glyph_position_t.x_offset, HarfBuzz.glyph_position_t.y_offset, HarfBuzz.glyph_position_t.x_advance and HarfBuzz.glyph_position_t.y_advance respectively, if #HB_BUFFER_SERIALIZE_FLAG_NO_POSITIONS is not set.xb,yb,w,h: HarfBuzz.glyph_extents_t.x_bearing, HarfBuzz.glyph_extents_t.y_bearing, HarfBuzz.glyph_extents_t.width and HarfBuzz.glyph_extents_t.height respectively if #HB_BUFFER_SERIALIZE_FLAG_GLYPH_EXTENTS is set.