Commits:
6 changed files:
Changes:
freetype2/docs/hinting/subpixel-hinting.html
... |
... |
@@ -191,7 +191,7 @@ |
191
|
191
|
<p>No upside without a downside, though. What made v38 so
|
192
|
192
|
slow was its attempt to implement the hacks Microsoft
|
193
|
193
|
describes in
|
194
|
|
- a <a href="">"https://www.microsoft.com/typography/cleartype/truetypecleartype.aspx">whitepaper</a>
|
|
194
|
+ a <a href="">"https://learn.microsoft.com/en-us/typography/cleartype/truetypecleartype">whitepaper</a>
|
195
|
195
|
for their interpreter and rasterizer <em>and</em> a
|
196
|
196
|
configuration layer on top of that so fonts could be
|
197
|
197
|
specially handled down to single glyphs. Given the bugs
|
index.html
... |
... |
@@ -614,7 +614,7 @@ |
614
|
614
|
<h3>Reference Sites</h3>
|
615
|
615
|
|
616
|
616
|
<div class="quote">
|
617
|
|
- <p><a href="">"https://www.microsoft.com/typography/">Microsoft
|
|
617
|
+ <p><a href="">"https://learn.microsoft.com/en-us/typography/">Microsoft
|
618
|
618
|
Typography</a> – Microsoft's OpenType
|
619
|
619
|
specification and developing tools<br>
|
620
|
620
|
|
opentype/index.html
... |
... |
@@ -77,7 +77,7 @@ extension tables (also formerly known as <em>TrueType Open</em>). |
77
|
77
|
<li>
|
78
|
78
|
<font size="+1"><b>Related sites and information</b></font><br>
|
79
|
79
|
<ul>
|
80
|
|
- <a href="">"http://www.microsoft.com/typography/tt/tt.htm">The OpenType Specification</a><br>
|
|
80
|
+ <a href="">"https://learn.microsoft.com/en-us/typography/opentype/spec/">The OpenType Specification</a><br>
|
81
|
81
|
<p>
|
82
|
82
|
</ul>
|
83
|
83
|
<p>
|
patents.html
... |
... |
@@ -166,7 +166,7 @@ |
166
|
166
|
<p>Please note that above claims do <em>not</em> cover the
|
167
|
167
|
enhanced interpretation of TrueType bytecode
|
168
|
168
|
instructions as discussed
|
169
|
|
- in <a href="">"https://www.microsoft.com/typography/cleartype/truetypecleartype.aspx">Greg
|
|
169
|
+ in <a href="">"https://learn.microsoft.com/en-us/typography/cleartype/truetypecleartype">Greg
|
170
|
170
|
Hitchcock's whitepaper</a>.</p>
|
171
|
171
|
</div>
|
172
|
172
|
|
ttfautohint/doc/ttfautohint.html
... |
... |
@@ -2985,7 +2985,7 @@ |
2985
|
2985
|
<p>The user can also select whether uncovered glyphs are either hinted (which is the default) or scaled only with the fallback script’s scaling parameters. This can be controlled with option <a href="">"#fallback-script"><code>--fallback-scaling</code></a>. Note that fallback scaling only makes sense if the fallback script has x height blue zones, e.g., <code>cyrl</code> or <code>latn</code>.</p>
|
2986
|
2986
|
<p>As a special case, specifying <code>none</code> as a fallback script and switching on fallback scaling (‘<code>-f none -S</code>’), no hinting is applied at all to uncovered glyphs – using <code>none</code> always implies a scaling factor of 1.</p>
|
2987
|
2987
|
<h2 id="opentype-features">OpenType Features</h2>
|
2988
|
|
-<p>(Please read the <a href="">"https://www.microsoft.com/typography/otspec">OpenType specification</a> for details on <em>features</em>, <code>GSUB</code>, and <code>GPOS</code> tables, and how they relate to scripts.)</p>
|
|
2988
|
+<p>(Please read the <a href="">"https://learn.microsoft.com/en-us/typography/opentype/spec/">OpenType specification</a> for details on <em>features</em>, <code>GSUB</code>, and <code>GPOS</code> tables, and how they relate to scripts.)</p>
|
2989
|
2989
|
<p>For modern OpenType fonts, character ranges are not sufficient to handle scripts.</p>
|
2990
|
2990
|
<ul>
|
2991
|
2991
|
<li><p>Due to glyph substitution in the font (as specified in a font’s <code>GSUB</code> table), which handles ligatures and similar typographic features, there is no longer a one-to-one mapping from an input Unicode character to a glyph index. Some ligatures, like ‘fi’, actually do have Unicode values for historical reasons, but most of them don’t. While it is possible to map ligature glyphs into Unicode’s Private Use Area (PUA), code values from this area are arbitrary by definition and thus unusable for ttfautohint.</p></li>
|
... |
... |
@@ -3153,7 +3153,7 @@ |
3153
|
3153
|
<p><em>[</em> font‑idx <em>]</em> glyph‑id <em><code>t</code>[<code>ouch</code>]|<code>p</code>[<code>oint</code>]</em> points <em>[</em> <em><code>x</code>[<code>shift</code>]</em> x‑shift <em>]</em> <em>[</em> <em><code>y</code>[<code>shift</code>]</em> y‑shift <em>]</em> <em><code>@</code></em> ppems<br />
|
3154
|
3154
|
</p>
|
3155
|
3155
|
</blockquote>
|
3156
|
|
-<p>The mutually exclusive parameters <code>touch</code> and <code>point</code> (which can be abbreviated as ‘<code>t</code>’ and ‘<code>p</code>’, respectively) make ttfautohint apply delta exceptions for the given points, shifting them by the given values. Delta exceptions entered with <code>touch</code> are applied before the final ‘IUP’ (<em>interpolate untouched points</em>) instructions in a glyph’s bytecode, exceptions entered with <code>point</code> after ‘IUP’ (please consult Greg Hitchcock’s <a href="">"https://www.microsoft.com/typography/cleartype/truetypecleartype.aspx">ClearType Whitepaper</a> for more on pre-IUP and post-IUP delta hints). Additionally, the <code>touch</code> parameter makes the bytecode <em>touch</em> the affected points; such points are no longer affected by ‘IUP’ at all. Note that in ClearType mode all deltas along the x axis are discarded, and deltas along the y axis are only executed for touched points. As a consequence, vertical delta exceptions entered with <code>point</code> should not be used in ClearType mode.<a href="">"#fn3" class="footnote-ref" id="fnref3" role="doc-noteref"><sup>3</sup></a></p>
|
|
3156
|
+<p>The mutually exclusive parameters <code>touch</code> and <code>point</code> (which can be abbreviated as ‘<code>t</code>’ and ‘<code>p</code>’, respectively) make ttfautohint apply delta exceptions for the given points, shifting them by the given values. Delta exceptions entered with <code>touch</code> are applied before the final ‘IUP’ (<em>interpolate untouched points</em>) instructions in a glyph’s bytecode, exceptions entered with <code>point</code> after ‘IUP’ (please consult Greg Hitchcock’s <a href="">"https://learn.microsoft.com/en-us/typography/cleartype/truetypecleartype">ClearType Whitepaper</a> for more on pre-IUP and post-IUP delta hints). Additionally, the <code>touch</code> parameter makes the bytecode <em>touch</em> the affected points; such points are no longer affected by ‘IUP’ at all. Note that in ClearType mode all deltas along the x axis are discarded, and deltas along the y axis are only executed for touched points. As a consequence, vertical delta exceptions entered with <code>point</code> should not be used in ClearType mode.<a href="">"#fn3" class="footnote-ref" id="fnref3" role="doc-noteref"><sup>3</sup></a></p>
|
3157
|
3157
|
<p><em>ppems</em>, similar to <em>points</em>, are number ranges, see ‘<a href="">"#x-height-snapping-exceptions">x Height Snapping Exceptions</a>’ for the syntax.</p>
|
3158
|
3158
|
<p><em>x‑shift</em> and <em>y‑shift</em> represent real numbers that get rounded to multiples of 1/8 pixels. The entries for <code>xshift</code> (‘<code>x</code>’) and <code>yshift</code> (‘<code>y</code>’) are optional; if missing, the corresponding value is set to zero. If both values are zero, the delta exception entry is ignored as a whole.</p>
|
3159
|
3159
|
<p>Values for <em>x‑shift</em> and <em>y‑shift</em> must be in the range [−1.0;1.0]. Values for <em>ppems</em> must be in the range [6;53]. Values for <em>points</em> are limited by the number of points in the glyph.</p>
|
ttfautohint/index.html
... |
... |
@@ -389,7 +389,7 @@ |
389
|
389
|
<p><strong>Emit the actions in the high-level hinting
|
390
|
390
|
command languages</strong> – those used in other
|
391
|
391
|
tools, such as
|
392
|
|
- <a href="">"https://www.microsoft.com/typography/tools/vtt.aspx">Visual
|
|
392
|
+ <a href="">"https://learn.microsoft.com/en-us/typography/tools/vtt/">Visual
|
393
|
393
|
TrueType (VTT)</a> or
|
394
|
394
|
<a href="">"https://www.fontlab.com/">FontLab</a>, instead
|
395
|
395
|
of only emitting final low-level bytecode. This will
|
|