octave-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #53023] Marker symbols not fully drawn for som


From: Dan Sebald
Subject: [Octave-bug-tracker] [bug #53023] Marker symbols not fully drawn for some output formats
Date: Wed, 31 Jan 2018 02:15:12 -0500 (EST)
User-agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:55.0) Gecko/20100101 Firefox/55.0

Follow-up Comment #14, bug #53023 (project octave):

"A possible workaround is to use "round" linecap and linejoin for markers."

Just pointing out that okular is doing the "round" linecap.  Attached is a
screenshot of zoomed okular at that missing pie wedge.  One can see that there
is a little curve at that location.  There are two overlapping round
linecaps...and note that the linecaps don't quite line up the outside edges of
the line (more about this below).  It may be that Octave's generating markers
without any type of linecap specified and it is left up to the viewer to
choose what it wants (xpdf displays the same as okular).

I'm also attaching a slightly modified EPS version where I changed (LC stands
for setlinecap):


linux@ ~/octave/bug/53023 $ diff -u lw36.epsc djs_capped_marker_lw36.epsc
--- lw36.epsc   2018-01-31 00:10:45.035322545 -0600
+++ djs_capped_marker_lw36.epsc 2018-01-31 00:11:27.787322964 -0600
@@ -277,7 +277,7 @@
 521.28 47.52 LS
 521.28 399.6 LE
 36 W
-0 LC
+1 LC
 1 LJ
 [] 0 setdash
 0 0.447 0.741 C


View both lw36.epsc and djs_capped_marker_lw36.epsc in ghostview (gv) and
you'll see that the latter is similar to Rik's PDF result.

I then ran djs_capped_marker_lw36.epsc through ps2pdf and looked at that
result in okular.  I can tell there is still a bit of rounding--as with
lw36.pdf--(it actually bulges outward a tad) but the line caps line up much
better than with lw36.pdf.  That suggests alignment isn't necessarily a viewer
issue, but probably the difference between ps2pdf and Octave's PDF prind
direct.

And then I explored using "closepath" to avoid the cap issue and made the
following change (back to 0 LC, by the way):


linux@ ~/octave/bug/53023 $ diff -u lw36.epsc djs_closed_marker_lw36.epsc
--- lw36.epsc   2018-01-31 00:10:45.035322545 -0600
+++ djs_closed_marker_lw36.epsc 2018-01-31 01:03:18.251353405 -0600
@@ -290,6 +290,7 @@
 335.28 252.9 L
 372.48 282.24 L
 409.68 311.58 L
+closepath
 446.88 340.92 LE
 115.08 76.86 LS
 114.507 75.0966 L
@@ -301,6 +302,7 @@
 111.153 79.7132 L
 113.007 79.7132 L
 114.507 78.6234 L
+closepath
 115.08 76.86 LE
 152.28 106.2 LS
 151.707 104.437 L
@@ -312,6 +314,7 @@
 148.353 109.053 L
 150.207 109.053 L
 151.707 107.963 L
+closepath
 152.28 106.2 LE
 189.48 135.54 LS
 188.907 133.777 L
@@ -323,6 +326,7 @@
 185.553 138.393 L
 187.407 138.393 L
 188.907 137.303 L
+closepath
 189.48 135.54 LE
 226.68 164.88 LS
 226.107 163.117 L
@@ -334,6 +338,7 @@
 222.753 167.733 L
 224.607 167.733 L
 226.107 166.643 L
+closepath
 226.68 164.88 LE
 263.88 194.22 LS
 263.307 192.457 L
@@ -345,6 +350,7 @@
 259.953 197.073 L
 261.807 197.073 L
 263.307 195.983 L
+closepath
 263.88 194.22 LE
 301.08 223.56 LS
 300.507 221.797 L
@@ -356,6 +362,7 @@
 297.153 226.413 L
 299.007 226.413 L
 300.507 225.323 L
+closepath
 301.08 223.56 LE
 338.28 252.9 LS
 337.707 251.137 L
@@ -367,6 +374,7 @@
 334.353 255.753 L
 336.207 255.753 L
 337.707 254.663 L
+closepath
 338.28 252.9 LE
 375.48 282.24 LS
 374.907 280.477 L
@@ -378,6 +386,7 @@
 371.553 285.093 L
 373.407 285.093 L
 374.907 284.003 L
+closepath
 375.48 282.24 LE
 412.68 311.58 LS
 412.107 309.817 L
@@ -389,6 +398,7 @@
 408.753 314.433 L
 410.607 314.433 L
 412.107 313.343 L
+closepath
 412.68 311.58 LE
 449.88 340.92 LS
 449.307 339.157 L
@@ -400,6 +410,7 @@
 445.953 343.773 L
 447.807 343.773 L
 449.307 342.683 L
+closepath
 449.88 340.92 LE
 grestore
 grestore


Have a look at djs_closed_marker_lw36.epsc in ghostview (gv) and it looks
good.  The closepath on the marker is the way to go.

I will also add that it is a good idea to not repeat the marker draw with
absolute coordinates, but instead (IIRC) define the marker in terms of terms
of relative coordinates (say it is /MARK1 and then use that definition later
in the PostScript code. That would be a tedious code change though.  (I've
programmed in PostScript before, oy.)

(file #43132, file #43133, file #43134, file #43135)
    _______________________________________________________

Additional Item Attachment:

File name: djs_capped_marker_lw36.epsc    Size:9 KB
File name: djs_capped_marker_lw36.epsc.pdf Size:3 KB
File name: djs_closed_marker_lw36.epsc    Size:9 KB
File name: djs_closed_marker_lw36.epsc.pdf Size:3 KB


    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?53023>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]