diff --git a/src/pixie/paths.nim b/src/pixie/paths.nim index 31df61a..c646520 100644 --- a/src/pixie/paths.nim +++ b/src/pixie/paths.nim @@ -905,10 +905,11 @@ proc computeCoverages( windingRule: WindingRule ) {.inline.} = const + ep = 0.0001 * PI quality = 5 # Must divide 255 cleanly (1, 3, 5, 15, 17, 51, 85) sampleCoverage = (255 div quality).uint8 offset = 1 / quality.float32 - initialOffset = offset / 2 + initialOffset = offset / 2 + ep let partition = @@ -921,9 +922,8 @@ proc computeCoverages( # Do scanlines for this row for m in 0 ..< quality: - const ep = 0.0001 * PI let - yLine = y.float32 + initialOffset + offset * m.float32 + ep + yLine = y.float32 + initialOffset + offset * m.float32 scanline = Line(a: vec2(0, yLine), b: vec2(size.x, yLine)) numHits = 0 for (segment, winding) in partitions[partition]: diff --git a/tests/images/svg/Ghostscript_Tiger.png b/tests/images/svg/Ghostscript_Tiger.png index 8b5ea58..c659ae2 100644 Binary files a/tests/images/svg/Ghostscript_Tiger.png and b/tests/images/svg/Ghostscript_Tiger.png differ diff --git a/tests/images/svg/ellipse01.png b/tests/images/svg/ellipse01.png index 4c425bc..137a435 100644 Binary files a/tests/images/svg/ellipse01.png and b/tests/images/svg/ellipse01.png differ diff --git a/tests/images/svg/quad01.png b/tests/images/svg/quad01.png index 318ade7..349dbbd 100644 Binary files a/tests/images/svg/quad01.png and b/tests/images/svg/quad01.png differ diff --git a/tests/images/svg/rect02.png b/tests/images/svg/rect02.png index e5c0b16..19eb5db 100644 Binary files a/tests/images/svg/rect02.png and b/tests/images/svg/rect02.png differ