Don't clear buffer pre-context if no new context is being provided
Patch from Jonathan Kew. Part of fixing: Mozilla Bug 801410 - avoid inserting dotted-circle for run-initial Unicode combining characters in "simple" scripts such as Latin https://bugzilla.mozilla.org/show_bug.cgi?id=801410
This commit is contained in:
parent
0bc7a38463
commit
da70111ab2
|
@ -841,7 +841,14 @@ hb_buffer_add_utf (hb_buffer_t *buffer,
|
||||||
|
|
||||||
buffer->ensure (buffer->len + item_length * sizeof (T) / 4);
|
buffer->ensure (buffer->len + item_length * sizeof (T) / 4);
|
||||||
|
|
||||||
if (!buffer->len)
|
/* If buffer is empty and pre-context provided, install it.
|
||||||
|
* This check is written this way, to make sure people can
|
||||||
|
* provide pre-context in one add_utf() call, then provide
|
||||||
|
* text in a follow-up call. See:
|
||||||
|
*
|
||||||
|
* https://bugzilla.mozilla.org/show_bug.cgi?id=801410#c13
|
||||||
|
*/
|
||||||
|
if (!buffer->len && item_offset > 0)
|
||||||
{
|
{
|
||||||
/* Add pre-context */
|
/* Add pre-context */
|
||||||
buffer->clear_context (0);
|
buffer->clear_context (0);
|
||||||
|
|
Loading…
Reference in New Issue