Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(274)

Unified Diff: third_party/ots/src/gdef.cc

Issue 1487543005: Update OTS to revision 99a3b7f (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/ots/src/cmap.cc ('k') | third_party/ots/src/gpos.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/ots/src/gdef.cc
diff --git a/third_party/ots/src/gdef.cc b/third_party/ots/src/gdef.cc
index 2980e34ab6c75d0a36900d4e235743fae743b1a8..71c6fc59286c0cd07dcb7fea5953f1b0846f7794 100644
--- a/third_party/ots/src/gdef.cc
+++ b/third_party/ots/src/gdef.cc
@@ -229,13 +229,6 @@ bool ParseMarkGlyphSetsDefTable(ots::Font *font, const uint8_t *data,
} // namespace
-#define DROP_THIS_TABLE(msg_) \
- do { \
- OTS_FAILURE_MSG(msg_ ", table discarded"); \
- font->gdef->data = 0; \
- font->gdef->length = 0; \
- } while (0)
-
namespace ots {
bool ots_gdef_parse(Font *font, const uint8_t *data, size_t length) {
@@ -253,12 +246,10 @@ bool ots_gdef_parse(Font *font, const uint8_t *data, size_t length) {
uint32_t version = 0;
if (!table.ReadU32(&version)) {
- DROP_THIS_TABLE("Incomplete table");
- return true;
+ return OTS_FAILURE_MSG("Incomplete table");
}
if (version < 0x00010000 || version == 0x00010001) {
- DROP_THIS_TABLE("Bad version");
- return true;
+ return OTS_FAILURE_MSG("Bad version");
}
if (version >= 0x00010002) {
@@ -273,14 +264,12 @@ bool ots_gdef_parse(Font *font, const uint8_t *data, size_t length) {
!table.ReadU16(&offset_attach_list) ||
!table.ReadU16(&offset_lig_caret_list) ||
!table.ReadU16(&offset_mark_attach_class_def)) {
- DROP_THIS_TABLE("Incomplete table");
- return true;
+ return OTS_FAILURE_MSG("Incomplete table");
}
uint16_t offset_mark_glyph_sets_def = 0;
if (gdef->version_2) {
if (!table.ReadU16(&offset_mark_glyph_sets_def)) {
- DROP_THIS_TABLE("Incomplete table");
- return true;
+ return OTS_FAILURE_MSG("Incomplete table");
}
}
@@ -292,14 +281,12 @@ bool ots_gdef_parse(Font *font, const uint8_t *data, size_t length) {
if (offset_glyph_class_def) {
if (offset_glyph_class_def >= length ||
offset_glyph_class_def < gdef_header_end) {
- DROP_THIS_TABLE("Invalid offset to glyph classes");
- return true;
+ return OTS_FAILURE_MSG("Invalid offset to glyph classes");
}
if (!ParseGlyphClassDefTable(font, data + offset_glyph_class_def,
length - offset_glyph_class_def,
num_glyphs)) {
- DROP_THIS_TABLE("Invalid glyph classes");
- return true;
+ return OTS_FAILURE_MSG("Invalid glyph classes");
}
gdef->has_glyph_class_def = true;
}
@@ -307,28 +294,24 @@ bool ots_gdef_parse(Font *font, const uint8_t *data, size_t length) {
if (offset_attach_list) {
if (offset_attach_list >= length ||
offset_attach_list < gdef_header_end) {
- DROP_THIS_TABLE("Invalid offset to attachment list");
- return true;
+ return OTS_FAILURE_MSG("Invalid offset to attachment list");
}
if (!ParseAttachListTable(font, data + offset_attach_list,
length - offset_attach_list,
num_glyphs)) {
- DROP_THIS_TABLE("Invalid attachment list");
- return true;
+ return OTS_FAILURE_MSG("Invalid attachment list");
}
}
if (offset_lig_caret_list) {
if (offset_lig_caret_list >= length ||
offset_lig_caret_list < gdef_header_end) {
- DROP_THIS_TABLE("Invalid offset to ligature caret list");
- return true;
+ return OTS_FAILURE_MSG("Invalid offset to ligature caret list");
}
if (!ParseLigCaretListTable(font, data + offset_lig_caret_list,
length - offset_lig_caret_list,
num_glyphs)) {
- DROP_THIS_TABLE("Invalid ligature caret list");
- return true;
+ return OTS_FAILURE_MSG("Invalid ligature caret list");
}
}
@@ -341,8 +324,7 @@ bool ots_gdef_parse(Font *font, const uint8_t *data, size_t length) {
data + offset_mark_attach_class_def,
length - offset_mark_attach_class_def,
num_glyphs)) {
- DROP_THIS_TABLE("Invalid mark attachment list");
- return true;
+ return OTS_FAILURE_MSG("Invalid mark attachment list");
}
gdef->has_mark_attachment_class_def = true;
}
@@ -356,8 +338,7 @@ bool ots_gdef_parse(Font *font, const uint8_t *data, size_t length) {
data + offset_mark_glyph_sets_def,
length - offset_mark_glyph_sets_def,
num_glyphs)) {
- DROP_THIS_TABLE("Invalid mark glyph sets");
- return true;
+ return OTS_FAILURE_MSG("Invalid mark glyph sets");
}
gdef->has_mark_glyph_sets_def = true;
}
@@ -390,4 +371,3 @@ void ots_gdef_free(Font *font) {
} // namespace ots
#undef TABLE_NAME
-#undef DROP_THIS_TABLE
« no previous file with comments | « third_party/ots/src/cmap.cc ('k') | third_party/ots/src/gpos.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698