am 6b49c1e1: (-s ours) Merge remote-tracking branch \'origin/kitkat-dev\'
* commit '6b49c1e136f14008f12616250b6b70587d1199af':
Initial empty repository
diff --git a/include/ots-memory-stream.h b/include/ots-memory-stream.h
index 999b21f..579da61 100644
--- a/include/ots-memory-stream.h
+++ b/include/ots-memory-stream.h
@@ -71,7 +71,7 @@
if (new_length > limit_)
new_length = limit_;
uint8_t* new_buf = new uint8_t[new_length];
- memcpy(new_buf, ptr_, length_);
+ std::memcpy(new_buf, ptr_, length_);
length_ = new_length;
delete[] static_cast<uint8_t*>(ptr_);
ptr_ = new_buf;
diff --git a/ots.target.darwin-arm.mk b/ots.target.darwin-arm.mk
index 6d2b303..1ef939e 100644
--- a/ots.target.darwin-arm.mk
+++ b/ots.target.darwin-arm.mk
@@ -92,19 +92,17 @@
'-DANGLE_DX11' \
'-D_FILE_OFFSET_BITS=64' \
'-DNO_TCMALLOC' \
- '-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \
- '-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \
'-DDISABLE_NACL' \
'-DCHROMIUM_BUILD' \
'-DUSE_LIBJPEG_TURBO=1' \
'-DUSE_PROPRIETARY_CODECS' \
'-DENABLE_CONFIGURATION_POLICY' \
- '-DLOGGING_IS_OFFICIAL_BUILD=1' \
- '-DTRACING_IS_OFFICIAL_BUILD=1' \
- '-DENABLE_GPU=1' \
+ '-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \
+ '-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
- '-DENABLE_PRINTING=1' \
+ '-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
'-D__STDC_CONSTANT_MACROS' \
'-D__STDC_FORMAT_MACROS' \
'-DANDROID' \
@@ -177,19 +175,17 @@
'-DANGLE_DX11' \
'-D_FILE_OFFSET_BITS=64' \
'-DNO_TCMALLOC' \
- '-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \
- '-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \
'-DDISABLE_NACL' \
'-DCHROMIUM_BUILD' \
'-DUSE_LIBJPEG_TURBO=1' \
'-DUSE_PROPRIETARY_CODECS' \
'-DENABLE_CONFIGURATION_POLICY' \
- '-DLOGGING_IS_OFFICIAL_BUILD=1' \
- '-DTRACING_IS_OFFICIAL_BUILD=1' \
- '-DENABLE_GPU=1' \
+ '-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \
+ '-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
- '-DENABLE_PRINTING=1' \
+ '-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
'-D__STDC_CONSTANT_MACROS' \
'-D__STDC_FORMAT_MACROS' \
'-DANDROID' \
diff --git a/ots.target.darwin-mips.mk b/ots.target.darwin-mips.mk
index 6eac549..9481143 100644
--- a/ots.target.darwin-mips.mk
+++ b/ots.target.darwin-mips.mk
@@ -91,19 +91,17 @@
'-DANGLE_DX11' \
'-D_FILE_OFFSET_BITS=64' \
'-DNO_TCMALLOC' \
- '-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \
- '-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \
'-DDISABLE_NACL' \
'-DCHROMIUM_BUILD' \
'-DUSE_LIBJPEG_TURBO=1' \
'-DUSE_PROPRIETARY_CODECS' \
'-DENABLE_CONFIGURATION_POLICY' \
- '-DLOGGING_IS_OFFICIAL_BUILD=1' \
- '-DTRACING_IS_OFFICIAL_BUILD=1' \
- '-DENABLE_GPU=1' \
+ '-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \
+ '-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
- '-DENABLE_PRINTING=1' \
+ '-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
'-D__STDC_CONSTANT_MACROS' \
'-D__STDC_FORMAT_MACROS' \
'-DANDROID' \
@@ -175,19 +173,17 @@
'-DANGLE_DX11' \
'-D_FILE_OFFSET_BITS=64' \
'-DNO_TCMALLOC' \
- '-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \
- '-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \
'-DDISABLE_NACL' \
'-DCHROMIUM_BUILD' \
'-DUSE_LIBJPEG_TURBO=1' \
'-DUSE_PROPRIETARY_CODECS' \
'-DENABLE_CONFIGURATION_POLICY' \
- '-DLOGGING_IS_OFFICIAL_BUILD=1' \
- '-DTRACING_IS_OFFICIAL_BUILD=1' \
- '-DENABLE_GPU=1' \
+ '-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \
+ '-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
- '-DENABLE_PRINTING=1' \
+ '-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
'-D__STDC_CONSTANT_MACROS' \
'-D__STDC_FORMAT_MACROS' \
'-DANDROID' \
diff --git a/ots.target.darwin-x86.mk b/ots.target.darwin-x86.mk
index ac8c40d..5e74e67 100644
--- a/ots.target.darwin-x86.mk
+++ b/ots.target.darwin-x86.mk
@@ -94,19 +94,17 @@
'-DANGLE_DX11' \
'-D_FILE_OFFSET_BITS=64' \
'-DNO_TCMALLOC' \
- '-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \
- '-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \
'-DDISABLE_NACL' \
'-DCHROMIUM_BUILD' \
'-DUSE_LIBJPEG_TURBO=1' \
'-DUSE_PROPRIETARY_CODECS' \
'-DENABLE_CONFIGURATION_POLICY' \
- '-DLOGGING_IS_OFFICIAL_BUILD=1' \
- '-DTRACING_IS_OFFICIAL_BUILD=1' \
- '-DENABLE_GPU=1' \
+ '-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \
+ '-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
- '-DENABLE_PRINTING=1' \
+ '-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
'-D__STDC_CONSTANT_MACROS' \
'-D__STDC_FORMAT_MACROS' \
'-DANDROID' \
@@ -182,19 +180,17 @@
'-DANGLE_DX11' \
'-D_FILE_OFFSET_BITS=64' \
'-DNO_TCMALLOC' \
- '-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \
- '-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \
'-DDISABLE_NACL' \
'-DCHROMIUM_BUILD' \
'-DUSE_LIBJPEG_TURBO=1' \
'-DUSE_PROPRIETARY_CODECS' \
'-DENABLE_CONFIGURATION_POLICY' \
- '-DLOGGING_IS_OFFICIAL_BUILD=1' \
- '-DTRACING_IS_OFFICIAL_BUILD=1' \
- '-DENABLE_GPU=1' \
+ '-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \
+ '-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
- '-DENABLE_PRINTING=1' \
+ '-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
'-D__STDC_CONSTANT_MACROS' \
'-D__STDC_FORMAT_MACROS' \
'-DANDROID' \
diff --git a/ots.target.linux-arm.mk b/ots.target.linux-arm.mk
index 6d2b303..1ef939e 100644
--- a/ots.target.linux-arm.mk
+++ b/ots.target.linux-arm.mk
@@ -92,19 +92,17 @@
'-DANGLE_DX11' \
'-D_FILE_OFFSET_BITS=64' \
'-DNO_TCMALLOC' \
- '-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \
- '-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \
'-DDISABLE_NACL' \
'-DCHROMIUM_BUILD' \
'-DUSE_LIBJPEG_TURBO=1' \
'-DUSE_PROPRIETARY_CODECS' \
'-DENABLE_CONFIGURATION_POLICY' \
- '-DLOGGING_IS_OFFICIAL_BUILD=1' \
- '-DTRACING_IS_OFFICIAL_BUILD=1' \
- '-DENABLE_GPU=1' \
+ '-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \
+ '-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
- '-DENABLE_PRINTING=1' \
+ '-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
'-D__STDC_CONSTANT_MACROS' \
'-D__STDC_FORMAT_MACROS' \
'-DANDROID' \
@@ -177,19 +175,17 @@
'-DANGLE_DX11' \
'-D_FILE_OFFSET_BITS=64' \
'-DNO_TCMALLOC' \
- '-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \
- '-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \
'-DDISABLE_NACL' \
'-DCHROMIUM_BUILD' \
'-DUSE_LIBJPEG_TURBO=1' \
'-DUSE_PROPRIETARY_CODECS' \
'-DENABLE_CONFIGURATION_POLICY' \
- '-DLOGGING_IS_OFFICIAL_BUILD=1' \
- '-DTRACING_IS_OFFICIAL_BUILD=1' \
- '-DENABLE_GPU=1' \
+ '-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \
+ '-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
- '-DENABLE_PRINTING=1' \
+ '-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
'-D__STDC_CONSTANT_MACROS' \
'-D__STDC_FORMAT_MACROS' \
'-DANDROID' \
diff --git a/ots.target.linux-mips.mk b/ots.target.linux-mips.mk
index 6eac549..9481143 100644
--- a/ots.target.linux-mips.mk
+++ b/ots.target.linux-mips.mk
@@ -91,19 +91,17 @@
'-DANGLE_DX11' \
'-D_FILE_OFFSET_BITS=64' \
'-DNO_TCMALLOC' \
- '-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \
- '-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \
'-DDISABLE_NACL' \
'-DCHROMIUM_BUILD' \
'-DUSE_LIBJPEG_TURBO=1' \
'-DUSE_PROPRIETARY_CODECS' \
'-DENABLE_CONFIGURATION_POLICY' \
- '-DLOGGING_IS_OFFICIAL_BUILD=1' \
- '-DTRACING_IS_OFFICIAL_BUILD=1' \
- '-DENABLE_GPU=1' \
+ '-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \
+ '-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
- '-DENABLE_PRINTING=1' \
+ '-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
'-D__STDC_CONSTANT_MACROS' \
'-D__STDC_FORMAT_MACROS' \
'-DANDROID' \
@@ -175,19 +173,17 @@
'-DANGLE_DX11' \
'-D_FILE_OFFSET_BITS=64' \
'-DNO_TCMALLOC' \
- '-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \
- '-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \
'-DDISABLE_NACL' \
'-DCHROMIUM_BUILD' \
'-DUSE_LIBJPEG_TURBO=1' \
'-DUSE_PROPRIETARY_CODECS' \
'-DENABLE_CONFIGURATION_POLICY' \
- '-DLOGGING_IS_OFFICIAL_BUILD=1' \
- '-DTRACING_IS_OFFICIAL_BUILD=1' \
- '-DENABLE_GPU=1' \
+ '-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \
+ '-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
- '-DENABLE_PRINTING=1' \
+ '-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
'-D__STDC_CONSTANT_MACROS' \
'-D__STDC_FORMAT_MACROS' \
'-DANDROID' \
diff --git a/ots.target.linux-x86.mk b/ots.target.linux-x86.mk
index ac8c40d..5e74e67 100644
--- a/ots.target.linux-x86.mk
+++ b/ots.target.linux-x86.mk
@@ -94,19 +94,17 @@
'-DANGLE_DX11' \
'-D_FILE_OFFSET_BITS=64' \
'-DNO_TCMALLOC' \
- '-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \
- '-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \
'-DDISABLE_NACL' \
'-DCHROMIUM_BUILD' \
'-DUSE_LIBJPEG_TURBO=1' \
'-DUSE_PROPRIETARY_CODECS' \
'-DENABLE_CONFIGURATION_POLICY' \
- '-DLOGGING_IS_OFFICIAL_BUILD=1' \
- '-DTRACING_IS_OFFICIAL_BUILD=1' \
- '-DENABLE_GPU=1' \
+ '-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \
+ '-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
- '-DENABLE_PRINTING=1' \
+ '-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
'-D__STDC_CONSTANT_MACROS' \
'-D__STDC_FORMAT_MACROS' \
'-DANDROID' \
@@ -182,19 +180,17 @@
'-DANGLE_DX11' \
'-D_FILE_OFFSET_BITS=64' \
'-DNO_TCMALLOC' \
- '-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \
- '-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \
'-DDISABLE_NACL' \
'-DCHROMIUM_BUILD' \
'-DUSE_LIBJPEG_TURBO=1' \
'-DUSE_PROPRIETARY_CODECS' \
'-DENABLE_CONFIGURATION_POLICY' \
- '-DLOGGING_IS_OFFICIAL_BUILD=1' \
- '-DTRACING_IS_OFFICIAL_BUILD=1' \
- '-DENABLE_GPU=1' \
+ '-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \
+ '-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
- '-DENABLE_PRINTING=1' \
+ '-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
'-D__STDC_CONSTANT_MACROS' \
'-D__STDC_FORMAT_MACROS' \
'-DANDROID' \
diff --git a/src/cmap.cc b/src/cmap.cc
index 2315538..5d52c1e 100644
--- a/src/cmap.cc
+++ b/src/cmap.cc
@@ -233,7 +233,7 @@
return OTS_FAILURE();
}
uint16_t glyph;
- memcpy(&glyph, data + glyph_id_offset, 2);
+ std::memcpy(&glyph, data + glyph_id_offset, 2);
glyph = ntohs(glyph);
if (glyph >= num_glyphs) {
return OTS_FAILURE();
diff --git a/src/post.cc b/src/post.cc
index 74ba453..f4a0b0d 100644
--- a/src/post.cc
+++ b/src/post.cc
@@ -76,10 +76,9 @@
if (!table.ReadU16(&post->glyph_name_index[i])) {
return OTS_FAILURE();
}
- if (post->glyph_name_index[i] >= 32768) {
- // Note: droid_arialuni.ttf fails this test.
- return OTS_FAILURE(); // reserved area.
- }
+ // Note: A strict interpretation of the specification requires name indexes
+ // are less than 32768. This, however, excludes fonts like unifont.ttf
+ // which cover all of unicode.
}
// Now we have an array of Pascal strings. We have to check that they are all
diff --git a/src/woff2.cc b/src/woff2.cc
index c31094b..02b181e 100644
--- a/src/woff2.cc
+++ b/src/woff2.cc
@@ -30,18 +30,11 @@
// composite glyph flags
const int FLAG_ARG_1_AND_2_ARE_WORDS = 1 << 0;
-const int FLAG_ARGS_ARE_XY_VALUES = 1 << 1;
-const int FLAG_ROUND_XY_TO_GRID = 1 << 2;
const int FLAG_WE_HAVE_A_SCALE = 1 << 3;
-const int FLAG_RESERVED = 1 << 4;
const int FLAG_MORE_COMPONENTS = 1 << 5;
const int FLAG_WE_HAVE_AN_X_AND_Y_SCALE = 1 << 6;
const int FLAG_WE_HAVE_A_TWO_BY_TWO = 1 << 7;
const int FLAG_WE_HAVE_INSTRUCTIONS = 1 << 8;
-const int FLAG_USE_MY_METRICS = 1 << 9;
-const int FLAG_OVERLAP_COMPOUND = 1 << 10;
-const int FLAG_SCALED_COMPONENT_OFFSET = 1 << 11;
-const int FLAG_UNSCALED_COMPONENT_OFFSET = 1 << 12;
const size_t kSfntHeaderSize = 12;
const size_t kSfntEntrySize = 16;
@@ -56,9 +49,6 @@
const unsigned int kWoff2FlagsContinueStream = 1 << 4;
const unsigned int kWoff2FlagsTransform = 1 << 5;
-const size_t kWoff2HeaderSize = 44;
-const size_t kWoff2EntrySize = 20;
-
const size_t kLzmaHeaderSize = 13;
// Compression type values common to both short and long formats
@@ -836,6 +826,10 @@
if (!ReadBase128(file, &src_length)) {
return OTS_FAILURE();
}
+ } else if (static_cast<uint32_t>(flag_byte >> 6) == kShortFlagsContinue) {
+ // The compressed data for this table is in a previuos table, so we set
+ // the src_length to zero.
+ src_length = 0;
}
// Disallow huge numbers (> 1GB) for sanity.
if (src_length > 1024 * 1024 * 1024 ||
@@ -964,12 +958,12 @@
}
std::vector<uint8_t> uncompressed_buf;
bool continue_valid = false;
+ const uint8_t* transform_buf = NULL;
for (uint16_t i = 0; i < num_tables; ++i) {
const Table* table = &tables.at(i);
uint32_t flags = table->flags;
const uint8_t* src_buf = data + table->src_offset;
uint32_t compression_type = flags & kCompressionTypeMask;
- const uint8_t* transform_buf = NULL;
size_t transform_length = table->transform_length;
if ((flags & kWoff2FlagsContinueStream) != 0) {
if (!continue_valid) {
diff --git a/test/BLACKLIST.txt b/test/BLACKLIST.txt
index 094fd75..f3cd207 100644
--- a/test/BLACKLIST.txt
+++ b/test/BLACKLIST.txt
@@ -109,10 +109,6 @@
# Malformed GLYF table; The content of flags array and the lengths of xCoordinates, yCoordinates are inconsistent.
DecoTypeNaskh.ttf
-# Malformed POST table; A glyph index in the reserved area (>= 32768) is specified.
-wqy-zenhei.ttf
-unifont.ttf
-
# Malformed HMTX table; The table is too short.
mona.ttf