Skip to content

Commit

Permalink
[tx_test] Add test for alt layer with glif missing from default layer
Browse files Browse the repository at this point in the history
  • Loading branch information
kaydeearts committed Apr 24, 2023
1 parent 96420a3 commit 183a762
Show file tree
Hide file tree
Showing 137 changed files with 7,375 additions and 0 deletions.
295 changes: 295 additions & 0 deletions tests/tx_data/expected_output/alt-missing-glif.pfb

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
{
'.notdef': ['283ca2a4dcb237acdee4cb2bb677cbc5a9c9cc2fbaaede3cf9c07cc9dfbab8ad054b2308d5fcb76e7a42189d347a9fdff18e3d90ac096ed25e2a01975e3cd11d', ['checkOutlines', 'autohint']],
'A': ['w544l4520l5410l319656l225656l30l880l151200l390200l203367227440248512c268588l272588293512314440c338367l369267l172267', ['checkOutlines', 'autohint']],
'B': ['bd4977f3195ae5d9ee51128baf4232b4cbce2663b0de63a8cf877e31de29998421209050b1a3608b12c296e09ace8d5b7116d5ba4774b14880a4471dd1a4db07', ['checkOutlines', 'autohint']],
'C': ['c6d34c50586b4c9def26d533a6683065251060c70cac59e410bdbad68c4fa14b819ebb4e5b304a9b2c50d944f85ef9e0a5faa8475c1404ba626cbec4ae6fafbe', ['checkOutlines', 'autohint']],
'D': ['w615l900l25804560564122c564331564539456656c254656l90656l17368l173588l248588401588478496c47833147816540168c24868', ['checkOutlines', 'autohint']],
'E': ['w527l900l4780l47871l17371l173309l422309l422380l173380l173586l468586l468656l90656', ['checkOutlines', 'autohint']],
'F': ['w494l900l1730l173294l423294l423364l173364l173586l468586l468656l90656', ['checkOutlines', 'autohint']],
'G': ['2269e36343ed191177dbabff76144dacbac9aebe0a6f66ecfda5a040afe3112ee329d2887a5e0e0281abe1bc579f4734a6ba38e6b8a11e33eefc202564ca1c7f', ['checkOutlines', 'autohint']],
'H': ['w652l900l1730l173309l478309l4780l5620l562656l478656l478381l173381l173656l90656', ['checkOutlines', 'autohint']],
'I': ['w263l900l1730l173656l90656', ['checkOutlines', 'autohint']],
'J': ['w480l31936924129-12c212-12340-1239380c393193l393656l309656l30920130910127461c204611576112083c91135', ['checkOutlines', 'autohint']],
'K': ['w579l900l1730l173208l286341l4820l5750l338406l543656l449656l176327l173327l173656l90656', ['checkOutlines', 'autohint']],
'L': ['w486l900l4600l46071l17371l173656l90656', ['checkOutlines', 'autohint']],
'M': ['3536c1a1bf159a6cc1cd19dbf7f77490b7087f83070bf12462b94617a087f0b85c94b88a08da77a6f2d7048355d76e3ceee72023ce1e348119eec935000270fe', ['checkOutlines', 'autohint']],
'N': ['0876aba1f5d3297dab45b12d67a399dfcad8df5bfa302e64dda7213a0d2e4d9114ceb5eba0c1813a0e72e01f830cd40b9e5ff05e0da452a976195b7017bf3cfc', ['checkOutlines', 'autohint']],
'O': ['979b46dca37c933907e4ee50a973c34c43d643256eba747c98ed0444373dad83225762727112912ee1f2e514723f6a3290d12d86a08b028d9f1d8b512d0fb4c8', ['checkOutlines', 'autohint']],
'P': ['99a6ffe6e4c99a7dae0a8f628e07708a7461acffdccfa5a36b24dc5347196d854f31a0e3edeaa08422daa9b2cfd6dde0a2f3ec38cc4416142ea7d79727dd438b', ['checkOutlines', 'autohint']],
'Q': ['fa67843b2de05ad2f81d4f410a0f7070902baecfd74ca4fe1d6d611addc78b2f261d0b13d7fd41e6c5f1f0dac76b80be1e5b63a2cfe88d56fd79890f8b9bf57d', ['checkOutlines', 'autohint']],
'R': ['2e2ddfebdefdbbe975ec231cb5c08baa9e0b7df47c8a2bb8742f8ce6b1183b167768bfe02522ee55da965ccdba175d75f71974c10cbb09e4be73417a12607d28', ['checkOutlines', 'autohint']],
'S': ['2536f290acb178f160a8fe63035d7dd62277be439fdf2033a7857a5747ae26d5cb9cca1d6eeac2aa1ba4e20fa6aca8871a9f22e080c80ec30d7142953fc61cf7', ['checkOutlines', 'autohint']],
'T': ['w536l2260l3100l310586l508586l508656l28656l28586l226586', ['checkOutlines', 'autohint']],
'U': ['w645l872718760189-12c323-12457-1255860c558271l558656l478656l47826947811141061c3236123761170111c170269l170656l87656', ['checkOutlines', 'autohint']],
'V': ['w515l2100l3070l515656l430656l325302302224286162c26285l25885233162218224c194302l89656l0656', ['checkOutlines', 'autohint']],
'W': ['29c5f20a29e7cc4cdf208439e44a6d7e2f935f6bc370b1c3c725a73f33afb7c06461904917ee051c5aff041b4fd614fbda28d83ff780e634e4a8e0668af95d92', ['checkOutlines', 'autohint']],
'X': ['ca091a711edf624812896f61a17203052f89539bed5eaf9b6823faef971c8d462492193c095a1c7d2e245583ff8593a54ce2e26ef89249b5168805994df234f8', ['checkOutlines', 'autohint']],
'Y': ['w476l1960l2800l280254l477656l390656l306471286423263377c240328l236328214377194423c173471l88656l-1656l196254', ['checkOutlines', 'autohint']],
'Z': ['w539l450l4970l49771l14871l494607l494656l76656l76586l390586l4550', ['checkOutlines', 'autohint']],
'a': ['de48cb1274dfe031af1f28bcccedf34f014209062b8f936b1e535dd834529c5c643d14d29e248ff751577b23228f85c21be6b084d394cc94007d5caffebb14cb', ['checkOutlines', 'autohint']],
'b': ['b92ccc277b1b8ff2f4786afbb30d49146118955c62540a4ee374410c792a7a09b643fbf7a1015d70aee0a6c13d2e1f9ac8579644470b8204077fa9e88d90bf17', ['checkOutlines', 'autohint']],
'c': ['3e4fe6d317a3bf7dcab2360a956cee88dbbc68e9f5e902aa6404f0ed2419a14038e45abb0b9ff9cee5ece3e2a0d22378f9cec6172221bb7c879c03eb2da82bef', ['checkOutlines', 'autohint']],
'd': ['53d6426ae30aa2c6cf8e378d68b16793b3e09389bcdc1b05623dab9bf2317091c5cf94f0ee4cdd2d60f0aded2940984eb8d7eefce38cabbfbd4e31fa4a7ac178', ['checkOutlines', 'autohint']],
'e': ['6aa98885a0e0f8d0f16200bd3466e4347169335ae28f52f23f3312b64c6a076353445948e2753eb9a222b4a12fe1ab193508b86856d6b822a47e8401c07f9564', ['checkOutlines', 'autohint']],
'eight': ['ef0660592f45c493b53cd0ce2f15398d8f62c8e0031c7fc496699d69b00c00e46a409a9cd8adea77904f6be95d921ce5270a62056668c780b537ad6a4caf8344', ['checkOutlines', 'autohint']],
'f': ['82c6633fdaf062e1968b783f8a75e660fd973d741f88fd2f07e4bb5c8f70a4e7224d7559584ce47916598c92b39cb36ff07133e35f20d275fdf55a8dfd662bd2', ['checkOutlines', 'autohint']],
'five': ['f77f171985b4384a3d800540446f1981f117e98f5ead4fba888e096f0796769197ac00300311429d1be21f98be39b50391e8cdb59cd2b1d7d8ca7bc462aea572', ['checkOutlines', 'autohint']],
'four': ['7230c1dedca0df99c20f65c131180d5b64ac1b5334974db98fe8b4b253ff651e65e3b3bcf79f57c09c25547c34523479943930429bc6ab313178b1d39afc823e', ['checkOutlines', 'autohint']],
'g': ['1b4b8136ce1d18bb3a722fe32e3a56f4e9aefce33d5f59e344941604f306cfb9dda1cb45dafd1e46f8c5ef44c7d191eded78b21f3c795088bab1a1622fe0abc7', ['checkOutlines', 'autohint']],
'h': ['07eb4e21c0e691cd448cdd6b84bea1413073adb795366128cde9ec67bd294fceb9bd06554dfd49d32fca9ac7842b69160c8f12f90d8fe79ce26e1740456b9432', ['checkOutlines', 'autohint']],
'hashMapVersion': (1, 0),
'i': ['w246c124586156586181608c181639181671156692c1246929269267671c676396760892586l820l1640l164486l82486', ['checkOutlines', 'autohint']],
'j': ['a398897c5d7d04001a2badd48c884438a0538fed270b8f39d0a052c0445b14e631ff80bf8863a21471bdba4baed35e1e6419028b07aec6e51b10dc2c76a075a4', ['checkOutlines', 'autohint']],
'k': ['w495l820l1630l163128l254234l3960l4860l301291l464486l373486l166230l163230l163712l82712', ['checkOutlines', 'autohint']],
'l': ['w255l82988227107-12c169-12191-12205-9c216-4l205581965619256c187561755616466c16492l164712l82712', ['checkOutlines', 'autohint']],
'm': ['3b9e4f00ba853ad386333eb5397d3500c2249a1aee7560539f19ae61388dc968b4b8fbf041ac6df813d780fac7475492e479876b7b6b65c305a4d1f1e769f78b', ['checkOutlines', 'autohint']],
'n': ['4dacebc2e4a36de6894e4266ab6f54942efba0079d5308f92c1e0b8b9aaefe3759645b28c80aff54e2042af9684e83326a5c8801b4f46439ca1ae1b6f1609afe', ['checkOutlines', 'autohint']],
'nine': ['624954a2e8e85eabe694968c1fe2f6e6b2552c76fd18a5047a705ea1242e714d9902fbc5e43e4137df586d1bd2e2c18e90081ad8e8e33a45987fb89e8eb00538', ['checkOutlines', 'autohint']],
'o': ['2037c95e920bcdfd3f908084912058c14a44570b6c2c7a25ec29e43edc1ef2ed70cb35521349392e9eed4234d2049f8151f2daa880d68acfb81bb8ae72507a0e', ['checkOutlines', 'autohint']],
'one': ['w497l790l4390l43968l30768l307638l244638209617167601c109591l109538l225538l22568l7968', ['checkOutlines', 'autohint']],
'p': ['6d450729f1a6079bb8d9954843e00919ca3d72c7f8782aaf0ed42f43a9701d93109d3a9338789321961977e93f641f127bfb9141ef3efdf59f1f6d84ccfe300a', ['checkOutlines', 'autohint']],
'q': ['d1a20d9995f400e77024d8da1f777ccfc29d009a03e611d4629982d2782edc0c74fac0cc08cfb05a6a473abdb2963e3a2b50e6d30428f48cd3834b5003881639', ['checkOutlines', 'autohint']],
'r': ['w347l820l1640l164312197394246424c287424307424318421c334416l350488334495319498c298498243498193459c160398l157398l150486l82486', ['checkOutlines', 'autohint']],
's': ['7fd2b86537597dcc96d8ace3e8130b479e6aa111fe881941fc608d8a33d6ba55054227577bc12c03eac1616e29d3b106219bc5c10d0208b2414a901392aca743', ['checkOutlines', 'autohint']],
'seven': ['w497c1770l2620273249304394c455587l455638l44638l44567l362567236392188240', ['checkOutlines', 'autohint']],
'six': ['fd7a526bd2bf1c598e866b370dd7922a889f04934dadd38642fd43769fcd873f5f8eee10e8762538401ba53ea4a64b314ae3be5e6478acff2d7f621bb3abce7c', ['checkOutlines', 'autohint']],
'space': ['w202', ['checkOutlines', 'autohint']],
't': ['724ba96fc10dd34314ce80f33ee7f51f2cc5252585423f67c37b9737018e0db656596c66474da9f956188ee6a9fd41bb10512f18eb7995ef7cd2fd5296e6bb39', ['checkOutlines', 'autohint']],
'three': ['4886be41730003bb47d4f647a8518b764191efa3aa83d8c1e446747e7555c20855396dcf9fd2f40b71f7306c69dffbe346cc524384e6cad216cb5566ce2a1df3', ['checkOutlines', 'autohint']],
'two': ['24d026b252c7d6d2a030d2eaa6c19ad8a506205e6c16e8ec89a9967bd35b58d9f8c2be1b78051ab418a93e3ec97b389eb9d038fd723d1e0c983c58d6fd0ca939', ['checkOutlines', 'autohint']],
'u': ['w544l751787554121-12c224-12291-1233923c38476l38776l3940l4620l462486l380486l3801413348429959c249591855915898c158189l158486l75486', ['checkOutlines', 'autohint']],
'v': ['w467l1870l2830l455486l374486l282210268162252113c23867l23467219113203162c189210l97486l12486', ['checkOutlines', 'autohint']],
'w': ['2ea4b8a7d7ff3087d4b143fb61ccd52c7bbefea83f2621ea83acd290d608f5420f5901acf12c09a90c698706b59069e9a9cd491b25e1bb843870e856b5f96517', ['checkOutlines', 'autohint']],
'x': ['c60e1f49a95ba6875b061ad4c854be857877f9b16c1d60ca4ac6242f348cf7f442c9d38142b5acffaf12f7bdce56e5683edf22841a773b2d1e380160313d2687', ['checkOutlines', 'autohint']],
'y': ['d14e2d31ca4e240c0b5c0130ab5367c49328b53fbb3dbe6843e4850856ec272cba1630455ed6acfb3f4185d8e3b4707964fae99e2d3bf183f41c17ea7db51987', ['checkOutlines', 'autohint']],
'z': ['w425l310l3990l39967l13567l391442l391486l59486l59419l287419l3144', ['checkOutlines', 'autohint']],
'zero': ['d8c77fb9b3c0f9a266a500cc9a55d0b870a270cc6affab1f87696fc531c727c150c60060200509eb3bb0279a21a90b4245e39bb9992f482674cec535549888b2', ['checkOutlines', 'autohint']],
}
84 changes: 84 additions & 0 deletions tests/tx_data/input/alt-missing-glif.ufo/fontinfo.plist
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>ascender</key>
<integer>750</integer>
<key>capHeight</key>
<integer>750</integer>
<key>copyright</key>
<string> </string>
<key>descender</key>
<integer>-250</integer>
<key>familyName</key>
<string>Exercise 1</string>
<key>guidelines</key>
<array>
</array>
<key>italicAngle</key>
<integer>0</integer>
<key>postscriptBlueFuzz</key>
<integer>0</integer>
<key>postscriptBlueScale</key>
<real>0.0625</real>
<key>postscriptBlueShift</key>
<integer>7</integer>
<key>postscriptBlueValues</key>
<array>
<integer>-12</integer>
<integer>0</integer>
<integer>486</integer>
<integer>498</integer>
<integer>518</integer>
<integer>530</integer>
<integer>574</integer>
<integer>586</integer>
<integer>638</integer>
<integer>650</integer>
<integer>656</integer>
<integer>668</integer>
<integer>712</integer>
<integer>724</integer>
</array>
<key>postscriptFamilyBlues</key>
<array>
</array>
<key>postscriptFamilyOtherBlues</key>
<array>
</array>
<key>postscriptFontName</key>
<string>Exercise1-Regular</string>
<key>postscriptOtherBlues</key>
<array>
<integer>-217</integer>
<integer>-205</integer>
</array>
<key>postscriptStemSnapH</key>
<array>
<integer>68</integer>
</array>
<key>postscriptStemSnapV</key>
<array>
<integer>82</integer>
<integer>86</integer>
</array>
<key>postscriptUnderlinePosition</key>
<integer>-100</integer>
<key>postscriptUnderlineThickness</key>
<integer>51</integer>
<key>postscriptWeightName</key>
<string>Regular</string>
<key>styleName</key>
<string>Regular</string>
<key>trademark</key>
<string> </string>
<key>unitsPerEm</key>
<integer>1000</integer>
<key>versionMajor</key>
<integer>1</integer>
<key>versionMinor</key>
<integer>0</integer>
<key>xHeight</key>
<integer>500</integer>
</dict>
</plist>
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name="A" format="2">
<unicode hex="0041"/>
<advance width="544"/>
<outline>
<contour>
<point name="hintSet0000" x="452" y="0" type="line"/>
<point x="541" y="0" type="line"/>
<point x="319" y="656" type="line"/>
<point x="225" y="656" type="line"/>
<point x="3" y="0" type="line"/>
<point x="88" y="0" type="line"/>
<point x="151" y="200" type="line"/>
<point x="390" y="200" type="line"/>
</contour>
<contour>
<point x="203" y="367" type="line"/>
<point x="227" y="440"/>
<point x="248" y="512"/>
<point x="268" y="588" type="curve"/>
<point x="272" y="588" type="line"/>
<point x="293" y="512"/>
<point x="314" y="440"/>
<point x="338" y="367" type="curve"/>
<point x="369" y="267" type="line"/>
<point x="172" y="267" type="line"/>
</contour>
</outline>
<lib>
<dict>
<key>com.adobe.type.autohint.v2</key>
<dict>
<key>hintSetList</key>
<array>
<dict>
<key>pointTag</key>
<string>hintSet0000</string>
<key>stems</key>
<array>
<string>hstem 21 -21</string>
<string>hstem 200 67</string>
<string>hstem 588 68</string>
<string>vstem 3 538</string>
</array>
</dict>
</array>
<key>id</key>
<string>w544l4520l5410l319656l225656l30l880l151200l390200l203367227440248512c268588l272588293512314440c338367l369267l172267</string>
</dict>
</dict>
</lib>
</glyph>
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name="B" format="2">
<unicode hex="0042"/>
<advance width="588"/>
<outline>
<contour>
<point name="hintSet0000" x="90" y="0" type="line"/>
<point x="299" y="0" type="line"/>
<point x="446" y="0"/>
<point x="548" y="63"/>
<point x="548" y="192" type="curve"/>
<point x="548" y="282"/>
<point x="492" y="334"/>
<point x="396" y="349" type="curve"/>
<point x="396" y="353" type="line"/>
<point name="hintSet0005" x="473" y="373"/>
<point x="510" y="431"/>
<point x="510" y="496" type="curve"/>
<point x="510" y="611"/>
<point x="418" y="656"/>
<point x="285" y="656" type="curve"/>
<point x="90" y="656" type="line"/>
</contour>
<contour>
<point x="173" y="376" type="line"/>
<point x="173" y="590" type="line"/>
<point x="274" y="590" type="line"/>
<point x="376" y="590"/>
<point x="428" y="560"/>
<point x="428" y="489" type="curve"/>
<point x="428" y="416"/>
<point x="382" y="376"/>
<point x="270" y="376" type="curve"/>
</contour>
<contour>
<point x="173" y="66" type="line"/>
<point x="173" y="314" type="line"/>
<point x="287" y="314" type="line"/>
<point name="hintSet0016" x="402" y="314"/>
<point x="466" y="277"/>
<point x="466" y="196" type="curve"/>
<point x="466" y="107"/>
<point x="400" y="66"/>
<point x="287" y="66" type="curve"/>
</contour>
</outline>
<lib>
<dict>
<key>com.adobe.type.autohint.v2</key>
<dict>
<key>hintSetList</key>
<array>
<dict>
<key>pointTag</key>
<string>hintSet0000</string>
<key>stems</key>
<array>
<string>hstem 0 66</string>
<string>hstem 314 62</string>
<string>hstem 590 66</string>
<string>vstem 90 83</string>
<string>vstem 466 82</string>
</array>
</dict>
<dict>
<key>pointTag</key>
<string>hintSet0005</string>
<key>stems</key>
<array>
<string>hstem 0 66</string>
<string>hstem 314 62</string>
<string>hstem 590 66</string>
<string>vstem 90 83</string>
<string>vstem 428 82</string>
</array>
</dict>
<dict>
<key>pointTag</key>
<string>hintSet0016</string>
<key>stems</key>
<array>
<string>hstem 0 66</string>
<string>hstem 314 62</string>
<string>hstem 590 66</string>
<string>vstem 90 83</string>
<string>vstem 466 82</string>
</array>
</dict>
</array>
<key>id</key>
<string>bd4977f3195ae5d9ee51128baf4232b4cbce2663b0de63a8cf877e31de29998421209050b1a3608b12c296e09ace8d5b7116d5ba4774b14880a4471dd1a4db07</string>
</dict>
</dict>
</lib>
</glyph>
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name="C" format="2">
<unicode hex="0043"/>
<advance width="571"/>
<outline>
<contour>
<point name="hintSet0000" x="52" y="328" type="curve"/>
<point x="52" y="114"/>
<point x="174" y="-12"/>
<point x="339" y="-12" type="curve"/>
<point x="423" y="-12"/>
<point x="487" y="23"/>
<point x="539" y="83" type="curve"/>
<point x="492" y="134" type="line"/>
<point x="450" y="87"/>
<point x="404" y="61"/>
<point x="341" y="61" type="curve"/>
<point x="217" y="61"/>
<point x="138" y="165"/>
<point x="138" y="330" type="curve"/>
<point x="138" y="493"/>
<point x="220" y="595"/>
<point x="345" y="595" type="curve"/>
<point x="400" y="595"/>
<point x="442" y="571"/>
<point x="476" y="534" type="curve"/>
<point x="523" y="587" type="line"/>
<point x="485" y="630"/>
<point x="423" y="668"/>
<point x="344" y="668" type="curve"/>
<point x="176" y="668"/>
<point x="52" y="539"/>
</contour>
</outline>
<lib>
<dict>
<key>com.adobe.type.autohint.v2</key>
<dict>
<key>hintSetList</key>
<array>
<dict>
<key>pointTag</key>
<string>hintSet0000</string>
<key>stems</key>
<array>
<string>hstem -12 73</string>
<string>hstem 595 73</string>
<string>vstem 52 86</string>
</array>
</dict>
</array>
<key>id</key>
<string>c6d34c50586b4c9def26d533a6683065251060c70cac59e410bdbad68c4fa14b819ebb4e5b304a9b2c50d944f85ef9e0a5faa8475c1404ba626cbec4ae6fafbe</string>
</dict>
</dict>
</lib>
</glyph>
Loading

0 comments on commit 183a762

Please sign in to comment.