servo/tests/wpt/css-tests/woff2_dev/html/chapter-5.htm
Ms2ger 296fa2512b Update web-platform-tests and CSS tests.
- Update CSS tests to revision e05bfd5e30ed662c2f8a353577003f8eed230180.
- Update web-platform-tests to revision a052787dd5c069a340031011196b73affbd68cd9.
2017-02-06 22:38:29 +01:00

483 lines
No EOL
18 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<title>Compressed data format - WOFF 2.0 CR Test Suite</title>
<style type="text/css">
@import "http://www.w3.org/StyleSheets/TR/base.css";
@import "../indices.css";
</style>
</head>
<body>
<h1>WOFF 2.0 CR Test Suite</h1>
<h2>Compressed data format (18 tests)</h2>
<table width="100%">
<col id="test-column">
<col id="refs-column">
<col id="flags-column">
<col id="info-column">
<thead>
<tr>
<th>Test</th>
<th><abbr title="Rendering References">Refs</abbr></th>
<th>Flags</th>
<th>Info</th>
</tr>
</thead>
<tbody id="s5">
<tr><th colspan="4" scope="rowgroup">
<a href="#s5">+</a>
<a href="https://www.w3.org/TR/WOFF2/#table_format">5 Compressed data format</a></th></tr>
<!-- 0 tests -->
</tbody>
<tbody id="s5.#CFF-de-subroutinization">
<!-- 0 tests -->
</tbody>
<tbody id="s5.#CFF-de-subroutinization-0">
<!-- 0 tests -->
</tbody>
<tbody id="s5.#conform-mustBeInvalidated-FailDecompress">
<!-- 1 tests -->
<tr id="tabledata-brotli-001-5.#conform-mustBeInvalidated-FailDecompress" class="font">
<td>
<a href="tabledata-brotli-001.htm">tabledata-brotli-001</a></td>
<td></td>
<td><abbr class="font" title="Requires a special font">Font</abbr></td>
<td>Font Table Data Invalid Compressed Data
<ul class="assert">
<li>Font table data is compressed with zlib instead of Brotli.</li>
</ul>
</td>
</tr>
</tbody>
<tbody id="s5.#conform-mustBeInvalidated-FailDecompress-0">
<!-- 0 tests -->
</tbody>
<tbody id="s5.#conform-mustBeInvalidated-FailSize">
<!-- 4 tests -->
<tr id="tabledata-decompressed-length-001-5.#conform-mustBeInvalidated-FailSize" class="font">
<td>
<a href="tabledata-decompressed-length-001.htm">tabledata-decompressed-length-001</a></td>
<td></td>
<td><abbr class="font" title="Requires a special font">Font</abbr></td>
<td>Font Table Data Decompressed Length Less Than Original Length
<ul class="assert">
<li>The original length of the first table in the directory is increased by 1, making the decompressed length of the table data less than the sum of original table lengths.</li>
</ul>
</td>
</tr>
<tr id="tabledata-decompressed-length-002-5.#conform-mustBeInvalidated-FailSize" class="font">
<td>
<a href="tabledata-decompressed-length-002.htm">tabledata-decompressed-length-002</a></td>
<td></td>
<td><abbr class="font" title="Requires a special font">Font</abbr></td>
<td>Font Table Data Decompressed Length Greater Than Original Length
<ul class="assert">
<li>The original length of the first table in the directory is decreased by 1, making the decompressed length of the table data greater than the sum of original table lengths.</li>
</ul>
</td>
</tr>
<tr id="tabledata-decompressed-length-003-5.#conform-mustBeInvalidated-FailSize" class="font">
<td>
<a href="tabledata-decompressed-length-003.htm">tabledata-decompressed-length-003</a></td>
<td></td>
<td><abbr class="font" title="Requires a special font">Font</abbr></td>
<td>Font Table Data Decompressed Length Less Than Transformed Length
<ul class="assert">
<li>The transformed length of the glyf table in the directory is increased by 1, making the decompressed length of the table data less than the sum of transformed table lengths.</li>
</ul>
</td>
</tr>
<tr id="tabledata-decompressed-length-004-5.#conform-mustBeInvalidated-FailSize" class="font">
<td>
<a href="tabledata-decompressed-length-004.htm">tabledata-decompressed-length-004</a></td>
<td></td>
<td><abbr class="font" title="Requires a special font">Font</abbr></td>
<td>Font Table Data Decompressed Length Greater Than Transformed Length
<ul class="assert">
<li>The transformed length of the glyf table in the directory is decreased by 1, making the decompressed length of the table data greater than the sum of transformed table lengths.</li>
</ul>
</td>
</tr>
</tbody>
<tbody id="s5.#conform-mustBeInvalidated-FailSize-0">
<!-- 0 tests -->
</tbody>
<tbody id="s5.#conform-mustCalculateCheckSum">
<!-- 0 tests -->
</tbody>
<tbody id="s5.#conform-mustCalculateCheckSum-0">
<!-- 0 tests -->
</tbody>
<tbody id="s5.#conform-mustMatchUncompressedSize">
<!-- 0 tests -->
</tbody>
<tbody id="s5.#conform-mustMatchUncompressedSize-0">
<!-- 0 tests -->
</tbody>
<tbody id="s5.#conform-mustProduceOFF">
<!-- 1 tests -->
<tr id="valid-009-5.#conform-mustProduceOFF" class="font">
<td>
<a href="valid-009.htm">valid-009</a></td>
<td></td>
<td><abbr class="font" title="Requires a special font">Font</abbr></td>
<td>Valid WOFF 9
<ul class="assert">
<li>Valid TTF flavored WOFF with simple and composite glyphs</li>
</ul>
</td>
</tr>
</tbody>
<tbody id="s5.#conform-mustProduceOFF-0">
<!-- 0 tests -->
</tbody>
<tbody id="s5.#conform-mustRecalculateHeadCheckSum">
<!-- 0 tests -->
</tbody>
<tbody id="s5.#conform-mustRecalculateHeadCheckSum-0">
<!-- 0 tests -->
</tbody>
<tbody id="s5.#conform-mustRejectExtraData">
<!-- 1 tests -->
<tr id="tabledata-extraneous-data-001-5.#conform-mustRejectExtraData" class="font">
<td>
<a href="tabledata-extraneous-data-001.htm">tabledata-extraneous-data-001</a></td>
<td></td>
<td><abbr class="font" title="Requires a special font">Font</abbr></td>
<td>Extraneous Data Betwen Table Data
<ul class="assert">
<li>There is extraneous data before the last table.</li>
</ul>
</td>
</tr>
</tbody>
<tbody id="s5.#conform-mustRejectExtraData-0">
<!-- 0 tests -->
</tbody>
<tbody id="s5.#conform-mustRemoveDSIG">
<!-- 0 tests -->
</tbody>
<tbody id="s5.#conform-mustRemoveDSIG-0">
<!-- 0 tests -->
</tbody>
<tbody id="s5.#conform-mustSetBit11">
<!-- 0 tests -->
</tbody>
<tbody id="s5.#conform-mustSetBit11-0">
<!-- 0 tests -->
</tbody>
<tbody id="s5.#conform-mustUseBrotli-FontData">
<!-- 0 tests -->
</tbody>
<tbody id="s5.#conform-mustUseBrotli-FontData-0">
<!-- 0 tests -->
</tbody>
<tbody id="s5.#conform-noExtraData">
<!-- 0 tests -->
</tbody>
<tbody id="s5.#conform-noExtraData-0">
<!-- 0 tests -->
</tbody>
<tbody id="s5.1">
<tr><th colspan="4" scope="rowgroup">
<a href="#s5.1">+</a>
<a href="https://www.w3.org/TR/WOFF2/#glyf_table_format">5.1 Transformed glyf table format</a></th></tr>
<!-- 0 tests -->
</tbody>
<tbody id="s5.1.#CompositeGlyph">
<!-- 0 tests -->
</tbody>
<tbody id="s5.1.#EmptyGlyph">
<!-- 0 tests -->
</tbody>
<tbody id="s5.1.#ReconstructingGlyhs">
<!-- 0 tests -->
</tbody>
<tbody id="s5.1.#SimpleGlyph">
<!-- 0 tests -->
</tbody>
<tbody id="s5.1.#conform-mustCalculateBBox">
<!-- 1 tests -->
<tr id="tabledata-glyf-bbox-001-5.1.#conform-mustCalculateBBox" class="font">
<td>
<a href="tabledata-glyf-bbox-001.htm">tabledata-glyf-bbox-001</a></td>
<td></td>
<td><abbr class="font" title="Requires a special font">Font</abbr></td>
<td>Glyph Without Explicit Bounding Box
<ul class="assert">
<li>Valid TTF flavored WOFF with a glyph with no explicit bounding box</li>
</ul>
</td>
</tr>
</tbody>
<tbody id="s5.1.#conform-mustCalculateBBox-0">
<!-- 0 tests -->
</tbody>
<tbody id="s5.1.#conform-mustCalculateOmitBBoxValues">
<!-- 0 tests -->
</tbody>
<tbody id="s5.1.#conform-mustCalculateOmitBBoxValues-0">
<!-- 0 tests -->
</tbody>
<tbody id="s5.1.#conform-mustCalculateSetBBoxValues">
<!-- 0 tests -->
</tbody>
<tbody id="s5.1.#conform-mustCalculateSetBBoxValues-0">
<!-- 0 tests -->
</tbody>
<tbody id="s5.1.#conform-mustClearEmptyBBox">
<!-- 0 tests -->
</tbody>
<tbody id="s5.1.#conform-mustClearEmptyBBox-0">
<!-- 0 tests -->
</tbody>
<tbody id="s5.1.#conform-mustNotRejectGlyfSizeMismatch">
<!-- 2 tests -->
<tr id="tabledata-glyf-origlength-001-5.1.#conform-mustNotRejectGlyfSizeMismatch" class="font">
<td>
<a href="tabledata-glyf-origlength-001.htm">tabledata-glyf-origlength-001</a></td>
<td></td>
<td><abbr class="font" title="Requires a special font">Font</abbr></td>
<td>Glyf OrigLength Too Small
<ul class="assert">
<li>The origLength field of glyf table contains a too small incorrect value.</li>
</ul>
</td>
</tr>
<tr id="tabledata-glyf-origlength-002-5.1.#conform-mustNotRejectGlyfSizeMismatch" class="font">
<td>
<a href="tabledata-glyf-origlength-002.htm">tabledata-glyf-origlength-002</a></td>
<td></td>
<td><abbr class="font" title="Requires a special font">Font</abbr></td>
<td>Glyf OrigLength Too Big
<ul class="assert">
<li>The origLength field of glyf table contains a too big incorrect value.</li>
</ul>
</td>
</tr>
</tbody>
<tbody id="s5.1.#conform-mustNotRejectGlyfSizeMismatch-0">
<!-- 0 tests -->
</tbody>
<tbody id="s5.1.#conform-mustRejectNonEmptyBBox">
<!-- 1 tests -->
<tr id="tabledata-glyf-bbox-003-5.1.#conform-mustRejectNonEmptyBBox" class="font">
<td>
<a href="tabledata-glyf-bbox-003.htm">tabledata-glyf-bbox-003</a></td>
<td></td>
<td><abbr class="font" title="Requires a special font">Font</abbr></td>
<td>Empty Glyph With Bounding Box
<ul class="assert">
<li>Invalid TTF flavored WOFF due to empty glyph with bounding box</li>
</ul>
</td>
</tr>
</tbody>
<tbody id="s5.1.#conform-mustRejectNonEmptyBBox-0">
<!-- 0 tests -->
</tbody>
<tbody id="s5.1.#conform-mustSetCompositeBBoxValues">
<!-- 0 tests -->
</tbody>
<tbody id="s5.1.#conform-mustSetCompositeBBoxValues-0">
<!-- 0 tests -->
</tbody>
<tbody id="s5.2">
<tr><th colspan="4" scope="rowgroup">
<a href="#s5.2">+</a>
<a href="https://www.w3.org/TR/WOFF2/#triplet_decoding">5.2 Decoding of variable-length X and Y coordinates</a></th></tr>
<!-- 0 tests -->
</tbody>
<tbody id="s5.3">
<tr><th colspan="4" scope="rowgroup">
<a href="#s5.3">+</a>
<a href="https://www.w3.org/TR/WOFF2/#loca_table_format">5.3 Transformed loca table format</a></th></tr>
<!-- 0 tests -->
</tbody>
<tbody id="s5.3.#conform-OriginalLocaSize">
<!-- 0 tests -->
</tbody>
<tbody id="s5.3.#conform-OriginalLocaSize-0">
<!-- 0 tests -->
</tbody>
<tbody id="s5.3.#conform-mustReconstructLoca">
<!-- 1 tests -->
<tr id="tabledata-recontruct-loca-001-5.3.#conform-mustReconstructLoca" class="font">
<td>
<a href="tabledata-recontruct-loca-001.htm">tabledata-recontruct-loca-001</a></td>
<td></td>
<td><abbr class="font" title="Requires a special font">Font</abbr></td>
<td>Font With Short Loca and Composite Glyphs
<ul class="assert">
<li>Valid TTF flavored WOFF with simple composite glyphs where the loca table uses the short format, to check loca reconstruction</li>
</ul>
</td>
</tr>
</tbody>
<tbody id="s5.3.#conform-mustReconstructLoca-0">
<!-- 0 tests -->
</tbody>
<tbody id="s5.3.#conform-mustRecordLocaOffsets">
<!-- 0 tests -->
</tbody>
<tbody id="s5.3.#conform-mustRecordLocaOffsets-0">
<!-- 0 tests -->
</tbody>
<tbody id="s5.3.#conform-mustRejectLoca">
<!-- 3 tests -->
<tr id="tabledata-bad-origlength-loca-001-5.3.#conform-mustRejectLoca" class="font">
<td>
<a href="tabledata-bad-origlength-loca-001.htm">tabledata-bad-origlength-loca-001</a></td>
<td></td>
<td><abbr class="font" title="Requires a special font">Font</abbr></td>
<td>Font Table Data Small Loca Original Length
<ul class="assert">
<li>The origLength of the loca table is 4 bytes less than the calculated size</li>
</ul>
</td>
</tr>
<tr id="tabledata-bad-origlength-loca-002-5.3.#conform-mustRejectLoca" class="font">
<td>
<a href="tabledata-bad-origlength-loca-002.htm">tabledata-bad-origlength-loca-002</a></td>
<td></td>
<td><abbr class="font" title="Requires a special font">Font</abbr></td>
<td>Font Table Data Large Loca Original Length
<ul class="assert">
<li>The origLength of the loca table is 4 bytes more than the calculated size</li>
</ul>
</td>
</tr>
<tr id="tabledata-non-zero-loca-001-5.3.#conform-mustRejectLoca" class="font">
<td>
<a href="tabledata-non-zero-loca-001.htm">tabledata-non-zero-loca-001</a></td>
<td></td>
<td><abbr class="font" title="Requires a special font">Font</abbr></td>
<td>Font Table Data Loca Is Not Zero
<ul class="assert">
<li>The transformed loca table contains 4 zero bytes and its transformLength is 4.</li>
</ul>
</td>
</tr>
</tbody>
<tbody id="s5.3.#conform-mustRejectLoca-0">
<!-- 0 tests -->
</tbody>
<tbody id="s5.3.#conform-transformedLocaMustAccompanyGlyf">
<!-- 0 tests -->
</tbody>
<tbody id="s5.3.#conform-transformedLocaMustAccompanyGlyf-0">
<!-- 0 tests -->
</tbody>
<tbody id="s5.3.#conform-transformedLocaMustBeZero">
<!-- 0 tests -->
</tbody>
<tbody id="s5.3.#conform-transformedLocaMustBeZero-0">
<!-- 0 tests -->
</tbody>
<tbody id="s5.4">
<tr><th colspan="4" scope="rowgroup">
<a href="#s5.4">+</a>
<a href="https://www.w3.org/TR/WOFF2/#hmtx_table_format">5.4 Transformed hmtx table format</a></th></tr>
<!-- 0 tests -->
</tbody>
<tbody id="s5.4.#conform-mustCheckLSBAllGlyfTables">
<!-- 0 tests -->
</tbody>
<tbody id="s5.4.#conform-mustCheckLSBAllGlyfTables-0">
<!-- 0 tests -->
</tbody>
<tbody id="s5.4.#conform-mustCheckLSBFlags">
<!-- 3 tests -->
<tr id="tabledata-transform-hmtx-002-5.4.#conform-mustCheckLSBFlags" class="font">
<td>
<a href="tabledata-transform-hmtx-002.htm">tabledata-transform-hmtx-002</a></td>
<td></td>
<td><abbr class="font" title="Requires a special font">Font</abbr></td>
<td>Transformed Hmtx Table With Correct Flags
<ul class="assert">
<li>Valid TTF flavored WOFF with transformed hmtx table and correct flags field.</li>
</ul>
</td>
</tr>
<tr id="tabledata-transform-hmtx-003-5.4.#conform-mustCheckLSBFlags" class="font">
<td>
<a href="tabledata-transform-hmtx-003.htm">tabledata-transform-hmtx-003</a></td>
<td></td>
<td><abbr class="font" title="Requires a special font">Font</abbr></td>
<td>Transformed Hmtx Table With Bad Flags 1
<ul class="assert">
<li>Invalid TTF flavored WOFF with transformed hmtx table with non-zero reserved bits of the flags field.</li>
</ul>
</td>
</tr>
<tr id="tabledata-transform-hmtx-004-5.4.#conform-mustCheckLSBFlags" class="font">
<td>
<a href="tabledata-transform-hmtx-004.htm">tabledata-transform-hmtx-004</a></td>
<td></td>
<td><abbr class="font" title="Requires a special font">Font</abbr></td>
<td>Transformed Hmtx Table With Bad Flags 2
<ul class="assert">
<li>Invalid TTF flavored WOFF with transformed hmtx table with all flags bits set to 0</li>
</ul>
</td>
</tr>
</tbody>
<tbody id="s5.4.#conform-mustCheckLSBFlags-0">
<!-- 0 tests -->
</tbody>
<tbody id="s5.4.#conform-mustCheckLeftSideBearings">
<!-- 0 tests -->
</tbody>
<tbody id="s5.4.#conform-mustCheckLeftSideBearings-0">
<!-- 0 tests -->
</tbody>
<tbody id="s5.4.#conform-mustEliminateLSBs">
<!-- 0 tests -->
</tbody>
<tbody id="s5.4.#conform-mustEliminateLSBs-0">
<!-- 0 tests -->
</tbody>
<tbody id="s5.4.#conform-mustNotApplyLSBTransformForOTC">
<!-- 0 tests -->
</tbody>
<tbody id="s5.4.#conform-mustNotApplyLSBTransformForOTC-0">
<!-- 0 tests -->
</tbody>
<tbody id="s5.4.#conform-mustReconstructLSBs">
<!-- 0 tests -->
</tbody>
<tbody id="s5.4.#conform-mustReconstructLSBs-0">
<!-- 0 tests -->
</tbody>
<tbody id="s5.4.#conform-reservedFlagsMustBeZero">
<!-- 0 tests -->
</tbody>
<tbody id="s5.4.#conform-reservedFlagsMustBeZero-0">
<!-- 0 tests -->
</tbody>
<tbody id="s5.4.#conform-tableOrdering">
<!-- 0 tests -->
</tbody>
<tbody id="s5.4.#conform-transformFlagsMustBeSet">
<!-- 0 tests -->
</tbody>
<tbody id="s5.4.#conform-transformFlagsMustBeSet-0">
<!-- 0 tests -->
</tbody>
<tbody id="s5.5">
<tr><th colspan="4" scope="rowgroup">
<a href="#s5.5">+</a>
<a href="https://www.w3.org/TR/WOFF2/#table_order">5.5 Table order constraints</a></th></tr>
<!-- 0 tests -->
</tbody>
<tbody id="s5.5.#conform-tableOrdering">
<!-- 0 tests -->
</tbody>
</table>
</body>
</html>