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

Side by Side Diff: third_party/woff2/src/woff2_enc.cc

Issue 1913773002: Update woff2 to 2bc6acf (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 8 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 unified diff | Download patch
« no previous file with comments | « third_party/woff2/src/woff2_dec.cc ('k') | third_party/woff2/woff2.gyp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 Google Inc. All Rights Reserved. 1 // Copyright 2014 Google Inc. All Rights Reserved.
2 // 2 //
3 // Licensed under the Apache License, Version 2.0 (the "License"); 3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License. 4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at 5 // You may obtain a copy of the License at
6 // 6 //
7 // http://www.apache.org/licenses/LICENSE-2.0 7 // http://www.apache.org/licenses/LICENSE-2.0
8 // 8 //
9 // Unless required by applicable law or agreed to in writing, software 9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS, 10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and 12 // See the License for the specific language governing permissions and
13 // limitations under the License. 13 // limitations under the License.
14 // 14 //
15 // Library for converting TTF format font files to their WOFF2 versions. 15 // Library for converting TTF format font files to their WOFF2 versions.
16 16
17 #include "./woff2_enc.h" 17 #include "./woff2_enc.h"
18 18
19 #include <stdlib.h> 19 #include <stdlib.h>
20 #include <complex> 20 #include <complex>
21 #include <cstring> 21 #include <cstring>
22 #include <limits> 22 #include <limits>
23 #include <string> 23 #include <string>
24 #include <vector> 24 #include <vector>
25 25
26 #include "./encode.h" 26 #include "./compressor.h"
27 #include "./buffer.h" 27 #include "./buffer.h"
28 #include "./font.h" 28 #include "./font.h"
29 #include "./normalize.h" 29 #include "./normalize.h"
30 #include "./round.h" 30 #include "./round.h"
31 #include "./store_bytes.h" 31 #include "./store_bytes.h"
32 #include "./table_tags.h" 32 #include "./table_tags.h"
33 #include "./transform.h" 33 #include "./transform.h"
34 #include "./variable_length.h" 34 #include "./variable_length.h"
35 #include "./woff2_common.h" 35 #include "./woff2_common.h"
36 36
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
141 } 141 }
142 142
143 // compressed data 143 // compressed data
144 size += compressed_data_length; 144 size += compressed_data_length;
145 size = Round4(size); 145 size = Round4(size);
146 146
147 size += extended_metadata_length; 147 size += extended_metadata_length;
148 return size; 148 return size;
149 } 149 }
150 150
151 size_t ComputeTTFLength(const std::vector<Table>& tables) {
152 size_t size = 12 + 16 * tables.size(); // sfnt header
153 for (const auto& table : tables) {
154 size += Round4(table.src_length);
155 }
156 return size;
157 }
158
159 size_t ComputeUncompressedLength(const Font& font) { 151 size_t ComputeUncompressedLength(const Font& font) {
160 // sfnt header + offset table 152 // sfnt header + offset table
161 size_t size = 12 + 16 * font.num_tables; 153 size_t size = 12 + 16 * font.num_tables;
162 for (const auto& entry : font.tables) { 154 for (const auto& entry : font.tables) {
163 const Font::Table& table = entry.second; 155 const Font::Table& table = entry.second;
164 if (table.tag & 0x80808080) continue; // xform tables don't stay 156 if (table.tag & 0x80808080) continue; // xform tables don't stay
165 if (table.IsReused()) continue; // don't have to pay twice 157 if (table.IsReused()) continue; // don't have to pay twice
166 size += Round4(table.length); 158 size += Round4(table.length);
167 } 159 }
168 return size; 160 return size;
(...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after
469 #ifdef FONT_COMPRESSION_BIN 461 #ifdef FONT_COMPRESSION_BIN
470 fprintf(stderr, "Mismatch between computed and actual length " 462 fprintf(stderr, "Mismatch between computed and actual length "
471 "(%zd vs %zd)\n", *result_length, offset); 463 "(%zd vs %zd)\n", *result_length, offset);
472 #endif 464 #endif
473 return FONT_COMPRESSION_FAILURE(); 465 return FONT_COMPRESSION_FAILURE();
474 } 466 }
475 return true; 467 return true;
476 } 468 }
477 469
478 } // namespace woff2 470 } // namespace woff2
OLDNEW
« no previous file with comments | « third_party/woff2/src/woff2_dec.cc ('k') | third_party/woff2/woff2.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698