-
Notifications
You must be signed in to change notification settings - Fork 118
PDF and PS output issues #1273
Comments
simpler test case for rounded corners.
|
I've solved the rounded shapes issue locally. one was due to the angle normalization, another one because of a naive handedness fixup in the postscript backend. |
the issue with fitting is /probably/ because font metrics are botched and bounding rectangles of text records are miscomputed. both ps and pdf use the same font metric code, so that makes this suspicion even more plausible. if we replay +everywhere+ instead of the rectangle in question (even when fit-to-scale is not present), then output shows correctly. |
The previous approach was a little naive because it assumed that changing signs will solve the handedness problem. We need to properly untransform regions. Partially addresses #1273.
The function normalize angle returned (0,0) when END-ANGLE was smaller than START-ANGLE. This is not corect, consider: start-angle: pi end-angle: pi/2 Then we want to draw an ellipse that takes three quaters of the ellipse excluding the second one (CCW). This commit removes that constraint. Partially addresses #1273.
The previous approach was a little naive because it assumed that changing signs will solve the handedness problem. We need to properly untransform regions. Partially addresses #1273.
The function normalize angle returned (0,0) when END-ANGLE was smaller than START-ANGLE. This is not corect, consider: start-angle: pi end-angle: pi/2 Then we want to draw an ellipse that takes three quaters of the ellipse excluding the second one (CCW). This commit removes that constraint. Partially addresses #1273.
Previously the code assumed that a MEDIUM-TRANSFORMATION is always the +IDENTITY-TRANSFORMATION+. This does not hold for records that are subclasses of the GS-TRANSFORMATION-MIXIN (most notably DRAW-TEXT-OUTPUT-RECORD). Fixes #1273.
The function normalize angle returned (0,0) when END-ANGLE was smaller than START-ANGLE. This is not corect, consider: start-angle: pi end-angle: pi/2 Then we want to draw an ellipse that takes three quaters of the ellipse excluding the second one (CCW). This commit removes that constraint. Partially addresses #1273.
@daewok please check the drawing-backends branch whether everything works (it seems to!). |
The previous approach was a little naive because it assumed that changing signs will solve the handedness problem. We need to properly untransform regions. Partially addresses #1273.
The function normalize angle returned (0,0) when END-ANGLE was smaller than START-ANGLE. This is not corect, consider: start-angle: pi end-angle: pi/2 Then we want to draw an ellipse that takes three quaters of the ellipse excluding the second one (CCW). This commit removes that constraint. Partially addresses #1273.
Most everything works! Only issue I still see is that this: (clim-extensions:with-output-to-drawing-stream (s :ps "/tmp/mcclim-graph-scaled.ps" :scale-to-fit t)
(format-graph *simple-graph* s)) results in an image that seems to be scaled appropriately, but everything that would be off the page if not scaled is missing. |
I think this is likely several separate bugs, but I'm not sure the best way to break them apart. All of these tests were done using #1269. GitHub isn't letting me upload .ps files, so you'll have to run the example to fully compare.
to mcclim-graph-not-scaled.pdf and mcclim-graph-not-scaled.ps.
:scale-to-fit t
. Compare mcclim-graph-truncated.pdf to mcclim-graph-truncated-scaled.pdf.:scale-to-fit t
doesn't fix it. Compare mcclim-graph-truncated-scaled.ps and mcclim-graph-truncated.ps.Code:
The text was updated successfully, but these errors were encountered: