diff options
author | pfaedit <pfaedit> | 2011-01-22 17:18:37 +0000 |
---|---|---|
committer | pfaedit <pfaedit> | 2011-01-22 17:18:37 +0000 |
commit | e350ebc1ed09b3218aa7663316a527dfc2786c08 (patch) | |
tree | 70163682de63e5c54f6e16f4c3e02e11d8588f12 /test | |
parent | 21428483f9f05134154c5aaf99cbdb8a680a4fb8 (diff) |
tests from bug reports.
Diffstat (limited to 'test')
-rw-r--r-- | test/fonts/ayn+meem.init.svg | 306 | ||||
-rw-r--r-- | test/test1006.py | 44 | ||||
-rw-r--r-- | test/test1007.py | 10 |
3 files changed, 360 insertions, 0 deletions
diff --git a/test/fonts/ayn+meem.init.svg b/test/fonts/ayn+meem.init.svg new file mode 100644 index 00000000..8b4fc9c7 --- /dev/null +++ b/test/fonts/ayn+meem.init.svg @@ -0,0 +1,306 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + version="1.0" + width="1000" + height="1000" + id="svg5496" + sodipodi:version="0.32" + inkscape:version="0.47pre4 r22446" + sodipodi:docname="ayn+meem.init.svg" + inkscape:output_extension="org.inkscape.output.svg.inkscape"> + <metadata + id="metadata5594"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <sodipodi:namedview + inkscape:pageshadow="2" + inkscape:pageopacity="0.0" + guidetolerance="10.0" + gridtolerance="10.0" + objecttolerance="10.0" + borderopacity="1.0" + bordercolor="#666666" + pagecolor="#ffffff" + id="base" + showgrid="false" + showguides="true" + inkscape:guide-bbox="true" + inkscape:zoom="0.472" + inkscape:cx="223.9142" + inkscape:cy="406.64724" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:current-layer="svg5496" + inkscape:window-width="1278" + inkscape:window-height="767" + inkscape:window-maximized="1"> + <sodipodi:guide + orientation="horizontal" + position="200" + id="guide5596" /> + </sodipodi:namedview> + <defs + id="defs5498"> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="0 : 500 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_z="1000 : 500 : 1" + inkscape:persp3d-origin="500 : 333.33333 : 1" + id="perspective8" /> + <inkscape:perspective + id="perspective2388" + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" + inkscape:vp_z="744.09448 : 526.18109 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_x="0 : 526.18109 : 1" + sodipodi:type="inkscape:persp3d" /> + <inkscape:perspective + id="perspective3740" + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" + inkscape:vp_z="1 : 0.5 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_x="0 : 0.5 : 1" + sodipodi:type="inkscape:persp3d" /> + <inkscape:perspective + id="perspective4613" + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" + inkscape:vp_z="1 : 0.5 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_x="0 : 0.5 : 1" + sodipodi:type="inkscape:persp3d" /> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="0 : 500 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_z="1000 : 500 : 1" + inkscape:persp3d-origin="500 : 333.33333 : 1" + id="perspective2422" /> + <inkscape:perspective + id="perspective2431" + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" + inkscape:vp_z="744.09448 : 526.18109 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_x="0 : 526.18109 : 1" + sodipodi:type="inkscape:persp3d" /> + <inkscape:perspective + id="perspective5542" + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" + inkscape:vp_z="1 : 0.5 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_x="0 : 0.5 : 1" + sodipodi:type="inkscape:persp3d" /> + <inkscape:perspective + id="perspective8427" + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" + inkscape:vp_z="1 : 0.5 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_x="0 : 0.5 : 1" + sodipodi:type="inkscape:persp3d" /> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="0 : 0.5 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_z="1 : 0.5 : 1" + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" + id="perspective2866" /> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="0 : 500 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_z="1000 : 500 : 1" + inkscape:persp3d-origin="500 : 333.33333 : 1" + id="perspective4653" /> + <inkscape:perspective + id="perspective4642" + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" + inkscape:vp_z="1 : 0.5 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_x="0 : 0.5 : 1" + sodipodi:type="inkscape:persp3d" /> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="0 : 0.5 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_z="1 : 0.5 : 1" + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" + id="perspective2974" /> + <inkscape:perspective + id="perspective2986" + inkscape:persp3d-origin="500 : 333.33333 : 1" + inkscape:vp_z="1000 : 500 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_x="0 : 500 : 1" + sodipodi:type="inkscape:persp3d" /> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="0 : 0.5 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_z="1 : 0.5 : 1" + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" + id="perspective2913" /> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="0 : 500 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_z="1000 : 500 : 1" + inkscape:persp3d-origin="500 : 333.33333 : 1" + id="perspective2437" /> + <inkscape:perspective + id="perspective5481" + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" + inkscape:vp_z="1 : 0.5 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_x="0 : 0.5 : 1" + sodipodi:type="inkscape:persp3d" /> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="0 : 0.5 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_z="1 : 0.5 : 1" + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" + id="perspective6689" /> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="0 : 0.5 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_z="1 : 0.5 : 1" + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" + id="perspective3689" /> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="0 : 526.18109 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_z="744.09448 : 526.18109 : 1" + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" + id="perspective2477" /> + <inkscape:perspective + id="perspective8-7" + inkscape:persp3d-origin="500 : 333.33333 : 1" + inkscape:vp_z="1000 : 500 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_x="0 : 500 : 1" + sodipodi:type="inkscape:persp3d" /> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="0 : 0.5 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_z="1 : 0.5 : 1" + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" + id="perspective3804" /> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="0 : 0.5 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_z="1 : 0.5 : 1" + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" + id="perspective4912" /> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="0 : 526.18109 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_z="744.09448 : 526.18109 : 1" + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" + id="perspective2388-8" /> + <inkscape:perspective + id="perspective8-8" + inkscape:persp3d-origin="500 : 333.33333 : 1" + inkscape:vp_z="1000 : 500 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_x="0 : 500 : 1" + sodipodi:type="inkscape:persp3d" /> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="0 : 0.5 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_z="1 : 0.5 : 1" + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" + id="perspective5091" /> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="0 : 500 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_z="1000 : 500 : 1" + inkscape:persp3d-origin="500 : 333.33333 : 1" + id="perspective8-5" /> + <inkscape:perspective + id="perspective2388-2" + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" + inkscape:vp_z="744.09448 : 526.18109 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_x="0 : 526.18109 : 1" + sodipodi:type="inkscape:persp3d" /> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="0 : 0.5 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_z="1 : 0.5 : 1" + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" + id="perspective2850" /> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="0 : 0.5 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_z="1 : 0.5 : 1" + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" + id="perspective2836" /> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="0 : 0.5 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_z="1 : 0.5 : 1" + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" + id="perspective2822" /> + <inkscape:perspective + id="perspective8-2" + inkscape:persp3d-origin="500 : 333.33333 : 1" + inkscape:vp_z="1000 : 500 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_x="0 : 500 : 1" + sodipodi:type="inkscape:persp3d" /> + </defs> + <path + sodipodi:nodetypes="ccszssscsscscsssscc" + id="path2899" + d="m 250.771,361.582 c -15.551,38.22 -34.514,85.525 51.892,145.508 -39.5573,17.1253 -111.41417,38.96669 -176.106,71.735 -7.27496,3.68498 -6.36834,14.76831 9.61559,26.2569 15.80981,11.36344 23.3804,9.28097 39.34828,7.45935 14.8403,-1.69299 47.20501,-14.63266 62.27913,-20.27125 106.6253,-39.88405 237.97,-77.651 345.158,-119.775 3.571,-1.403 12.015,-9.708 14.123,-13.871 l 30.931,-48.357 c 7.809,-12.208 -6.113,-30.366 -25.33,-20.709 -61.265,30.788 -120.991,63.028 -181.75,58.238 -77.369,-15.207 -119.533,-57.854 -135.017,-82.998 -2.533,-4.113 -0.898,-8.583 2.536,-11.662 97.983,-62.322 185.352,-58.002 236.338,-40.868 7.808,2.623 22.672,-4.53 12.688,-17.729 C 516.623,266.964 484.153,226.19 432.925,225.11 348.439,223.328 269.759,314.917 250.772,361.582 l 0,0 -0.001,0 z" + style="fill:#ff0000;fill-opacity:0.60784314;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + <g + id="layer1" + transform="translate(47.058824,228.29074)" /> + <g + id="layer1-4" + transform="translate(-298.6923,-161.06224)" /> + <g + id="layer1-9" + transform="matrix(0.65,0,0,0.65,-374.21002,-284.46288)" /> + <g + id="layer1-5" + transform="matrix(1.3,0,0,1.3,-1021.149,-557.73921)" /> + <g + id="layer1-76" + transform="translate(-488.33728,-701.24315)" /> + <g + id="layer1-7" + transform="translate(-206.39895,-996.39733)" /> + <path + style="fill:#ff0000;fill-opacity:0.60784314;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + d="m 126.557,578.825 c -39.641715,21.31108 -49.325,68.407 -52.392,108.278 -13.12,13.952 -46.29556,21.73362 -74.245,21.71368 -23.792897,-0.017 -34.833452,8.47526 -31.860614,40.15037 C -28.969987,780.61862 -19.85984,800 0,800 c 29.46,-6.21 68.534,-57.035 81.968,-87.032 28.107,24.671 135.248,69.471 167.651,53.335 25.564,-12.73 42.353,-57.636 39.378,-90.544 C 287.401,658.106 267.88888,622.06401 237.8,592.27 208.0209,562.78274 169.59773,555.68664 126.557,578.825 z m 100.975,116.513 c -26.513,-2.992 -89.087,-30.236 -119.03,-52.374 -3.919,-2.898 -4.158,-8.085 -1.279,-11.112 20.272,-12.689 40.511,-8.331 60.825,1.086 26.624,12.343 51.636,35.556 59.484,62.4 z" + id="path2852" + sodipodi:nodetypes="ccszccsssscsccc" /> +</svg> diff --git a/test/test1006.py b/test/test1006.py new file mode 100644 index 00000000..248b3b8e --- /dev/null +++ b/test/test1006.py @@ -0,0 +1,44 @@ +#!/usr/local/bin/fontforge +#Test the math table + +import fontforge; + +font=fontforge.font(); +math = font.math; + +if ( math.exists() ) : + raise ValueError, "Thinks there is a math table in an empty font"; +math.clear(); + +math.ScriptPercentScaleDown = 3; +math.SubscriptBaselineDropMin = 6; +if ( not math.exists() ) : + raise ValueError, "Thinks there isn't a math table after we added one"; +if ( math.ScriptPercentScaleDown!=3 or math.SubscriptBaselineDropMin != 6) : + raise ValueError, "Assignment failed"; + +math.clear(); +if ( math.exists() ) : + raise ValueError, "Thinks there is a math table in an empty font"; + +a = font.createChar(65); +c = font.createChar(67); +a.horizontalVariants = "B C D"; +a.horizontalComponents = (("a",),("b",1,20,20,200),c); +a.horizontalComponentItalicCorrection = 10; + +a.verticalVariants = "B.v C.v D.v"; +a.verticalComponents = (("a",),("b",1,20,20,200),c); +a.verticalComponentItalicCorrection = 20; + +if ( a.horizontalVariants != "B C D" or a.horizontalComponentItalicCorrection!=10 ) : + raise ValueError, "Failed to set some glyph horizontal variant/component"; +if ( a.verticalVariants != "B.v C.v D.v" or a.verticalComponentItalicCorrection!=20 ) : + raise ValueError, "Failed to set some glyph vertical variant/component"; + +#print a.verticalComponents; +#print a.mathKern.topLeft; + +#a.mathKern.topLeft = ((1,2),(2,3)); +#print a.mathKern.topLeft; +#print a.mathKern.topRight; diff --git a/test/test1007.py b/test/test1007.py new file mode 100644 index 00000000..08efe56e --- /dev/null +++ b/test/test1007.py @@ -0,0 +1,10 @@ +#!/usr/local/bin/fontforge +#Needs: fonts/ayn+meem.init.svg + +# At one point splinestroke failed if the first spline on a contour had a length of 0 + +import fontforge; + +font=fontforge.font(); +a = font.createChar(65); +a.importOutlines("fonts/ayn+meem.init.svg"); |