summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorpfaedit <pfaedit>2011-01-22 17:18:37 +0000
committerpfaedit <pfaedit>2011-01-22 17:18:37 +0000
commite350ebc1ed09b3218aa7663316a527dfc2786c08 (patch)
tree70163682de63e5c54f6e16f4c3e02e11d8588f12 /test
parent21428483f9f05134154c5aaf99cbdb8a680a4fb8 (diff)
tests from bug reports.
Diffstat (limited to 'test')
-rw-r--r--test/fonts/ayn+meem.init.svg306
-rw-r--r--test/test1006.py44
-rw-r--r--test/test1007.py10
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");