SHA256
1
0
forked from pool/transfig
transfig/3165d8.patch

76 lines
2.7 KiB
Diff

From 3165d86c31c6323913239fdc6460be6ababd3826 Mon Sep 17 00:00:00 2001
From: Thomas Loimer <thomas.loimer@tuwien.ac.at>
Date: Tue, 4 Feb 2020 20:58:27 +0100
Subject: [PATCH] Allow arrows with zero length on arcs, ticket #74
---
fig2dev/bound.c | 9 +++++----
fig2dev/tests/output.at | 10 +++++++++-
2 files changed, 14 insertions(+), 5 deletions(-)
diff --git fig2dev/bound.c fig2dev/bound.c
index ce7f4d1..d305ab9 100644
--- fig2dev/bound.c
+++ fig2dev/bound.c
@@ -3,7 +3,7 @@
* Copyright (c) 1985 Supoj Sutanthavibul
* Copyright (c) 1991 Micah Beck
* Parts Copyright (c) 1989-2015 by Brian V. Smith
- * Parts Copyright (c) 2015-2019 Thomas Loimer
+ * Parts Copyright (c) 2015-2020 Thomas Loimer
*
* Any party obtaining a copy of these files is granted, free of charge, a
* full and unrestricted irrevocable, world-wide, paid up, royalty-free,
@@ -1095,9 +1095,8 @@ compute_arcarrow_angle(double x1, double y1, double x2, double y2,
r=sqrt(dx*dx+dy*dy);
h = (double) arrow->ht;
/* lines are made a little thinner in set_linewidth */
- thick = (arrow->thickness <= THICK_SCALE) ?
- 0.5* arrow->thickness :
- arrow->thickness - THICK_SCALE;
+ thick = arrow->thickness <= THICK_SCALE ?
+ 0.5 * arrow->thickness : arrow->thickness - THICK_SCALE;
/* lpt is the amount the arrowhead extends beyond the end of the line */
lpt = thick/2.0/(arrow->wid/h/2.0);
/* add this to the length */
@@ -1107,6 +1106,8 @@ compute_arcarrow_angle(double x1, double y1, double x2, double y2,
if (h > 2.0*r) {
arc_tangent_int(x1,y1,x2,y2,direction,x,y);
return;
+ } else if (h < thick) {
+ h = thick;
}
beta=atan2(dy,dx);
diff --git fig2dev/tests/output.at fig2dev/tests/output.at
index fd06727..e0d088c 100644
--- fig2dev/tests/output.at
+++ fig2dev/tests/output.at
@@ -2,7 +2,7 @@ dnl Fig2dev: Translate Fig code to various Devices
dnl Copyright (c) 1991 by Micah Beck
dnl Parts Copyright (c) 1985-1988 by Supoj Sutanthavibul
dnl Parts Copyright (c) 1989-2015 by Brian V. Smith
-dnl Parts Copyright (c) 2015-2019 by Thomas Loimer
+dnl Parts Copyright (c) 2015-2020 by Thomas Loimer
dnl
dnl Any party obtaining a copy of these files is granted, free of charge, a
dnl full and unrestricted irrevocable, world-wide, paid up, royalty-free,
@@ -175,6 +175,14 @@ AT_CHECK([fig2dev -L pict2e -P big1.fig big1.tex && \
], 0, ignore)
AT_CLEANUP
+AT_SETUP([accept arc arrows with zero height, ticket #74])
+AT_KEYWORDS(pict2e)
+AT_CHECK([fig2dev -L pict2e <<EOF
+FIG_FILE_TOP
+5 1 0 1 0 7 50 -1 -1 0.0 0 0 1 0 0.0 0.0 600 0 0 600 -600 0
+ 1 1 1.0 60.0 0.0
+EOF], 0, ignore)
+AT_CLEANUP
AT_BANNER([Test svg output language.])
AT_SETUP([compare patterns with template])
--
2.16.4