|
57 | 57 | "html": "<p>Start a load of <var>patch file</var> (if not already previously started) by invoking <a data-link-type=\"abstract-op\" href=\"https://w3c.github.io/IFT/Overview.html#abstract-opdef-load-patch-file\" id=\"ref-for-abstract-opdef-load-patch-file\">Load patch file</a> with the <var>initial font URL</var> as the initial font URL and the first patch URL string in <var>entry</var> as the patch URL string. If there are any other URL strings in <var>entry</var>, then initiate loads for those using the same procedure. These may be used during future iterations of this algorithm.\nAdditionally the client may optionally start loads using the same procedure for any entries in <var>entry list</var> which will not be <a href=\"https://w3c.github.io/IFT/Overview.html#font-patch-invalidations\">invalidated</a> by <var>entry</var>. The total number of patches that a client can load and apply during a single execution\nof this algorithm is limited to:</p>\n <ul>\n <li data-md=\"\">\n <p>At most 100 patches which are <a data-link-type=\"dfn\" href=\"https://w3c.github.io/IFT/Overview.html#partial-invalidation\" id=\"ref-for-partial-invalidation\">Partial Invalidation</a> or <a data-link-type=\"dfn\" href=\"https://w3c.github.io/IFT/Overview.html#full-invalidation\" id=\"ref-for-full-invalidation\">Full Invalidation</a>.</p>\n </li><li data-md=\"\">\n <p>At most 2000 patches of any type.</p>\n </li></ul>\n <p>Can be loaded and applied during a single invocation of this algorithm. If either count has been exceeded this is an error invoke <a data-link-type=\"abstract-op\" href=\"https://w3c.github.io/IFT/Overview.html#abstract-opdef-handle-errors\" id=\"ref-for-abstract-opdef-handle-errors②\">Handle errors</a>.</p>"
|
58 | 58 | },
|
59 | 59 | {
|
60 |
| - "html": "<p>Once the load for <var>patch file</var> is finished, apply it using the appropriate application algorithm (matching the patches format in <var>entry</var>) from <a href=\"https://w3c.github.io/IFT/Overview.html#font-patch-formats\">§ 6 Font Patch Formats</a> to apply the <var>patch file</var> using the patch URL string and the compatibility id from <var>entry</var> to <var>extended font subset</var>.</p>" |
| 60 | + "html": "<p>Once the load for <var>patch file</var> is finished, apply it using the appropriate application algorithm (matching the patches format in <var>entry</var>) from <a href=\"https://w3c.github.io/IFT/Overview.html#font-patch-formats\">§ 6 Font Patch Formats</a> to apply the <var>patch file</var> using the patch URL string and the compatibility id from <var>entry</var> to <var>extended font subset</var>. If the load for <var>patch file</var> resulted in an error, handle it according\n to <a data-link-type=\"abstract-op\" href=\"https://w3c.github.io/IFT/Overview.html#abstract-opdef-handle-errors\" id=\"ref-for-abstract-opdef-handle-errors③\">Handle errors</a>.</p>" |
61 | 61 | },
|
62 | 62 | {
|
63 | 63 | "html": "<p>Go to step 2.</p>"
|
|
87 | 87 | "rationale": "parse",
|
88 | 88 | "steps": [
|
89 | 89 | {
|
90 |
| - "html": "<p>Parse <var>patch URL string</var> into a <a href=\"https://url.spec.whatwg.org/#concept-url\">URL Record</a> using <a href=\"https://url.spec.whatwg.org/#url-parsing\">URL Standard § url-parsing</a>. <var>initial font URL</var> is the <a href=\"https://url.spec.whatwg.org/#concept-base-url\">base URL</a> and encoding is UTF-8. Store the result\n in <var>target URL</var>.</p>" |
| 90 | + "html": "<p>Parse <var>patch URL string</var> into a <a href=\"https://url.spec.whatwg.org/#concept-url\">URL Record</a> using <a href=\"https://url.spec.whatwg.org/#url-parsing\">URL Standard § url-parsing</a>. <var>initial font URL</var> is the <a href=\"https://url.spec.whatwg.org/#concept-base-url\">base URL</a> and encoding is UTF-8. Store the result\n in <var>target URL</var>. If URL parsing failed, then return an error.</p>" |
91 | 91 | },
|
92 | 92 | {
|
93 | 93 | "html": "<p>Retrieve the contents of <var>target URL</var> using the fetching capabilities of the implementing user agent. For web browsers, <a data-link-type=\"biblio\" href=\"https://w3c.github.io/IFT/Overview.html#biblio-fetch\" title=\"Fetch Standard\">[FETCH]</a> should be used. When using <a data-link-type=\"biblio\" href=\"https://w3c.github.io/IFT/Overview.html#biblio-fetch\" title=\"Fetch Standard\">[FETCH]</a> a request for patches should use the same CORS settings as the initial request for\n the IFT font. This means that for a font loaded via CSS the patch request would follow: <a href=\"https://www.w3.org/TR/css-fonts-4/#font-fetching-requirements\"><cite>CSS Fonts 4</cite> § 4.8.2 Font fetching requirements</a>.</p>"
|
|
98 | 98 | ]
|
99 | 99 | },
|
100 | 100 | {
|
101 |
| - "html": "The following selection criteria minimizes round trips and must be used by the client when selecting a single partial or full invalidation patch in step 8\nof <a data-link-type=\"abstract-op\" href=\"https://w3c.github.io/IFT/Overview.html#abstract-opdef-extend-an-incremental-font-subset\" id=\"ref-for-abstract-opdef-extend-an-incremental-font-subset①\">Extend an Incremental Font Subset</a>:", |
| 101 | + "html": "The following selection criteria minimizes round trips and must be used by the client when selecting a single partial or full invalidation patch in step 8\nof <a data-link-type=\"abstract-op\" href=\"https://w3c.github.io/IFT/Overview.html#abstract-opdef-extend-an-incremental-font-subset\" id=\"ref-for-abstract-opdef-extend-an-incremental-font-subset②\">Extend an Incremental Font Subset</a>:", |
102 | 102 | "rationale": "if",
|
103 | 103 | "steps": [
|
104 | 104 | {
|
105 |
| - "html": "<p>If one or more candidate entries have previously had their associated patch file loaded by step 9 of <a data-link-type=\"abstract-op\" href=\"https://w3c.github.io/IFT/Overview.html#abstract-opdef-extend-an-incremental-font-subset\" id=\"ref-for-abstract-opdef-extend-an-incremental-font-subset②\">Extend an Incremental Font Subset</a>,\nthen in the following steps only consider candidate entries whose patch file is already loaded or is currently being loaded. Otherwise consider all\ncandidate entries.</p>" |
| 105 | + "html": "<p>If one or more candidate entries have previously had their associated patch file loaded by step 9 of <a data-link-type=\"abstract-op\" href=\"https://w3c.github.io/IFT/Overview.html#abstract-opdef-extend-an-incremental-font-subset\" id=\"ref-for-abstract-opdef-extend-an-incremental-font-subset③\">Extend an Incremental Font Subset</a>,\nthen in the following steps only consider candidate entries whose patch file is already loaded or is currently being loaded. Otherwise consider all\ncandidate entries.</p>" |
106 | 106 | },
|
107 | 107 | {
|
108 | 108 | "html": "<p>For each candidate entry: compute a total subset definition by unioning that entry’s subset definition and the subset definition of all child entries\n reachable via the graph of referenced child entries.</p>"
|
|
123 | 123 | "rationale": "invoke",
|
124 | 124 | "steps": [
|
125 | 125 | {
|
126 |
| - "html": "<p>Invoke <a data-link-type=\"abstract-op\" href=\"https://w3c.github.io/IFT/Overview.html#abstract-opdef-extend-an-incremental-font-subset\" id=\"ref-for-abstract-opdef-extend-an-incremental-font-subset⑦\">Extend an Incremental Font Subset</a> with <var>font subset</var>. The input target subset definition is a special one which\nis considered to intersect all entries in the <a data-link-type=\"abstract-op\" href=\"https://w3c.github.io/IFT/Overview.html#abstract-opdef-check-entry-intersection\" id=\"ref-for-abstract-opdef-check-entry-intersection②\">Check entry intersection</a> step. Return the resulting font subset as\nthe <var>expanded font</var>.</p>" |
| 126 | + "html": "<p>Invoke <a data-link-type=\"abstract-op\" href=\"https://w3c.github.io/IFT/Overview.html#abstract-opdef-extend-an-incremental-font-subset\" id=\"ref-for-abstract-opdef-extend-an-incremental-font-subset⑧\">Extend an Incremental Font Subset</a> with <var>font subset</var>. The input target subset definition is a special one which\nis considered to intersect all entries in the <a data-link-type=\"abstract-op\" href=\"https://w3c.github.io/IFT/Overview.html#abstract-opdef-check-entry-intersection\" id=\"ref-for-abstract-opdef-check-entry-intersection②\">Check entry intersection</a> step. Return the resulting font subset as\nthe <var>expanded font</var>.</p>" |
127 | 127 | }
|
128 | 128 | ]
|
129 | 129 | },
|
|
0 commit comments