[uniscribe] Fixup for previous commit

Fixes https://github.com/harfbuzz/harfbuzz/issues/934
This commit is contained in:
Behdad Esfahbod 2018-03-28 13:38:51 -07:00
parent b17e1a4088
commit 48baf7e389
1 changed files with 3 additions and 2 deletions

View File

@ -363,9 +363,10 @@ _hb_rename_font (hb_blob_t *blob, wchar_t *new_name)
unsigned int name_table_length = OT::name::min_size +
ARRAY_LENGTH (name_IDs) * OT::NameRecord::static_size +
name_str_len * 2; /* for name data in UTF16BE form */
unsigned int padded_name_table_length = ((name_table_length + 3) & ~3);
unsigned int name_table_offset = (length + 3) & ~3;
new_length = name_table_offset + ((name_table_length + 3) & ~3);
new_length = name_table_offset + padded_name_table_length;
void *new_sfnt_data = calloc (1, new_length);
if (!new_sfnt_data)
{
@ -410,7 +411,7 @@ _hb_rename_font (hb_blob_t *blob, wchar_t *new_name)
if (face.find_table_index (HB_OT_TAG_name, &index))
{
OT::TableRecord &record = const_cast<OT::TableRecord &> (face.get_table (index));
record.checkSum.set_for_data (&name, new_length);
record.checkSum.set_for_data (&name, padded_name_table_length);
record.offset.set (name_table_offset);
record.length.set (name_table_length);
}