Home | History | Annotate | Download | only in src

Lines Matching refs:tables

132   // We need to parse GDEF table in advance of parsing GSUB/GPOS tables
144 // TODO(bashi): Support mort, base, and jstf tables.
152 const std::vector<OpenTypeTable>& tables,
212 // Next up is the list of tables.
213 std::vector<OpenTypeTable> tables;
225 tables.push_back(table);
229 tables, file);
314 // Next up is the list of tables.
315 std::vector<OpenTypeTable> tables;
335 tables.push_back(table);
336 if (i == 0 || tables[first_index].offset > table.offset)
338 if (i == 0 || tables[last_index].offset < table.offset)
347 if (tables[first_index].offset != ots::Round4(file.offset())) {
351 if (tables[last_index].offset >= length ||
352 length - tables[last_index].offset < tables[last_index].length) {
358 static_cast<uint64_t>(tables[last_index].offset) +
359 static_cast<uint64_t>(tables[last_index].length));
387 return ProcessGeneric(header, woff_tag, output, data, length, tables, file);
412 const std::vector<OpenTypeTable>& tables,
419 // the tables must be sorted by tag (when taken as big-endian numbers).
420 // This also remove the possibility of duplicate tables.
422 const uint32_t this_tag = ntohl(tables[i].tag);
423 const uint32_t prev_tag = ntohl(tables[i - 1].tag);
430 if (!CheckTag(tables[i].tag)) {
434 // tables must be 4-byte aligned
435 if (tables[i].offset & 3) {
440 if (tables[i].offset < data_offset || tables[i].offset >= length) {
443 // disallow all tables with a zero length
444 if (tables[i].length < 1) {
448 // disallow all tables with a length > 1GB
449 if (tables[i].length > 1024 * 1024 * 1024) {
452 // disallow tables where the uncompressed size is < the compressed size.
453 if (tables[i].uncompressed_length < tables[i].length) {
456 if (tables[i].uncompressed_length > tables[i].length) {
459 // disallow all tables which uncompress to > 30 MB
460 if (tables[i].uncompressed_length > 30 * 1024 * 1024) {
463 if (uncompressed_sum + tables[i].uncompressed_length < uncompressed_sum) {
467 uncompressed_sum += tables[i].uncompressed_length;
471 uint32_t end_byte = tables[i].offset + tables[i].length;
472 // Tables in the WOFF file must be aligned 4-byte boundary.
481 // All decompressed tables uncompressed must be <= 30MB.
488 table_map[tables[i].tag] = tables[i];
491 // check that the tables are not overlapping.
495 std::make_pair(tables[i].offset, static_cast<uint8_t>(1) /* start */));
497 std::make_pair(tables[i].offset + tables[i].length,
630 // align tables to four bytes
640 // Need to sort the output tables for inclusion in the file