Only reorder the table directory
This commit is contained in:
+4
-3
@@ -943,6 +943,7 @@ bool ConvertWOFF2ToTTF(uint8_t* result, size_t result_length,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Re-order tables in output (OTSpec) order
|
// Re-order tables in output (OTSpec) order
|
||||||
|
std::vector<Table> sorted_tables(tables);
|
||||||
if (header_version) {
|
if (header_version) {
|
||||||
// collection; we have to sort the table offset vector in each font
|
// collection; we have to sort the table offset vector in each font
|
||||||
for (auto& ttc_font : ttc_fonts) {
|
for (auto& ttc_font : ttc_fonts) {
|
||||||
@@ -957,7 +958,7 @@ bool ConvertWOFF2ToTTF(uint8_t* result, size_t result_length,
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// non-collection; we can just sort the tables
|
// non-collection; we can just sort the tables
|
||||||
std::sort(tables.begin(), tables.end());
|
std::sort(sorted_tables.begin(), sorted_tables.end());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (meta_offset) {
|
if (meta_offset) {
|
||||||
@@ -1022,7 +1023,7 @@ bool ConvertWOFF2ToTTF(uint8_t* result, size_t result_length,
|
|||||||
} else {
|
} else {
|
||||||
offset = StoreOffsetTable(result, offset, flavor, num_tables);
|
offset = StoreOffsetTable(result, offset, flavor, num_tables);
|
||||||
for (uint16_t i = 0; i < num_tables; ++i) {
|
for (uint16_t i = 0; i < num_tables; ++i) {
|
||||||
offset = StoreTableEntry(result, tables[i], offset);
|
offset = StoreTableEntry(result, sorted_tables[i], offset);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1091,7 +1092,7 @@ bool ConvertWOFF2ToTTF(uint8_t* result, size_t result_length,
|
|||||||
return FONT_COMPRESSION_FAILURE();
|
return FONT_COMPRESSION_FAILURE();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (PREDICT_FALSE(!FixChecksums(tables, result))) {
|
if (PREDICT_FALSE(!FixChecksums(sorted_tables, result))) {
|
||||||
return FONT_COMPRESSION_FAILURE();
|
return FONT_COMPRESSION_FAILURE();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user