summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Build/source/texk/dvipdfm-x/ChangeLog6
-rw-r--r--Build/source/texk/dvipdfm-x/spc_tpic.c10
2 files changed, 16 insertions, 0 deletions
diff --git a/Build/source/texk/dvipdfm-x/ChangeLog b/Build/source/texk/dvipdfm-x/ChangeLog
index 74ac35aaa50..6a6ffdfe079 100644
--- a/Build/source/texk/dvipdfm-x/ChangeLog
+++ b/Build/source/texk/dvipdfm-x/ChangeLog
@@ -1,3 +1,9 @@
+2015-03-01 Shunsaku Hirata <shunsaku.hirata74@gmail.com>
+
+ * spc_tpic.c: Make tpic "ar" command dvips compatible to fix the problem
+ that an excess line is drawn when "ar" command is used along
+ with dvips transformation commands.
+
2015-02-25 Peter Breitenlohner <peb@mppmu.mpg.de>
* fontmap.h (pdf_insert_native_fontmap_record): Declare also
diff --git a/Build/source/texk/dvipdfm-x/spc_tpic.c b/Build/source/texk/dvipdfm-x/spc_tpic.c
index 7f1e8e76e55..7cc38556c64 100644
--- a/Build/source/texk/dvipdfm-x/spc_tpic.c
+++ b/Build/source/texk/dvipdfm-x/spc_tpic.c
@@ -381,6 +381,16 @@ tpic__arc (struct spc_tpic_ *tp,
set_styles(tp, c, f_fs, f_vp, pn, da);
+ /* The arcx operator here draws an excess straight line from current
+ * point to the starting point of the arc if they are different, as in
+ * PostScript language. It may cuase an unexpected behavior when DVIPS
+ * transformation command is inserted before TPIC ar command: it invokes
+ * moveto and sets currentpoint which may be different from the starting
+ * point of arc to be drawn. We use newpath here to avoid drawing an
+ * excess line. I'm not sure if it is proper TPIC implementation but this
+ * seems to be DVIPS compatible behavior.
+ */
+ pdf_dev_newpath();
pdf_dev_arcx(v[0], v[1], v[2], v[3], v[4], v[5], +1, 0.0);
showpath(f_vp, f_fs);