29 #ifndef HB_NO_BUFFER_SERIALIZE
34 static const char *serialize_formats[] = {
53 return serialize_formats;
106 unsigned int buf_size,
107 unsigned int *buf_consumed,
124 #define APPEND(s) HB_STMT_START { strcpy (p, s); p += strlen (s); } HB_STMT_END
139 for (
char *
q =
g; *
q;
q++)
160 pos[
i].x_advance,
pos[
i].y_advance));
183 unsigned int l =
p -
b;
196 x +=
pos[
i].x_advance;
197 y +=
pos[
i].y_advance;
209 unsigned int buf_size,
210 unsigned int *buf_consumed,
241 unsigned int l =
p -
b;
262 unsigned int buf_size,
263 unsigned int *buf_consumed,
307 if (
pos[
i].y_advance)
322 p += hb_max (0, snprintf (
p,
ARRAY_LENGTH (
b) - (
p -
b),
"<%d,%d,%d,%d>", extents.
x_bearing, extents.
y_bearing, extents.
width, extents.
height));
329 unsigned int l =
p -
b;
342 x +=
pos[
i].x_advance;
343 y +=
pos[
i].y_advance;
356 unsigned int buf_size,
357 unsigned int *buf_consumed,
381 unsigned int l =
p -
b;
463 unsigned int buf_size,
464 unsigned int *buf_consumed,
472 unsigned int sconsumed;
474 buf_consumed = &sconsumed;
481 if (!
buffer->have_positions)
494 buf, buf_size, buf_consumed,
499 buf, buf_size, buf_consumed,
565 unsigned int buf_size,
566 unsigned int *buf_consumed,
573 unsigned int sconsumed;
575 buf_consumed = &sconsumed;
580 buffer->assert_unicode ();
589 buf, buf_size, buf_consumed,
flags);
593 buf, buf_size, buf_consumed,
flags);
607 unsigned int buf_size,
608 unsigned int *buf_consumed,
614 unsigned int sconsumed;
616 buf_consumed = &sconsumed;
663 unsigned int buf_size,
664 unsigned int *buf_consumed,
669 switch (
buffer->content_type)
688 parse_int (
const char *pp,
const char *
end, int32_t *pv)
700 parse_uint (
const char *pp,
const char *
end, uint32_t *pv)
712 parse_hex (
const char *pp,
const char *
end, uint32_t *pv)
747 const char **end_ptr,
782 return _hb_buffer_deserialize_text (
buffer,
783 buf, buf_len, end_ptr,
787 return _hb_buffer_deserialize_json (
buffer,
788 buf, buf_len, end_ptr,
819 const char **end_ptr,
827 buffer->assert_unicode ();
852 return _hb_buffer_deserialize_text (
buffer,
853 buf, buf_len, end_ptr,
857 return _hb_buffer_deserialize_json (
buffer,
858 buf, buf_len, end_ptr,
small capitals from c petite p scientific i
[1]
unsigned int hb_buffer_serialize_unicode(hb_buffer_t *buffer, unsigned int start, unsigned int end, char *buf, unsigned int buf_size, unsigned int *buf_consumed, hb_buffer_serialize_format_t format, hb_buffer_serialize_flags_t flags)
const char * hb_buffer_serialize_format_to_string(hb_buffer_serialize_format_t format)
hb_bool_t hb_buffer_deserialize_unicode(hb_buffer_t *buffer, const char *buf, int buf_len, const char **end_ptr, hb_buffer_serialize_format_t format)
hb_bool_t hb_buffer_deserialize_glyphs(hb_buffer_t *buffer, const char *buf, int buf_len, const char **end_ptr, hb_font_t *font, hb_buffer_serialize_format_t format)
const char ** hb_buffer_serialize_list_formats()
hb_buffer_serialize_format_t hb_buffer_serialize_format_from_string(const char *str, int len)
unsigned int hb_buffer_serialize_glyphs(hb_buffer_t *buffer, unsigned int start, unsigned int end, char *buf, unsigned int buf_size, unsigned int *buf_consumed, hb_font_t *font, hb_buffer_serialize_format_t format, hb_buffer_serialize_flags_t flags)
unsigned int hb_buffer_serialize(hb_buffer_t *buffer, unsigned int start, unsigned int end, char *buf, unsigned int buf_size, unsigned int *buf_consumed, hb_font_t *font, hb_buffer_serialize_format_t format, hb_buffer_serialize_flags_t flags)
void hb_buffer_set_content_type(hb_buffer_t *buffer, hb_buffer_content_type_t content_type)
hb_glyph_position_t * hb_buffer_get_glyph_positions(hb_buffer_t *buffer, unsigned int *length)
hb_glyph_info_t * hb_buffer_get_glyph_infos(hb_buffer_t *buffer, unsigned int *length)
hb_tag_t hb_tag_from_string(const char *str, int len)
void hb_font_glyph_to_string(hb_font_t *font, hb_codepoint_t glyph, char *s, unsigned int size)
hb_font_t * hb_font_get_empty()
hb_bool_t hb_font_get_glyph_extents(hb_font_t *font, hb_codepoint_t glyph, hb_glyph_extents_t *extents)
bool hb_parse_int(const char **pp, const char *end, int *pv, bool whole_buffer)
bool hb_parse_uint(const char **pp, const char *end, unsigned *pv, bool whole_buffer, int base)
backing_store_ptr info
[4]
PCRE2_SIZE PRIV() strlen(PCRE2_SPTR str)
GLboolean GLboolean GLboolean b
GLsizei const GLfloat * v
[13]
GLint GLint GLint GLint GLint x
[0]
GLenum GLuint GLenum GLsizei const GLchar * buf
GLint GLint GLint GLint GLint GLint GLint GLbitfield mask
GLint GLsizei GLsizei GLenum format
GLdouble GLdouble GLdouble GLdouble q
hb_buffer_serialize_flags_t
@ HB_BUFFER_SERIALIZE_FLAG_NO_CLUSTERS
@ HB_BUFFER_SERIALIZE_FLAG_GLYPH_EXTENTS
@ HB_BUFFER_SERIALIZE_FLAG_NO_ADVANCES
@ HB_BUFFER_SERIALIZE_FLAG_NO_POSITIONS
@ HB_BUFFER_SERIALIZE_FLAG_NO_GLYPH_NAMES
@ HB_BUFFER_SERIALIZE_FLAG_GLYPH_FLAGS
hb_buffer_serialize_format_t
@ HB_BUFFER_SERIALIZE_FORMAT_INVALID
@ HB_BUFFER_SERIALIZE_FORMAT_JSON
@ HB_BUFFER_SERIALIZE_FORMAT_TEXT
@ HB_BUFFER_CONTENT_TYPE_GLYPHS
@ HB_BUFFER_CONTENT_TYPE_UNICODE
@ HB_BUFFER_CONTENT_TYPE_INVALID
HB_BEGIN_DECLS typedef int hb_bool_t