bugGNU roff - Bugs: bug #63380, [gropdf] hyperlink doesn't work in...

 
 

bug #63380: [gropdf] hyperlink doesn't work in landscape orientation

Submitter:  G. Branden Robinson <gbranden>
Submitted:  Thu 17 Nov 2022 07:51:34 PM UTC
   
 
Category:  Driver gropdf Severity:  3 - Normal
Item Group:  Incorrect behaviour Status:  Fixed
Privacy:  Public Assigned to:  gbranden
Open/Closed:  Closed Planned Release:  1.23.0
* Mandatory Fields

Add a New Comment Rich Markup
   

Mon 27 Feb 2023 12:51:44 AM UTC, comment #5: 

Correct the Category.

G. Branden Robinson <gbranden>
Group administrator
Wed 23 Nov 2022 09:14:38 PM UTC, comment #4: 

Thanks, Dave.  My rhythm was thrown off by my hurried push on Friday.

G. Branden Robinson <gbranden>
Group administrator
Wed 23 Nov 2022 08:53:15 PM UTC, comment #3: 

For the record, the resolving commit is 0ce521b5.

Dave <barx>
Group Member
Tue 22 Nov 2022 04:43:40 AM UTC, comment #2: 


2022-11-16  Deri James  <deri@chuzzlewit.myzen.co.uk>

        * src/devices/gropdf/gropdf.pl: Fix incorrect hotspot placement
        if page is in landscape orientation.
        (FixRect): Perform coordinate transform if page is rotated.
        (Rotate): New function performs relevant trigonometry.

        Fixes <https://savannah.gnu.org/bugs/?63380>.  Thanks to Blake
        McBride for the report.


G. Branden Robinson <gbranden>
Group administrator
Fri 18 Nov 2022 01:52:14 AM UTC, comment #1: 

Hi Blake,

Here's a patch, courtesy of Deri James.


diff --git a/src/devices/gropdf/gropdf.pl b/src/devices/gropdf/gropdf.pl
index 07c65b8ea..739dad4e4 100644
--- a/src/devices/gropdf/gropdf.pl
+++ b/src/devices/gropdf/gropdf.pl
@@ -1491,6 +1491,22 @@ sub FixRect
     return if !defined($rect);
     $rect->[1]=GraphY($rect->[1]);
     $rect->[3]=GraphY($rect->[3]);
+
+    if ($rot)
+    {
+       ($rect->[0],$rect->[1])=Rotate($rect->[0],$rect->[1]);
+       ($rect->[2],$rect->[3])=Rotate($rect->[2],$rect->[3]);
+    }
+}
+
+sub Rotate
+{
+    my ($tx,$ty)=(@_);
+    my $theta=rad($rot);
+
+    ($tx,$ty)=(d3($tx * cos(-$theta) - $ty * sin(-$theta)),
+              d3($tx * sin( $theta) + $ty * cos( $theta)));
+    return($tx,$ty);
 }

 sub GetPoints


G. Branden Robinson <gbranden>
Group administrator
Thu 17 Nov 2022 07:51:34 PM UTC, original submission:  

Reported by Blake McBride to the groff list.

See https://lists.gnu.org/archive/html/groff/2022-11/msg00065.html>
and follow-ups.

Affects groff 1.22.4.

Deri James wrote a fix, which is pending.

G. Branden Robinson <gbranden>
Group administrator

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by barx (Posted a comment)
  • -email is unavailable- added by gbranden (Submitted the item)
  • -email is unavailable- added by gbranden (original reporter)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follow 5 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2023-02-27 gbranden CategoryDriver - others/general Driver gropdf
    2022-11-22 gbranden StatusIn Progress Fixed
        Open/ClosedOpen Closed
    2022-11-17 gbranden Planned ReleaseNone 1.23.0
    2022-11-17 gbranden Carbon-Copy- Added -email is unavailable-

    Back to the top

    Powered by Savane 3.13-d3ae.
    Corresponding source code