From 0a8567d4f90646568eabd006a917ddbcc96c52cb Mon Sep 17 00:00:00 2001 From: Rod Sheeter Date: Thu, 12 Feb 2015 09:30:22 -0800 Subject: [PATCH] Minor updates from internal copy --- src/round.h | 2 +- src/transform.h | 4 ++-- src/woff2_enc.cc | 32 ++++++++++++++++++++++++-------- 3 files changed, 27 insertions(+), 11 deletions(-) diff --git a/src/round.h b/src/round.h index 8fd0f47..abb81f8 100644 --- a/src/round.h +++ b/src/round.h @@ -17,7 +17,7 @@ #ifndef WOFF2_ROUND_H_ #define WOFF2_ROUND_H_ -#include +#include namespace woff2 { diff --git a/src/transform.h b/src/transform.h index 3722e10..15dc73e 100644 --- a/src/transform.h +++ b/src/transform.h @@ -14,8 +14,8 @@ // // Library for preprocessing fonts as part of the WOFF 2.0 conversion. -#ifndef WOFF2_TOOLS_TRANSFORM_H_ -#define WOFF2_TOOLS_TRANSFORM_H_ +#ifndef WOFF2_TRANSFORM_H_ +#define WOFF2_TRANSFORM_H_ #include "./font.h" diff --git a/src/woff2_enc.cc b/src/woff2_enc.cc index 6150935..7caeca7 100644 --- a/src/woff2_enc.cc +++ b/src/woff2_enc.cc @@ -61,16 +61,32 @@ void StoreBase128(size_t len, size_t* offset, uint8_t* dst) { } } -bool Woff2Compress(const uint8_t* data, const size_t len, - uint8_t* result, uint32_t* result_len) { +bool Compress(const uint8_t* data, const size_t len, + uint8_t* result, uint32_t* result_len, + brotli::BrotliParams::Mode mode) { size_t compressed_len = *result_len; brotli::BrotliParams params; - params.mode = brotli::BrotliParams::MODE_FONT; - brotli::BrotliCompressBuffer(params, len, data, &compressed_len, result); + params.mode = mode; + if (brotli::BrotliCompressBuffer(params, len, data, &compressed_len, result) + == 0) { + return false; + } *result_len = compressed_len; return true; } +bool Woff2Compress(const uint8_t* data, const size_t len, + uint8_t* result, uint32_t* result_len) { + return Compress(data, len, result, result_len, + brotli::BrotliParams::MODE_FONT); +} + +bool TextCompress(const uint8_t* data, const size_t len, + uint8_t* result, uint32_t* result_len) { + return Compress(data, len, result, result_len, + brotli::BrotliParams::MODE_TEXT); +} + bool ReadLongDirectory(Buffer* file, std::vector* tables, size_t num_tables) { for (size_t i = 0; i < num_tables; ++i) { @@ -236,10 +252,10 @@ bool ConvertTTFToWOFF2(const uint8_t *data, size_t length, std::vector compressed_metadata_buf(compressed_metadata_buf_length); if (extended_metadata.length() > 0) { - if (!Woff2Compress((const uint8_t*)extended_metadata.data(), - extended_metadata.length(), - compressed_metadata_buf.data(), - &compressed_metadata_buf_length)) { + if (!TextCompress((const uint8_t*)extended_metadata.data(), + extended_metadata.length(), + compressed_metadata_buf.data(), + &compressed_metadata_buf_length)) { fprintf(stderr, "Compression of extended metadata failed.\n"); return false; }