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

Unified Diff: third_party/woff2/src/woff2_enc.cc

Issue 2736873002: Update woff2 to cbea7b9 (Closed)
Patch Set: Created 3 years, 9 months 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/woff2/src/woff2_dec.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/woff2/src/woff2_enc.cc
diff --git a/third_party/woff2/src/woff2_enc.cc b/third_party/woff2/src/woff2_enc.cc
index 39e2ddc61d5a44e2c3962725d11b12314d396a04..bc5238f0dcf3688995b2eaea8f0b5d5e0ddb68fe 100644
--- a/third_party/woff2/src/woff2_enc.cc
+++ b/third_party/woff2/src/woff2_enc.cc
@@ -23,7 +23,7 @@
#include <string>
#include <vector>
-#include "./compressor.h"
+#include "./brotli/encode.h"
#include "./buffer.h"
#include "./font.h"
#include "./normalize.h"
@@ -47,16 +47,11 @@ using std::vector;
const size_t kWoff2HeaderSize = 48;
const size_t kWoff2EntrySize = 20;
-
-bool Compress(const uint8_t* data, const size_t len,
- uint8_t* result, uint32_t* result_len,
- brotli::BrotliParams::Mode mode, int quality) {
+bool Compress(const uint8_t* data, const size_t len, uint8_t* result,
+ uint32_t* result_len, BrotliEncoderMode mode, int quality) {
size_t compressed_len = *result_len;
- brotli::BrotliParams params;
- params.mode = mode;
- params.quality = quality;
- if (brotli::BrotliCompressBuffer(params, len, data, &compressed_len, result)
- == 0) {
+ if (BrotliEncoderCompress(quality, BROTLI_DEFAULT_WINDOW, mode, len, data,
+ &compressed_len, result) == 0) {
return false;
}
*result_len = compressed_len;
@@ -67,14 +62,14 @@ bool Woff2Compress(const uint8_t* data, const size_t len,
uint8_t* result, uint32_t* result_len,
int quality) {
return Compress(data, len, result, result_len,
- brotli::BrotliParams::MODE_FONT, quality);
+ BROTLI_MODE_FONT, quality);
}
bool TextCompress(const uint8_t* data, const size_t len,
uint8_t* result, uint32_t* result_len,
int quality) {
return Compress(data, len, result, result_len,
- brotli::BrotliParams::MODE_TEXT, quality);
+ BROTLI_MODE_TEXT, quality);
}
int KnownTableIndex(uint32_t tag) {
@@ -121,7 +116,7 @@ size_t ComputeWoff2Length(const FontCollection& font_collection,
}
// for collections only, collection tables
- if (font_collection.fonts.size() > 1) {
+ if (font_collection.flavor == kTtcFontFlavor) {
size += 4; // UInt32 Version of TTC Header
size += Size255UShort(font_collection.fonts.size()); // 255UInt16 numFonts
@@ -161,7 +156,7 @@ size_t ComputeUncompressedLength(const Font& font) {
}
size_t ComputeUncompressedLength(const FontCollection& font_collection) {
- if (font_collection.fonts.size() == 1) {
+ if (font_collection.flavor != kTtcFontFlavor) {
return ComputeUncompressedLength(font_collection.fonts[0]);
}
size_t size = CollectionHeaderSize(font_collection.header_version,
@@ -372,13 +367,12 @@ bool ConvertTTFToWOFF2(const uint8_t *data, size_t length,
}
*result_length = woff2_length;
- const Font& first_font = font_collection.fonts[0];
size_t offset = 0;
// start of woff2 header (http://www.w3.org/TR/WOFF2/#woff20Header)
StoreU32(kWoff2Signature, &offset, result);
- if (font_collection.fonts.size() == 1) {
- StoreU32(first_font.flavor, &offset, result);
+ if (font_collection.flavor != kTtcFontFlavor) {
+ StoreU32(font_collection.fonts[0].flavor, &offset, result);
} else {
StoreU32(kTtcFontFlavor, &offset, result);
}
@@ -389,9 +383,9 @@ bool ConvertTTFToWOFF2(const uint8_t *data, size_t length,
StoreU32(ComputeUncompressedLength(font_collection), &offset, result);
StoreU32(total_compressed_length, &offset, result); // totalCompressedSize
- // TODO(user): is always taking this from the first tables head OK?
- // font revision
- StoreBytes(first_font.FindTable(kHeadTableTag)->data + 4, 4, &offset, result);
+ // Let's just all be v1.0
+ Store16(1, &offset, result); // majorVersion
+ Store16(0, &offset, result); // minorVersion
if (compressed_metadata_buf_length > 0) {
StoreU32(woff2_length - compressed_metadata_buf_length,
&offset, result); // metaOffset
@@ -413,7 +407,7 @@ bool ConvertTTFToWOFF2(const uint8_t *data, size_t length,
}
// for collections only, collection table directory
- if (font_collection.fonts.size() > 1) {
+ if (font_collection.flavor == kTtcFontFlavor) {
StoreU32(font_collection.header_version, &offset, result);
Store255UShort(font_collection.fonts.size(), &offset, result);
for (const Font& font : font_collection.fonts) {
« no previous file with comments | « third_party/woff2/src/woff2_dec.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698