diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | src/devices/gropdf/gropdf.pl | 16 |
2 files changed, 17 insertions, 7 deletions
@@ -1,3 +1,11 @@ +2012-10-17 Deri James <deri@chuzzlewit.myzen.co.uk> + + * src/devices/gropdf/gropdf: The command \D't N' moves horizontal + position by 'N'. gropdf now obeys this rule. + + Fixed kerning issue where width of non-kerned text could be wrongly + calculated using previous kern factor. + 2012-09-21 Werner LEMBERG <wl@gnu.org> * doc/groff.texinfo: Improve documentation of `.ad'. diff --git a/src/devices/gropdf/gropdf.pl b/src/devices/gropdf/gropdf.pl index 0ed81a4a..a98e0b03 100644 --- a/src/devices/gropdf/gropdf.pl +++ b/src/devices/gropdf/gropdf.pl @@ -2669,6 +2669,7 @@ sub do_D $lwidth=$p[0]; $stream.="$p[0] w\n"; $poschg=1; + $xpos+=$lwidth; } elsif ($Dcmd eq 'a') { @@ -3014,6 +3015,14 @@ sub TextWid sub do_t { my $par=shift; + + if ($kernadjust != $curkern) + { + PutLine(); + $stream.="$kernadjust Tc\n"; + $curkern=$kernadjust; + } + my $wid=TextWid($par); $par=reverse(split('',$par)) if $xrev; @@ -3038,13 +3047,6 @@ sub do_t # $nomove = width of char(s) added by 'C', 'N' or 'c' # $w-flg = 'w' seen since last t - if ($kernadjust != $curkern) - { - PutLine(); - $stream.="$kernadjust Tc\n"; - $curkern=$kernadjust; - } - if ($fontchg) { PutLine(); |