Move delimiter addition into hb-buffer-serialize

This commit is contained in:
Simon Cozens 2020-09-18 10:31:28 +01:00
parent 2845d8e6fd
commit 5b30f13249
2 changed files with 22 additions and 9 deletions

View File

@ -125,6 +125,8 @@ _hb_buffer_serialize_glyphs_json (hb_buffer_t *buffer,
if (i) if (i)
*p++ = ','; *p++ = ',';
else
*p++ = '[';
*p++ = '{'; *p++ = '{';
@ -174,6 +176,8 @@ _hb_buffer_serialize_glyphs_json (hb_buffer_t *buffer,
} }
*p++ = '}'; *p++ = '}';
if (i == end-1)
*p++ = ']';
unsigned int l = p - b; unsigned int l = p - b;
if (buf_size > l) if (buf_size > l)
@ -213,9 +217,14 @@ _hb_buffer_serialize_unicode_json (hb_buffer_t *buffer,
char *p = b; char *p = b;
if (i) if (i)
*p++ = ','; *p++ = ',';
else
*p++ = '[';
p += hb_max (0, snprintf (p, ARRAY_LENGTH (b) - (p - b), "%u", info[i].codepoint)); p += hb_max (0, snprintf (p, ARRAY_LENGTH (b) - (p - b), "%u", info[i].codepoint));
if (i == end-1)
*p++ = ']';
unsigned int l = p - b; unsigned int l = p - b;
if (buf_size > l) if (buf_size > l)
{ {
@ -257,6 +266,8 @@ _hb_buffer_serialize_glyphs_text (hb_buffer_t *buffer,
if (i) if (i)
*p++ = '|'; *p++ = '|';
else
*p++ = '[';
if (!(flags & HB_BUFFER_SERIALIZE_FLAG_NO_GLYPH_NAMES)) if (!(flags & HB_BUFFER_SERIALIZE_FLAG_NO_GLYPH_NAMES))
{ {
@ -297,6 +308,10 @@ _hb_buffer_serialize_glyphs_text (hb_buffer_t *buffer,
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)); 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));
} }
if (i == end-1) {
*p++ = ']';
}
unsigned int l = p - b; unsigned int l = p - b;
if (buf_size > l) if (buf_size > l)
{ {
@ -336,8 +351,14 @@ _hb_buffer_serialize_unicode_text (hb_buffer_t *buffer,
if (i) if (i)
*p++ = '|'; *p++ = '|';
else
*p++ = '<';
p += hb_max (0, snprintf (p, ARRAY_LENGTH (b) - (p - b), "U+%04X", info[i].codepoint)); p += hb_max (0, snprintf (p, ARRAY_LENGTH (b) - (p - b), "U+%04X", info[i].codepoint));
if (i == end-1)
*p++ = '>';
unsigned int l = p - b; unsigned int l = p - b;
if (buf_size > l) if (buf_size > l)
{ {
@ -487,7 +508,7 @@ hb_buffer_serialize_glyphs (hb_buffer_t *buffer,
* The serialized codepoints will look something like: * The serialized codepoints will look something like:
* *
* ``` * ```
* U+0651|U+0628 * <U+0651|U+0628>
* ``` * ```
* - Glyphs are separated with `|` * - Glyphs are separated with `|`
* - Unicode codepoints are expressed as zero-padded four (or more) * - Unicode codepoints are expressed as zero-padded four (or more)

View File

@ -916,10 +916,6 @@ format_options_t::serialize (hb_buffer_t *buffer,
hb_buffer_serialize_flags_t flags, hb_buffer_serialize_flags_t flags,
GString *gs) GString *gs)
{ {
if (hb_buffer_get_content_type(buffer) == HB_BUFFER_CONTENT_TYPE_UNICODE)
g_string_append_c (gs, '<');
else
g_string_append_c (gs, '[');
unsigned int num_glyphs = hb_buffer_get_length (buffer); unsigned int num_glyphs = hb_buffer_get_length (buffer);
unsigned int start = 0; unsigned int start = 0;
@ -934,10 +930,6 @@ format_options_t::serialize (hb_buffer_t *buffer,
break; break;
g_string_append (gs, buf); g_string_append (gs, buf);
} }
if (hb_buffer_get_content_type(buffer) == HB_BUFFER_CONTENT_TYPE_UNICODE)
g_string_append_c (gs, '>');
else
g_string_append_c (gs, ']');
} }
void void