-
-
Notifications
You must be signed in to change notification settings - Fork 35
Expand file tree
/
Copy pathMORX-32.html
More file actions
77 lines (65 loc) · 12.9 KB
/
Copy pathMORX-32.html
File metadata and controls
77 lines (65 loc) · 12.9 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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<?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-32">MORX-32: Insertion At Mark Without SetMark</h3>
<div class="desc">
The <a href="../fonts/TestMORXThirtytwo.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>Glyph Insertion Subtable</em>. Its finite-state machine
contains the following transitions:
</div>
<ul class="desc">
<li>For glyph <em>A</em>, the transition inserts the string <em>INS</em>
before the currently marked glyph.</li>
<li>For glyph <em>B</em>, the transition inserts the string <em>INS</em>
after the currently marked glyph.</li>
<li>For any other glyphs and “end of text”, the transition carries
no flags and performs no insertions.</li>
</ul>
<div class="desc">
The test cases check what happens when inserting glyphs without
setting the mark. We expect that implementations match the buggy
behavior of Apple’s CoreText, since the existing fonts have been
developed for that platform. See
also <a href="https://github.com/harfbuzz/harfbuzz/issues/1195"
>HarfBuzz bug 1195</a>.
</div>
<table>
<tr>
<td> </td>
<td><em>A</em></td>
<td><em>XAY</em></td>
<td><em>B</em></td>
<td><em>XBY</em></td>
</tr>
<tr>
<th>Expected</th>
<td class="expected" ft:id="MORX-32/1" ft:render="A"
ft:font="TestMORXThirtytwo.ttf"><svg version="1.1" viewBox="0 -200 3320 1200"><symbol id="MORX-32/1.I" overflow="visible"><path d="M151,-28 Q30,-28 30,94 L30,620 Q30,742 151,742 L678,742 Q800,742 800,620 L800,94 Q800,-28 678,-28 Z M678,2 Q726,2 748,24 Q770,46 770,94 L770,620 Q770,668 748,690 Q726,712 678,712 L151,712 Q104,712 82,690 Q60,668 60,620 L60,94 Q60,46 82,24 Q104,2 151,2 Z M314,223 L363,240 L363,473 L314,490 L314,550 L516,550 L516,490 L468,473 L468,240 L516,223 L516,163 L314,163 Z" /></symbol><symbol id="MORX-32/1.N" overflow="visible"><path d="M151,-28 Q30,-28 30,94 L30,620 Q30,742 151,742 L678,742 Q800,742 800,620 L800,94 Q800,-28 678,-28 Z M678,2 Q726,2 748,24 Q770,46 770,94 L770,620 Q770,668 748,690 Q726,712 678,712 L151,712 Q104,712 82,690 Q60,668 60,620 L60,94 Q60,46 82,24 Q104,2 151,2 Z M462,163 L321,435 L319,435 Q319,435 320,426 Q321,417 321,402 Q322,387 323,369 Q324,352 324,337 L324,163 L231,163 L231,550 L367,550 L509,282 L511,282 Q511,282 510,290 Q510,299 509,314 Q508,329 507,345 Q507,361 507,376 L507,550 L600,550 L600,163 Z" /></symbol><symbol id="MORX-32/1.S" overflow="visible"><path d="M151,-28 Q30,-28 30,94 L30,620 Q30,742 151,742 L678,742 Q800,742 800,620 L800,94 Q800,-28 678,-28 Z M678,2 Q726,2 748,24 Q770,46 770,94 L770,620 Q770,668 748,690 Q726,712 678,712 L151,712 Q104,712 82,690 Q60,668 60,620 L60,94 Q60,46 82,24 Q104,2 151,2 Z M549,281 Q549,249 533,221 Q518,193 484,176 Q451,159 399,159 Q373,159 353,161 Q334,163 317,168 Q300,174 281,183 L281,276 Q312,259 343,250 Q375,242 402,242 Q424,242 435,250 Q446,259 446,271 Q446,287 430,295 Q414,304 376,322 Q348,335 327,350 Q306,365 294,386 Q283,408 283,440 Q283,478 301,503 Q320,528 352,540 Q385,553 429,553 Q465,553 495,544 Q526,535 549,526 L518,445 Q493,457 469,463 Q445,470 425,470 Q404,470 395,463 Q386,456 386,445 Q386,436 393,429 Q401,422 417,413 Q433,405 461,392 Q490,380 509,365 Q529,351 539,331 Q549,311 549,281 Z" /></symbol><symbol id="MORX-32/1.A" overflow="visible"><path d="M151,-28 Q30,-28 30,94 L30,620 Q30,742 151,742 L678,742 Q800,742 800,620 L800,94 Q800,-28 678,-28 Z M391,386 Q409,454 415,491 Q419,468 434,411 L440,386 L457,322 L375,322 Z M353,236 L479,236 L498,163 L613,163 L485,552 L345,552 L218,163 L333,163 Z" /></symbol><use x="0" y="0" xlink:href="#MORX-32/1.I" /><use x="830" y="0" xlink:href="#MORX-32/1.N" /><use x="1660" y="0" xlink:href="#MORX-32/1.S" /><use x="2490" y="0" xlink:href="#MORX-32/1.A" /></svg></td>
<td class="expected" ft:id="MORX-32/2" ft:render="XAY"
ft:font="TestMORXThirtytwo.ttf"><svg version="1.1" viewBox="0 -200 4016 1200"><symbol id="MORX-32/2.I" overflow="visible"><path d="M151,-28 Q30,-28 30,94 L30,620 Q30,742 151,742 L678,742 Q800,742 800,620 L800,94 Q800,-28 678,-28 Z M678,2 Q726,2 748,24 Q770,46 770,94 L770,620 Q770,668 748,690 Q726,712 678,712 L151,712 Q104,712 82,690 Q60,668 60,620 L60,94 Q60,46 82,24 Q104,2 151,2 Z M314,223 L363,240 L363,473 L314,490 L314,550 L516,550 L516,490 L468,473 L468,240 L516,223 L516,163 L314,163 Z" /></symbol><symbol id="MORX-32/2.N" overflow="visible"><path d="M151,-28 Q30,-28 30,94 L30,620 Q30,742 151,742 L678,742 Q800,742 800,620 L800,94 Q800,-28 678,-28 Z M678,2 Q726,2 748,24 Q770,46 770,94 L770,620 Q770,668 748,690 Q726,712 678,712 L151,712 Q104,712 82,690 Q60,668 60,620 L60,94 Q60,46 82,24 Q104,2 151,2 Z M462,163 L321,435 L319,435 Q319,435 320,426 Q321,417 321,402 Q322,387 323,369 Q324,352 324,337 L324,163 L231,163 L231,550 L367,550 L509,282 L511,282 Q511,282 510,290 Q510,299 509,314 Q508,329 507,345 Q507,361 507,376 L507,550 L600,550 L600,163 Z" /></symbol><symbol id="MORX-32/2.S" overflow="visible"><path d="M151,-28 Q30,-28 30,94 L30,620 Q30,742 151,742 L678,742 Q800,742 800,620 L800,94 Q800,-28 678,-28 Z M678,2 Q726,2 748,24 Q770,46 770,94 L770,620 Q770,668 748,690 Q726,712 678,712 L151,712 Q104,712 82,690 Q60,668 60,620 L60,94 Q60,46 82,24 Q104,2 151,2 Z M549,281 Q549,249 533,221 Q518,193 484,176 Q451,159 399,159 Q373,159 353,161 Q334,163 317,168 Q300,174 281,183 L281,276 Q312,259 343,250 Q375,242 402,242 Q424,242 435,250 Q446,259 446,271 Q446,287 430,295 Q414,304 376,322 Q348,335 327,350 Q306,365 294,386 Q283,408 283,440 Q283,478 301,503 Q320,528 352,540 Q385,553 429,553 Q465,553 495,544 Q526,535 549,526 L518,445 Q493,457 469,463 Q445,470 425,470 Q404,470 395,463 Q386,456 386,445 Q386,436 393,429 Q401,422 417,413 Q433,405 461,392 Q490,380 509,365 Q529,351 539,331 Q549,311 549,281 Z" /></symbol><symbol id="MORX-32/2.X" overflow="visible"><path d="M9,527 L116,527 L181,417 L243,527 L353,527 L240,345 L361,170 L250,170 L180,282 L111,170 L2,170 L121,353 Z" /></symbol><symbol id="MORX-32/2.A" overflow="visible"><path d="M151,-28 Q30,-28 30,94 L30,620 Q30,742 151,742 L678,742 Q800,742 800,620 L800,94 Q800,-28 678,-28 Z M391,386 Q409,454 415,491 Q419,468 434,411 L440,386 L457,322 L375,322 Z M353,236 L479,236 L498,163 L613,163 L485,552 L345,552 L218,163 L333,163 Z" /></symbol><symbol id="MORX-32/2.Y" overflow="visible"><path d="M0,527 L105,527 L166,395 L228,527 L332,527 L215,310 L215,170 L118,170 L118,307 Z" /></symbol><use x="0" y="0" xlink:href="#MORX-32/2.I" /><use x="830" y="0" xlink:href="#MORX-32/2.N" /><use x="1660" y="0" xlink:href="#MORX-32/2.S" /><use x="2490" y="0" xlink:href="#MORX-32/2.X" /><use x="2854" y="0" xlink:href="#MORX-32/2.A" /><use x="3684" y="0" xlink:href="#MORX-32/2.Y" /></svg></td>
<td class="expected" ft:id="MORX-32/3" ft:render="B"
ft:font="TestMORXThirtytwo.ttf"><svg version="1.1" viewBox="0 -200 3320 1200"><symbol id="MORX-32/3.B" overflow="visible"><path d="M151,-28 Q30,-28 30,94 L30,620 Q30,742 151,742 L678,742 Q800,742 800,620 L800,94 Q800,-28 678,-28 Z M439,163 Q508,163 547,193 Q587,224 587,277 Q587,319 567,339 Q548,359 518,366 L518,369 Q544,376 561,397 Q579,419 579,454 Q579,502 542,526 Q506,550 424,550 L289,550 L289,163 Z M423,472 Q472,472 472,439 Q472,422 461,412 Q450,402 425,402 L393,402 L393,472 Z M429,326 Q455,326 467,314 Q479,303 479,285 Q479,244 430,244 L393,244 L393,326 Z" /></symbol><symbol id="MORX-32/3.I" overflow="visible"><path d="M151,-28 Q30,-28 30,94 L30,620 Q30,742 151,742 L678,742 Q800,742 800,620 L800,94 Q800,-28 678,-28 Z M678,2 Q726,2 748,24 Q770,46 770,94 L770,620 Q770,668 748,690 Q726,712 678,712 L151,712 Q104,712 82,690 Q60,668 60,620 L60,94 Q60,46 82,24 Q104,2 151,2 Z M314,223 L363,240 L363,473 L314,490 L314,550 L516,550 L516,490 L468,473 L468,240 L516,223 L516,163 L314,163 Z" /></symbol><symbol id="MORX-32/3.N" overflow="visible"><path d="M151,-28 Q30,-28 30,94 L30,620 Q30,742 151,742 L678,742 Q800,742 800,620 L800,94 Q800,-28 678,-28 Z M678,2 Q726,2 748,24 Q770,46 770,94 L770,620 Q770,668 748,690 Q726,712 678,712 L151,712 Q104,712 82,690 Q60,668 60,620 L60,94 Q60,46 82,24 Q104,2 151,2 Z M462,163 L321,435 L319,435 Q319,435 320,426 Q321,417 321,402 Q322,387 323,369 Q324,352 324,337 L324,163 L231,163 L231,550 L367,550 L509,282 L511,282 Q511,282 510,290 Q510,299 509,314 Q508,329 507,345 Q507,361 507,376 L507,550 L600,550 L600,163 Z" /></symbol><symbol id="MORX-32/3.S" overflow="visible"><path d="M151,-28 Q30,-28 30,94 L30,620 Q30,742 151,742 L678,742 Q800,742 800,620 L800,94 Q800,-28 678,-28 Z M678,2 Q726,2 748,24 Q770,46 770,94 L770,620 Q770,668 748,690 Q726,712 678,712 L151,712 Q104,712 82,690 Q60,668 60,620 L60,94 Q60,46 82,24 Q104,2 151,2 Z M549,281 Q549,249 533,221 Q518,193 484,176 Q451,159 399,159 Q373,159 353,161 Q334,163 317,168 Q300,174 281,183 L281,276 Q312,259 343,250 Q375,242 402,242 Q424,242 435,250 Q446,259 446,271 Q446,287 430,295 Q414,304 376,322 Q348,335 327,350 Q306,365 294,386 Q283,408 283,440 Q283,478 301,503 Q320,528 352,540 Q385,553 429,553 Q465,553 495,544 Q526,535 549,526 L518,445 Q493,457 469,463 Q445,470 425,470 Q404,470 395,463 Q386,456 386,445 Q386,436 393,429 Q401,422 417,413 Q433,405 461,392 Q490,380 509,365 Q529,351 539,331 Q549,311 549,281 Z" /></symbol><use x="0" y="0" xlink:href="#MORX-32/3.B" /><use x="830" y="0" xlink:href="#MORX-32/3.I" /><use x="1660" y="0" xlink:href="#MORX-32/3.N" /><use x="2490" y="0" xlink:href="#MORX-32/3.S" /></svg></td>
<td class="expected" ft:id="MORX-32/4" ft:render="XBY"
ft:font="TestMORXThirtytwo.ttf"><svg version="1.1" viewBox="0 -200 4016 1200"><symbol id="MORX-32/4.X" overflow="visible"><path d="M9,527 L116,527 L181,417 L243,527 L353,527 L240,345 L361,170 L250,170 L180,282 L111,170 L2,170 L121,353 Z" /></symbol><symbol id="MORX-32/4.I" overflow="visible"><path d="M151,-28 Q30,-28 30,94 L30,620 Q30,742 151,742 L678,742 Q800,742 800,620 L800,94 Q800,-28 678,-28 Z M678,2 Q726,2 748,24 Q770,46 770,94 L770,620 Q770,668 748,690 Q726,712 678,712 L151,712 Q104,712 82,690 Q60,668 60,620 L60,94 Q60,46 82,24 Q104,2 151,2 Z M314,223 L363,240 L363,473 L314,490 L314,550 L516,550 L516,490 L468,473 L468,240 L516,223 L516,163 L314,163 Z" /></symbol><symbol id="MORX-32/4.N" overflow="visible"><path d="M151,-28 Q30,-28 30,94 L30,620 Q30,742 151,742 L678,742 Q800,742 800,620 L800,94 Q800,-28 678,-28 Z M678,2 Q726,2 748,24 Q770,46 770,94 L770,620 Q770,668 748,690 Q726,712 678,712 L151,712 Q104,712 82,690 Q60,668 60,620 L60,94 Q60,46 82,24 Q104,2 151,2 Z M462,163 L321,435 L319,435 Q319,435 320,426 Q321,417 321,402 Q322,387 323,369 Q324,352 324,337 L324,163 L231,163 L231,550 L367,550 L509,282 L511,282 Q511,282 510,290 Q510,299 509,314 Q508,329 507,345 Q507,361 507,376 L507,550 L600,550 L600,163 Z" /></symbol><symbol id="MORX-32/4.S" overflow="visible"><path d="M151,-28 Q30,-28 30,94 L30,620 Q30,742 151,742 L678,742 Q800,742 800,620 L800,94 Q800,-28 678,-28 Z M678,2 Q726,2 748,24 Q770,46 770,94 L770,620 Q770,668 748,690 Q726,712 678,712 L151,712 Q104,712 82,690 Q60,668 60,620 L60,94 Q60,46 82,24 Q104,2 151,2 Z M549,281 Q549,249 533,221 Q518,193 484,176 Q451,159 399,159 Q373,159 353,161 Q334,163 317,168 Q300,174 281,183 L281,276 Q312,259 343,250 Q375,242 402,242 Q424,242 435,250 Q446,259 446,271 Q446,287 430,295 Q414,304 376,322 Q348,335 327,350 Q306,365 294,386 Q283,408 283,440 Q283,478 301,503 Q320,528 352,540 Q385,553 429,553 Q465,553 495,544 Q526,535 549,526 L518,445 Q493,457 469,463 Q445,470 425,470 Q404,470 395,463 Q386,456 386,445 Q386,436 393,429 Q401,422 417,413 Q433,405 461,392 Q490,380 509,365 Q529,351 539,331 Q549,311 549,281 Z" /></symbol><symbol id="MORX-32/4.B" overflow="visible"><path d="M151,-28 Q30,-28 30,94 L30,620 Q30,742 151,742 L678,742 Q800,742 800,620 L800,94 Q800,-28 678,-28 Z M439,163 Q508,163 547,193 Q587,224 587,277 Q587,319 567,339 Q548,359 518,366 L518,369 Q544,376 561,397 Q579,419 579,454 Q579,502 542,526 Q506,550 424,550 L289,550 L289,163 Z M423,472 Q472,472 472,439 Q472,422 461,412 Q450,402 425,402 L393,402 L393,472 Z M429,326 Q455,326 467,314 Q479,303 479,285 Q479,244 430,244 L393,244 L393,326 Z" /></symbol><symbol id="MORX-32/4.Y" overflow="visible"><path d="M0,527 L105,527 L166,395 L228,527 L332,527 L215,310 L215,170 L118,170 L118,307 Z" /></symbol><use x="0" y="0" xlink:href="#MORX-32/4.X" /><use x="364" y="0" xlink:href="#MORX-32/4.I" /><use x="1194" y="0" xlink:href="#MORX-32/4.N" /><use x="2024" y="0" xlink:href="#MORX-32/4.S" /><use x="2854" y="0" xlink:href="#MORX-32/4.B" /><use x="3684" y="0" xlink:href="#MORX-32/4.Y" /></svg></td>
</tr>
<tr>
<th>Observed</th>
<td class="observed" ft:id="MORX-32/1"/>
<td class="observed" ft:id="MORX-32/2"/>
<td class="observed" ft:id="MORX-32/3"/>
<td class="observed" ft:id="MORX-32/4"/>
</tr>
<tr>
<th class="conformance-header">Conformance</th>
<td class="conformance" ft:id="MORX-32/1"/>
<td class="conformance" ft:id="MORX-32/2"/>
<td class="conformance" ft:id="MORX-32/3"/>
<td class="conformance" ft:id="MORX-32/4"/>
</tr>
</table>
</body>
</html>