-
-
Notifications
You must be signed in to change notification settings - Fork 35
Expand file tree
/
Copy pathMORX-21.html
More file actions
56 lines (51 loc) · 3.91 KB
/
Copy pathMORX-21.html
File metadata and controls
56 lines (51 loc) · 3.91 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<?xml version="1.0" encoding="UTF-8"?>
<html xmlns:ft="https://github.com/OpenType/fonttest"
xmlns:xlink="http://www.w3.org/1999/xlink">
<body>
<h3 id="MORX-21">MORX-21: Contextual Glyph Substitution with SetMark</h3>
<div class="desc">
The <a href="../fonts/TestMORXTwentyone.ttf">font</a> for this test case has
an <a href="https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6morx.html"
>AAT Extended Glyph Metamorphosis Table</a>
with a single <em>Contextual Glyph Substitution Subtable</em>. Its finite-state machine
contains a single state with the following transitions:
</div>
<ul class="desc">
<li>For glyph <em>B</em>, the transition carries the
<em>SetMark</em> flag.</li>
<li>For glyph <em>D</em>, the transition carries the
<em>SetMark</em> flag. Also, it replaces the marked glyph
with a circled form.</li>
</ul>
<div class="desc">
The input string for this test is <em>ABCDE</em>. If your rendering
system correctly implements <em>Apple Advanced Typography,</em> it
should do the following when processing the transition
for <em>D:</em> first, it should replace the marked glyph <em>B</em>
by a circled form. Second, it should reset the marked glyph index
to <em>D.</em> Therefore, <em>only</em> the <em>B</em> letter should
be encircled in the rendered result. If the <em>D</em> is encircled,
your implementation should be fixed to reset the marked glyph index
<em>after</em> performing the replacement.
</div>
<table>
<tr>
<tr>
<th></th>
<th style="text-align:center">ABCDE</th>
</tr>
<th>Expected</th>
<td class="expected" ft:id="MORX-21/1" ft:render="ABCDE"
ft:font="TestMORXTwentyone.ttf"><svg version="1.1" viewBox="0 -200 3465 1200"><symbol id="MORX-21/1.A" overflow="visible"><path d="M459,221 L176,221 L91,0 L0,0 L279,717 L360,717 L638,0 L545,0 Z M352,517 Q345,537 335,568 Q325,599 318,624 Q303,564 287,517 L206,301 L432,301 Z" /></symbol><symbol id="MORX-21/1.B.alt" overflow="visible"><path d="M500,769 Q612,769 706,713 Q801,658 856,563 Q912,469 912,357 Q912,245 856,150 Q801,56 706,0 Q612,-55 500,-55 Q388,-55 293,0 Q199,56 143,150 Q88,245 88,357 Q88,469 143,563 Q199,658 293,713 Q388,769 500,769 Z M500,1 Q597,1 678,49 Q760,97 808,178 Q856,260 856,357 Q856,454 808,535 Q760,617 678,665 Q597,713 500,713 Q403,713 321,665 Q240,617 192,535 Q144,454 144,357 Q144,260 192,178 Q240,97 321,49 Q403,1 500,1 Z M596,372 Q642,360 665,333 Q688,307 688,268 Q688,210 646,177 Q604,145 531,145 L371,145 L371,574 L503,574 Q590,574 632,549 Q675,524 675,466 Q675,393 596,372 Z M440,395 L513,395 Q564,395 584,410 Q604,426 604,460 Q604,492 580,506 Q557,521 505,521 L440,521 Z M521,198 Q617,198 617,273 Q617,343 517,343 L440,343 L440,198 Z" /></symbol><symbol id="MORX-21/1.C" overflow="visible"><path d="M392,645 Q277,645 211,568 Q145,491 145,357 Q145,221 207,145 Q270,69 391,69 Q468,69 562,97 L562,19 Q522,4 479,-3 Q436,-10 378,-10 Q217,-10 133,87 Q50,185 50,358 Q50,467 90,549 Q130,632 207,678 Q285,724 393,724 Q448,724 498,713 Q549,702 590,682 L554,606 Q468,645 392,645 Z" /></symbol><symbol id="MORX-21/1.D" overflow="visible"><path d="M669,364 Q669,185 571,92 Q474,0 296,0 L97,0 L97,714 L317,714 Q481,714 575,623 Q669,533 669,364 Z M574,361 Q574,501 505,569 Q436,637 304,637 L187,637 L187,77 L284,77 Q429,77 501,148 Q574,220 574,361 Z" /></symbol><symbol id="MORX-21/1.E" overflow="visible"><path d="M97,0 L97,714 L496,714 L496,635 L187,635 L187,412 L478,412 L478,334 L187,334 L187,79 L496,79 L496,0 Z" /></symbol><use x="0" y="0" xlink:href="#MORX-21/1.A" /><use x="639" y="0" xlink:href="#MORX-21/1.B.alt" /><use x="1639" y="0" xlink:href="#MORX-21/1.C" /><use x="2235" y="0" xlink:href="#MORX-21/1.D" /><use x="2909" y="0" xlink:href="#MORX-21/1.E" /></svg></td>
</tr>
<tr>
<th>Observed</th>
<td class="observed" ft:id="MORX-21/1"/>
</tr>
<tr>
<th class="conformance-header">Conformance</th>
<td class="conformance" ft:id="MORX-21/1"/>
</tr>
</table>
</body>
</html>