├── .github └── workflows │ ├── ci.yml │ └── cifuzz.yml ├── .gitignore ├── LICENSE ├── README.md ├── docs ├── DesignDoc.md ├── HowToFix.md ├── HowToTest.md ├── ots-idempotent.1 ├── ots-perf.1 ├── ots-sanitize.1 ├── ots-side-by-side.1 └── ots-validator-checker.1 ├── include ├── opentype-sanitiser.h └── ots-memory-stream.h ├── meson.build ├── meson_options.txt ├── src ├── avar.cc ├── avar.h ├── cff.cc ├── cff.h ├── cff_charstring.cc ├── cff_charstring.h ├── cmap.cc ├── cmap.h ├── colr.cc ├── colr.h ├── cpal.cc ├── cpal.h ├── cvar.cc ├── cvar.h ├── cvt.cc ├── cvt.h ├── feat.cc ├── feat.h ├── fpgm.cc ├── fpgm.h ├── fvar.cc ├── fvar.h ├── gasp.cc ├── gasp.h ├── gdef.cc ├── gdef.h ├── glat.cc ├── glat.h ├── gloc.cc ├── gloc.h ├── glyf.cc ├── glyf.h ├── gpos.cc ├── gpos.h ├── graphite.h ├── gsub.cc ├── gsub.h ├── gvar.cc ├── gvar.h ├── hdmx.cc ├── hdmx.h ├── head.cc ├── head.h ├── hhea.cc ├── hhea.h ├── hmtx.h ├── hvar.cc ├── hvar.h ├── kern.cc ├── kern.h ├── layout.cc ├── layout.h ├── loca.cc ├── loca.h ├── ltsh.cc ├── ltsh.h ├── math.cc ├── math_.h ├── maxp.cc ├── maxp.h ├── metrics.cc ├── metrics.h ├── mvar.cc ├── mvar.h ├── name.cc ├── name.h ├── os2.cc ├── os2.h ├── ots.cc ├── ots.h ├── post.cc ├── post.h ├── prep.cc ├── prep.h ├── sile.cc ├── sile.h ├── silf.cc ├── silf.h ├── sill.cc ├── sill.h ├── stat.cc ├── stat.h ├── variations.cc ├── variations.h ├── vdmx.cc ├── vdmx.h ├── vhea.cc ├── vhea.h ├── vmtx.h ├── vorg.cc ├── vorg.h ├── vvar.cc └── vvar.h ├── subprojects ├── .gitignore ├── freetype2.wrap ├── google-brotli.wrap ├── google-woff2.wrap ├── gtest.wrap ├── lz4.wrap ├── packagefiles │ ├── brotli │ │ ├── LICENSE.build │ │ └── meson.build │ └── woff2 │ │ ├── LICENSE.build │ │ ├── meson.build │ │ └── meson_options.txt └── zlib.wrap ├── tests ├── cff_charstring_test.cc ├── fonts │ ├── bad │ │ ├── 0014256514b220c525e98840b0d6ba736a85acbd.ttf │ │ ├── 003a9baf5665abc42fae0d7027718294601385b9.ttf │ │ ├── 00ac7a910785ea3a30655fe386d4cb02b39719aa.otf │ │ ├── 013d9956e40d1ea194c4d7817fbf220d6be9c33b.ttf │ │ ├── 01592f6b2f515888a44dc6311c481a57edf79644.ttf │ │ ├── 024ad17b23e4298f1d80246b63d63d8e54c76e3d.ttf │ │ ├── 0349e0140ce7dc311f52413dea38b8d64df5cd0c.ttf │ │ ├── 035341aa98a4342f18cf59d7332a77794c5a8923.ttf │ │ ├── 03b667c2ab94eba7e078bc91cd7145e04f352cd5.ttf │ │ ├── 07165649b488b700585197b1d1083f94ac61d525.ttf │ │ ├── 078400f5718f84841fc43a04fd28d946ddad5e37.otf │ │ ├── 080a26ad508861558f5f69836881bb0b8e8842c2.ttf │ │ ├── 08b3b69027fc071fa71910cc7857833b7e5f4534.ttf │ │ ├── 092da87de7e293efee8be43f531b5bf0612693a5.ttf │ │ ├── 0a228b7430d18283b6564822c06e8521dac93407.ttf │ │ ├── 0a85ab417c6726d99235a6f9aaaf4879f711f01b.ttf │ │ ├── 0c60702ee5003855555fee931a2da7daa917a1ef.ttf │ │ ├── 0da956a1d4dad2962619a3f0a1d87daa677ffcf5.otf │ │ ├── 0e4a70a10a82f7f4d63865006e81a445de26d3d1.ttf │ │ ├── 0f4f4a8e4a247694370ff11ae8b129395eca85fd.ttf │ │ ├── 0fce4352e04a156a1cb8d4bc344cd2be1dfe7177.otf │ │ ├── 103ad354e517994c447b9c5c6914a290517cb5ed.otf │ │ ├── 103b47d389cb700e76893677f51f7b74d09d08d5.ttf │ │ ├── 13124b99e25a379efbdd1c3820b1484f842e1ad5.ttf │ │ ├── 173c4c23291c983fead3d734afd8a4de504f508e.otf │ │ ├── 17cbd36aad32fe96dfb6dc49ceaaed54553c9189.ttf │ │ ├── 1ccbe1de6cfd3c183f067d4a2549f81405740a1d.ttf │ │ ├── 1de19636832bb7ebb45680fb09b44227f19a96ce.ttf │ │ ├── 1ef2c4e95428d382ed8653c6657bdb66eb0f415d.ttf │ │ ├── 23b2a3316b3797bf9a61acdf36cf63d10ab3342e.woff │ │ ├── 251a4ffb5418b336217a9e7958941192b5a20137.otf │ │ ├── 257a9ccbda162eec44796987d8e20fca32288029.otf │ │ ├── 28ce9a4dc67328856213bb1da09d55e4cf561c68.ttf │ │ ├── 2d0bf4e52a64aa8bda2fdd9597e1bb4fbf33eb2b.woff2 │ │ ├── 2d80771036e065b9cd582b769d0388a0de90f84f.ttf │ │ ├── 2edb1d50d2b8f4ccf8b7d56e7f354dd86be081f9.ttf │ │ ├── 2f74c3cb404c60d9a46e883c88d6c10dc3562fad.otf │ │ ├── 335e7e5a354010624679dfb52609652c4a7f6fc8.ttf │ │ ├── 33df9c8b531928c90a3afebf6b15828dd0cad929.otf │ │ ├── 33f430d6661b687d4449d0f0878da477a50f41c1.ttf │ │ ├── 345cfba1a71738b238de912c04370623f153f72f.ttf │ │ ├── 35159513f8d8422ff1a880a039ad68c857660cdd.ttf │ │ ├── 3b7eaf30cc528463aa344305b5ab9528e1bc3c15.ttf │ │ ├── 3b9bcfd57f7f18dd4c45ba51e77b23b3895faa9f.ttc │ │ ├── 3ba5737414924ed17800ff60ff21a524a513e111.ttf │ │ ├── 3bfa96a443c19de63f28554b748bf84e57ee51c3.otf │ │ ├── 410761bc1115173bad3f6b0d3d72103e1dc32f67.otf │ │ ├── 41542b89c620cc3159dc2f29bd335d48136478da.otf │ │ ├── 42e947856c0ee90faf78051ffc41e527a8ee8be9.woff2 │ │ ├── 457227a3d4dbf6dd062d251b2ae0c8b31f14c9b8.otf │ │ ├── 47b556f393b0988cf320b165512a97a5da128f05.ttf │ │ ├── 494f40cf28ec4c2753aa907941fe48b7d15f6b04.ttf │ │ ├── 4c8e7bcd6b657941c4e846f6e48bb714fb3faf92.otf │ │ ├── 4d29ba6a49fcba83c9a0cb91835b8e5e9fbe2e0b.ttf │ │ ├── 4d9ba653319ad56fa13a724e6d2c357ff948c2ea.ttf │ │ ├── 52053c2de32349ee09bbb6a4e755c2b3e85b9821.woff │ │ ├── 55c321d6932942d22555ff9b985e905eb472d4d1.ttf │ │ ├── 56d013275a9626c7b10b677fba1d5d4752eec51f.otf │ │ ├── 5733cd9ca76aead50df6240b6b42d466e78240b2.woff │ │ ├── 58b7bd1ebd3396d226c5a777098d115a2fc9f56f.ttf │ │ ├── 58c575a08b375e51c9776275c5f877396ddf552b.otf │ │ ├── 5c67809a0d4b9a16d9eba881282f920153b761eb.otf │ │ ├── 65932a3c0a5ebcbc1ac55267e98506e9dedf41a5.ttf │ │ ├── 66803a29a4e2dc941921d82abf376857583b49db.ttf │ │ ├── 68bfc9f9233e34db2c5ecb5fb966bf205f92079a.otf │ │ ├── 692df3e4b35e0b83cc8991a19ae29e434e705124.ttf │ │ ├── 698e25666a75ea6121065b5fced5ccee62b65ca4.otf │ │ ├── 6d2cc2870fabdc4fa686b66accd404759349e4a8.ttf │ │ ├── 7304e91492c3ba14030446c92f084f8fb031e8e8.ttf │ │ ├── 7522970cb3bb80a698c206cfa61f8418767c1704.ttf │ │ ├── 7c8eefff708b374fffbce135ba28a4565766e560.otf │ │ ├── 7ee3cdda8571ff1e51aa081825f72cd0a545e052.ttf │ │ ├── 81942d3ea419539b69990ba98f824a8a46dcb951.ttf │ │ ├── 85d903c71a429ed98a012e742a700cbe2fef005c.ttf │ │ ├── 8a97d860fcbd1294be09f2d0aebb764f2c12f69c.woff │ │ ├── 8edb1c6072ff63478456cc93601b77b0eb3432e7.otf │ │ ├── 90d60863109aab420257ee10577f2673cb91b3e7.ttf │ │ ├── 92520e16995b11b01f56b3834f200416f656161d.ttf │ │ ├── 927b4dc365aab682749294bc85bd195e4b74e034.otf │ │ ├── 9682ce841ae16214afca9b5e584162611f88dfff.ttf │ │ ├── 975a2ba94ea4f520406e1dae2e99bd366b0b66c1.otf │ │ ├── 985de319c172b29bd9e651b093271a8939c35f13.ttf │ │ ├── a53afc75de22a49c7eebf925b6f54e6dcf208900.ttf │ │ ├── a80d45906af055b269d6e81eeae9e91d5c26ef27.ttf │ │ ├── a9a801b5149ecc0c9fe30db4beec2c511b0e3f71.ttf │ │ ├── aae49b8143752111464bfee4e06514a648b4365e.woff2 │ │ ├── af434603052be497e74415f2f160df0d6989aded.ttf │ │ ├── af7109c13a67bf110892429dfe658a8f62670ce1.ttf │ │ ├── b49c3750db6a1538283586cbf1115e973383350c.ttf │ │ ├── b9a7339a1ff85286437d93e59df48cc35e5610d6.ttf │ │ ├── b9ea4b9b671307bc0f9745dd684e1e4f6e48191d.otf │ │ ├── bd5ee794425c2809f262b4bc6e3c0b33008fca73.otf │ │ ├── c22404e0f69eaca5bbfbecd13d2941df5748a8e3.ttf │ │ ├── c69c27b17d332fbf33dbc8f25baa0a0a461293a2.otf │ │ ├── c6c0f06e6819b04a2eacca8e20dc0882a21bc312.otf │ │ ├── ca0e0bca764d78f46d533b11bb66466f5b489220.otf │ │ ├── ca5b8d77bb1f1a094cc0032e83487f3cde33a9d6.ttf │ │ ├── cb5656f950377ad5de2c7a6df0a659fbb7065ffe.ttf │ │ ├── cbc1d3e183f8138f94b788baa397413d7863eb07.ttf │ │ ├── cf6934b8e2d100b495e219d1b079fa2c34133d08.ttf │ │ ├── d052cc5e62def2facb5772d1b38112779539ef0a.otf │ │ ├── d262af9b0b7836f7395ae8b1a4a37e38fa0ae6c3.ttf │ │ ├── dbcd1243ae657ee8934a699d474be2d0ba79da94.ttf │ │ ├── dcc4f3316f90bc8a4c05e0086d2b49fddd3a059b.otf │ │ ├── e071a5082117ad5a64dc3db1bfcd0a31d6db93ae.ttf │ │ ├── ea8c4b1d5178ae184ffd0346f12fd426850729cc.otf │ │ ├── eaeb6d903b14ee184f887aa8a0a81b917e252da9.otf │ │ ├── eb44137aa49ccb9ea7aad127a8fdc6e155f20565.ttf │ │ ├── ed550c912a8c5febfdad9ca2500b3284ecfac0d7.ttf │ │ ├── edaf09c932e0582b1473384f66d5571da752a4d2.otf │ │ ├── f1dba4340ce94f5359fa4434debc7efcfd1b521f.ttf │ │ └── f457d1f9504dbf206f50ea8ae7ab1bc4c51b95c0.ttc │ ├── fuzzing │ │ ├── 011facefb10ee4f813117eae60bb5940a280ae30.woff2 │ │ ├── 0509e80afb379d16560e9e47bdd7d888bebdebc6.ttf │ │ ├── 051d92f8bc6ff724511b296c27623f824de256e9.ttf │ │ ├── 05a7abc8e4c954ef105d056bd6249c6fda96d4a8.otf │ │ ├── 07f054357ff8638bac3711b422a1e31180bba863.ttf │ │ ├── 10531f9105aa03bf6e0f9754ec8af33ed457ad5c.otf │ │ ├── 11340844a1190f140c78a0a964d49b5985253ea0.woff2 │ │ ├── 15dfc433a135a658b9f4b1a861b5cdd9658ccbb9.ttf │ │ ├── 1679504907c14c2f27119135bd5da57f8713dd05.woff │ │ ├── 16a8e02ff1373539ca818da4f70e9b8573563f29.woff │ │ ├── 17ebbcdaf31a8f80c5efa07f4dc11ee40de7ee7f.woff │ │ ├── 17f60353ae7621b585e8d98a546bbf8479649535.woff2 │ │ ├── 18052b7fc1ca5c188b54864f163bebf80f488811.otf │ │ ├── 181a03beec3e4aa1814fb24a3b8ca5f930629955.woff │ │ ├── 191826b9643e3f124d865d617ae609db6a2ce203.ttf │ │ ├── 1a6f1687b7a221f9f2c834b0b360d3c8463b6daf.ttf │ │ ├── 1acb1be6d45ca77a1b734e3892b823a34634d38e.woff2 │ │ ├── 1c04a16f32a39c26c851b7fc014d2e8d298ba2b8.ttf │ │ ├── 1c2c3fc37b2d4c3cb2ef726c6cdaaabd4b7f3eb9.ttf │ │ ├── 1c2fb74c1b2aa173262734c1f616148f1648cfd6.ttf │ │ ├── 1d5090bfad0eeb11c88882085d4a195f73926327.woff2 │ │ ├── 1e665cdc2796a76d8fd46232566795aa890991b1.woff2 │ │ ├── 1e77a0231fe3d0af9875d314c4c5da04e65b3680.ttf │ │ ├── 2028193bd133228575af7000c60fa6f3e46a4bf0.woff2 │ │ ├── 205edd09bd3d141cc9580f650109556cc28b22cb.otf │ │ ├── 205edd09bd3d141cc9580f650109556cc28b22cb.ttf │ │ ├── 2069628b7b2ff2f8367f46c366f010c4f5a6295e.woff │ │ ├── 217a934cfe15c548b572c203dceb2befdf026462.ttf │ │ ├── 226bc2deab3846f1a682085f70c67d0421014144.ttf │ │ ├── 2393b84159bd84138529dd136ba6bf45a7addd79.woff │ │ ├── 270b89df543a7e48e206a2d830c0e10e5265c630.ttf │ │ ├── 27539eee6487a75cc1ddf8c80b8e3f863ee540c3.woff │ │ ├── 294c88607d6ebf0bd78f2c8e234e03e2d9b186d5.woff2 │ │ ├── 298c9e1d955f10f6f72c6915c3c6ff9bf9695cec.ttf │ │ ├── 29ca0fe494750bb483ed291cffa89d55279d3ac9.woff2 │ │ ├── 2a124fa3e39a294280d406c4790398726bdc66ca.woff │ │ ├── 2a12de12323bfd99b9c4bb33ed20b66b8ff0915f.otf │ │ ├── 2abab3950432f64f17882a6517a9b7d2fb2dafe7.woff │ │ ├── 315da578ec2c7e391a93ed484786b5cc93dc2739.ttf │ │ ├── 3493e92eaded2661cadde752a39f9d58b11f0326.ttf │ │ ├── 3511ff5c1647150595846ac414c595cccac34f18.ttf │ │ ├── 361ce9ae6e20175595cac0cb82addcb184e20953.woff2 │ │ ├── 3684bc52f9aa06e9e6de67d80b626d44ca2bccf5.woff │ │ ├── 37033cc5cf37bb223d7355153016b6ccece93b28.ttf │ │ ├── 375d6ae32a3cbe52fbf81a4e5777e3377675d5a3.ttf │ │ ├── 3857535d8c0d2bfeab7ee2cd6ba5e39bcb4abd90.ttf │ │ ├── 39e15202b9fa9700438dbae6343ad8b21b359a68.woff │ │ ├── 3b1f374416818644fa5cdb1d592659e502506888.woff2 │ │ ├── 3e66a8cf6c20ccb36bce728f5d818f18145499c7.woff │ │ ├── 3fef5bc4d1567fea803c815a0d53d6d7bfa9bdf7.woff │ │ ├── 41c14459f0f134a81fc5f4051b861bae8503c87b.woff │ │ ├── 43979b90b2dd929723cf4fe1715990bcb9c9a56b.otf │ │ ├── 43979b90b2dd929723cf4fe1715990bcb9c9a56b.ttf │ │ ├── 43ef465752be9af900745f72fe29cb853a1401a5.ttf │ │ ├── 442a5b09fc1d847eb353b9e219e26067df8b9fb8.woff2 │ │ ├── 44a458acc6abfe78166e99c5ec9ec0fcf46182af.woff │ │ ├── 4502415a27007e8f37af2d6663ccf909a45abba4.woff2 │ │ ├── 45855bc8d46332b39c4ab9e2ee1a26b1f896da6b.ttf │ │ ├── 4765a8901e377d1e767f67e1cc768ae3c9207bd1.ttc │ │ ├── 49c9f7485c1392fa09a1b801bc2ffea79275f22e.ttf │ │ ├── 4a7b3505f054f426efc6057fd0adc27f6c16c41b.ttf │ │ ├── 4af3c3b1bf2882e84f25b30bc4aedae2a0b5f98a.woff2 │ │ ├── 4cce528e99f600ed9c25a2b69e32eb94a03b4ae8.ttf │ │ ├── 4d707d06afca5573a717fa3a9e825863c35ca786.ttf │ │ ├── 4fcaec74137a83b5304d7d5f830b81c9abed73e5.woff2 │ │ ├── 5028afb650b1bb718ed2131e872fbcce57828fff.ttf │ │ ├── 52a846621453e288b657f84ef423ff3f832b6c0c.woff │ │ ├── 52b6e52e7382c7c7e5ce839cc5df0cd3ae133add.ttf │ │ ├── 558661aa659912f4d30ecd27bd09835171a8e2b0.ttf │ │ ├── 5614290438dcf671fcc1f2858ac9127e45f500bb.woff2 │ │ ├── 56bf9590c3f7587a632539b74a7aa0a04dbaadd3.woff │ │ ├── 56cfd0e18d07f41c38e9598545a6d369127fc6f9.ttf │ │ ├── 57a9d9f83020155cbb1d2be1f43d82388cbecc88.ttf │ │ ├── 5a5daf5eb5a4db77a2baa3ad9c7a6ed6e0655fa8.ttf │ │ ├── 5ac36fb372dd26e0e1142c82c95b0e3807ae8136.woff │ │ ├── 5dfad7735c6a67085f1b90d4d497e32907db4c78.ttf │ │ ├── 5dfcc2260fa1a08c72655c18885e50260703c863.woff │ │ ├── 60adec4d200651dbf91e7c373789bbc2a2c4b46b.woff │ │ ├── 641bd9db850193064d17575053ae2bf8ec149ddc.ttf │ │ ├── 6466d38c62e73a39202435a4f73bf5d6acbb73c0.ttf │ │ ├── 6830389bba9787db7da796f364aa47b951e658ae.woff2 │ │ ├── 6991b13ce889466be6de3f66e891de2bc0f117ee.ttf │ │ ├── 6c1506d68d00e95a065d97e30964857e0d91c5a1.woff │ │ ├── 6e43399b43162dedd7054e00ae97e7b0a71bf72d.woff2 │ │ ├── 6eb6ce1f3930892d42a24d9fe955585c40a59cc0.woff2 │ │ ├── 6ff0fbead4462d9f229167b4e6839eceb8465058.ttf │ │ ├── 7042436c3b20a4426fc9a2dba76f68b2b27423af.woff2 │ │ ├── 7043d3c69c50da8eba1a0ad627b9f6de70e832e5.ttf │ │ ├── 706c5d7b625f207bc0d874c67237aad6f1e9cd6f.ttf │ │ ├── 71eca05729f14607e81e9476dce804fe3bafc086.woff │ │ ├── 72106114384cb564d4691bd3ea38960b0148f00b.woff │ │ ├── 72566065770241b8c31bd35201ad62102962a5aa.woff │ │ ├── 73bf759cd86e12788cd3571daffedeb391fad078.woff2 │ │ ├── 757ebd573617a24aa9dfbf0b885c54875c6fe06b.otf │ │ ├── 757ebd573617a24aa9dfbf0b885c54875c6fe06b.ttf │ │ ├── 79e3983181b2bef104af453fdc98f4a335d48bd5.woff2 │ │ ├── 7a37dc4d5bf018456aea291cee06daf004c0221c.ttf │ │ ├── 7bd0df7f6f234108e1f87f45bcde74931dc16efc.ttf │ │ ├── 7e14e7883ed152baa158b80e207b66114c823a8b.otf │ │ ├── 7e14e7883ed152baa158b80e207b66114c823a8b.ttf │ │ ├── 7ef276fc886ea502a03b9b0e5c8b547d5dc2b61c.ttf │ │ ├── 8099955657a54e9ee38a6ba1d6f950ce58e3cc25.ttf │ │ ├── 813c2f8e5512187fd982417a7fb4286728e6f4a8.ttf │ │ ├── 814e2e2e76682ab9a518493b475b23565993a4df.woff2 │ │ ├── 81e64d72d3dd87b1d36744927d3842492f1c1001.woff2 │ │ ├── 8240789f6d12d4cfc4b5e8e6f246c3701bcf861f.otf │ │ ├── 8240789f6d12d4cfc4b5e8e6f246c3701bcf861f.ttf │ │ ├── 82fae690a786b2d96af7d4845206b528381fa109.woff2 │ │ ├── 8330c9816493e1adccc0500b414455b85088d7d1.ttf │ │ ├── 83670edbe0a52e2e84b4454b1a828c44b6692c63.ttf │ │ ├── 8454d22037f892e76614e1645d066689a0200e61.ttf │ │ ├── 85414f2552b654585b7a8d13dcc3e8fd9f7970a3.ttf │ │ ├── 8668cff491460e4c5cd03142b87e9710fd4b5588.otf │ │ ├── 884801ab66022b60168010261438a4ed983ea9a7.woff │ │ ├── 8a8dc0703e7a9d14427ceadcea275dfda6a7f844.woff2 │ │ ├── 8a9fea2a7384f2116e5b84a9b31f83be7850ce21.ttf │ │ ├── 8faaf7e0d92db057ff26cf5af44a44e873c054cb.woff2 │ │ ├── 908810fd6350c87a62c2dc4bb623e54ddd8aa042.woff │ │ ├── 9192ffc3ddba8dc44a21ccac20bf743593642241.woff2 │ │ ├── 93ef7dcd6968068b41515a381aa1b04535312b01.woff │ │ ├── 94895e7495f726fa316ca3f2a03c98b86dc20560.ttc │ │ ├── 94bdbcb520c5301750167dc433803ac7933da028.otf │ │ ├── 96813142f8614d945222afa529815dd1213e2b3d.ttf │ │ ├── 9883c9ae58c5dd598ab2fdc142e2dacbc0ad1cb3.woff2 │ │ ├── 995ca3cf99525e11fcdfeb5ba9f45a6cc602fcfb.woff │ │ ├── 99e0f8817ca25d074ff4456de4296c4397e23563.woff │ │ ├── 99e872a7478a9f7f7f2a183d623f2a5ebaff72ad.woff │ │ ├── 9a6305f950f8e3960618b78fca6ba7d7abf3b231.ttf │ │ ├── 9c3c16ff5fb0e0adef3344f011b5bbb1469f2fd4.woff │ │ ├── 9cb9bb35205cb4a7588a5a2b8e35fc4be856fc95.woff │ │ ├── 9f553001b12ed154a54de011828fd78138c66113.woff2 │ │ ├── a0ca212e069702964aba80ab9c28bcb8aabae782.woff2 │ │ ├── a34a7b00f22ffb5fd7eef6933b81c7e71bc2cdfb.ttf │ │ ├── a34a9191d9376bda419836effeef7e75c1386016.ttf │ │ ├── a37166581403c1fda5e5689d4e027a085e3186e8.ttf │ │ ├── a5ea7e8e3e00a6f147a8a77b56e6e88c5e4fe30f.woff │ │ ├── a69118c2c2ada48ff803d9149daa54c9ebdae30e.ttf │ │ ├── a919b33197965846f21074b24e30250d67277bce.ttf │ │ ├── a98e908e2ed21b22228ea59ebcc0f05034c86f2e.ttf │ │ ├── aca5f8ef7bc0754b0b6fd7a1abd4c69ca7801780.ttf │ │ ├── ad24c3e446b9be316db8387adb0c7e2667388d3c.woff │ │ ├── adb242cbc61b3ca428903e397a2c9dcf97fe3042.ttf │ │ ├── aef6783789cb40fd037e26f2b299b9088adce089.ttf │ │ ├── b2093e804590557247aa7bc2070757c26344c565.woff │ │ ├── b3fe94051b5612817c31fd406172d6d98b823cc8.ttf │ │ ├── b48e5042d1f1f6cec531b73abf15c8ee4f2afc63.ttf │ │ ├── b6acef662e0beb8d5fcf5b61c6b0ca69537b7402.ttf │ │ ├── b927e6af295696a2307641eb9679d0832dd7c22d.ttf │ │ ├── b9e2aaa0d75fcef6971ec3a96d806ba4a6b31fe2.otf │ │ ├── b9e2aaa0d75fcef6971ec3a96d806ba4a6b31fe2.ttf │ │ ├── bac8d8c1ad2b8a50bf10853c9aeca4fca6c3bf3e.woff2 │ │ ├── bad5283f2b80a5669e03313446c962c50897adb0.ttf │ │ ├── bb0c53752e85c3d28973ebc913287b8987d3dfe8.ttf │ │ ├── bb29ce50df2bdba2d10726427c6b7609bf460e04.ttf │ │ ├── bb9473d2403488714043bcfb946c9f78b86ad627.ttf │ │ ├── bdb9d23d51966a2544da5a66fd8727f1e0654a73.ttf │ │ ├── bfec49121cbe81f898476c5bcc6d188b489f1d7e.woff │ │ ├── c077be3830a3fe49277220e2515791cc9a2e5060.woff │ │ ├── c455eacf5e313dd37ad87d279f6eba6c3114310f.woff2 │ │ ├── c4e48b0886ef460f532fb49f00047ec92c432ec0.ttf │ │ ├── c64aff5250ea7360a18154e58678ab14a8e6fee9.woff │ │ ├── c8fda8de3123a35984f9f0811c4481fe3a8d3641.woff2 │ │ ├── cc5f3d2d717fb6bd4dfae1c16d48a2cb8e12233b.ttf │ │ ├── ccfc10b31bad1fb3ae508a332c7914c6db037188.woff2 │ │ ├── cff4306f450b3b433adca6872ff1c928a6ede2c6.woff │ │ ├── d32823ca92b0443465c07625325bb64a7d78f47d.woff2 │ │ ├── d343af630ddff2ed15ae72d9bb4949bb384a8e03.woff2 │ │ ├── d3ee8b9422e66a4dc827a15a65667bd5eab9ce5f.woff │ │ ├── d4acbc69d72d4ed528367718f022708070ec9635.woff2 │ │ ├── d4e4a9508c6b9e73c514b8af27b56918f45c3f9e.ttf │ │ ├── d4eaf020145c14e2cd76c49353da1fdff8e4f62f.woff │ │ ├── d629e7fedc0b350222d7987345fe61613fa3929a.ttf │ │ ├── d69ecb7001e46df61c33e2ec74fdcdd32e018db3.ttc │ │ ├── d77f5dd2f02db900f5d568349dc6ed58683a00a9.woff │ │ ├── d7aec40dfc478e1adb022406decaadfd46e61f89.ttf │ │ ├── d8df0f95c805bf3986671a5f39d4e1ce1ef278ce.woff2 │ │ ├── dc2b2ffc9fc5318fea924276dc8298f2b06f26ab.woff2 │ │ ├── dcacf960143aecbc692471b2a658c8dc42c9613e.woff2 │ │ ├── df768b9c257e0c9c35786c47cae15c46571d56be.ttf │ │ ├── dfba97547bf1cc337702d52311dee7029bc51db8.woff │ │ ├── e207635780b42f898d58654b65098763e340f5c7.ttf │ │ ├── e31aa13e4a7b565c68e4822d2ef7d16069f8ffab.woff2 │ │ ├── e88c339237f52d21e01c55f01b9c1b4cc14a0467.ttf │ │ ├── e9e765985a2beed45d8c4c4666d94a2acede9d48.woff2 │ │ ├── ee39587d13b2afa5499cc79e45780aa79293bbd4.ttf │ │ ├── ef86fe710cfea877bbe0dbb6946a1f88d0661031.ttf │ │ ├── f22416c692720a7d46fadf4af99f4c9e094f00b9.ttf │ │ ├── f293a7cc0c9fad957df4904e8ce5e366e7cab93c.woff │ │ ├── f37d5b05405c0861da62bdad2b00fcaa7d2923f9.woff2 │ │ ├── f499fbc23865022234775c43503bba2e63978fe1.ttf │ │ ├── f4bcb76e745d6390bdf0447f2128db19686c432d.woff │ │ ├── f518eb6f6b5eec2946c9fbbbde44e45d46f5e2ac.ttf │ │ ├── f5ff6aaa96256b0e2c1abfdebf592c0987a1637a.ttf │ │ ├── f9b1dd4dcb515e757789a22cb4241107746fd3d0.ttf │ │ ├── fab39d60d758cb586db5a504f218442cd1395725.ttf │ │ ├── fbb6c84c9e1fe0c39e152fbe845e51fd81f6748e.ttf │ │ ├── fc4263389f1a48dd3d1c793dff6b1e0cf8bccd33.woff │ │ ├── fcdcffbdf1c4c97c05308d7600e4c283eb47dbca.ttf │ │ └── ffa0f5d2d9025486d8469d8b1fdd983e7632499b.ttf │ └── good │ │ ├── 00ae3c2b1b7718361fc76ee31da97253057b15b7.ttf │ │ ├── 01ae09f3a2ca8f33035e6261d09e9fe06b919174.ttf │ │ ├── 029c6e2623f5b255ba10e2e3b0f17711ad8aa966.ttf │ │ ├── 02d99e81593bcabce56b6a589254e8bc77e00208.otf │ │ ├── 068aaf44acba22aa769fc7023b9b575fdf72c530.otf │ │ ├── 0c4afb23b983bbab65c39869b81ca1dfb90c0258.ttf │ │ ├── 0e16ec5ab94d3992bba42a9177b159113ede1485.ttf │ │ ├── 0fc088827bbe36bfb3fb6c3d8b59f66cb234dfb3.ttf │ │ ├── 113cceb6013b960021d7779081ee4d707d7b80f5.ttf │ │ ├── 1232d0423fe3bb731faa3da008281ca030d3fe0a.woff │ │ ├── 126e13890b4c36319166a07bb5f4301132e6dcee.ttf │ │ ├── 14b84df95987d7ba699d058686e9163eb4ca5e75.ttf │ │ ├── 1554deaab977f26747d651fa983988429bc0ebc5.ttf │ │ ├── 15e79042604b100fa6f93d817112b8f4921f6a4b.ttf │ │ ├── 164f99832db39451f53858175d6c2d251feb028c.ttf │ │ ├── 171ec9ef597e59a0f33cdeae1d4cf43af1d255ce.otf │ │ ├── 19d60aa144bb703f0c7535e3b34e926e0cae954d.ttf │ │ ├── 1cce5d954a1696217ac99318e7deba01236eca95.ttf │ │ ├── 224f3a28601603e869da5ab0650148ae8cbadd2d.ttf │ │ ├── 24834cb0e118b8a80c05209d996963cf05121f43.ttf │ │ ├── 27312d3d8d62bf7f3d2dec4afd90ac5549c05958.otf │ │ ├── 27f2cd91ff43713d977b2b253e82b8fcb781e674.otf │ │ ├── 2eba8164a0811c8422ecde8900bf476bb4a05ca3.otf │ │ ├── 2f806821ba44e69a532fbcc9d5f46a5aa20fa905.ttf │ │ ├── 322aa2ac0a3916d3a5cb1e7789ca355de0a6bc76.ttf │ │ ├── 39b02c925a67188e7dd1fb9e78e7799976d8b6f6.otf │ │ ├── 3b4a0f922a35acba59502ba042f35cafbff1865f.ttf │ │ ├── 3eb899fa22c7a7e1294f50204804869fddfda8c9.ttf │ │ ├── 3ee1ab163f0029bdd8f90b79f2c0e798bc26957b.ttf │ │ ├── 40acdfaee3c5f4fac5348001d8c54a9085623a24.ttf │ │ ├── 49331b1dd031e95ca803d632f69404d09ee6f592.ttf │ │ ├── 49a9db4b6c08dadd1e8aeff4cee63dc454c5cb7c.ttf │ │ ├── 4c471c403831e131c7887e9e0b9a547495749579.otf │ │ ├── 4e5ac04a7e4638302443a8d9e3258772ccb60744.ttf │ │ ├── 4e7747c985aa4f1b89f5f6c09f4ec4094bf1b20b.otf │ │ ├── 4fa1f484ba76ad1951727d8e4a80d57d9b08204b.ttf │ │ ├── 54819458b3920c39db79d6e4cc8594e47654ca5f.otf │ │ ├── 56e62c1aa63b75291bd6c3bd04f29ee36590341f.ttf │ │ ├── 5b376d5ec538bc3c86749e13a815661c7f5d9528.ttf │ │ ├── 611dc1a20537abb29791dfdbf12ecb48afd94f53.otf │ │ ├── 6a20e627475700e4b889926fcc423420d6df3033.ttf │ │ ├── 6a46e85c50dce18db3a5739456933f29442e410e.ttf │ │ ├── 6ae5423c8ca52f5e20fc4be14d10ae0cd3857be5.ttf │ │ ├── 6bed910d67d00b0e705b657747af2b83f2edc1c5.ttf │ │ ├── 6c26e8ccc29afe595364bf649455d10dc0e39861.ttf │ │ ├── 6d7ceee66a8d288d96ea235b1d642b75d96cafd5.otf │ │ ├── 759f24b9ab9a97980c5bb5649d9f5032fb9e41b0.ttf │ │ ├── 7cbb117642ab9715b476160b09b3e2fac33a91cb.ttf │ │ ├── 7ef289b55de3392d9fca03735ea0a1c8498fdf0a.ttf │ │ ├── 81cee6e061d37a83f12c007c89b89e4b81951eb5.ttf │ │ ├── 83de2fc102dbe5e1738710655787d736e51f5b56.ttf │ │ ├── 84df123947f7f5f9a5456e755f91bef963b1dd7c.otf │ │ ├── 877ba38762b32f50468250d8bb659a2af252f44f.ttf │ │ ├── 88ffc07c893a8e7d1f9622eaebd572d588fee7ea.otf │ │ ├── 89166e0ffdfdac0309d31012d1d5c1de8fe65a52.otf │ │ ├── 8df517d0db2e2e3b65fe3f8e93cf5c0cffaff3d9.ttf │ │ ├── 9227eefacd215fee911b7c4f935e0bad9bde5772.ttf │ │ ├── 923963eece37a2b494c7f2b75db4ac24635784bf.ttf │ │ ├── 942fab6918c0dc9bf59f62ab15e3fd38736bbe8d.ttf │ │ ├── 94eec826e16eb8d695b13690bb1e704948b98bf9.ttf │ │ ├── 960799635ff99168566f5475bb9d37facf8629fd.ttf │ │ ├── 965fe4ee4b2f4d090ea4cb90507c3eddcf597e1c.ttf │ │ ├── 983fcc3c7f3bc7bf2063104d72d1b5d7589378d2.otf │ │ ├── 9a614250473dd0f051d808ff05e5bcb5988d44f4.ttf │ │ ├── 9dc7e9523203d97914edf64aff494a1a18762782.ttf │ │ ├── 9ed41be8b32ab179d63c91df0585e8cc070e21ec.ttf │ │ ├── a29b6af1965f9cac3b4ada03258bcce6a155b168.ttf │ │ ├── a64a622a50d6400592a9590c003afb02e9e4436d.otf │ │ ├── a69c0298f6d3e29903a492ce1f175932dabf800e.otf │ │ ├── aabe188315aa874a8e3ad3531efd3f62de10c67e.ttf │ │ ├── ad455c8c531334cf470a98901cbe86a378895c14.ttf │ │ ├── b258998a804fe4780216ebd43248436e2d015f03.ttf │ │ ├── b2fc7c776ddbc942ae72bf4060a8c1412b715cf3.otf │ │ ├── b3590210e2baa7fb6c58af1ce98d383d8bf47683.ttf │ │ ├── b4a99e4fdd041256e354d4ada89bb2900908e78b.ttf │ │ ├── b8a18a5eec94d4ab749fbd825e6fa198607704a2.ttf │ │ ├── b98ec6ce1630f86eb34d18666002676498618717.ttf │ │ ├── baaef388d8b2a70bec6024534974f417119304be.ttf │ │ ├── bb4d6e4c25c01847c88db33066bf85e97ea27cd0.otf │ │ ├── bcb95ceaa9bad402a1a2b620c153a6bc792bf167.ttf │ │ ├── bd4c6cd00c8b7de49831f2153414c49902da973c.ttf │ │ ├── bdc581002a733b039b57b0c56d187ad228bf4a1f.ttf │ │ ├── bf5c8e9f890bfbf757589943b18534e6097eeaad.ttf │ │ ├── c026cbcefd9e0c9995208ef613c27b48b548ba6f.ttf │ │ ├── c1fd802800359304594785d0ea5fb1eadb14666c.ttf │ │ ├── c3886b3124a97b9b9212c426c50366773e9ef10c.otf │ │ ├── c39e763ce6fb900b07f219ca252524ea37e6d1ad.ttf │ │ ├── c58d4e63655652bc74153333cd91f190a6e6671e.ttf │ │ ├── c7999e53cde30047922a2f6adb5eb64f4aac2d54.ttf │ │ ├── c7c0abafe42cda85913730dd6813223cbb5d57ae.otf │ │ ├── c7d76de613012ce941785c387eb6570d905bc6a7.ttf │ │ ├── c8af7209f1c5c9a2e541214c9bc31bb2bb676c0e.otf │ │ ├── ce6ada335d2950f6893926d3fbec2b648a4014cb.ttf │ │ ├── d0ff0af970457d3a599c5f82f375ceb1faaade3c.ttf │ │ ├── d391cf982a114ea43871890da047df4a7b5a087b.ttf │ │ ├── d3ae20d9f21e321f0813094dd6970468f187b669.ttf │ │ ├── d427ef152e9e6a8b1865ae00c22b9a282d008073.ttf │ │ ├── d8ab8092b46ae0e06c310bdd063b9fd65d04fe93.ttf │ │ ├── da1c5e82a0257f9998ff45185ffc153fde98fb12.ttf │ │ ├── db4b768546934de921667761967706f4f527a75a.ttf │ │ ├── dc884ba7e1d0f85620c586423782e8e65a16be44.ttf │ │ ├── e1d157dc9799a686992e5f6c150949fcf3d20ce0.otf │ │ ├── e502b70bfa49d3f497b2a15093a3765e29ccfdcc.ttf │ │ ├── e6e8ab2987f8c1f9bf6a8a3f9e58dbd62195c4e6.ttf │ │ ├── e9b02051de5a2b3a3ae1e044e2c459421511a77f.otf │ │ ├── e9e065f23e8c5c1559cdb76a7a350b857ce2713e.ttf │ │ ├── ec0f5f1cccb6c5675b4f396b462eedf1acce7d95.ttf │ │ ├── ef7da53aaff13acd3e6dedda380a2ac0ef746cab.ttf │ │ ├── f172aa07083478097b7ba62e485c9ffefcd0d623.ttf │ │ ├── f60191da5f12f78d23ec32c6fdf51314ce3bb8c0.ttf │ │ ├── f681955b5a5f59517c3b66a9efa202ced7f99ae1.otf │ │ ├── fc6af2540969ab193e421276a18ad3cca6c68501.ttf │ │ ├── fd2f7ce86f14f554ebd65bd9ba04f2d8f13943ec.ttf │ │ └── fd62f786684b29020b46c40ae4cacfbd044fc7ab.ttf └── meson.build └── util ├── ots-fuzzer.cc ├── ots-idempotent.cc ├── ots-perf.cc ├── ots-sanitize.cc ├── ots-side-by-side.cc ├── ots-validator-checker.cc └── test-context.h /.github/workflows/cifuzz.yml: -------------------------------------------------------------------------------- 1 | name: CIFuzz 2 | on: [pull_request] 3 | jobs: 4 | Fuzzing: 5 | runs-on: ubuntu-latest 6 | steps: 7 | - name: Build Fuzzers 8 | id: build 9 | uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master 10 | with: 11 | oss-fuzz-project-name: 'ots' 12 | dry-run: false 13 | language: c++ 14 | - name: Run Fuzzers 15 | uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master 16 | with: 17 | oss-fuzz-project-name: 'ots' 18 | fuzz-seconds: 300 19 | dry-run: false 20 | language: c++ 21 | - name: Upload Crash 22 | uses: actions/upload-artifact@v4 23 | if: failure() && steps.build.outcome == 'success' 24 | with: 25 | name: artifacts 26 | path: ./out/artifacts 27 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | /env 3 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2009-2017 The OTS Authors. All rights reserved. 2 | 3 | Redistribution and use in source and binary forms, with or without 4 | modification, are permitted provided that the following conditions are 5 | met: 6 | 7 | * Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | * Redistributions in binary form must reproduce the above 10 | copyright notice, this list of conditions and the following disclaimer 11 | in the documentation and/or other materials provided with the 12 | distribution. 13 | * Neither the name of Google Inc. nor the names of its 14 | contributors may be used to endorse or promote products derived from 15 | this software without specific prior written permission. 16 | 17 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 20 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 21 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 22 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 23 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [![Build](https://github.com/khaledhosny/ots/actions/workflows/ci.yml/badge.svg)](https://github.com/khaledhosny/ots/actions/workflows/ci.yml) 2 | [![Fuzzing Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/ots.svg)](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:ots) 3 | 4 | OpenType Sanitizer 5 | ================== 6 | 7 | The OpenType Sanitizer (OTS) parses and serializes OpenType files (OTF, TTF) 8 | and WOFF and WOFF2 font files, validating them and sanitizing them as it goes. 9 | 10 | The C library is integrated into Chromium and Firefox, and also simple 11 | command line tools to check files offline in a terminal. 12 | 13 | The CSS [font-face property][1] is great for web typography. Having to use images 14 | in order to get the correct typeface is a great sadness; one should be able to 15 | use vectors. 16 | 17 | However, on many platforms the system-level TrueType font renderers have never 18 | been part of the attack surface before, and putting them on the front line is 19 | a scary proposition... Especially on platforms like Windows, where it's a 20 | closed-source blob running with high privilege. 21 | 22 | Building from source 23 | -------------------- 24 | 25 | Instructions below are for building standalone OTS utilities, if you want to 26 | use OTS as a library then the recommended way is to copy the source code and 27 | integrate it into your existing build system. Our build system does not build a 28 | shared library intentionally. 29 | 30 | Build OTS: 31 | 32 | $ meson setup build 33 | $ meson compile -C build 34 | 35 | Run `ots-sanitize`, for example: 36 | 37 | $ ./build/ots-sanitize path/to/font/file 38 | 39 | Run the tests (if you wish): 40 | 41 | $ meson test -C build 42 | 43 | Usage 44 | ----- 45 | 46 | See [docs](docs) 47 | 48 | * * * 49 | 50 | Thanks to Alex Russell for the original idea. 51 | 52 | [1]: http://www.w3.org/TR/CSS2/fonts.html#font-descriptions 53 | -------------------------------------------------------------------------------- /docs/HowToFix.md: -------------------------------------------------------------------------------- 1 | # How To Fix 2 | 3 | This file describes the causes of common problems that OTS detects. 4 | 5 | ### DFLT script doesn't satisfy the spec 6 | 7 | DFLT script doesn't satisfy the spec. DefaultLangSys is NULL 8 | DFLT script doesn't satisfy the spec. LangSysCount is not zero: $lang_sys_count 9 | 10 | These errors are related to the language system declaration and how the lookup language tags are declared in the feature syntax. 11 | 12 | Old files made in FontLab Studio version 5.0, using Adobe FDK version 2.5 or so, then the `latin` language was the default, and thus could go unspecified. 13 | And sometimes a language tag was declared after the untagged feature. 14 | This was a common practice to assume that script `latn` is the default script. 15 | For example: 16 | 17 | ``` 18 | feature liga { 19 | sub f f i by ffi; 20 | sub f f l by ffl; 21 | sub f f by ff; 22 | sub f i by fi; 23 | sub f l by fl; 24 | language AZE; 25 | language CRT; 26 | language MOL; 27 | language ROM; 28 | language TRK; 29 | script DFLT; 30 | sub f f i by ffi; 31 | sub f f l by ffl; 32 | sub f f by ff; 33 | sub f i by fi; 34 | sub f l by fl; 35 | } liga; 36 | ``` 37 | 38 | But the script `latn` should be declared before language tags. 39 | For example, 40 | 41 | ``` 42 | feature liga { 43 | script DFLT; 44 | sub f f i by ffi; 45 | sub f f l by ffl; 46 | sub f f by ff; 47 | sub f i by fi; 48 | sub f l by fl; 49 | script latn; 50 | sub f f i by ffi; 51 | sub f f l by ffl; 52 | sub f f by ff; 53 | sub f i by fi; 54 | sub f l by fl; 55 | language AZE; 56 | language CRT; 57 | language MOL; 58 | language ROM; 59 | language TRK; 60 | } liga; 61 | ``` 62 | 63 | For fonts where sources are missing, or rebuilding is undesirable, there is a FontTools [script](https://github.com/fonttools/fonttools/blob/master/Snippets/fix-dflt-langsys.py) that can be used to hotfix the binary files. 64 | -------------------------------------------------------------------------------- /docs/ots-idempotent.1: -------------------------------------------------------------------------------- 1 | .TH OTS-IDEMPOTENT "1" "May 2021" "OpenType Sanitizer" "User Commands" 2 | .SH NAME 3 | ots-idempotent \- font transcoder 4 | .SH SYNOPSIS 5 | .B ots-idempotent 6 | \fI\,FONT_FILE\/\fR 7 | .SH DESCRIPTION 8 | .PP 9 | ots-idempotent is a program which validates and transcodes a font file using OTS. 10 | This tool transcodes the original font twice and then verifies that the two 11 | transcoded fonts are identical: 12 | .PP 13 | .RS 14 | .nf 15 | t1\ =\ ValidateAndTranscode(original_font); 16 | if\ (validation_error) 17 | \ \ PrintErrorAndExit; 18 | t2\ =\ ValidateAndTranscode(t1); 19 | if\ (validation_error) 20 | \ \ PrintErrorAndExit; 21 | if\ (t1\ !=\ t2) 22 | \ \ PrintErrorAndExit; 23 | .fi 24 | .RE 25 | .PP 26 | This tool is basically for OTS developers. 27 | .SH EXAMPLES 28 | .RS 29 | .nf 30 | $ ./ots-idempotent sample.otf 31 | $ ./ots-idempotent malformed.ttf 32 | WARNING: bad range shift 33 | ERROR at src/ots.cc:670 (ProcessGeneric) 34 | Failed to sanitize file! 35 | .fi 36 | .RE 37 | .SH "REPORTING BUGS" 38 | Report bugs to 39 | .SH "SEE ALSO" 40 | .BR ots-perf (1), 41 | .BR ots-sanitize (1), 42 | .BR ots-side-by-side (1), 43 | .BR ots-validator-checker (1) 44 | -------------------------------------------------------------------------------- /docs/ots-perf.1: -------------------------------------------------------------------------------- 1 | .TH OTS-PERF "1" "May 2021" "OpenType Sanitizer" "User Commands" 2 | .SH NAME 3 | ots-perf \- performance checker 4 | .SH SYNOPSIS 5 | .B ots-perf 6 | \fI\,FONT_FILE\/\fR 7 | .SH DESCRIPTION 8 | .PP 9 | ots-perf is a program which validates and transcodes a font file N times using 10 | OTS, then prints the elapsed time: 11 | .PP 12 | .RS 13 | .nf 14 | for\ (N\ times) 15 | \ \ ValidateAndTranscode(original_font); 16 | Print(elapsed_time_in_us\ /\ N); 17 | .fi 18 | .RE 19 | .SH EXAMPLES 20 | .RS 21 | .nf 22 | $ ./ots-perf sample.ttf 23 | 903 [us] sample.ttf (139332 bytes, 154 [byte/us]) 24 | $ ./ots-perf sample-bold.otf 25 | 291 [us] sample-bold.otf (150652 bytes, 517 [byte/us]) 26 | .fi 27 | .RE 28 | .SH "REPORTING BUGS" 29 | Report bugs to 30 | .SH "SEE ALSO" 31 | .BR ots-idempotent (1), 32 | .BR ots-sanitize (1), 33 | .BR ots-side-by-side (1), 34 | .BR ots-validator-checker (1) 35 | -------------------------------------------------------------------------------- /docs/ots-sanitize.1: -------------------------------------------------------------------------------- 1 | .TH OTS-SANITIZE "1" "November 2020" "OpenType Sanitizer" "User Commands" 2 | .SH NAME 3 | ots-sanitize \- font validator and transcoder 4 | .SH SYNOPSIS 5 | .B ots-sanitize 6 | [\fI\,OPTIONS\/\fR]... \fI\,FONT_FILE\/\fR [\fI\,DEST_FONT_FILE\/\fR] [\fI\,FONT_INDEX\/\fR] 7 | .SH DESCRIPTION 8 | .\" Add any additional description here 9 | .PP 10 | ots-sanitize is a program which validates and/or transcodes a font file using 11 | the OTS library. 12 | .PP 13 | The OpenType Sanitizer (OTS) parses and serializes OpenType files (OTF, TTF) 14 | and WOFF and WOFF2 font files, validating them and sanitizing them as it goes. 15 | .TP 16 | \fB\-\-quiet\fR 17 | do not display information or error messages 18 | .TP 19 | \fB\-\-version\fR 20 | output version information and exit 21 | .SH EXAMPLES 22 | Sanitize a sample and save it to another file: 23 | .PP 24 | .RS 25 | .nf 26 | $ ots-sanitize sample.otf transcoded_sample.otf 27 | File sanitized successfully! 28 | .fi 29 | .RE 30 | .PP 31 | Try to sanitize a malformed file: 32 | .PP 33 | .RS 34 | .nf 35 | $ ots-sanitize malformed.ttf 36 | WARNING: bad range shift 37 | ERROR at src/ots.cc:670 (ProcessGeneric) 38 | Failed to sanitize file! 39 | .RE 40 | .fi 41 | .SH "REPORTING BUGS" 42 | Report bugs to 43 | .SH "SEE ALSO" 44 | .BR ots-idempotent (1), 45 | .BR ots-perf (1), 46 | .BR ots-side-by-side (1), 47 | .BR ots-validator-checker (1) 48 | -------------------------------------------------------------------------------- /docs/ots-validator-checker.1: -------------------------------------------------------------------------------- 1 | .TH OTS-VALIDATOR-CHECKER "1" "May 2021" "OpenType Sanitizer" "User Commands" 2 | .SH NAME 3 | ots-validator-checker \- font validation checker 4 | .SH SYNOPSIS 5 | .B ots-validator-checker 6 | \fI\,FONT_FILE\/\fR 7 | .SH DESCRIPTION 8 | .PP 9 | ots-validator-checker is a program which is intended to validate malformed fonts. 10 | If the program detects that the font is invalid, it prints \(lqOK\(rq and 11 | returns with 0 (success). 12 | If it couldn’t detect any errors, the program then opens the transcoded font 13 | and renders some characters using FreeType: 14 | .PP 15 | .RS 16 | .nf 17 | transcoded_font\ =\ ValidateAndTranscode(malicious_font); 18 | if\ (validation_error) 19 | \ \ Print("OK"); 20 | OpenAndRenderSomeCharacters(transcoded_font);\ \ #\ may\ cause\ SIGSEGV 21 | Print("OK"); 22 | .fi 23 | .RE 24 | .PP 25 | If SEGV doesn\(cqt raise inside FreeType library, the program prints \(lqOK\(rq 26 | and returns with 0 as well. 27 | You should run this tool under the 28 | .BR catchsegv (1) 29 | or 30 | .BR valgrind (1) 31 | command so that you can easily verify that all transformed fonts don\(cqt 32 | crash the library (see the example below). 33 | .SH EXAMPLES 34 | .RS 35 | .nf 36 | $ for f in malformed/*.ttf ; do catchsegv ./ots-validator-checker "$f" ; done 37 | OK: the malicious font was filtered: malformed/1.ttf 38 | OK: the malicious font was filtered: malformed/2.ttf 39 | OK: FreeType2 didn't crash: malformed/3.ttf 40 | OK: the malicious font was filtered: malformed/4.ttf 41 | .fi 42 | .RE 43 | .SH "REPORTING BUGS" 44 | Report bugs to 45 | .SH "SEE ALSO" 46 | .BR ots-idempotent (1), 47 | .BR ots-perf (1), 48 | .BR ots-sanitize (1), 49 | .BR ots-side-by-side (1) 50 | -------------------------------------------------------------------------------- /meson_options.txt: -------------------------------------------------------------------------------- 1 | option('colr-cycle-check', type : 'boolean', value : true, description : 'Reject fonts with cycles in COLRv1 paint graph') 2 | option('graphite', type : 'boolean', value : true, description : 'Sanitize Graphite tables') 3 | option('synthesize-gvar', type : 'boolean', value : true, description : 'Synthesize an empty gvar if fvar is present') 4 | option('fuzzer_ldflags', type: 'string', description : 'Extra LDFLAGS used during linking of fuzzing binaries') 5 | -------------------------------------------------------------------------------- /src/avar.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2018 The OTS Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef OTS_AVAR_H_ 6 | #define OTS_AVAR_H_ 7 | 8 | #include "ots.h" 9 | 10 | #include 11 | 12 | namespace ots { 13 | 14 | // ----------------------------------------------------------------------------- 15 | // OpenTypeAVAR Interface 16 | // ----------------------------------------------------------------------------- 17 | 18 | class OpenTypeAVAR : public Table { 19 | public: 20 | explicit OpenTypeAVAR(Font* font, uint32_t tag) 21 | : Table(font, tag, tag) { } 22 | 23 | bool Parse(const uint8_t* data, size_t length); 24 | bool Serialize(OTSStream* out); 25 | 26 | private: 27 | uint16_t majorVersion; 28 | uint16_t minorVersion; 29 | uint16_t reserved; 30 | uint16_t axisCount; 31 | 32 | struct AxisValueMap { 33 | int16_t fromCoordinate; 34 | int16_t toCoordinate; 35 | }; 36 | 37 | std::vector> axisSegmentMaps; 38 | 39 | // Only used for versions >= 2 40 | const uint8_t *m_data; 41 | size_t m_length; 42 | }; 43 | 44 | } // namespace ots 45 | 46 | #endif // OTS_AVAR_H_ 47 | -------------------------------------------------------------------------------- /src/colr.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2022 The OTS Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef OTS_COLR_H_ 6 | #define OTS_COLR_H_ 7 | 8 | #include "ots.h" 9 | 10 | namespace ots { 11 | 12 | class OpenTypeCOLR : public Table { 13 | public: 14 | explicit OpenTypeCOLR(Font *font, uint32_t tag) 15 | : Table(font, tag, tag), 16 | m_data(NULL), 17 | m_length(0) { 18 | } 19 | 20 | bool Parse(const uint8_t *data, size_t length); 21 | bool Serialize(OTSStream *out); 22 | 23 | private: 24 | const uint8_t *m_data; 25 | size_t m_length; 26 | }; 27 | 28 | } // namespace ots 29 | 30 | #endif // OTS_COLR_H_ 31 | 32 | -------------------------------------------------------------------------------- /src/cpal.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2022 The OTS Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef OTS_CPAL_H_ 6 | #define OTS_CPAL_H_ 7 | 8 | #include "ots.h" 9 | 10 | #include 11 | 12 | namespace ots { 13 | 14 | class OpenTypeCPAL : public Table { 15 | public: 16 | explicit OpenTypeCPAL(Font *font, uint32_t tag) 17 | : Table(font, tag, tag) { 18 | } 19 | 20 | bool Parse(const uint8_t *data, size_t length); 21 | bool Serialize(OTSStream *out); 22 | 23 | // This is public so that COLR can access it. 24 | uint16_t num_palette_entries; 25 | 26 | private: 27 | uint16_t version; 28 | 29 | std::vector colorRecordIndices; 30 | std::vector colorRecords; 31 | 32 | // Arrays present only if version == 1. 33 | std::vector paletteTypes; 34 | std::vector paletteLabels; 35 | std::vector paletteEntryLabels; 36 | }; 37 | 38 | } // namespace ots 39 | 40 | #endif // OTS_CPAL_H_ 41 | -------------------------------------------------------------------------------- /src/cvar.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2018 The OTS Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #include "cvar.h" 6 | 7 | #include "fvar.h" 8 | #include "variations.h" 9 | 10 | namespace ots { 11 | 12 | // ----------------------------------------------------------------------------- 13 | // OpenTypeCVAR 14 | // ----------------------------------------------------------------------------- 15 | 16 | bool OpenTypeCVAR::Parse(const uint8_t* data, size_t length) { 17 | Buffer table(data, length); 18 | 19 | uint16_t majorVersion; 20 | uint16_t minorVersion; 21 | 22 | if (!table.ReadU16(&majorVersion) || 23 | !table.ReadU16(&minorVersion)) { 24 | return Drop("Failed to read table header"); 25 | } 26 | 27 | if (majorVersion != 1) { 28 | return Drop("Unknown table version"); 29 | } 30 | 31 | OpenTypeFVAR* fvar = static_cast( 32 | GetFont()->GetTypedTable(OTS_TAG_FVAR)); 33 | if (!fvar) { 34 | return DropVariations("Required fvar table is missing"); 35 | } 36 | 37 | if (!ParseVariationData(GetFont(), data + table.offset(), length - table.offset(), 38 | fvar->AxisCount(), 0)) { 39 | return Drop("Failed to parse variation data"); 40 | } 41 | 42 | this->m_data = data; 43 | this->m_length = length; 44 | 45 | return true; 46 | } 47 | 48 | bool OpenTypeCVAR::Serialize(OTSStream* out) { 49 | if (!out->Write(this->m_data, this->m_length)) { 50 | return Error("Failed to write cvar table"); 51 | } 52 | 53 | return true; 54 | } 55 | 56 | } // namespace ots 57 | -------------------------------------------------------------------------------- /src/cvar.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2018 The OTS Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef OTS_CVAR_H_ 6 | #define OTS_CVAR_H_ 7 | 8 | #include "ots.h" 9 | 10 | namespace ots { 11 | 12 | // ----------------------------------------------------------------------------- 13 | // OpenTypeCVAR Interface 14 | // ----------------------------------------------------------------------------- 15 | 16 | class OpenTypeCVAR : public Table { 17 | public: 18 | explicit OpenTypeCVAR(Font* font, uint32_t tag) 19 | : Table(font, tag, tag) { } 20 | 21 | bool Parse(const uint8_t* data, size_t length); 22 | bool Serialize(OTSStream* out); 23 | 24 | private: 25 | const uint8_t *m_data; 26 | size_t m_length; 27 | }; 28 | 29 | } // namespace ots 30 | 31 | #endif // OTS_CVAR_H_ 32 | -------------------------------------------------------------------------------- /src/cvt.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2017 The OTS Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #include "cvt.h" 6 | 7 | // cvt - Control Value Table 8 | // http://www.microsoft.com/typography/otspec/cvt.htm 9 | 10 | namespace ots { 11 | 12 | bool OpenTypeCVT::Parse(const uint8_t *data, size_t length) { 13 | Buffer table(data, length); 14 | 15 | if (length >= 128 * 1024u) { 16 | return Error("Length (%d) > 120K"); // almost all cvt tables are less than 4k bytes. 17 | } 18 | 19 | if (length % 2 != 0) { 20 | return Error("Uneven table length (%d)", length); 21 | } 22 | 23 | if (!table.Skip(length)) { 24 | return Error("Table length too high"); 25 | } 26 | 27 | this->data = data; 28 | this->length = length; 29 | return true; 30 | } 31 | 32 | bool OpenTypeCVT::Serialize(OTSStream *out) { 33 | if (!out->Write(this->data, this->length)) { 34 | return Error("Failed to write cvt table"); 35 | } 36 | 37 | return true; 38 | } 39 | 40 | bool OpenTypeCVT::ShouldSerialize() { 41 | return Table::ShouldSerialize() && 42 | // this table is not for CFF fonts. 43 | GetFont()->GetTable(OTS_TAG_GLYF) != NULL; 44 | } 45 | 46 | } // namespace ots 47 | -------------------------------------------------------------------------------- /src/cvt.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2017 The OTS Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef OTS_CVT_H_ 6 | #define OTS_CVT_H_ 7 | 8 | #include "ots.h" 9 | 10 | namespace ots { 11 | 12 | class OpenTypeCVT : public Table { 13 | public: 14 | explicit OpenTypeCVT(Font *font, uint32_t tag) 15 | : Table(font, tag, tag) { } 16 | 17 | bool Parse(const uint8_t *data, size_t length); 18 | bool Serialize(OTSStream *out); 19 | bool ShouldSerialize(); 20 | 21 | private: 22 | const uint8_t *data; 23 | uint32_t length; 24 | }; 25 | 26 | } // namespace ots 27 | 28 | #endif // OTS_CVT_H_ 29 | -------------------------------------------------------------------------------- /src/feat.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2017 The OTS Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef OTS_FEAT_H_ 6 | #define OTS_FEAT_H_ 7 | 8 | #include 9 | #include 10 | 11 | #include "ots.h" 12 | #include "graphite.h" 13 | 14 | namespace ots { 15 | 16 | class OpenTypeFEAT : public Table { 17 | public: 18 | explicit OpenTypeFEAT(Font* font, uint32_t tag) 19 | : Table(font, tag, tag) { } 20 | 21 | bool Parse(const uint8_t* data, size_t length); 22 | bool Serialize(OTSStream* out); 23 | bool IsValidFeatureId(uint32_t id) const; 24 | 25 | private: 26 | struct FeatureDefn : public TablePart { 27 | explicit FeatureDefn(OpenTypeFEAT* parent) 28 | : TablePart(parent) { } 29 | bool ParsePart(Buffer& table); 30 | bool SerializePart(OTSStream* out) const; 31 | uint32_t id; 32 | uint16_t numSettings; 33 | uint16_t reserved; 34 | uint32_t offset; 35 | uint16_t flags; 36 | static const uint16_t HAS_DEFAULT_SETTING = 0x4000; 37 | static const uint16_t RESERVED = 0x3700; 38 | static const uint16_t DEFAULT_SETTING = 0x00FF; 39 | uint16_t label; 40 | }; 41 | struct FeatureSettingDefn : public TablePart { 42 | explicit FeatureSettingDefn(OpenTypeFEAT* parent) 43 | : TablePart(parent) { } 44 | bool ParsePart(Buffer& table) { return ParsePart(table, true); } 45 | bool ParsePart(Buffer& table, bool used); 46 | bool SerializePart(OTSStream* out) const; 47 | int16_t value; 48 | uint16_t label; 49 | }; 50 | uint32_t version; 51 | uint16_t numFeat; 52 | uint16_t reserved; 53 | uint32_t reserved2; 54 | std::vector features; 55 | std::vector featSettings; 56 | std::unordered_set feature_ids; 57 | }; 58 | 59 | } // namespace ots 60 | 61 | #endif // OTS_FEAT_H_ 62 | -------------------------------------------------------------------------------- /src/fpgm.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2017 The OTS Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #include "fpgm.h" 6 | 7 | // fpgm - Font Program 8 | // http://www.microsoft.com/typography/otspec/fpgm.htm 9 | 10 | namespace ots { 11 | 12 | bool OpenTypeFPGM::Parse(const uint8_t *data, size_t length) { 13 | Buffer table(data, length); 14 | 15 | if (length >= 128 * 1024u) { 16 | return Error("length (%ld) > 120", length); // almost all fpgm tables are less than 5k bytes. 17 | } 18 | 19 | if (!table.Skip(length)) { 20 | return Error("Bad table length"); 21 | } 22 | 23 | this->data = data; 24 | this->length = length; 25 | return true; 26 | } 27 | 28 | bool OpenTypeFPGM::Serialize(OTSStream *out) { 29 | if (!out->Write(this->data, this->length)) { 30 | return Error("Failed to write fpgm table"); 31 | } 32 | 33 | return true; 34 | } 35 | 36 | bool OpenTypeFPGM::ShouldSerialize() { 37 | return Table::ShouldSerialize() && 38 | // this table is not for CFF fonts. 39 | GetFont()->GetTable(OTS_TAG_GLYF) != NULL; 40 | } 41 | 42 | } // namespace ots 43 | -------------------------------------------------------------------------------- /src/fpgm.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2017 The OTS Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef OTS_FPGM_H_ 6 | #define OTS_FPGM_H_ 7 | 8 | #include "ots.h" 9 | 10 | namespace ots { 11 | 12 | class OpenTypeFPGM : public Table { 13 | public: 14 | explicit OpenTypeFPGM(Font *font, uint32_t tag) 15 | : Table(font, tag, tag) { } 16 | 17 | bool Parse(const uint8_t *data, size_t length); 18 | bool Serialize(OTSStream *out); 19 | bool ShouldSerialize(); 20 | 21 | private: 22 | const uint8_t *data; 23 | uint32_t length; 24 | }; 25 | 26 | } // namespace ots 27 | 28 | #endif // OTS_FPGM_H_ 29 | -------------------------------------------------------------------------------- /src/fvar.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2018 The OTS Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef OTS_FVAR_H_ 6 | #define OTS_FVAR_H_ 7 | 8 | #include 9 | 10 | #include "ots.h" 11 | 12 | namespace ots { 13 | 14 | // ----------------------------------------------------------------------------- 15 | // OpenTypeFVAR Interface 16 | // ----------------------------------------------------------------------------- 17 | 18 | class OpenTypeFVAR : public Table { 19 | public: 20 | explicit OpenTypeFVAR(Font* font, uint32_t tag) 21 | : Table(font, tag, tag) { } 22 | 23 | bool Parse(const uint8_t* data, size_t length); 24 | bool Serialize(OTSStream* out); 25 | 26 | uint16_t AxisCount() const { return axisCount; } 27 | 28 | private: 29 | uint16_t majorVersion; 30 | uint16_t minorVersion; 31 | uint16_t axesArrayOffset; 32 | uint16_t reserved; 33 | uint16_t axisCount; 34 | uint16_t axisSize; 35 | uint16_t instanceCount; 36 | uint16_t instanceSize; 37 | 38 | typedef int32_t Fixed; /* 16.16 fixed-point value */ 39 | 40 | struct VariationAxisRecord { 41 | uint32_t axisTag; 42 | Fixed minValue; 43 | Fixed defaultValue; 44 | Fixed maxValue; 45 | uint16_t flags; 46 | uint16_t axisNameID; 47 | }; 48 | std::vector axes; 49 | 50 | struct InstanceRecord { 51 | uint16_t subfamilyNameID; 52 | uint16_t flags; 53 | std::vector coordinates; 54 | uint16_t postScriptNameID; // optional 55 | }; 56 | std::vector instances; 57 | 58 | bool instancesHavePostScriptNameID; 59 | }; 60 | 61 | } // namespace ots 62 | 63 | #endif // OTS_FVAR_H_ 64 | -------------------------------------------------------------------------------- /src/gasp.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2017 The OTS Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef OTS_GASP_H_ 6 | #define OTS_GASP_H_ 7 | 8 | #include 9 | #include 10 | #include 11 | 12 | #include "ots.h" 13 | 14 | namespace ots { 15 | 16 | class OpenTypeGASP : public Table { 17 | public: 18 | explicit OpenTypeGASP(Font *font, uint32_t tag) 19 | : Table(font, tag, tag) { } 20 | 21 | bool Parse(const uint8_t *data, size_t length); 22 | bool Serialize(OTSStream *out); 23 | 24 | private: 25 | uint16_t version; 26 | // A array of (max PPEM, GASP behavior) pairs. 27 | std::vector > gasp_ranges; 28 | }; 29 | 30 | } // namespace ots 31 | 32 | #endif // OTS_GASP_H_ 33 | -------------------------------------------------------------------------------- /src/gdef.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011-2017 The OTS Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef OTS_GDEF_H_ 6 | #define OTS_GDEF_H_ 7 | 8 | #include "ots.h" 9 | 10 | namespace ots { 11 | 12 | class OpenTypeGDEF : public Table { 13 | public: 14 | explicit OpenTypeGDEF(Font *font, uint32_t tag) 15 | : Table(font, tag, tag), 16 | num_mark_glyph_sets(0), 17 | m_data(NULL), 18 | m_length(0), 19 | m_num_glyphs(0) { 20 | } 21 | 22 | bool Parse(const uint8_t *data, size_t length); 23 | bool Serialize(OTSStream *out); 24 | 25 | uint16_t num_mark_glyph_sets; 26 | 27 | private: 28 | bool ParseAttachListTable(const uint8_t *data, size_t length); 29 | bool ParseLigCaretListTable(const uint8_t *data, size_t length); 30 | bool ParseMarkGlyphSetsDefTable(const uint8_t *data, size_t length); 31 | 32 | const uint8_t *m_data; 33 | size_t m_length; 34 | uint16_t m_num_glyphs; 35 | }; 36 | 37 | } // namespace ots 38 | 39 | #endif 40 | 41 | -------------------------------------------------------------------------------- /src/gloc.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2017 The OTS Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef OTS_GLOC_H_ 6 | #define OTS_GLOC_H_ 7 | 8 | #include 9 | 10 | #include "ots.h" 11 | #include "graphite.h" 12 | 13 | namespace ots { 14 | 15 | class OpenTypeGLOC : public Table { 16 | public: 17 | explicit OpenTypeGLOC(Font* font, uint32_t tag) 18 | : Table(font, tag, tag) { } 19 | 20 | bool Parse(const uint8_t* data, size_t length); 21 | bool Serialize(OTSStream* out); 22 | const std::vector& GetLocations(); 23 | 24 | private: 25 | uint32_t version; 26 | uint16_t flags; 27 | static const uint16_t LONG_FORMAT = 0b1; 28 | static const uint16_t ATTRIB_IDS = 0b10; 29 | uint16_t numAttribs; 30 | std::vector locations; 31 | std::vector attribIds; 32 | }; 33 | 34 | } // namespace ots 35 | 36 | #endif // OTS_GLOC_H_ 37 | -------------------------------------------------------------------------------- /src/gpos.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011-2017 The OTS Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef OTS_GPOS_H_ 6 | #define OTS_GPOS_H_ 7 | 8 | #include "ots.h" 9 | #include "layout.h" 10 | 11 | namespace ots { 12 | 13 | class OpenTypeGPOS : public OpenTypeLayoutTable { 14 | public: 15 | explicit OpenTypeGPOS(Font *font, uint32_t tag) 16 | : OpenTypeLayoutTable(font, tag, tag) { } 17 | 18 | private: 19 | bool ValidLookupSubtableType(const uint16_t lookup_type, 20 | bool extension = false) const; 21 | bool ParseLookupSubtable(const uint8_t *data, const size_t length, 22 | const uint16_t lookup_type); 23 | 24 | bool ParseSingleAdjustment(const uint8_t *data, const size_t length); 25 | bool ParsePairAdjustment(const uint8_t *data, const size_t length); 26 | bool ParseCursiveAttachment(const uint8_t *data, const size_t length); 27 | bool ParseMarkToBaseAttachment(const uint8_t *data, const size_t length); 28 | bool ParseMarkToLigatureAttachment(const uint8_t *data, const size_t length); 29 | bool ParseMarkToMarkAttachment(const uint8_t *data, const size_t length); 30 | }; 31 | 32 | } // namespace ots 33 | 34 | #endif 35 | 36 | -------------------------------------------------------------------------------- /src/gsub.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011-2017 The OTS Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef OTS_GSUB_H_ 6 | #define OTS_GSUB_H_ 7 | 8 | #include "ots.h" 9 | #include "layout.h" 10 | 11 | namespace ots { 12 | 13 | class OpenTypeGSUB : public OpenTypeLayoutTable { 14 | public: 15 | explicit OpenTypeGSUB(Font *font, uint32_t tag) 16 | : OpenTypeLayoutTable(font, tag, tag) { } 17 | 18 | private: 19 | bool ValidLookupSubtableType(uint16_t lookup_type, 20 | bool extension = false) const; 21 | bool ParseLookupSubtable(const uint8_t *data, const size_t length, 22 | const uint16_t lookup_type); 23 | 24 | bool ParseSingleSubstitution(const uint8_t *data, const size_t length); 25 | bool ParseMutipleSubstitution(const uint8_t *data, const size_t length); 26 | bool ParseAlternateSubstitution(const uint8_t *data, const size_t length); 27 | bool ParseLigatureSubstitution(const uint8_t *data, const size_t length); 28 | bool ParseReverseChainingContextSingleSubstitution(const uint8_t *data, const size_t length); 29 | }; 30 | 31 | } // namespace ots 32 | 33 | #endif // OTS_GSUB_H_ 34 | 35 | -------------------------------------------------------------------------------- /src/gvar.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2018 The OTS Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef OTS_GVAR_H_ 6 | #define OTS_GVAR_H_ 7 | 8 | #include "ots.h" 9 | 10 | namespace ots { 11 | 12 | // ----------------------------------------------------------------------------- 13 | // OpenTypeGVAR Interface 14 | // ----------------------------------------------------------------------------- 15 | 16 | class OpenTypeGVAR : public Table { 17 | public: 18 | explicit OpenTypeGVAR(Font* font, uint32_t tag) 19 | : Table(font, tag, tag), m_ownsData(false) { } 20 | 21 | virtual ~OpenTypeGVAR() { 22 | if (m_ownsData) { 23 | delete[] m_data; 24 | } 25 | } 26 | 27 | bool Parse(const uint8_t* data, size_t length); 28 | bool Serialize(OTSStream* out); 29 | 30 | #ifdef OTS_SYNTHESIZE_MISSING_GVAR 31 | bool InitEmpty(); 32 | #endif 33 | 34 | private: 35 | const uint8_t *m_data; 36 | size_t m_length; 37 | 38 | bool m_ownsData; 39 | }; 40 | 41 | } // namespace ots 42 | 43 | #endif // OTS_GVAR_H_ 44 | -------------------------------------------------------------------------------- /src/hdmx.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2017 The OTS Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef OTS_HDMX_H_ 6 | #define OTS_HDMX_H_ 7 | 8 | #include 9 | 10 | #include "ots.h" 11 | 12 | namespace ots { 13 | 14 | struct OpenTypeHDMXDeviceRecord { 15 | uint8_t pixel_size; 16 | uint8_t max_width; 17 | std::vector widths; 18 | }; 19 | 20 | class OpenTypeHDMX : public Table { 21 | public: 22 | explicit OpenTypeHDMX(Font *font, uint32_t tag) 23 | : Table(font, tag, tag) { } 24 | 25 | bool Parse(const uint8_t *data, size_t length); 26 | bool Serialize(OTSStream *out); 27 | bool ShouldSerialize(); 28 | 29 | private: 30 | uint16_t version; 31 | int32_t size_device_record; 32 | int32_t pad_len; 33 | std::vector records; 34 | }; 35 | 36 | } // namespace ots 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /src/head.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2017 The OTS Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef OTS_HEAD_H_ 6 | #define OTS_HEAD_H_ 7 | 8 | #include "ots.h" 9 | 10 | namespace ots { 11 | 12 | class OpenTypeHEAD : public Table { 13 | public: 14 | explicit OpenTypeHEAD(Font *font, uint32_t tag) 15 | : Table(font, tag, tag) { } 16 | 17 | bool Parse(const uint8_t *data, size_t length); 18 | bool Serialize(OTSStream *out); 19 | 20 | uint32_t revision; 21 | uint16_t flags; 22 | uint16_t upem; 23 | uint64_t created; 24 | uint64_t modified; 25 | 26 | int16_t xmin, xmax; 27 | int16_t ymin, ymax; 28 | 29 | uint16_t mac_style; 30 | uint16_t min_ppem; 31 | int16_t index_to_loc_format; 32 | }; 33 | 34 | } // namespace ots 35 | 36 | #endif // OTS_HEAD_H_ 37 | -------------------------------------------------------------------------------- /src/hhea.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2017 The OTS Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #include "hhea.h" 6 | 7 | #include "head.h" 8 | #include "maxp.h" 9 | 10 | // hhea - Horizontal Header 11 | // http://www.microsoft.com/typography/otspec/hhea.htm 12 | 13 | namespace ots { 14 | 15 | bool OpenTypeHHEA::Parse(const uint8_t *data, size_t length) { 16 | Buffer table(data, length); 17 | 18 | if (!table.ReadU32(&this->version)) { 19 | return Error("Failed to read table version"); 20 | } 21 | if (this->version >> 16 != 1) { 22 | return Error("Unsupported majorVersion: %d", this->version >> 16); 23 | } 24 | 25 | return OpenTypeMetricsHeader::Parse(data, length); 26 | } 27 | 28 | } // namespace ots 29 | -------------------------------------------------------------------------------- /src/hhea.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2017 The OTS Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef OTS_HHEA_H_ 6 | #define OTS_HHEA_H_ 7 | 8 | #include "metrics.h" 9 | #include "ots.h" 10 | 11 | namespace ots { 12 | 13 | class OpenTypeHHEA : public OpenTypeMetricsHeader { 14 | public: 15 | explicit OpenTypeHHEA(Font *font, uint32_t tag) 16 | : OpenTypeMetricsHeader(font, tag, tag) { } 17 | 18 | bool Parse(const uint8_t *data, size_t length); 19 | }; 20 | 21 | } // namespace ots 22 | 23 | #endif // OTS_HHEA_H_ 24 | -------------------------------------------------------------------------------- /src/hmtx.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2017 The OTS Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef OTS_HMTX_H_ 6 | #define OTS_HMTX_H_ 7 | 8 | #include "metrics.h" 9 | #include "hhea.h" 10 | #include "ots.h" 11 | 12 | namespace ots { 13 | 14 | class OpenTypeHMTX : public OpenTypeMetricsTable { 15 | public: 16 | explicit OpenTypeHMTX(Font *font, uint32_t tag) 17 | : OpenTypeMetricsTable(font, tag, tag, OTS_TAG_HHEA) { } 18 | }; 19 | 20 | } // namespace ots 21 | 22 | #endif // OTS_HMTX_H_ 23 | -------------------------------------------------------------------------------- /src/hvar.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2018 The OTS Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef OTS_HVAR_H_ 6 | #define OTS_HVAR_H_ 7 | 8 | #include "ots.h" 9 | 10 | namespace ots { 11 | 12 | // ----------------------------------------------------------------------------- 13 | // OpenTypeHVAR Interface 14 | // ----------------------------------------------------------------------------- 15 | 16 | class OpenTypeHVAR : public Table { 17 | public: 18 | explicit OpenTypeHVAR(Font* font, uint32_t tag) 19 | : Table(font, tag, tag) { } 20 | 21 | bool Parse(const uint8_t* data, size_t length); 22 | bool Serialize(OTSStream* out); 23 | 24 | private: 25 | const uint8_t *m_data; 26 | size_t m_length; 27 | }; 28 | 29 | } // namespace ots 30 | 31 | #endif // OTS_HVAR_H_ 32 | -------------------------------------------------------------------------------- /src/kern.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2017 The OTS Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef OTS_KERN_H_ 6 | #define OTS_KERN_H_ 7 | 8 | #include 9 | 10 | #include "ots.h" 11 | 12 | namespace ots { 13 | 14 | struct OpenTypeKERNFormat0Pair { 15 | uint16_t left; 16 | uint16_t right; 17 | int16_t value; 18 | }; 19 | 20 | struct OpenTypeKERNFormat0 { 21 | uint16_t version; 22 | uint16_t coverage; 23 | uint16_t search_range; 24 | uint16_t entry_selector; 25 | uint16_t range_shift; 26 | std::vector pairs; 27 | }; 28 | 29 | // Format 2 is not supported. Since the format is not supported by Windows, 30 | // WebFonts unlikely use it. I've checked thousands of proprietary fonts and 31 | // free fonts, and found no font uses the format. 32 | 33 | class OpenTypeKERN : public Table { 34 | public: 35 | explicit OpenTypeKERN(Font *font, uint32_t tag) 36 | : Table(font, tag, tag) { } 37 | 38 | bool Parse(const uint8_t *data, size_t length); 39 | bool Serialize(OTSStream *out); 40 | bool ShouldSerialize(); 41 | 42 | private: 43 | uint16_t version; 44 | std::vector subtables; 45 | }; 46 | 47 | } // namespace ots 48 | 49 | #endif // OTS_KERN_H_ 50 | -------------------------------------------------------------------------------- /src/loca.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2017 The OTS Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef OTS_LOCA_H_ 6 | #define OTS_LOCA_H_ 7 | 8 | #include 9 | 10 | #include "ots.h" 11 | 12 | namespace ots { 13 | 14 | class OpenTypeLOCA : public Table { 15 | public: 16 | explicit OpenTypeLOCA(Font *font, uint32_t tag) 17 | : Table(font, tag, tag) { } 18 | 19 | bool Parse(const uint8_t *data, size_t length); 20 | bool Serialize(OTSStream *out); 21 | 22 | std::vector offsets; 23 | }; 24 | 25 | } // namespace ots 26 | 27 | #endif // OTS_LOCA_H_ 28 | -------------------------------------------------------------------------------- /src/ltsh.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2017 The OTS Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #include "ltsh.h" 6 | 7 | #include "maxp.h" 8 | 9 | // LTSH - Linear Threshold 10 | // http://www.microsoft.com/typography/otspec/ltsh.htm 11 | 12 | namespace ots { 13 | 14 | bool OpenTypeLTSH::Parse(const uint8_t *data, size_t length) { 15 | Buffer table(data, length); 16 | 17 | OpenTypeMAXP *maxp = static_cast( 18 | GetFont()->GetTypedTable(OTS_TAG_MAXP)); 19 | if (!maxp) { 20 | return Error("Required maxp table is missing"); 21 | } 22 | 23 | uint16_t num_glyphs = 0; 24 | if (!table.ReadU16(&this->version) || 25 | !table.ReadU16(&num_glyphs)) { 26 | return Error("Failed to read table header"); 27 | } 28 | 29 | if (this->version != 0) { 30 | return Drop("Unsupported version: %u", this->version); 31 | } 32 | 33 | if (num_glyphs != maxp->num_glyphs) { 34 | return Drop("Bad numGlyphs: %u", num_glyphs); 35 | } 36 | 37 | this->ypels.reserve(num_glyphs); 38 | for (unsigned i = 0; i < num_glyphs; ++i) { 39 | uint8_t pel = 0; 40 | if (!table.ReadU8(&pel)) { 41 | return Error("Failed to read pixels for glyph %d", i); 42 | } 43 | this->ypels.push_back(pel); 44 | } 45 | 46 | return true; 47 | } 48 | 49 | bool OpenTypeLTSH::Serialize(OTSStream *out) { 50 | const uint16_t num_ypels = static_cast(this->ypels.size()); 51 | if (num_ypels != this->ypels.size() || 52 | !out->WriteU16(this->version) || 53 | !out->WriteU16(num_ypels)) { 54 | return Error("Failed to write table header"); 55 | } 56 | for (uint16_t i = 0; i < num_ypels; ++i) { 57 | if (!out->Write(&(this->ypels[i]), 1)) { 58 | return Error("Failed to write pixel size for glyph %d", i); 59 | } 60 | } 61 | 62 | return true; 63 | } 64 | 65 | bool OpenTypeLTSH::ShouldSerialize() { 66 | return Table::ShouldSerialize() && 67 | // this table is not for CFF fonts. 68 | GetFont()->GetTable(OTS_TAG_GLYF) != NULL; 69 | } 70 | 71 | } // namespace ots 72 | -------------------------------------------------------------------------------- /src/ltsh.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2017 The OTS Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef OTS_LTSH_H_ 6 | #define OTS_LTSH_H_ 7 | 8 | #include 9 | 10 | #include "ots.h" 11 | 12 | namespace ots { 13 | 14 | class OpenTypeLTSH : public Table { 15 | public: 16 | explicit OpenTypeLTSH(Font *font, uint32_t tag) 17 | : Table(font, tag, tag) { } 18 | 19 | bool Parse(const uint8_t *data, size_t length); 20 | bool Serialize(OTSStream *out); 21 | bool ShouldSerialize(); 22 | 23 | private: 24 | uint16_t version; 25 | std::vector ypels; 26 | }; 27 | 28 | } // namespace ots 29 | 30 | #endif // OTS_LTSH_H_ 31 | -------------------------------------------------------------------------------- /src/maxp.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2017 The OTS Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef OTS_MAXP_H_ 6 | #define OTS_MAXP_H_ 7 | 8 | #include "ots.h" 9 | 10 | namespace ots { 11 | 12 | class OpenTypeMAXP : public Table { 13 | public: 14 | explicit OpenTypeMAXP(Font *font, uint32_t tag) 15 | : Table(font, tag, tag) { } 16 | 17 | bool Parse(const uint8_t *data, size_t length); 18 | bool Serialize(OTSStream *out); 19 | 20 | uint16_t num_glyphs; 21 | bool version_1; 22 | 23 | uint16_t max_points; 24 | uint16_t max_contours; 25 | uint16_t max_c_points; 26 | uint16_t max_c_contours; 27 | 28 | uint16_t max_zones; 29 | uint16_t max_t_points; 30 | uint16_t max_storage; 31 | uint16_t max_fdefs; 32 | uint16_t max_idefs; 33 | uint16_t max_stack; 34 | uint16_t max_size_glyf_instructions; 35 | 36 | uint16_t max_c_components; 37 | uint16_t max_c_depth; 38 | }; 39 | 40 | } // namespace ots 41 | 42 | #endif // OTS_MAXP_H_ 43 | -------------------------------------------------------------------------------- /src/metrics.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011-2017 The OTS Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef OTS_METRICS_H_ 6 | #define OTS_METRICS_H_ 7 | 8 | #include 9 | #include 10 | #include 11 | 12 | #include "ots.h" 13 | 14 | namespace ots { 15 | 16 | class OpenTypeMetricsHeader : public Table { 17 | public: 18 | explicit OpenTypeMetricsHeader(Font *font, uint32_t tag, uint32_t type) 19 | : Table(font, tag, type) { } 20 | 21 | bool Parse(const uint8_t *data, size_t length); 22 | bool Serialize(OTSStream *out); 23 | 24 | uint32_t version; 25 | int16_t ascent; 26 | int16_t descent; 27 | int16_t linegap; 28 | uint16_t adv_width_max; 29 | int16_t min_sb1; 30 | int16_t min_sb2; 31 | int16_t max_extent; 32 | int16_t caret_slope_rise; 33 | int16_t caret_slope_run; 34 | int16_t caret_offset; 35 | uint16_t num_metrics; 36 | }; 37 | 38 | struct OpenTypeMetricsTable : public Table { 39 | public: 40 | explicit OpenTypeMetricsTable(Font *font, uint32_t tag, uint32_t type, 41 | uint32_t header_tag) 42 | : Table(font, tag, type), m_header_tag(header_tag) { } 43 | 44 | bool Parse(const uint8_t *data, size_t length); 45 | bool Serialize(OTSStream *out); 46 | 47 | private: 48 | uint32_t m_header_tag; 49 | 50 | std::vector > entries; 51 | std::vector sbs; 52 | }; 53 | 54 | } // namespace ots 55 | 56 | #endif // OTS_METRICS_H_ 57 | -------------------------------------------------------------------------------- /src/mvar.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2018 The OTS Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef OTS_MVAR_H_ 6 | #define OTS_MVAR_H_ 7 | 8 | #include "ots.h" 9 | 10 | namespace ots { 11 | 12 | // ----------------------------------------------------------------------------- 13 | // OpenTypeMVAR Interface 14 | // ----------------------------------------------------------------------------- 15 | 16 | class OpenTypeMVAR : public Table { 17 | public: 18 | explicit OpenTypeMVAR(Font* font, uint32_t tag) 19 | : Table(font, tag, tag) { } 20 | 21 | bool Parse(const uint8_t* data, size_t length); 22 | bool Serialize(OTSStream* out); 23 | 24 | private: 25 | const uint8_t *m_data; 26 | size_t m_length; 27 | }; 28 | 29 | } // namespace ots 30 | 31 | #endif // OTS_MVAR_H_ 32 | -------------------------------------------------------------------------------- /src/name.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011-2017 The OTS Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef OTS_NAME_H_ 6 | #define OTS_NAME_H_ 7 | 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include "ots.h" 15 | 16 | namespace ots { 17 | 18 | struct NameRecord { 19 | NameRecord() { 20 | } 21 | 22 | NameRecord(uint16_t platformID, uint16_t encodingID, 23 | uint16_t languageID, uint16_t nameID) 24 | : platform_id(platformID), 25 | encoding_id(encodingID), 26 | language_id(languageID), 27 | name_id(nameID) { 28 | } 29 | 30 | uint16_t platform_id; 31 | uint16_t encoding_id; 32 | uint16_t language_id; 33 | uint16_t name_id; 34 | std::string text; 35 | 36 | bool operator<(const NameRecord& rhs) const { 37 | if (platform_id < rhs.platform_id) return true; 38 | if (platform_id > rhs.platform_id) return false; 39 | if (encoding_id < rhs.encoding_id) return true; 40 | if (encoding_id > rhs.encoding_id) return false; 41 | if (language_id < rhs.language_id) return true; 42 | if (language_id > rhs.language_id) return false; 43 | return name_id < rhs.name_id; 44 | } 45 | }; 46 | 47 | class OpenTypeNAME : public Table { 48 | public: 49 | explicit OpenTypeNAME(Font *font, uint32_t tag) 50 | : Table(font, tag, tag) { } 51 | 52 | bool Parse(const uint8_t *data, size_t length); 53 | bool Serialize(OTSStream *out); 54 | bool IsValidNameId(uint16_t nameID, bool addIfMissing = false); 55 | bool IsTrickyFont() const; 56 | 57 | private: 58 | std::vector names; 59 | std::vector lang_tags; 60 | std::unordered_set name_ids; 61 | }; 62 | 63 | } // namespace ots 64 | 65 | #endif // OTS_NAME_H_ 66 | -------------------------------------------------------------------------------- /src/os2.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2017 The OTS Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef OTS_OS2_H_ 6 | #define OTS_OS2_H_ 7 | 8 | #include "ots.h" 9 | 10 | namespace ots { 11 | 12 | struct OS2Data { 13 | uint16_t version; 14 | int16_t avg_char_width; 15 | uint16_t weight_class; 16 | uint16_t width_class; 17 | uint16_t type; 18 | int16_t subscript_x_size; 19 | int16_t subscript_y_size; 20 | int16_t subscript_x_offset; 21 | int16_t subscript_y_offset; 22 | int16_t superscript_x_size; 23 | int16_t superscript_y_size; 24 | int16_t superscript_x_offset; 25 | int16_t superscript_y_offset; 26 | int16_t strikeout_size; 27 | int16_t strikeout_position; 28 | int16_t family_class; 29 | uint8_t panose[10]; 30 | uint32_t unicode_range_1; 31 | uint32_t unicode_range_2; 32 | uint32_t unicode_range_3; 33 | uint32_t unicode_range_4; 34 | uint32_t vendor_id; 35 | uint16_t selection; 36 | uint16_t first_char_index; 37 | uint16_t last_char_index; 38 | int16_t typo_ascender; 39 | int16_t typo_descender; 40 | int16_t typo_linegap; 41 | uint16_t win_ascent; 42 | uint16_t win_descent; 43 | uint32_t code_page_range_1; 44 | uint32_t code_page_range_2; 45 | int16_t x_height; 46 | int16_t cap_height; 47 | uint16_t default_char; 48 | uint16_t break_char; 49 | uint16_t max_context; 50 | uint16_t lower_optical_pointsize; 51 | uint16_t upper_optical_pointsize; 52 | }; 53 | 54 | class OpenTypeOS2 : public Table { 55 | public: 56 | explicit OpenTypeOS2(Font *font, uint32_t tag) 57 | : Table(font, tag, tag) { } 58 | 59 | bool Parse(const uint8_t *data, size_t length); 60 | bool Serialize(OTSStream *out); 61 | 62 | OS2Data table; 63 | }; 64 | 65 | } // namespace ots 66 | 67 | #endif // OTS_OS2_H_ 68 | -------------------------------------------------------------------------------- /src/post.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2017 The OTS Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef OTS_POST_H_ 6 | #define OTS_POST_H_ 7 | 8 | #include "ots.h" 9 | 10 | #include 11 | #include 12 | #include 13 | 14 | namespace ots { 15 | 16 | class OpenTypePOST : public Table { 17 | public: 18 | explicit OpenTypePOST(Font *font, uint32_t tag) 19 | : Table(font, tag, tag) { } 20 | 21 | bool Parse(const uint8_t *data, size_t length); 22 | bool Serialize(OTSStream *out); 23 | 24 | private: 25 | uint32_t version; 26 | uint32_t italic_angle; 27 | int16_t underline; 28 | int16_t underline_thickness; 29 | uint32_t is_fixed_pitch; 30 | 31 | std::vector glyph_name_index; 32 | std::vector names; 33 | }; 34 | 35 | } // namespace ots 36 | 37 | #endif // OTS_POST_H_ 38 | -------------------------------------------------------------------------------- /src/prep.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2017 The OTS Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #include "prep.h" 6 | 7 | // prep - Control Value Program 8 | // http://www.microsoft.com/typography/otspec/prep.htm 9 | 10 | namespace ots { 11 | 12 | bool OpenTypePREP::Parse(const uint8_t *data, size_t length) { 13 | Buffer table(data, length); 14 | 15 | if (length >= 128 * 1024u) { 16 | // almost all prep tables are less than 9k bytes. 17 | return Error("Table length %ld > 120K", length); 18 | } 19 | 20 | if (!table.Skip(length)) { 21 | return Error("Failed to read table of length %ld", length); 22 | } 23 | 24 | this->m_data = data; 25 | this->m_length = length; 26 | return true; 27 | } 28 | 29 | bool OpenTypePREP::Serialize(OTSStream *out) { 30 | if (!out->Write(this->m_data, this->m_length)) { 31 | return Error("Failed to write table length"); 32 | } 33 | 34 | return true; 35 | } 36 | 37 | bool OpenTypePREP::ShouldSerialize() { 38 | return Table::ShouldSerialize() && 39 | // this table is not for CFF fonts. 40 | GetFont()->GetTable(OTS_TAG_GLYF) != NULL; 41 | } 42 | 43 | } // namespace ots 44 | -------------------------------------------------------------------------------- /src/prep.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2017 The OTS Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef OTS_PREP_H_ 6 | #define OTS_PREP_H_ 7 | 8 | #include "ots.h" 9 | 10 | namespace ots { 11 | 12 | class OpenTypePREP : public Table { 13 | public: 14 | explicit OpenTypePREP(Font *font, uint32_t tag) 15 | : Table(font, tag, tag) { } 16 | 17 | bool Parse(const uint8_t *data, size_t length); 18 | bool Serialize(OTSStream *out); 19 | bool ShouldSerialize(); 20 | 21 | private: 22 | const uint8_t *m_data; 23 | uint32_t m_length; 24 | }; 25 | 26 | } // namespace ots 27 | 28 | #endif // OTS_PREP_H_ 29 | -------------------------------------------------------------------------------- /src/sile.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2017 The OTS Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef OTS_SILE_H_ 6 | #define OTS_SILE_H_ 7 | 8 | #include "ots.h" 9 | #include "graphite.h" 10 | 11 | #include 12 | 13 | namespace ots { 14 | 15 | class OpenTypeSILE : public Table { 16 | public: 17 | explicit OpenTypeSILE(Font* font, uint32_t tag) 18 | : Table(font, tag, tag) { } 19 | 20 | bool Parse(const uint8_t* data, size_t length); 21 | bool Serialize(OTSStream* out); 22 | 23 | private: 24 | uint32_t version; 25 | uint32_t checksum; 26 | uint32_t createTime[2]; 27 | uint32_t modifyTime[2]; 28 | uint16_t fontNameLength; 29 | std::vector fontName; 30 | uint16_t fontFileLength; 31 | std::vector baseFile; 32 | }; 33 | 34 | } // namespace ots 35 | 36 | #endif // OTS_SILE_H_ 37 | -------------------------------------------------------------------------------- /src/sill.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2017 The OTS Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef OTS_SILL_H_ 6 | #define OTS_SILL_H_ 7 | 8 | #include "ots.h" 9 | #include "graphite.h" 10 | 11 | #include 12 | 13 | namespace ots { 14 | 15 | class OpenTypeSILL : public Table { 16 | public: 17 | explicit OpenTypeSILL(Font* font, uint32_t tag) 18 | : Table(font, tag, tag) { } 19 | 20 | bool Parse(const uint8_t* data, size_t length); 21 | bool Serialize(OTSStream* out); 22 | 23 | private: 24 | struct LanguageEntry : public TablePart { 25 | explicit LanguageEntry(OpenTypeSILL* parent) 26 | : TablePart(parent) { } 27 | bool ParsePart(Buffer &table); 28 | bool SerializePart(OTSStream* out) const; 29 | uint8_t langcode[4]; 30 | uint16_t numSettings; 31 | uint16_t offset; 32 | }; 33 | struct LangFeatureSetting : public TablePart { 34 | explicit LangFeatureSetting(OpenTypeSILL* parent) 35 | : TablePart(parent) { } 36 | bool ParsePart(Buffer &table); 37 | bool SerializePart(OTSStream* out) const; 38 | uint32_t featureId; 39 | int16_t value; 40 | uint16_t reserved; 41 | }; 42 | uint32_t version; 43 | uint16_t numLangs; 44 | uint16_t searchRange; 45 | uint16_t entrySelector; 46 | uint16_t rangeShift; 47 | std::vector entries; 48 | std::vector settings; 49 | }; 50 | 51 | } // namespace ots 52 | 53 | #endif // OTS_SILL_H_ 54 | -------------------------------------------------------------------------------- /src/variations.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2018 The OTS Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef OTS_VARIATIONS_H_ 6 | #define OTS_VARIATIONS_H_ 7 | 8 | #include 9 | #include "ots.h" 10 | 11 | // Utility functions for OpenType variations common table formats. 12 | 13 | namespace ots { 14 | 15 | bool ParseItemVariationStore(const Font* font, 16 | const uint8_t* data, const size_t length, 17 | std::vector* out_region_index_count = NULL); 18 | 19 | bool ParseDeltaSetIndexMap(const Font* font, const uint8_t* data, const size_t length); 20 | 21 | bool ParseVariationData(const Font* font, const uint8_t* data, size_t length, 22 | size_t axisCount, size_t sharedTupleCount); 23 | 24 | } // namespace ots 25 | 26 | #endif // OTS_VARIATIONS_H_ 27 | -------------------------------------------------------------------------------- /src/vdmx.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2017 The OTS Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef OTS_VDMX_H_ 6 | #define OTS_VDMX_H_ 7 | 8 | #include 9 | 10 | #include "ots.h" 11 | 12 | namespace ots { 13 | 14 | struct OpenTypeVDMXRatioRecord { 15 | uint8_t charset; 16 | uint8_t x_ratio; 17 | uint8_t y_start_ratio; 18 | uint8_t y_end_ratio; 19 | }; 20 | 21 | struct OpenTypeVDMXVTable { 22 | uint16_t y_pel_height; 23 | int16_t y_max; 24 | int16_t y_min; 25 | }; 26 | 27 | struct OpenTypeVDMXGroup { 28 | uint16_t recs; 29 | uint8_t startsz; 30 | uint8_t endsz; 31 | std::vector entries; 32 | }; 33 | 34 | class OpenTypeVDMX : public Table { 35 | public: 36 | explicit OpenTypeVDMX(Font *font, uint32_t tag) 37 | : Table(font, tag, tag) { } 38 | 39 | bool Parse(const uint8_t *data, size_t length); 40 | bool Serialize(OTSStream *out); 41 | bool ShouldSerialize(); 42 | 43 | private: 44 | uint16_t version; 45 | uint16_t num_recs; 46 | uint16_t num_ratios; 47 | std::vector rat_ranges; 48 | std::vector offsets; 49 | std::vector groups; 50 | }; 51 | 52 | } // namespace ots 53 | 54 | #endif // OTS_VDMX_H_ 55 | -------------------------------------------------------------------------------- /src/vhea.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011-2017 The OTS Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #include "vhea.h" 6 | 7 | #include "head.h" 8 | #include "maxp.h" 9 | 10 | // vhea - Vertical Header Table 11 | // http://www.microsoft.com/typography/otspec/vhea.htm 12 | 13 | namespace ots { 14 | 15 | bool OpenTypeVHEA::Parse(const uint8_t *data, size_t length) { 16 | Buffer table(data, length); 17 | 18 | if (!table.ReadU32(&this->version)) { 19 | return Error("Failed to read version"); 20 | } 21 | if (this->version != 0x00010000 && 22 | this->version != 0x00011000) { 23 | return Error("Unsupported table version: 0x%x", this->version); 24 | } 25 | 26 | return OpenTypeMetricsHeader::Parse(data, length); 27 | } 28 | 29 | } // namespace ots 30 | -------------------------------------------------------------------------------- /src/vhea.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011-2017 The OTS Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef OTS_VHEA_H_ 6 | #define OTS_VHEA_H_ 7 | 8 | #include "metrics.h" 9 | #include "ots.h" 10 | 11 | namespace ots { 12 | 13 | class OpenTypeVHEA : public OpenTypeMetricsHeader { 14 | public: 15 | explicit OpenTypeVHEA(Font *font, uint32_t tag) 16 | : OpenTypeMetricsHeader(font, tag, tag) { } 17 | 18 | bool Parse(const uint8_t *data, size_t length); 19 | }; 20 | 21 | } // namespace ots 22 | 23 | #endif // OTS_VHEA_H_ 24 | 25 | -------------------------------------------------------------------------------- /src/vmtx.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011-2017 The OTS Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef OTS_VMTX_H_ 6 | #define OTS_VMTX_H_ 7 | 8 | #include "metrics.h" 9 | #include "vhea.h" 10 | #include "ots.h" 11 | 12 | namespace ots { 13 | 14 | struct OpenTypeVMTX : public OpenTypeMetricsTable { 15 | public: 16 | explicit OpenTypeVMTX(Font *font, uint32_t tag) 17 | : OpenTypeMetricsTable(font, tag, tag, OTS_TAG_VHEA) { } 18 | }; 19 | 20 | } // namespace ots 21 | 22 | #endif // OTS_VMTX_H_ 23 | 24 | -------------------------------------------------------------------------------- /src/vorg.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2017 The OTS Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef OTS_VORG_H_ 6 | #define OTS_VORG_H_ 7 | 8 | #include 9 | 10 | #include "ots.h" 11 | 12 | namespace ots { 13 | 14 | struct OpenTypeVORGMetrics { 15 | uint16_t glyph_index; 16 | int16_t vert_origin_y; 17 | }; 18 | 19 | class OpenTypeVORG : public Table { 20 | public: 21 | explicit OpenTypeVORG(Font *font, uint32_t tag) 22 | : Table(font, tag, tag) { } 23 | 24 | bool Parse(const uint8_t *data, size_t length); 25 | bool Serialize(OTSStream *out); 26 | bool ShouldSerialize(); 27 | 28 | private: 29 | uint16_t major_version; 30 | uint16_t minor_version; 31 | int16_t default_vert_origin_y; 32 | std::vector metrics; 33 | }; 34 | 35 | } // namespace ots 36 | 37 | #endif // OTS_VORG_H_ 38 | -------------------------------------------------------------------------------- /src/vvar.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2018 The OTS Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef OTS_VVAR_H_ 6 | #define OTS_VVAR_H_ 7 | 8 | #include "ots.h" 9 | 10 | namespace ots { 11 | 12 | // ----------------------------------------------------------------------------- 13 | // OpenTypeVVAR Interface 14 | // ----------------------------------------------------------------------------- 15 | 16 | class OpenTypeVVAR : public Table { 17 | public: 18 | explicit OpenTypeVVAR(Font* font, uint32_t tag) 19 | : Table(font, tag, tag) { } 20 | 21 | bool Parse(const uint8_t* data, size_t length); 22 | bool Serialize(OTSStream* out); 23 | 24 | private: 25 | const uint8_t *m_data; 26 | size_t m_length; 27 | }; 28 | 29 | } // namespace ots 30 | 31 | #endif // OTS_VVAR_H_ 32 | -------------------------------------------------------------------------------- /subprojects/.gitignore: -------------------------------------------------------------------------------- 1 | /packagecache 2 | /*-[a-f0-9]* 3 | -------------------------------------------------------------------------------- /subprojects/freetype2.wrap: -------------------------------------------------------------------------------- 1 | [wrap-file] 2 | directory = freetype-2.13.3 3 | source_url = https://download.savannah.gnu.org/releases/freetype/freetype-2.13.3.tar.xz 4 | source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/freetype2_2.13.3-1/freetype-2.13.3.tar.xz 5 | source_filename = freetype-2.13.3.tar.xz 6 | source_hash = 0550350666d427c74daeb85d5ac7bb353acba5f76956395995311a9c6f063289 7 | wrapdb_version = 2.13.3-1 8 | 9 | [provide] 10 | freetype2 = freetype_dep 11 | freetype = freetype_dep 12 | -------------------------------------------------------------------------------- /subprojects/google-brotli.wrap: -------------------------------------------------------------------------------- 1 | [wrap-file] 2 | directory = brotli-1.1.0 3 | source_url = https://github.com/google/brotli/archive/v1.1.0.tar.gz 4 | source_filename = v1.1.0.tar.gz 5 | source_hash = e720a6ca29428b803f4ad165371771f5398faba397edf6778837a18599ea13ff 6 | patch_filename = google-brotli_1.1.0-1_patch.zip 7 | patch_url = https://wrapdb.mesonbuild.com/v2/google-brotli_1.1.0-1/get_patch 8 | patch_hash = 6826873a148c670d90a80715a7083284da7e19d59cda6a135fae6774411914dc 9 | source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/google-brotli_1.1.0-1/v1.1.0.tar.gz 10 | wrapdb_version = 1.1.0-1 11 | 12 | [provide] 13 | libbrotlicommon = brotli_common_dep 14 | libbrotlidec = brotli_decoder_dep 15 | libbrotlienc = brotli_encoder_dep 16 | -------------------------------------------------------------------------------- /subprojects/google-woff2.wrap: -------------------------------------------------------------------------------- 1 | [wrap-file] 2 | directory = woff2-1.0.2 3 | source_url = https://github.com/google/woff2/archive/v1.0.2.tar.gz 4 | source_filename = v1.0.2.tar.gz 5 | source_hash = add272bb09e6384a4833ffca4896350fdb16e0ca22df68c0384773c67a175594 6 | patch_filename = google-woff2_1.0.2-2_patch.zip 7 | patch_url = https://wrapdb.mesonbuild.com/v2/google-woff2_1.0.2-2/get_patch 8 | patch_hash = b93c458d3af73be33a87c713ee57fbcc2823472132331039d6fca6b20bb8ebc2 9 | 10 | [provide] 11 | libwoff2common = woff2_common_dep4 12 | libwoff2dec = woff2_decoder_dep 13 | libwoff2enc = woff2_encoder_dep 14 | program_names = woff2_decompress, woff2_compress, woff2_info 15 | 16 | -------------------------------------------------------------------------------- /subprojects/gtest.wrap: -------------------------------------------------------------------------------- 1 | [wrap-file] 2 | directory = googletest-release-1.11.0 3 | source_url = https://github.com/google/googletest/archive/release-1.11.0.tar.gz 4 | source_filename = gtest-1.11.0.tar.gz 5 | source_hash = b4870bf121ff7795ba20d20bcdd8627b8e088f2d1dab299a031c1034eddc93d5 6 | patch_filename = gtest_1.11.0-2_patch.zip 7 | patch_url = https://wrapdb.mesonbuild.com/v2/gtest_1.11.0-2/get_patch 8 | patch_hash = 764530d812ac161c9eab02a8cfaec67c871fcfc5548e29fd3d488070913d4e94 9 | 10 | [provide] 11 | gtest = gtest_dep 12 | gtest_main = gtest_main_dep 13 | gmock = gmock_dep 14 | gmock_main = gmock_main_dep 15 | 16 | -------------------------------------------------------------------------------- /subprojects/lz4.wrap: -------------------------------------------------------------------------------- 1 | [wrap-file] 2 | directory = lz4-1.9.4 3 | source_url = https://github.com/lz4/lz4/archive/v1.9.4.tar.gz 4 | source_filename = lz4-1.9.4.tgz 5 | source_hash = 0b0e3aa07c8c063ddf40b082bdf7e37a1562bda40a0ff5272957f3e987e0e54b 6 | patch_filename = lz4_1.9.4-2_patch.zip 7 | patch_url = https://wrapdb.mesonbuild.com/v2/lz4_1.9.4-2/get_patch 8 | patch_hash = 4f33456cce986167d23faf5d28a128e773746c10789950475d2155a7914630fb 9 | wrapdb_version = 1.9.4-2 10 | 11 | [provide] 12 | liblz4 = liblz4_dep 13 | -------------------------------------------------------------------------------- /subprojects/packagefiles/brotli/LICENSE.build: -------------------------------------------------------------------------------- 1 | Copyright (c) 2020 The Meson development team 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | SOFTWARE. 20 | -------------------------------------------------------------------------------- /subprojects/packagefiles/woff2/LICENSE.build: -------------------------------------------------------------------------------- 1 | Copyright (c) 2021 Benjamin A. Beasley 2 | Copyright (c) 2019-2020 Intel Corporation 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the Software is 9 | furnished to do so, subject to the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be included in all 12 | copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 20 | SOFTWARE. 21 | -------------------------------------------------------------------------------- /subprojects/packagefiles/woff2/meson_options.txt: -------------------------------------------------------------------------------- 1 | option('canonical_prefixes', type : 'boolean', value : false, 2 | description : 'Canonical prefixes') 3 | option('noisy_logging', type : 'boolean', value : false) 4 | -------------------------------------------------------------------------------- /subprojects/zlib.wrap: -------------------------------------------------------------------------------- 1 | [wrap-file] 2 | directory = zlib-1.3.1 3 | source_url = http://zlib.net/fossils/zlib-1.3.1.tar.gz 4 | source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/zlib_1.3.1-1/zlib-1.3.1.tar.gz 5 | source_filename = zlib-1.3.1.tar.gz 6 | source_hash = 9a93b2b7dfdac77ceba5a558a580e74667dd6fede4585b91eefb60f03b72df23 7 | patch_filename = zlib_1.3.1-1_patch.zip 8 | patch_url = https://wrapdb.mesonbuild.com/v2/zlib_1.3.1-1/get_patch 9 | patch_hash = e79b98eb24a75392009cec6f99ca5cdca9881ff20bfa174e8b8926d5c7a47095 10 | wrapdb_version = 1.3.1-1 11 | 12 | [provide] 13 | zlib = zlib_dep 14 | -------------------------------------------------------------------------------- /tests/fonts/bad/0014256514b220c525e98840b0d6ba736a85acbd.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/0014256514b220c525e98840b0d6ba736a85acbd.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/003a9baf5665abc42fae0d7027718294601385b9.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/003a9baf5665abc42fae0d7027718294601385b9.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/00ac7a910785ea3a30655fe386d4cb02b39719aa.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/00ac7a910785ea3a30655fe386d4cb02b39719aa.otf -------------------------------------------------------------------------------- /tests/fonts/bad/013d9956e40d1ea194c4d7817fbf220d6be9c33b.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/013d9956e40d1ea194c4d7817fbf220d6be9c33b.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/01592f6b2f515888a44dc6311c481a57edf79644.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/01592f6b2f515888a44dc6311c481a57edf79644.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/024ad17b23e4298f1d80246b63d63d8e54c76e3d.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/024ad17b23e4298f1d80246b63d63d8e54c76e3d.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/0349e0140ce7dc311f52413dea38b8d64df5cd0c.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/0349e0140ce7dc311f52413dea38b8d64df5cd0c.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/035341aa98a4342f18cf59d7332a77794c5a8923.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/035341aa98a4342f18cf59d7332a77794c5a8923.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/03b667c2ab94eba7e078bc91cd7145e04f352cd5.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/03b667c2ab94eba7e078bc91cd7145e04f352cd5.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/07165649b488b700585197b1d1083f94ac61d525.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/07165649b488b700585197b1d1083f94ac61d525.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/078400f5718f84841fc43a04fd28d946ddad5e37.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/078400f5718f84841fc43a04fd28d946ddad5e37.otf -------------------------------------------------------------------------------- /tests/fonts/bad/080a26ad508861558f5f69836881bb0b8e8842c2.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/080a26ad508861558f5f69836881bb0b8e8842c2.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/08b3b69027fc071fa71910cc7857833b7e5f4534.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/08b3b69027fc071fa71910cc7857833b7e5f4534.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/092da87de7e293efee8be43f531b5bf0612693a5.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/092da87de7e293efee8be43f531b5bf0612693a5.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/0a228b7430d18283b6564822c06e8521dac93407.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/0a228b7430d18283b6564822c06e8521dac93407.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/0a85ab417c6726d99235a6f9aaaf4879f711f01b.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/0a85ab417c6726d99235a6f9aaaf4879f711f01b.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/0c60702ee5003855555fee931a2da7daa917a1ef.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/0c60702ee5003855555fee931a2da7daa917a1ef.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/0da956a1d4dad2962619a3f0a1d87daa677ffcf5.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/0da956a1d4dad2962619a3f0a1d87daa677ffcf5.otf -------------------------------------------------------------------------------- /tests/fonts/bad/0e4a70a10a82f7f4d63865006e81a445de26d3d1.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/0e4a70a10a82f7f4d63865006e81a445de26d3d1.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/0f4f4a8e4a247694370ff11ae8b129395eca85fd.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/0f4f4a8e4a247694370ff11ae8b129395eca85fd.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/0fce4352e04a156a1cb8d4bc344cd2be1dfe7177.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/0fce4352e04a156a1cb8d4bc344cd2be1dfe7177.otf -------------------------------------------------------------------------------- /tests/fonts/bad/103ad354e517994c447b9c5c6914a290517cb5ed.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/103ad354e517994c447b9c5c6914a290517cb5ed.otf -------------------------------------------------------------------------------- /tests/fonts/bad/103b47d389cb700e76893677f51f7b74d09d08d5.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/103b47d389cb700e76893677f51f7b74d09d08d5.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/13124b99e25a379efbdd1c3820b1484f842e1ad5.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/13124b99e25a379efbdd1c3820b1484f842e1ad5.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/173c4c23291c983fead3d734afd8a4de504f508e.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/173c4c23291c983fead3d734afd8a4de504f508e.otf -------------------------------------------------------------------------------- /tests/fonts/bad/17cbd36aad32fe96dfb6dc49ceaaed54553c9189.ttf: -------------------------------------------------------------------------------- 1 |  Feat -------------------------------------------------------------------------------- /tests/fonts/bad/1ccbe1de6cfd3c183f067d4a2549f81405740a1d.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/1ccbe1de6cfd3c183f067d4a2549f81405740a1d.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/1de19636832bb7ebb45680fb09b44227f19a96ce.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/1de19636832bb7ebb45680fb09b44227f19a96ce.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/1ef2c4e95428d382ed8653c6657bdb66eb0f415d.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/1ef2c4e95428d382ed8653c6657bdb66eb0f415d.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/23b2a3316b3797bf9a61acdf36cf63d10ab3342e.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/23b2a3316b3797bf9a61acdf36cf63d10ab3342e.woff -------------------------------------------------------------------------------- /tests/fonts/bad/251a4ffb5418b336217a9e7958941192b5a20137.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/251a4ffb5418b336217a9e7958941192b5a20137.otf -------------------------------------------------------------------------------- /tests/fonts/bad/257a9ccbda162eec44796987d8e20fca32288029.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/257a9ccbda162eec44796987d8e20fca32288029.otf -------------------------------------------------------------------------------- /tests/fonts/bad/28ce9a4dc67328856213bb1da09d55e4cf561c68.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/28ce9a4dc67328856213bb1da09d55e4cf561c68.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/2d0bf4e52a64aa8bda2fdd9597e1bb4fbf33eb2b.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/2d0bf4e52a64aa8bda2fdd9597e1bb4fbf33eb2b.woff2 -------------------------------------------------------------------------------- /tests/fonts/bad/2d80771036e065b9cd582b769d0388a0de90f84f.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/2d80771036e065b9cd582b769d0388a0de90f84f.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/2edb1d50d2b8f4ccf8b7d56e7f354dd86be081f9.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/2edb1d50d2b8f4ccf8b7d56e7f354dd86be081f9.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/2f74c3cb404c60d9a46e883c88d6c10dc3562fad.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/2f74c3cb404c60d9a46e883c88d6c10dc3562fad.otf -------------------------------------------------------------------------------- /tests/fonts/bad/335e7e5a354010624679dfb52609652c4a7f6fc8.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/335e7e5a354010624679dfb52609652c4a7f6fc8.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/33df9c8b531928c90a3afebf6b15828dd0cad929.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/33df9c8b531928c90a3afebf6b15828dd0cad929.otf -------------------------------------------------------------------------------- /tests/fonts/bad/33f430d6661b687d4449d0f0878da477a50f41c1.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/33f430d6661b687d4449d0f0878da477a50f41c1.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/345cfba1a71738b238de912c04370623f153f72f.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/345cfba1a71738b238de912c04370623f153f72f.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/35159513f8d8422ff1a880a039ad68c857660cdd.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/35159513f8d8422ff1a880a039ad68c857660cdd.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/3b7eaf30cc528463aa344305b5ab9528e1bc3c15.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/3b7eaf30cc528463aa344305b5ab9528e1bc3c15.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/3b9bcfd57f7f18dd4c45ba51e77b23b3895faa9f.ttc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/3b9bcfd57f7f18dd4c45ba51e77b23b3895faa9f.ttc -------------------------------------------------------------------------------- /tests/fonts/bad/3ba5737414924ed17800ff60ff21a524a513e111.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/3ba5737414924ed17800ff60ff21a524a513e111.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/3bfa96a443c19de63f28554b748bf84e57ee51c3.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/3bfa96a443c19de63f28554b748bf84e57ee51c3.otf -------------------------------------------------------------------------------- /tests/fonts/bad/410761bc1115173bad3f6b0d3d72103e1dc32f67.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/410761bc1115173bad3f6b0d3d72103e1dc32f67.otf -------------------------------------------------------------------------------- /tests/fonts/bad/41542b89c620cc3159dc2f29bd335d48136478da.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/41542b89c620cc3159dc2f29bd335d48136478da.otf -------------------------------------------------------------------------------- /tests/fonts/bad/42e947856c0ee90faf78051ffc41e527a8ee8be9.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/42e947856c0ee90faf78051ffc41e527a8ee8be9.woff2 -------------------------------------------------------------------------------- /tests/fonts/bad/457227a3d4dbf6dd062d251b2ae0c8b31f14c9b8.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/457227a3d4dbf6dd062d251b2ae0c8b31f14c9b8.otf -------------------------------------------------------------------------------- /tests/fonts/bad/47b556f393b0988cf320b165512a97a5da128f05.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/47b556f393b0988cf320b165512a97a5da128f05.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/494f40cf28ec4c2753aa907941fe48b7d15f6b04.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/494f40cf28ec4c2753aa907941fe48b7d15f6b04.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/4c8e7bcd6b657941c4e846f6e48bb714fb3faf92.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/4c8e7bcd6b657941c4e846f6e48bb714fb3faf92.otf -------------------------------------------------------------------------------- /tests/fonts/bad/4d29ba6a49fcba83c9a0cb91835b8e5e9fbe2e0b.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/4d29ba6a49fcba83c9a0cb91835b8e5e9fbe2e0b.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/4d9ba653319ad56fa13a724e6d2c357ff948c2ea.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/4d9ba653319ad56fa13a724e6d2c357ff948c2ea.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/52053c2de32349ee09bbb6a4e755c2b3e85b9821.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/52053c2de32349ee09bbb6a4e755c2b3e85b9821.woff -------------------------------------------------------------------------------- /tests/fonts/bad/55c321d6932942d22555ff9b985e905eb472d4d1.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/55c321d6932942d22555ff9b985e905eb472d4d1.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/56d013275a9626c7b10b677fba1d5d4752eec51f.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/56d013275a9626c7b10b677fba1d5d4752eec51f.otf -------------------------------------------------------------------------------- /tests/fonts/bad/5733cd9ca76aead50df6240b6b42d466e78240b2.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/5733cd9ca76aead50df6240b6b42d466e78240b2.woff -------------------------------------------------------------------------------- /tests/fonts/bad/58b7bd1ebd3396d226c5a777098d115a2fc9f56f.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/58b7bd1ebd3396d226c5a777098d115a2fc9f56f.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/58c575a08b375e51c9776275c5f877396ddf552b.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/58c575a08b375e51c9776275c5f877396ddf552b.otf -------------------------------------------------------------------------------- /tests/fonts/bad/5c67809a0d4b9a16d9eba881282f920153b761eb.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/5c67809a0d4b9a16d9eba881282f920153b761eb.otf -------------------------------------------------------------------------------- /tests/fonts/bad/65932a3c0a5ebcbc1ac55267e98506e9dedf41a5.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/65932a3c0a5ebcbc1ac55267e98506e9dedf41a5.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/66803a29a4e2dc941921d82abf376857583b49db.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/66803a29a4e2dc941921d82abf376857583b49db.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/68bfc9f9233e34db2c5ecb5fb966bf205f92079a.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/68bfc9f9233e34db2c5ecb5fb966bf205f92079a.otf -------------------------------------------------------------------------------- /tests/fonts/bad/692df3e4b35e0b83cc8991a19ae29e434e705124.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/692df3e4b35e0b83cc8991a19ae29e434e705124.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/698e25666a75ea6121065b5fced5ccee62b65ca4.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/698e25666a75ea6121065b5fced5ccee62b65ca4.otf -------------------------------------------------------------------------------- /tests/fonts/bad/6d2cc2870fabdc4fa686b66accd404759349e4a8.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/6d2cc2870fabdc4fa686b66accd404759349e4a8.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/7304e91492c3ba14030446c92f084f8fb031e8e8.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/7304e91492c3ba14030446c92f084f8fb031e8e8.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/7522970cb3bb80a698c206cfa61f8418767c1704.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/7522970cb3bb80a698c206cfa61f8418767c1704.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/7c8eefff708b374fffbce135ba28a4565766e560.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/7c8eefff708b374fffbce135ba28a4565766e560.otf -------------------------------------------------------------------------------- /tests/fonts/bad/7ee3cdda8571ff1e51aa081825f72cd0a545e052.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/7ee3cdda8571ff1e51aa081825f72cd0a545e052.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/81942d3ea419539b69990ba98f824a8a46dcb951.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/81942d3ea419539b69990ba98f824a8a46dcb951.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/85d903c71a429ed98a012e742a700cbe2fef005c.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/85d903c71a429ed98a012e742a700cbe2fef005c.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/8a97d860fcbd1294be09f2d0aebb764f2c12f69c.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/8a97d860fcbd1294be09f2d0aebb764f2c12f69c.woff -------------------------------------------------------------------------------- /tests/fonts/bad/8edb1c6072ff63478456cc93601b77b0eb3432e7.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/8edb1c6072ff63478456cc93601b77b0eb3432e7.otf -------------------------------------------------------------------------------- /tests/fonts/bad/90d60863109aab420257ee10577f2673cb91b3e7.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/90d60863109aab420257ee10577f2673cb91b3e7.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/92520e16995b11b01f56b3834f200416f656161d.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/92520e16995b11b01f56b3834f200416f656161d.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/927b4dc365aab682749294bc85bd195e4b74e034.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/927b4dc365aab682749294bc85bd195e4b74e034.otf -------------------------------------------------------------------------------- /tests/fonts/bad/9682ce841ae16214afca9b5e584162611f88dfff.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/9682ce841ae16214afca9b5e584162611f88dfff.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/975a2ba94ea4f520406e1dae2e99bd366b0b66c1.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/975a2ba94ea4f520406e1dae2e99bd366b0b66c1.otf -------------------------------------------------------------------------------- /tests/fonts/bad/985de319c172b29bd9e651b093271a8939c35f13.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/985de319c172b29bd9e651b093271a8939c35f13.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/a53afc75de22a49c7eebf925b6f54e6dcf208900.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/a53afc75de22a49c7eebf925b6f54e6dcf208900.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/a80d45906af055b269d6e81eeae9e91d5c26ef27.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/a80d45906af055b269d6e81eeae9e91d5c26ef27.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/a9a801b5149ecc0c9fe30db4beec2c511b0e3f71.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/a9a801b5149ecc0c9fe30db4beec2c511b0e3f71.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/aae49b8143752111464bfee4e06514a648b4365e.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/aae49b8143752111464bfee4e06514a648b4365e.woff2 -------------------------------------------------------------------------------- /tests/fonts/bad/af434603052be497e74415f2f160df0d6989aded.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/af434603052be497e74415f2f160df0d6989aded.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/af7109c13a67bf110892429dfe658a8f62670ce1.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/af7109c13a67bf110892429dfe658a8f62670ce1.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/b49c3750db6a1538283586cbf1115e973383350c.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/b49c3750db6a1538283586cbf1115e973383350c.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/b9a7339a1ff85286437d93e59df48cc35e5610d6.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/b9a7339a1ff85286437d93e59df48cc35e5610d6.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/b9ea4b9b671307bc0f9745dd684e1e4f6e48191d.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/b9ea4b9b671307bc0f9745dd684e1e4f6e48191d.otf -------------------------------------------------------------------------------- /tests/fonts/bad/bd5ee794425c2809f262b4bc6e3c0b33008fca73.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/bd5ee794425c2809f262b4bc6e3c0b33008fca73.otf -------------------------------------------------------------------------------- /tests/fonts/bad/c22404e0f69eaca5bbfbecd13d2941df5748a8e3.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/c22404e0f69eaca5bbfbecd13d2941df5748a8e3.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/c69c27b17d332fbf33dbc8f25baa0a0a461293a2.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/c69c27b17d332fbf33dbc8f25baa0a0a461293a2.otf -------------------------------------------------------------------------------- /tests/fonts/bad/c6c0f06e6819b04a2eacca8e20dc0882a21bc312.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/c6c0f06e6819b04a2eacca8e20dc0882a21bc312.otf -------------------------------------------------------------------------------- /tests/fonts/bad/ca0e0bca764d78f46d533b11bb66466f5b489220.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/ca0e0bca764d78f46d533b11bb66466f5b489220.otf -------------------------------------------------------------------------------- /tests/fonts/bad/ca5b8d77bb1f1a094cc0032e83487f3cde33a9d6.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/ca5b8d77bb1f1a094cc0032e83487f3cde33a9d6.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/cb5656f950377ad5de2c7a6df0a659fbb7065ffe.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/cb5656f950377ad5de2c7a6df0a659fbb7065ffe.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/cbc1d3e183f8138f94b788baa397413d7863eb07.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/cbc1d3e183f8138f94b788baa397413d7863eb07.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/cf6934b8e2d100b495e219d1b079fa2c34133d08.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/cf6934b8e2d100b495e219d1b079fa2c34133d08.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/d052cc5e62def2facb5772d1b38112779539ef0a.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/d052cc5e62def2facb5772d1b38112779539ef0a.otf -------------------------------------------------------------------------------- /tests/fonts/bad/d262af9b0b7836f7395ae8b1a4a37e38fa0ae6c3.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/d262af9b0b7836f7395ae8b1a4a37e38fa0ae6c3.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/dbcd1243ae657ee8934a699d474be2d0ba79da94.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/dbcd1243ae657ee8934a699d474be2d0ba79da94.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/dcc4f3316f90bc8a4c05e0086d2b49fddd3a059b.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/dcc4f3316f90bc8a4c05e0086d2b49fddd3a059b.otf -------------------------------------------------------------------------------- /tests/fonts/bad/e071a5082117ad5a64dc3db1bfcd0a31d6db93ae.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/e071a5082117ad5a64dc3db1bfcd0a31d6db93ae.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/ea8c4b1d5178ae184ffd0346f12fd426850729cc.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/ea8c4b1d5178ae184ffd0346f12fd426850729cc.otf -------------------------------------------------------------------------------- /tests/fonts/bad/eaeb6d903b14ee184f887aa8a0a81b917e252da9.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/eaeb6d903b14ee184f887aa8a0a81b917e252da9.otf -------------------------------------------------------------------------------- /tests/fonts/bad/eb44137aa49ccb9ea7aad127a8fdc6e155f20565.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/eb44137aa49ccb9ea7aad127a8fdc6e155f20565.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/ed550c912a8c5febfdad9ca2500b3284ecfac0d7.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/ed550c912a8c5febfdad9ca2500b3284ecfac0d7.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/edaf09c932e0582b1473384f66d5571da752a4d2.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/edaf09c932e0582b1473384f66d5571da752a4d2.otf -------------------------------------------------------------------------------- /tests/fonts/bad/f1dba4340ce94f5359fa4434debc7efcfd1b521f.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/f1dba4340ce94f5359fa4434debc7efcfd1b521f.ttf -------------------------------------------------------------------------------- /tests/fonts/bad/f457d1f9504dbf206f50ea8ae7ab1bc4c51b95c0.ttc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/bad/f457d1f9504dbf206f50ea8ae7ab1bc4c51b95c0.ttc -------------------------------------------------------------------------------- /tests/fonts/fuzzing/011facefb10ee4f813117eae60bb5940a280ae30.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/011facefb10ee4f813117eae60bb5940a280ae30.woff2 -------------------------------------------------------------------------------- /tests/fonts/fuzzing/0509e80afb379d16560e9e47bdd7d888bebdebc6.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/0509e80afb379d16560e9e47bdd7d888bebdebc6.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/051d92f8bc6ff724511b296c27623f824de256e9.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/051d92f8bc6ff724511b296c27623f824de256e9.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/05a7abc8e4c954ef105d056bd6249c6fda96d4a8.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/05a7abc8e4c954ef105d056bd6249c6fda96d4a8.otf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/07f054357ff8638bac3711b422a1e31180bba863.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/07f054357ff8638bac3711b422a1e31180bba863.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/10531f9105aa03bf6e0f9754ec8af33ed457ad5c.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/10531f9105aa03bf6e0f9754ec8af33ed457ad5c.otf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/11340844a1190f140c78a0a964d49b5985253ea0.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/11340844a1190f140c78a0a964d49b5985253ea0.woff2 -------------------------------------------------------------------------------- /tests/fonts/fuzzing/15dfc433a135a658b9f4b1a861b5cdd9658ccbb9.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/15dfc433a135a658b9f4b1a861b5cdd9658ccbb9.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/1679504907c14c2f27119135bd5da57f8713dd05.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/1679504907c14c2f27119135bd5da57f8713dd05.woff -------------------------------------------------------------------------------- /tests/fonts/fuzzing/16a8e02ff1373539ca818da4f70e9b8573563f29.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/16a8e02ff1373539ca818da4f70e9b8573563f29.woff -------------------------------------------------------------------------------- /tests/fonts/fuzzing/17ebbcdaf31a8f80c5efa07f4dc11ee40de7ee7f.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/17ebbcdaf31a8f80c5efa07f4dc11ee40de7ee7f.woff -------------------------------------------------------------------------------- /tests/fonts/fuzzing/17f60353ae7621b585e8d98a546bbf8479649535.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/17f60353ae7621b585e8d98a546bbf8479649535.woff2 -------------------------------------------------------------------------------- /tests/fonts/fuzzing/18052b7fc1ca5c188b54864f163bebf80f488811.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/18052b7fc1ca5c188b54864f163bebf80f488811.otf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/181a03beec3e4aa1814fb24a3b8ca5f930629955.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/181a03beec3e4aa1814fb24a3b8ca5f930629955.woff -------------------------------------------------------------------------------- /tests/fonts/fuzzing/191826b9643e3f124d865d617ae609db6a2ce203.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/191826b9643e3f124d865d617ae609db6a2ce203.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/1a6f1687b7a221f9f2c834b0b360d3c8463b6daf.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/1a6f1687b7a221f9f2c834b0b360d3c8463b6daf.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/1acb1be6d45ca77a1b734e3892b823a34634d38e.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/1acb1be6d45ca77a1b734e3892b823a34634d38e.woff2 -------------------------------------------------------------------------------- /tests/fonts/fuzzing/1c04a16f32a39c26c851b7fc014d2e8d298ba2b8.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/1c04a16f32a39c26c851b7fc014d2e8d298ba2b8.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/1c2c3fc37b2d4c3cb2ef726c6cdaaabd4b7f3eb9.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/1c2c3fc37b2d4c3cb2ef726c6cdaaabd4b7f3eb9.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/1c2fb74c1b2aa173262734c1f616148f1648cfd6.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/1c2fb74c1b2aa173262734c1f616148f1648cfd6.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/1d5090bfad0eeb11c88882085d4a195f73926327.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/1d5090bfad0eeb11c88882085d4a195f73926327.woff2 -------------------------------------------------------------------------------- /tests/fonts/fuzzing/1e665cdc2796a76d8fd46232566795aa890991b1.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/1e665cdc2796a76d8fd46232566795aa890991b1.woff2 -------------------------------------------------------------------------------- /tests/fonts/fuzzing/1e77a0231fe3d0af9875d314c4c5da04e65b3680.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/1e77a0231fe3d0af9875d314c4c5da04e65b3680.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/2028193bd133228575af7000c60fa6f3e46a4bf0.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/2028193bd133228575af7000c60fa6f3e46a4bf0.woff2 -------------------------------------------------------------------------------- /tests/fonts/fuzzing/205edd09bd3d141cc9580f650109556cc28b22cb.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/205edd09bd3d141cc9580f650109556cc28b22cb.otf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/205edd09bd3d141cc9580f650109556cc28b22cb.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/205edd09bd3d141cc9580f650109556cc28b22cb.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/2069628b7b2ff2f8367f46c366f010c4f5a6295e.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/2069628b7b2ff2f8367f46c366f010c4f5a6295e.woff -------------------------------------------------------------------------------- /tests/fonts/fuzzing/217a934cfe15c548b572c203dceb2befdf026462.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/217a934cfe15c548b572c203dceb2befdf026462.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/226bc2deab3846f1a682085f70c67d0421014144.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/226bc2deab3846f1a682085f70c67d0421014144.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/2393b84159bd84138529dd136ba6bf45a7addd79.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/2393b84159bd84138529dd136ba6bf45a7addd79.woff -------------------------------------------------------------------------------- /tests/fonts/fuzzing/270b89df543a7e48e206a2d830c0e10e5265c630.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/270b89df543a7e48e206a2d830c0e10e5265c630.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/27539eee6487a75cc1ddf8c80b8e3f863ee540c3.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/27539eee6487a75cc1ddf8c80b8e3f863ee540c3.woff -------------------------------------------------------------------------------- /tests/fonts/fuzzing/294c88607d6ebf0bd78f2c8e234e03e2d9b186d5.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/294c88607d6ebf0bd78f2c8e234e03e2d9b186d5.woff2 -------------------------------------------------------------------------------- /tests/fonts/fuzzing/298c9e1d955f10f6f72c6915c3c6ff9bf9695cec.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/298c9e1d955f10f6f72c6915c3c6ff9bf9695cec.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/29ca0fe494750bb483ed291cffa89d55279d3ac9.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/29ca0fe494750bb483ed291cffa89d55279d3ac9.woff2 -------------------------------------------------------------------------------- /tests/fonts/fuzzing/2a124fa3e39a294280d406c4790398726bdc66ca.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/2a124fa3e39a294280d406c4790398726bdc66ca.woff -------------------------------------------------------------------------------- /tests/fonts/fuzzing/2a12de12323bfd99b9c4bb33ed20b66b8ff0915f.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/2a12de12323bfd99b9c4bb33ed20b66b8ff0915f.otf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/2abab3950432f64f17882a6517a9b7d2fb2dafe7.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/2abab3950432f64f17882a6517a9b7d2fb2dafe7.woff -------------------------------------------------------------------------------- /tests/fonts/fuzzing/315da578ec2c7e391a93ed484786b5cc93dc2739.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/315da578ec2c7e391a93ed484786b5cc93dc2739.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/3493e92eaded2661cadde752a39f9d58b11f0326.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/3493e92eaded2661cadde752a39f9d58b11f0326.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/3511ff5c1647150595846ac414c595cccac34f18.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/3511ff5c1647150595846ac414c595cccac34f18.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/361ce9ae6e20175595cac0cb82addcb184e20953.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/361ce9ae6e20175595cac0cb82addcb184e20953.woff2 -------------------------------------------------------------------------------- /tests/fonts/fuzzing/3684bc52f9aa06e9e6de67d80b626d44ca2bccf5.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/3684bc52f9aa06e9e6de67d80b626d44ca2bccf5.woff -------------------------------------------------------------------------------- /tests/fonts/fuzzing/37033cc5cf37bb223d7355153016b6ccece93b28.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/37033cc5cf37bb223d7355153016b6ccece93b28.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/375d6ae32a3cbe52fbf81a4e5777e3377675d5a3.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/375d6ae32a3cbe52fbf81a4e5777e3377675d5a3.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/3857535d8c0d2bfeab7ee2cd6ba5e39bcb4abd90.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/3857535d8c0d2bfeab7ee2cd6ba5e39bcb4abd90.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/39e15202b9fa9700438dbae6343ad8b21b359a68.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/39e15202b9fa9700438dbae6343ad8b21b359a68.woff -------------------------------------------------------------------------------- /tests/fonts/fuzzing/3b1f374416818644fa5cdb1d592659e502506888.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/3b1f374416818644fa5cdb1d592659e502506888.woff2 -------------------------------------------------------------------------------- /tests/fonts/fuzzing/3e66a8cf6c20ccb36bce728f5d818f18145499c7.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/3e66a8cf6c20ccb36bce728f5d818f18145499c7.woff -------------------------------------------------------------------------------- /tests/fonts/fuzzing/3fef5bc4d1567fea803c815a0d53d6d7bfa9bdf7.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/3fef5bc4d1567fea803c815a0d53d6d7bfa9bdf7.woff -------------------------------------------------------------------------------- /tests/fonts/fuzzing/41c14459f0f134a81fc5f4051b861bae8503c87b.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/41c14459f0f134a81fc5f4051b861bae8503c87b.woff -------------------------------------------------------------------------------- /tests/fonts/fuzzing/43979b90b2dd929723cf4fe1715990bcb9c9a56b.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/43979b90b2dd929723cf4fe1715990bcb9c9a56b.otf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/43979b90b2dd929723cf4fe1715990bcb9c9a56b.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/43979b90b2dd929723cf4fe1715990bcb9c9a56b.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/43ef465752be9af900745f72fe29cb853a1401a5.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/43ef465752be9af900745f72fe29cb853a1401a5.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/442a5b09fc1d847eb353b9e219e26067df8b9fb8.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/442a5b09fc1d847eb353b9e219e26067df8b9fb8.woff2 -------------------------------------------------------------------------------- /tests/fonts/fuzzing/44a458acc6abfe78166e99c5ec9ec0fcf46182af.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/44a458acc6abfe78166e99c5ec9ec0fcf46182af.woff -------------------------------------------------------------------------------- /tests/fonts/fuzzing/4502415a27007e8f37af2d6663ccf909a45abba4.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/4502415a27007e8f37af2d6663ccf909a45abba4.woff2 -------------------------------------------------------------------------------- /tests/fonts/fuzzing/45855bc8d46332b39c4ab9e2ee1a26b1f896da6b.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/45855bc8d46332b39c4ab9e2ee1a26b1f896da6b.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/4765a8901e377d1e767f67e1cc768ae3c9207bd1.ttc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/4765a8901e377d1e767f67e1cc768ae3c9207bd1.ttc -------------------------------------------------------------------------------- /tests/fonts/fuzzing/49c9f7485c1392fa09a1b801bc2ffea79275f22e.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/49c9f7485c1392fa09a1b801bc2ffea79275f22e.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/4a7b3505f054f426efc6057fd0adc27f6c16c41b.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/4a7b3505f054f426efc6057fd0adc27f6c16c41b.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/4af3c3b1bf2882e84f25b30bc4aedae2a0b5f98a.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/4af3c3b1bf2882e84f25b30bc4aedae2a0b5f98a.woff2 -------------------------------------------------------------------------------- /tests/fonts/fuzzing/4cce528e99f600ed9c25a2b69e32eb94a03b4ae8.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/4cce528e99f600ed9c25a2b69e32eb94a03b4ae8.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/4d707d06afca5573a717fa3a9e825863c35ca786.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/4d707d06afca5573a717fa3a9e825863c35ca786.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/4fcaec74137a83b5304d7d5f830b81c9abed73e5.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/4fcaec74137a83b5304d7d5f830b81c9abed73e5.woff2 -------------------------------------------------------------------------------- /tests/fonts/fuzzing/5028afb650b1bb718ed2131e872fbcce57828fff.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/5028afb650b1bb718ed2131e872fbcce57828fff.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/52a846621453e288b657f84ef423ff3f832b6c0c.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/52a846621453e288b657f84ef423ff3f832b6c0c.woff -------------------------------------------------------------------------------- /tests/fonts/fuzzing/52b6e52e7382c7c7e5ce839cc5df0cd3ae133add.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/52b6e52e7382c7c7e5ce839cc5df0cd3ae133add.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/558661aa659912f4d30ecd27bd09835171a8e2b0.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/558661aa659912f4d30ecd27bd09835171a8e2b0.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/5614290438dcf671fcc1f2858ac9127e45f500bb.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/5614290438dcf671fcc1f2858ac9127e45f500bb.woff2 -------------------------------------------------------------------------------- /tests/fonts/fuzzing/56bf9590c3f7587a632539b74a7aa0a04dbaadd3.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/56bf9590c3f7587a632539b74a7aa0a04dbaadd3.woff -------------------------------------------------------------------------------- /tests/fonts/fuzzing/56cfd0e18d07f41c38e9598545a6d369127fc6f9.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/56cfd0e18d07f41c38e9598545a6d369127fc6f9.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/57a9d9f83020155cbb1d2be1f43d82388cbecc88.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/57a9d9f83020155cbb1d2be1f43d82388cbecc88.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/5a5daf5eb5a4db77a2baa3ad9c7a6ed6e0655fa8.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/5a5daf5eb5a4db77a2baa3ad9c7a6ed6e0655fa8.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/5ac36fb372dd26e0e1142c82c95b0e3807ae8136.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/5ac36fb372dd26e0e1142c82c95b0e3807ae8136.woff -------------------------------------------------------------------------------- /tests/fonts/fuzzing/5dfad7735c6a67085f1b90d4d497e32907db4c78.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/5dfad7735c6a67085f1b90d4d497e32907db4c78.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/5dfcc2260fa1a08c72655c18885e50260703c863.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/5dfcc2260fa1a08c72655c18885e50260703c863.woff -------------------------------------------------------------------------------- /tests/fonts/fuzzing/60adec4d200651dbf91e7c373789bbc2a2c4b46b.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/60adec4d200651dbf91e7c373789bbc2a2c4b46b.woff -------------------------------------------------------------------------------- /tests/fonts/fuzzing/641bd9db850193064d17575053ae2bf8ec149ddc.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/641bd9db850193064d17575053ae2bf8ec149ddc.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/6466d38c62e73a39202435a4f73bf5d6acbb73c0.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/6466d38c62e73a39202435a4f73bf5d6acbb73c0.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/6830389bba9787db7da796f364aa47b951e658ae.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/6830389bba9787db7da796f364aa47b951e658ae.woff2 -------------------------------------------------------------------------------- /tests/fonts/fuzzing/6991b13ce889466be6de3f66e891de2bc0f117ee.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/6991b13ce889466be6de3f66e891de2bc0f117ee.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/6c1506d68d00e95a065d97e30964857e0d91c5a1.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/6c1506d68d00e95a065d97e30964857e0d91c5a1.woff -------------------------------------------------------------------------------- /tests/fonts/fuzzing/6e43399b43162dedd7054e00ae97e7b0a71bf72d.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/6e43399b43162dedd7054e00ae97e7b0a71bf72d.woff2 -------------------------------------------------------------------------------- /tests/fonts/fuzzing/6eb6ce1f3930892d42a24d9fe955585c40a59cc0.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/6eb6ce1f3930892d42a24d9fe955585c40a59cc0.woff2 -------------------------------------------------------------------------------- /tests/fonts/fuzzing/6ff0fbead4462d9f229167b4e6839eceb8465058.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/6ff0fbead4462d9f229167b4e6839eceb8465058.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/7042436c3b20a4426fc9a2dba76f68b2b27423af.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/7042436c3b20a4426fc9a2dba76f68b2b27423af.woff2 -------------------------------------------------------------------------------- /tests/fonts/fuzzing/7043d3c69c50da8eba1a0ad627b9f6de70e832e5.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/7043d3c69c50da8eba1a0ad627b9f6de70e832e5.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/706c5d7b625f207bc0d874c67237aad6f1e9cd6f.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/706c5d7b625f207bc0d874c67237aad6f1e9cd6f.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/71eca05729f14607e81e9476dce804fe3bafc086.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/71eca05729f14607e81e9476dce804fe3bafc086.woff -------------------------------------------------------------------------------- /tests/fonts/fuzzing/72106114384cb564d4691bd3ea38960b0148f00b.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/72106114384cb564d4691bd3ea38960b0148f00b.woff -------------------------------------------------------------------------------- /tests/fonts/fuzzing/72566065770241b8c31bd35201ad62102962a5aa.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/72566065770241b8c31bd35201ad62102962a5aa.woff -------------------------------------------------------------------------------- /tests/fonts/fuzzing/73bf759cd86e12788cd3571daffedeb391fad078.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/73bf759cd86e12788cd3571daffedeb391fad078.woff2 -------------------------------------------------------------------------------- /tests/fonts/fuzzing/757ebd573617a24aa9dfbf0b885c54875c6fe06b.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/757ebd573617a24aa9dfbf0b885c54875c6fe06b.otf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/757ebd573617a24aa9dfbf0b885c54875c6fe06b.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/757ebd573617a24aa9dfbf0b885c54875c6fe06b.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/79e3983181b2bef104af453fdc98f4a335d48bd5.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/79e3983181b2bef104af453fdc98f4a335d48bd5.woff2 -------------------------------------------------------------------------------- /tests/fonts/fuzzing/7a37dc4d5bf018456aea291cee06daf004c0221c.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/7a37dc4d5bf018456aea291cee06daf004c0221c.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/7bd0df7f6f234108e1f87f45bcde74931dc16efc.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/7bd0df7f6f234108e1f87f45bcde74931dc16efc.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/7e14e7883ed152baa158b80e207b66114c823a8b.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/7e14e7883ed152baa158b80e207b66114c823a8b.otf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/7e14e7883ed152baa158b80e207b66114c823a8b.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/7e14e7883ed152baa158b80e207b66114c823a8b.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/7ef276fc886ea502a03b9b0e5c8b547d5dc2b61c.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/7ef276fc886ea502a03b9b0e5c8b547d5dc2b61c.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/8099955657a54e9ee38a6ba1d6f950ce58e3cc25.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/8099955657a54e9ee38a6ba1d6f950ce58e3cc25.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/813c2f8e5512187fd982417a7fb4286728e6f4a8.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/813c2f8e5512187fd982417a7fb4286728e6f4a8.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/814e2e2e76682ab9a518493b475b23565993a4df.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/814e2e2e76682ab9a518493b475b23565993a4df.woff2 -------------------------------------------------------------------------------- /tests/fonts/fuzzing/81e64d72d3dd87b1d36744927d3842492f1c1001.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/81e64d72d3dd87b1d36744927d3842492f1c1001.woff2 -------------------------------------------------------------------------------- /tests/fonts/fuzzing/8240789f6d12d4cfc4b5e8e6f246c3701bcf861f.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/8240789f6d12d4cfc4b5e8e6f246c3701bcf861f.otf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/8240789f6d12d4cfc4b5e8e6f246c3701bcf861f.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/8240789f6d12d4cfc4b5e8e6f246c3701bcf861f.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/82fae690a786b2d96af7d4845206b528381fa109.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/82fae690a786b2d96af7d4845206b528381fa109.woff2 -------------------------------------------------------------------------------- /tests/fonts/fuzzing/8330c9816493e1adccc0500b414455b85088d7d1.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/8330c9816493e1adccc0500b414455b85088d7d1.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/83670edbe0a52e2e84b4454b1a828c44b6692c63.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/83670edbe0a52e2e84b4454b1a828c44b6692c63.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/8454d22037f892e76614e1645d066689a0200e61.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/8454d22037f892e76614e1645d066689a0200e61.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/85414f2552b654585b7a8d13dcc3e8fd9f7970a3.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/85414f2552b654585b7a8d13dcc3e8fd9f7970a3.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/8668cff491460e4c5cd03142b87e9710fd4b5588.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/8668cff491460e4c5cd03142b87e9710fd4b5588.otf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/884801ab66022b60168010261438a4ed983ea9a7.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/884801ab66022b60168010261438a4ed983ea9a7.woff -------------------------------------------------------------------------------- /tests/fonts/fuzzing/8a8dc0703e7a9d14427ceadcea275dfda6a7f844.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/8a8dc0703e7a9d14427ceadcea275dfda6a7f844.woff2 -------------------------------------------------------------------------------- /tests/fonts/fuzzing/8a9fea2a7384f2116e5b84a9b31f83be7850ce21.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/8a9fea2a7384f2116e5b84a9b31f83be7850ce21.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/8faaf7e0d92db057ff26cf5af44a44e873c054cb.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/8faaf7e0d92db057ff26cf5af44a44e873c054cb.woff2 -------------------------------------------------------------------------------- /tests/fonts/fuzzing/908810fd6350c87a62c2dc4bb623e54ddd8aa042.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/908810fd6350c87a62c2dc4bb623e54ddd8aa042.woff -------------------------------------------------------------------------------- /tests/fonts/fuzzing/9192ffc3ddba8dc44a21ccac20bf743593642241.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/9192ffc3ddba8dc44a21ccac20bf743593642241.woff2 -------------------------------------------------------------------------------- /tests/fonts/fuzzing/93ef7dcd6968068b41515a381aa1b04535312b01.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/93ef7dcd6968068b41515a381aa1b04535312b01.woff -------------------------------------------------------------------------------- /tests/fonts/fuzzing/94895e7495f726fa316ca3f2a03c98b86dc20560.ttc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/94895e7495f726fa316ca3f2a03c98b86dc20560.ttc -------------------------------------------------------------------------------- /tests/fonts/fuzzing/94bdbcb520c5301750167dc433803ac7933da028.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/94bdbcb520c5301750167dc433803ac7933da028.otf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/96813142f8614d945222afa529815dd1213e2b3d.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/96813142f8614d945222afa529815dd1213e2b3d.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/9883c9ae58c5dd598ab2fdc142e2dacbc0ad1cb3.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/9883c9ae58c5dd598ab2fdc142e2dacbc0ad1cb3.woff2 -------------------------------------------------------------------------------- /tests/fonts/fuzzing/995ca3cf99525e11fcdfeb5ba9f45a6cc602fcfb.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/995ca3cf99525e11fcdfeb5ba9f45a6cc602fcfb.woff -------------------------------------------------------------------------------- /tests/fonts/fuzzing/99e0f8817ca25d074ff4456de4296c4397e23563.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/99e0f8817ca25d074ff4456de4296c4397e23563.woff -------------------------------------------------------------------------------- /tests/fonts/fuzzing/99e872a7478a9f7f7f2a183d623f2a5ebaff72ad.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/99e872a7478a9f7f7f2a183d623f2a5ebaff72ad.woff -------------------------------------------------------------------------------- /tests/fonts/fuzzing/9a6305f950f8e3960618b78fca6ba7d7abf3b231.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/9a6305f950f8e3960618b78fca6ba7d7abf3b231.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/9c3c16ff5fb0e0adef3344f011b5bbb1469f2fd4.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/9c3c16ff5fb0e0adef3344f011b5bbb1469f2fd4.woff -------------------------------------------------------------------------------- /tests/fonts/fuzzing/9cb9bb35205cb4a7588a5a2b8e35fc4be856fc95.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/9cb9bb35205cb4a7588a5a2b8e35fc4be856fc95.woff -------------------------------------------------------------------------------- /tests/fonts/fuzzing/9f553001b12ed154a54de011828fd78138c66113.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/9f553001b12ed154a54de011828fd78138c66113.woff2 -------------------------------------------------------------------------------- /tests/fonts/fuzzing/a0ca212e069702964aba80ab9c28bcb8aabae782.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/a0ca212e069702964aba80ab9c28bcb8aabae782.woff2 -------------------------------------------------------------------------------- /tests/fonts/fuzzing/a34a7b00f22ffb5fd7eef6933b81c7e71bc2cdfb.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/a34a7b00f22ffb5fd7eef6933b81c7e71bc2cdfb.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/a34a9191d9376bda419836effeef7e75c1386016.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/a34a9191d9376bda419836effeef7e75c1386016.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/a37166581403c1fda5e5689d4e027a085e3186e8.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/a37166581403c1fda5e5689d4e027a085e3186e8.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/a5ea7e8e3e00a6f147a8a77b56e6e88c5e4fe30f.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/a5ea7e8e3e00a6f147a8a77b56e6e88c5e4fe30f.woff -------------------------------------------------------------------------------- /tests/fonts/fuzzing/a69118c2c2ada48ff803d9149daa54c9ebdae30e.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/a69118c2c2ada48ff803d9149daa54c9ebdae30e.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/a919b33197965846f21074b24e30250d67277bce.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/a919b33197965846f21074b24e30250d67277bce.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/a98e908e2ed21b22228ea59ebcc0f05034c86f2e.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/a98e908e2ed21b22228ea59ebcc0f05034c86f2e.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/aca5f8ef7bc0754b0b6fd7a1abd4c69ca7801780.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/aca5f8ef7bc0754b0b6fd7a1abd4c69ca7801780.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/ad24c3e446b9be316db8387adb0c7e2667388d3c.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/ad24c3e446b9be316db8387adb0c7e2667388d3c.woff -------------------------------------------------------------------------------- /tests/fonts/fuzzing/adb242cbc61b3ca428903e397a2c9dcf97fe3042.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/adb242cbc61b3ca428903e397a2c9dcf97fe3042.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/aef6783789cb40fd037e26f2b299b9088adce089.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/aef6783789cb40fd037e26f2b299b9088adce089.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/b2093e804590557247aa7bc2070757c26344c565.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/b2093e804590557247aa7bc2070757c26344c565.woff -------------------------------------------------------------------------------- /tests/fonts/fuzzing/b3fe94051b5612817c31fd406172d6d98b823cc8.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/b3fe94051b5612817c31fd406172d6d98b823cc8.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/b48e5042d1f1f6cec531b73abf15c8ee4f2afc63.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/b48e5042d1f1f6cec531b73abf15c8ee4f2afc63.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/b6acef662e0beb8d5fcf5b61c6b0ca69537b7402.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/b6acef662e0beb8d5fcf5b61c6b0ca69537b7402.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/b927e6af295696a2307641eb9679d0832dd7c22d.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/b927e6af295696a2307641eb9679d0832dd7c22d.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/b9e2aaa0d75fcef6971ec3a96d806ba4a6b31fe2.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/b9e2aaa0d75fcef6971ec3a96d806ba4a6b31fe2.otf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/b9e2aaa0d75fcef6971ec3a96d806ba4a6b31fe2.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/b9e2aaa0d75fcef6971ec3a96d806ba4a6b31fe2.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/bac8d8c1ad2b8a50bf10853c9aeca4fca6c3bf3e.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/bac8d8c1ad2b8a50bf10853c9aeca4fca6c3bf3e.woff2 -------------------------------------------------------------------------------- /tests/fonts/fuzzing/bad5283f2b80a5669e03313446c962c50897adb0.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/bad5283f2b80a5669e03313446c962c50897adb0.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/bb0c53752e85c3d28973ebc913287b8987d3dfe8.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/bb0c53752e85c3d28973ebc913287b8987d3dfe8.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/bb29ce50df2bdba2d10726427c6b7609bf460e04.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/bb29ce50df2bdba2d10726427c6b7609bf460e04.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/bb9473d2403488714043bcfb946c9f78b86ad627.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/bb9473d2403488714043bcfb946c9f78b86ad627.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/bdb9d23d51966a2544da5a66fd8727f1e0654a73.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/bdb9d23d51966a2544da5a66fd8727f1e0654a73.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/bfec49121cbe81f898476c5bcc6d188b489f1d7e.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/bfec49121cbe81f898476c5bcc6d188b489f1d7e.woff -------------------------------------------------------------------------------- /tests/fonts/fuzzing/c077be3830a3fe49277220e2515791cc9a2e5060.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/c077be3830a3fe49277220e2515791cc9a2e5060.woff -------------------------------------------------------------------------------- /tests/fonts/fuzzing/c455eacf5e313dd37ad87d279f6eba6c3114310f.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/c455eacf5e313dd37ad87d279f6eba6c3114310f.woff2 -------------------------------------------------------------------------------- /tests/fonts/fuzzing/c4e48b0886ef460f532fb49f00047ec92c432ec0.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/c4e48b0886ef460f532fb49f00047ec92c432ec0.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/c64aff5250ea7360a18154e58678ab14a8e6fee9.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/c64aff5250ea7360a18154e58678ab14a8e6fee9.woff -------------------------------------------------------------------------------- /tests/fonts/fuzzing/c8fda8de3123a35984f9f0811c4481fe3a8d3641.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/c8fda8de3123a35984f9f0811c4481fe3a8d3641.woff2 -------------------------------------------------------------------------------- /tests/fonts/fuzzing/cc5f3d2d717fb6bd4dfae1c16d48a2cb8e12233b.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/cc5f3d2d717fb6bd4dfae1c16d48a2cb8e12233b.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/ccfc10b31bad1fb3ae508a332c7914c6db037188.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/ccfc10b31bad1fb3ae508a332c7914c6db037188.woff2 -------------------------------------------------------------------------------- /tests/fonts/fuzzing/cff4306f450b3b433adca6872ff1c928a6ede2c6.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/cff4306f450b3b433adca6872ff1c928a6ede2c6.woff -------------------------------------------------------------------------------- /tests/fonts/fuzzing/d32823ca92b0443465c07625325bb64a7d78f47d.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/d32823ca92b0443465c07625325bb64a7d78f47d.woff2 -------------------------------------------------------------------------------- /tests/fonts/fuzzing/d343af630ddff2ed15ae72d9bb4949bb384a8e03.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/d343af630ddff2ed15ae72d9bb4949bb384a8e03.woff2 -------------------------------------------------------------------------------- /tests/fonts/fuzzing/d3ee8b9422e66a4dc827a15a65667bd5eab9ce5f.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/d3ee8b9422e66a4dc827a15a65667bd5eab9ce5f.woff -------------------------------------------------------------------------------- /tests/fonts/fuzzing/d4acbc69d72d4ed528367718f022708070ec9635.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/d4acbc69d72d4ed528367718f022708070ec9635.woff2 -------------------------------------------------------------------------------- /tests/fonts/fuzzing/d4e4a9508c6b9e73c514b8af27b56918f45c3f9e.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/d4e4a9508c6b9e73c514b8af27b56918f45c3f9e.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/d4eaf020145c14e2cd76c49353da1fdff8e4f62f.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/d4eaf020145c14e2cd76c49353da1fdff8e4f62f.woff -------------------------------------------------------------------------------- /tests/fonts/fuzzing/d629e7fedc0b350222d7987345fe61613fa3929a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/d629e7fedc0b350222d7987345fe61613fa3929a.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/d69ecb7001e46df61c33e2ec74fdcdd32e018db3.ttc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/d69ecb7001e46df61c33e2ec74fdcdd32e018db3.ttc -------------------------------------------------------------------------------- /tests/fonts/fuzzing/d77f5dd2f02db900f5d568349dc6ed58683a00a9.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/d77f5dd2f02db900f5d568349dc6ed58683a00a9.woff -------------------------------------------------------------------------------- /tests/fonts/fuzzing/d7aec40dfc478e1adb022406decaadfd46e61f89.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/d7aec40dfc478e1adb022406decaadfd46e61f89.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/d8df0f95c805bf3986671a5f39d4e1ce1ef278ce.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/d8df0f95c805bf3986671a5f39d4e1ce1ef278ce.woff2 -------------------------------------------------------------------------------- /tests/fonts/fuzzing/dc2b2ffc9fc5318fea924276dc8298f2b06f26ab.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/dc2b2ffc9fc5318fea924276dc8298f2b06f26ab.woff2 -------------------------------------------------------------------------------- /tests/fonts/fuzzing/dcacf960143aecbc692471b2a658c8dc42c9613e.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/dcacf960143aecbc692471b2a658c8dc42c9613e.woff2 -------------------------------------------------------------------------------- /tests/fonts/fuzzing/df768b9c257e0c9c35786c47cae15c46571d56be.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/df768b9c257e0c9c35786c47cae15c46571d56be.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/dfba97547bf1cc337702d52311dee7029bc51db8.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/dfba97547bf1cc337702d52311dee7029bc51db8.woff -------------------------------------------------------------------------------- /tests/fonts/fuzzing/e207635780b42f898d58654b65098763e340f5c7.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/e207635780b42f898d58654b65098763e340f5c7.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/e31aa13e4a7b565c68e4822d2ef7d16069f8ffab.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/e31aa13e4a7b565c68e4822d2ef7d16069f8ffab.woff2 -------------------------------------------------------------------------------- /tests/fonts/fuzzing/e88c339237f52d21e01c55f01b9c1b4cc14a0467.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/e88c339237f52d21e01c55f01b9c1b4cc14a0467.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/e9e765985a2beed45d8c4c4666d94a2acede9d48.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/e9e765985a2beed45d8c4c4666d94a2acede9d48.woff2 -------------------------------------------------------------------------------- /tests/fonts/fuzzing/ee39587d13b2afa5499cc79e45780aa79293bbd4.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/ee39587d13b2afa5499cc79e45780aa79293bbd4.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/ef86fe710cfea877bbe0dbb6946a1f88d0661031.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/ef86fe710cfea877bbe0dbb6946a1f88d0661031.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/f22416c692720a7d46fadf4af99f4c9e094f00b9.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/f22416c692720a7d46fadf4af99f4c9e094f00b9.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/f293a7cc0c9fad957df4904e8ce5e366e7cab93c.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/f293a7cc0c9fad957df4904e8ce5e366e7cab93c.woff -------------------------------------------------------------------------------- /tests/fonts/fuzzing/f37d5b05405c0861da62bdad2b00fcaa7d2923f9.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/f37d5b05405c0861da62bdad2b00fcaa7d2923f9.woff2 -------------------------------------------------------------------------------- /tests/fonts/fuzzing/f499fbc23865022234775c43503bba2e63978fe1.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/f499fbc23865022234775c43503bba2e63978fe1.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/f4bcb76e745d6390bdf0447f2128db19686c432d.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/f4bcb76e745d6390bdf0447f2128db19686c432d.woff -------------------------------------------------------------------------------- /tests/fonts/fuzzing/f518eb6f6b5eec2946c9fbbbde44e45d46f5e2ac.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/f518eb6f6b5eec2946c9fbbbde44e45d46f5e2ac.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/f5ff6aaa96256b0e2c1abfdebf592c0987a1637a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/f5ff6aaa96256b0e2c1abfdebf592c0987a1637a.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/f9b1dd4dcb515e757789a22cb4241107746fd3d0.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/f9b1dd4dcb515e757789a22cb4241107746fd3d0.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/fab39d60d758cb586db5a504f218442cd1395725.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/fab39d60d758cb586db5a504f218442cd1395725.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/fbb6c84c9e1fe0c39e152fbe845e51fd81f6748e.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/fbb6c84c9e1fe0c39e152fbe845e51fd81f6748e.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/fc4263389f1a48dd3d1c793dff6b1e0cf8bccd33.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/fc4263389f1a48dd3d1c793dff6b1e0cf8bccd33.woff -------------------------------------------------------------------------------- /tests/fonts/fuzzing/fcdcffbdf1c4c97c05308d7600e4c283eb47dbca.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/fcdcffbdf1c4c97c05308d7600e4c283eb47dbca.ttf -------------------------------------------------------------------------------- /tests/fonts/fuzzing/ffa0f5d2d9025486d8469d8b1fdd983e7632499b.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/fuzzing/ffa0f5d2d9025486d8469d8b1fdd983e7632499b.ttf -------------------------------------------------------------------------------- /tests/fonts/good/00ae3c2b1b7718361fc76ee31da97253057b15b7.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/00ae3c2b1b7718361fc76ee31da97253057b15b7.ttf -------------------------------------------------------------------------------- /tests/fonts/good/01ae09f3a2ca8f33035e6261d09e9fe06b919174.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/01ae09f3a2ca8f33035e6261d09e9fe06b919174.ttf -------------------------------------------------------------------------------- /tests/fonts/good/029c6e2623f5b255ba10e2e3b0f17711ad8aa966.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/029c6e2623f5b255ba10e2e3b0f17711ad8aa966.ttf -------------------------------------------------------------------------------- /tests/fonts/good/02d99e81593bcabce56b6a589254e8bc77e00208.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/02d99e81593bcabce56b6a589254e8bc77e00208.otf -------------------------------------------------------------------------------- /tests/fonts/good/068aaf44acba22aa769fc7023b9b575fdf72c530.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/068aaf44acba22aa769fc7023b9b575fdf72c530.otf -------------------------------------------------------------------------------- /tests/fonts/good/0c4afb23b983bbab65c39869b81ca1dfb90c0258.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/0c4afb23b983bbab65c39869b81ca1dfb90c0258.ttf -------------------------------------------------------------------------------- /tests/fonts/good/0e16ec5ab94d3992bba42a9177b159113ede1485.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/0e16ec5ab94d3992bba42a9177b159113ede1485.ttf -------------------------------------------------------------------------------- /tests/fonts/good/0fc088827bbe36bfb3fb6c3d8b59f66cb234dfb3.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/0fc088827bbe36bfb3fb6c3d8b59f66cb234dfb3.ttf -------------------------------------------------------------------------------- /tests/fonts/good/113cceb6013b960021d7779081ee4d707d7b80f5.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/113cceb6013b960021d7779081ee4d707d7b80f5.ttf -------------------------------------------------------------------------------- /tests/fonts/good/1232d0423fe3bb731faa3da008281ca030d3fe0a.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/1232d0423fe3bb731faa3da008281ca030d3fe0a.woff -------------------------------------------------------------------------------- /tests/fonts/good/126e13890b4c36319166a07bb5f4301132e6dcee.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/126e13890b4c36319166a07bb5f4301132e6dcee.ttf -------------------------------------------------------------------------------- /tests/fonts/good/14b84df95987d7ba699d058686e9163eb4ca5e75.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/14b84df95987d7ba699d058686e9163eb4ca5e75.ttf -------------------------------------------------------------------------------- /tests/fonts/good/1554deaab977f26747d651fa983988429bc0ebc5.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/1554deaab977f26747d651fa983988429bc0ebc5.ttf -------------------------------------------------------------------------------- /tests/fonts/good/15e79042604b100fa6f93d817112b8f4921f6a4b.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/15e79042604b100fa6f93d817112b8f4921f6a4b.ttf -------------------------------------------------------------------------------- /tests/fonts/good/164f99832db39451f53858175d6c2d251feb028c.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/164f99832db39451f53858175d6c2d251feb028c.ttf -------------------------------------------------------------------------------- /tests/fonts/good/171ec9ef597e59a0f33cdeae1d4cf43af1d255ce.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/171ec9ef597e59a0f33cdeae1d4cf43af1d255ce.otf -------------------------------------------------------------------------------- /tests/fonts/good/19d60aa144bb703f0c7535e3b34e926e0cae954d.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/19d60aa144bb703f0c7535e3b34e926e0cae954d.ttf -------------------------------------------------------------------------------- /tests/fonts/good/1cce5d954a1696217ac99318e7deba01236eca95.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/1cce5d954a1696217ac99318e7deba01236eca95.ttf -------------------------------------------------------------------------------- /tests/fonts/good/224f3a28601603e869da5ab0650148ae8cbadd2d.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/224f3a28601603e869da5ab0650148ae8cbadd2d.ttf -------------------------------------------------------------------------------- /tests/fonts/good/24834cb0e118b8a80c05209d996963cf05121f43.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/24834cb0e118b8a80c05209d996963cf05121f43.ttf -------------------------------------------------------------------------------- /tests/fonts/good/27312d3d8d62bf7f3d2dec4afd90ac5549c05958.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/27312d3d8d62bf7f3d2dec4afd90ac5549c05958.otf -------------------------------------------------------------------------------- /tests/fonts/good/27f2cd91ff43713d977b2b253e82b8fcb781e674.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/27f2cd91ff43713d977b2b253e82b8fcb781e674.otf -------------------------------------------------------------------------------- /tests/fonts/good/2eba8164a0811c8422ecde8900bf476bb4a05ca3.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/2eba8164a0811c8422ecde8900bf476bb4a05ca3.otf -------------------------------------------------------------------------------- /tests/fonts/good/2f806821ba44e69a532fbcc9d5f46a5aa20fa905.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/2f806821ba44e69a532fbcc9d5f46a5aa20fa905.ttf -------------------------------------------------------------------------------- /tests/fonts/good/322aa2ac0a3916d3a5cb1e7789ca355de0a6bc76.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/322aa2ac0a3916d3a5cb1e7789ca355de0a6bc76.ttf -------------------------------------------------------------------------------- /tests/fonts/good/39b02c925a67188e7dd1fb9e78e7799976d8b6f6.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/39b02c925a67188e7dd1fb9e78e7799976d8b6f6.otf -------------------------------------------------------------------------------- /tests/fonts/good/3b4a0f922a35acba59502ba042f35cafbff1865f.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/3b4a0f922a35acba59502ba042f35cafbff1865f.ttf -------------------------------------------------------------------------------- /tests/fonts/good/3eb899fa22c7a7e1294f50204804869fddfda8c9.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/3eb899fa22c7a7e1294f50204804869fddfda8c9.ttf -------------------------------------------------------------------------------- /tests/fonts/good/3ee1ab163f0029bdd8f90b79f2c0e798bc26957b.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/3ee1ab163f0029bdd8f90b79f2c0e798bc26957b.ttf -------------------------------------------------------------------------------- /tests/fonts/good/40acdfaee3c5f4fac5348001d8c54a9085623a24.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/40acdfaee3c5f4fac5348001d8c54a9085623a24.ttf -------------------------------------------------------------------------------- /tests/fonts/good/49331b1dd031e95ca803d632f69404d09ee6f592.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/49331b1dd031e95ca803d632f69404d09ee6f592.ttf -------------------------------------------------------------------------------- /tests/fonts/good/49a9db4b6c08dadd1e8aeff4cee63dc454c5cb7c.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/49a9db4b6c08dadd1e8aeff4cee63dc454c5cb7c.ttf -------------------------------------------------------------------------------- /tests/fonts/good/4c471c403831e131c7887e9e0b9a547495749579.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/4c471c403831e131c7887e9e0b9a547495749579.otf -------------------------------------------------------------------------------- /tests/fonts/good/4e5ac04a7e4638302443a8d9e3258772ccb60744.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/4e5ac04a7e4638302443a8d9e3258772ccb60744.ttf -------------------------------------------------------------------------------- /tests/fonts/good/4e7747c985aa4f1b89f5f6c09f4ec4094bf1b20b.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/4e7747c985aa4f1b89f5f6c09f4ec4094bf1b20b.otf -------------------------------------------------------------------------------- /tests/fonts/good/4fa1f484ba76ad1951727d8e4a80d57d9b08204b.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/4fa1f484ba76ad1951727d8e4a80d57d9b08204b.ttf -------------------------------------------------------------------------------- /tests/fonts/good/54819458b3920c39db79d6e4cc8594e47654ca5f.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/54819458b3920c39db79d6e4cc8594e47654ca5f.otf -------------------------------------------------------------------------------- /tests/fonts/good/56e62c1aa63b75291bd6c3bd04f29ee36590341f.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/56e62c1aa63b75291bd6c3bd04f29ee36590341f.ttf -------------------------------------------------------------------------------- /tests/fonts/good/5b376d5ec538bc3c86749e13a815661c7f5d9528.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/5b376d5ec538bc3c86749e13a815661c7f5d9528.ttf -------------------------------------------------------------------------------- /tests/fonts/good/611dc1a20537abb29791dfdbf12ecb48afd94f53.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/611dc1a20537abb29791dfdbf12ecb48afd94f53.otf -------------------------------------------------------------------------------- /tests/fonts/good/6a20e627475700e4b889926fcc423420d6df3033.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/6a20e627475700e4b889926fcc423420d6df3033.ttf -------------------------------------------------------------------------------- /tests/fonts/good/6a46e85c50dce18db3a5739456933f29442e410e.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/6a46e85c50dce18db3a5739456933f29442e410e.ttf -------------------------------------------------------------------------------- /tests/fonts/good/6ae5423c8ca52f5e20fc4be14d10ae0cd3857be5.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/6ae5423c8ca52f5e20fc4be14d10ae0cd3857be5.ttf -------------------------------------------------------------------------------- /tests/fonts/good/6bed910d67d00b0e705b657747af2b83f2edc1c5.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/6bed910d67d00b0e705b657747af2b83f2edc1c5.ttf -------------------------------------------------------------------------------- /tests/fonts/good/6c26e8ccc29afe595364bf649455d10dc0e39861.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/6c26e8ccc29afe595364bf649455d10dc0e39861.ttf -------------------------------------------------------------------------------- /tests/fonts/good/6d7ceee66a8d288d96ea235b1d642b75d96cafd5.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/6d7ceee66a8d288d96ea235b1d642b75d96cafd5.otf -------------------------------------------------------------------------------- /tests/fonts/good/759f24b9ab9a97980c5bb5649d9f5032fb9e41b0.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/759f24b9ab9a97980c5bb5649d9f5032fb9e41b0.ttf -------------------------------------------------------------------------------- /tests/fonts/good/7cbb117642ab9715b476160b09b3e2fac33a91cb.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/7cbb117642ab9715b476160b09b3e2fac33a91cb.ttf -------------------------------------------------------------------------------- /tests/fonts/good/7ef289b55de3392d9fca03735ea0a1c8498fdf0a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/7ef289b55de3392d9fca03735ea0a1c8498fdf0a.ttf -------------------------------------------------------------------------------- /tests/fonts/good/81cee6e061d37a83f12c007c89b89e4b81951eb5.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/81cee6e061d37a83f12c007c89b89e4b81951eb5.ttf -------------------------------------------------------------------------------- /tests/fonts/good/83de2fc102dbe5e1738710655787d736e51f5b56.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/83de2fc102dbe5e1738710655787d736e51f5b56.ttf -------------------------------------------------------------------------------- /tests/fonts/good/84df123947f7f5f9a5456e755f91bef963b1dd7c.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/84df123947f7f5f9a5456e755f91bef963b1dd7c.otf -------------------------------------------------------------------------------- /tests/fonts/good/877ba38762b32f50468250d8bb659a2af252f44f.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/877ba38762b32f50468250d8bb659a2af252f44f.ttf -------------------------------------------------------------------------------- /tests/fonts/good/88ffc07c893a8e7d1f9622eaebd572d588fee7ea.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/88ffc07c893a8e7d1f9622eaebd572d588fee7ea.otf -------------------------------------------------------------------------------- /tests/fonts/good/89166e0ffdfdac0309d31012d1d5c1de8fe65a52.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/89166e0ffdfdac0309d31012d1d5c1de8fe65a52.otf -------------------------------------------------------------------------------- /tests/fonts/good/8df517d0db2e2e3b65fe3f8e93cf5c0cffaff3d9.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/8df517d0db2e2e3b65fe3f8e93cf5c0cffaff3d9.ttf -------------------------------------------------------------------------------- /tests/fonts/good/9227eefacd215fee911b7c4f935e0bad9bde5772.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/9227eefacd215fee911b7c4f935e0bad9bde5772.ttf -------------------------------------------------------------------------------- /tests/fonts/good/923963eece37a2b494c7f2b75db4ac24635784bf.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/923963eece37a2b494c7f2b75db4ac24635784bf.ttf -------------------------------------------------------------------------------- /tests/fonts/good/942fab6918c0dc9bf59f62ab15e3fd38736bbe8d.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/942fab6918c0dc9bf59f62ab15e3fd38736bbe8d.ttf -------------------------------------------------------------------------------- /tests/fonts/good/94eec826e16eb8d695b13690bb1e704948b98bf9.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/94eec826e16eb8d695b13690bb1e704948b98bf9.ttf -------------------------------------------------------------------------------- /tests/fonts/good/960799635ff99168566f5475bb9d37facf8629fd.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/960799635ff99168566f5475bb9d37facf8629fd.ttf -------------------------------------------------------------------------------- /tests/fonts/good/965fe4ee4b2f4d090ea4cb90507c3eddcf597e1c.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/965fe4ee4b2f4d090ea4cb90507c3eddcf597e1c.ttf -------------------------------------------------------------------------------- /tests/fonts/good/983fcc3c7f3bc7bf2063104d72d1b5d7589378d2.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/983fcc3c7f3bc7bf2063104d72d1b5d7589378d2.otf -------------------------------------------------------------------------------- /tests/fonts/good/9a614250473dd0f051d808ff05e5bcb5988d44f4.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/9a614250473dd0f051d808ff05e5bcb5988d44f4.ttf -------------------------------------------------------------------------------- /tests/fonts/good/9dc7e9523203d97914edf64aff494a1a18762782.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/9dc7e9523203d97914edf64aff494a1a18762782.ttf -------------------------------------------------------------------------------- /tests/fonts/good/9ed41be8b32ab179d63c91df0585e8cc070e21ec.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/9ed41be8b32ab179d63c91df0585e8cc070e21ec.ttf -------------------------------------------------------------------------------- /tests/fonts/good/a29b6af1965f9cac3b4ada03258bcce6a155b168.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/a29b6af1965f9cac3b4ada03258bcce6a155b168.ttf -------------------------------------------------------------------------------- /tests/fonts/good/a64a622a50d6400592a9590c003afb02e9e4436d.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/a64a622a50d6400592a9590c003afb02e9e4436d.otf -------------------------------------------------------------------------------- /tests/fonts/good/a69c0298f6d3e29903a492ce1f175932dabf800e.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/a69c0298f6d3e29903a492ce1f175932dabf800e.otf -------------------------------------------------------------------------------- /tests/fonts/good/aabe188315aa874a8e3ad3531efd3f62de10c67e.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/aabe188315aa874a8e3ad3531efd3f62de10c67e.ttf -------------------------------------------------------------------------------- /tests/fonts/good/ad455c8c531334cf470a98901cbe86a378895c14.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/ad455c8c531334cf470a98901cbe86a378895c14.ttf -------------------------------------------------------------------------------- /tests/fonts/good/b258998a804fe4780216ebd43248436e2d015f03.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/b258998a804fe4780216ebd43248436e2d015f03.ttf -------------------------------------------------------------------------------- /tests/fonts/good/b2fc7c776ddbc942ae72bf4060a8c1412b715cf3.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/b2fc7c776ddbc942ae72bf4060a8c1412b715cf3.otf -------------------------------------------------------------------------------- /tests/fonts/good/b3590210e2baa7fb6c58af1ce98d383d8bf47683.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/b3590210e2baa7fb6c58af1ce98d383d8bf47683.ttf -------------------------------------------------------------------------------- /tests/fonts/good/b4a99e4fdd041256e354d4ada89bb2900908e78b.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/b4a99e4fdd041256e354d4ada89bb2900908e78b.ttf -------------------------------------------------------------------------------- /tests/fonts/good/b8a18a5eec94d4ab749fbd825e6fa198607704a2.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/b8a18a5eec94d4ab749fbd825e6fa198607704a2.ttf -------------------------------------------------------------------------------- /tests/fonts/good/b98ec6ce1630f86eb34d18666002676498618717.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/b98ec6ce1630f86eb34d18666002676498618717.ttf -------------------------------------------------------------------------------- /tests/fonts/good/baaef388d8b2a70bec6024534974f417119304be.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/baaef388d8b2a70bec6024534974f417119304be.ttf -------------------------------------------------------------------------------- /tests/fonts/good/bb4d6e4c25c01847c88db33066bf85e97ea27cd0.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/bb4d6e4c25c01847c88db33066bf85e97ea27cd0.otf -------------------------------------------------------------------------------- /tests/fonts/good/bcb95ceaa9bad402a1a2b620c153a6bc792bf167.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/bcb95ceaa9bad402a1a2b620c153a6bc792bf167.ttf -------------------------------------------------------------------------------- /tests/fonts/good/bd4c6cd00c8b7de49831f2153414c49902da973c.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/bd4c6cd00c8b7de49831f2153414c49902da973c.ttf -------------------------------------------------------------------------------- /tests/fonts/good/bdc581002a733b039b57b0c56d187ad228bf4a1f.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/bdc581002a733b039b57b0c56d187ad228bf4a1f.ttf -------------------------------------------------------------------------------- /tests/fonts/good/bf5c8e9f890bfbf757589943b18534e6097eeaad.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/bf5c8e9f890bfbf757589943b18534e6097eeaad.ttf -------------------------------------------------------------------------------- /tests/fonts/good/c026cbcefd9e0c9995208ef613c27b48b548ba6f.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/c026cbcefd9e0c9995208ef613c27b48b548ba6f.ttf -------------------------------------------------------------------------------- /tests/fonts/good/c1fd802800359304594785d0ea5fb1eadb14666c.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/c1fd802800359304594785d0ea5fb1eadb14666c.ttf -------------------------------------------------------------------------------- /tests/fonts/good/c3886b3124a97b9b9212c426c50366773e9ef10c.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/c3886b3124a97b9b9212c426c50366773e9ef10c.otf -------------------------------------------------------------------------------- /tests/fonts/good/c39e763ce6fb900b07f219ca252524ea37e6d1ad.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/c39e763ce6fb900b07f219ca252524ea37e6d1ad.ttf -------------------------------------------------------------------------------- /tests/fonts/good/c58d4e63655652bc74153333cd91f190a6e6671e.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/c58d4e63655652bc74153333cd91f190a6e6671e.ttf -------------------------------------------------------------------------------- /tests/fonts/good/c7999e53cde30047922a2f6adb5eb64f4aac2d54.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/c7999e53cde30047922a2f6adb5eb64f4aac2d54.ttf -------------------------------------------------------------------------------- /tests/fonts/good/c7c0abafe42cda85913730dd6813223cbb5d57ae.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/c7c0abafe42cda85913730dd6813223cbb5d57ae.otf -------------------------------------------------------------------------------- /tests/fonts/good/c7d76de613012ce941785c387eb6570d905bc6a7.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/c7d76de613012ce941785c387eb6570d905bc6a7.ttf -------------------------------------------------------------------------------- /tests/fonts/good/c8af7209f1c5c9a2e541214c9bc31bb2bb676c0e.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/c8af7209f1c5c9a2e541214c9bc31bb2bb676c0e.otf -------------------------------------------------------------------------------- /tests/fonts/good/ce6ada335d2950f6893926d3fbec2b648a4014cb.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/ce6ada335d2950f6893926d3fbec2b648a4014cb.ttf -------------------------------------------------------------------------------- /tests/fonts/good/d0ff0af970457d3a599c5f82f375ceb1faaade3c.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/d0ff0af970457d3a599c5f82f375ceb1faaade3c.ttf -------------------------------------------------------------------------------- /tests/fonts/good/d391cf982a114ea43871890da047df4a7b5a087b.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/d391cf982a114ea43871890da047df4a7b5a087b.ttf -------------------------------------------------------------------------------- /tests/fonts/good/d3ae20d9f21e321f0813094dd6970468f187b669.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/d3ae20d9f21e321f0813094dd6970468f187b669.ttf -------------------------------------------------------------------------------- /tests/fonts/good/d427ef152e9e6a8b1865ae00c22b9a282d008073.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/d427ef152e9e6a8b1865ae00c22b9a282d008073.ttf -------------------------------------------------------------------------------- /tests/fonts/good/d8ab8092b46ae0e06c310bdd063b9fd65d04fe93.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/d8ab8092b46ae0e06c310bdd063b9fd65d04fe93.ttf -------------------------------------------------------------------------------- /tests/fonts/good/da1c5e82a0257f9998ff45185ffc153fde98fb12.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/da1c5e82a0257f9998ff45185ffc153fde98fb12.ttf -------------------------------------------------------------------------------- /tests/fonts/good/db4b768546934de921667761967706f4f527a75a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/db4b768546934de921667761967706f4f527a75a.ttf -------------------------------------------------------------------------------- /tests/fonts/good/dc884ba7e1d0f85620c586423782e8e65a16be44.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/dc884ba7e1d0f85620c586423782e8e65a16be44.ttf -------------------------------------------------------------------------------- /tests/fonts/good/e1d157dc9799a686992e5f6c150949fcf3d20ce0.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/e1d157dc9799a686992e5f6c150949fcf3d20ce0.otf -------------------------------------------------------------------------------- /tests/fonts/good/e502b70bfa49d3f497b2a15093a3765e29ccfdcc.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/e502b70bfa49d3f497b2a15093a3765e29ccfdcc.ttf -------------------------------------------------------------------------------- /tests/fonts/good/e6e8ab2987f8c1f9bf6a8a3f9e58dbd62195c4e6.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/e6e8ab2987f8c1f9bf6a8a3f9e58dbd62195c4e6.ttf -------------------------------------------------------------------------------- /tests/fonts/good/e9b02051de5a2b3a3ae1e044e2c459421511a77f.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/e9b02051de5a2b3a3ae1e044e2c459421511a77f.otf -------------------------------------------------------------------------------- /tests/fonts/good/e9e065f23e8c5c1559cdb76a7a350b857ce2713e.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/e9e065f23e8c5c1559cdb76a7a350b857ce2713e.ttf -------------------------------------------------------------------------------- /tests/fonts/good/ec0f5f1cccb6c5675b4f396b462eedf1acce7d95.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/ec0f5f1cccb6c5675b4f396b462eedf1acce7d95.ttf -------------------------------------------------------------------------------- /tests/fonts/good/ef7da53aaff13acd3e6dedda380a2ac0ef746cab.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/ef7da53aaff13acd3e6dedda380a2ac0ef746cab.ttf -------------------------------------------------------------------------------- /tests/fonts/good/f172aa07083478097b7ba62e485c9ffefcd0d623.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/f172aa07083478097b7ba62e485c9ffefcd0d623.ttf -------------------------------------------------------------------------------- /tests/fonts/good/f60191da5f12f78d23ec32c6fdf51314ce3bb8c0.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/f60191da5f12f78d23ec32c6fdf51314ce3bb8c0.ttf -------------------------------------------------------------------------------- /tests/fonts/good/f681955b5a5f59517c3b66a9efa202ced7f99ae1.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/f681955b5a5f59517c3b66a9efa202ced7f99ae1.otf -------------------------------------------------------------------------------- /tests/fonts/good/fc6af2540969ab193e421276a18ad3cca6c68501.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/fc6af2540969ab193e421276a18ad3cca6c68501.ttf -------------------------------------------------------------------------------- /tests/fonts/good/fd2f7ce86f14f554ebd65bd9ba04f2d8f13943ec.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/fd2f7ce86f14f554ebd65bd9ba04f2d8f13943ec.ttf -------------------------------------------------------------------------------- /tests/fonts/good/fd62f786684b29020b46c40ae4cacfbd044fc7ab.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khaledhosny/ots/0c307fe75d8fe22bc181441e6c2cb5ff0f9328ca/tests/fonts/good/fd62f786684b29020b46c40ae4cacfbd044fc7ab.ttf -------------------------------------------------------------------------------- /util/ots-fuzzer.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016-2017 The OTS Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #include 6 | #include 7 | #ifndef OTS_FUZZER_NO_MAIN 8 | #include 9 | #include 10 | #include 11 | #endif 12 | 13 | #include "opentype-sanitiser.h" 14 | #include "ots-memory-stream.h" 15 | #include "ots.h" 16 | 17 | namespace { 18 | 19 | class Context: public ots::OTSContext { 20 | public: 21 | Context() {} 22 | void Message(int, const char*, ...) {} 23 | }; 24 | 25 | } 26 | 27 | // Entry point for LibFuzzer. 28 | extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { 29 | Context context; 30 | ots::ExpandingMemoryStream stream(size /*initial*/, size * 8 /*limit*/); 31 | bool ok = context.Process(&stream, data, size); 32 | 33 | if (ok) { 34 | ots::Buffer file(data, size); 35 | uint32_t tag; 36 | if (file.ReadU32(&tag) && tag == OTS_TAG('t','t','c','f')) { 37 | uint32_t num_fonts; 38 | if (file.Skip(sizeof(uint32_t)) && file.ReadU32(&num_fonts)) { 39 | for (uint32_t i = 0; i < num_fonts; i++) { 40 | stream.Seek(0); 41 | context.Process(&stream, data, size, i); 42 | } 43 | } 44 | } 45 | } 46 | 47 | return 0; 48 | } 49 | 50 | #ifndef OTS_FUZZER_NO_MAIN 51 | int main(int argc, char **argv) { 52 | for (int i = 1; i < argc; i++) { 53 | std::cout << argv[i] << std::endl; 54 | 55 | std::ifstream f(argv[i], std::ifstream::binary); 56 | if (!f.good()) 57 | return 1; 58 | 59 | std::string s((std::istreambuf_iterator(f)), 60 | (std::istreambuf_iterator())); 61 | LLVMFuzzerTestOneInput((const uint8_t*)s.data(), s.size()); 62 | } 63 | return 0; 64 | } 65 | #endif 66 | -------------------------------------------------------------------------------- /util/test-context.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2014-2015 The OTS Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef OTS_TEST_CONTEXT_H_ 6 | #define OTS_TEST_CONTEXT_H_ 7 | 8 | #include 9 | 10 | #include "opentype-sanitiser.h" 11 | 12 | namespace ots { 13 | 14 | class TestContext: public ots::OTSContext { 15 | public: 16 | TestContext(int level) 17 | : level_(level) 18 | { } 19 | 20 | void Message(int level, const char *format, ...) { 21 | va_list va; 22 | 23 | if (level > level_) 24 | return; 25 | 26 | if (level == 0) 27 | std::fprintf(stderr, "ERROR: "); 28 | else 29 | std::fprintf(stderr, "WARNING: "); 30 | va_start(va, format); 31 | std::vfprintf(stderr, format, va); 32 | std::fprintf(stderr, "\n"); 33 | va_end(va); 34 | } 35 | 36 | ots::TableAction GetTableAction(uint32_t tag) { 37 | switch (tag) { 38 | case OTS_TAG('C','B','D','T'): 39 | case OTS_TAG('C','B','L','C'): 40 | case OTS_TAG('s','b','i','x'): 41 | return ots::TABLE_ACTION_PASSTHRU; 42 | default: 43 | return ots::TABLE_ACTION_DEFAULT; 44 | } 45 | } 46 | 47 | private: 48 | int level_; 49 | }; 50 | 51 | } // namespace ots 52 | 53 | #endif // OTS_TEST_CONTEXT_H_ 54 | --------------------------------------------------------------------------------