Blob Blame History Raw
From 75de02d9065b6280482d7cd011e9462badb19f83 Mon Sep 17 00:00:00 2001
From: Andreas Gruenbacher <agruenba@redhat.com>
Date: Thu, 30 Jan 2020 23:08:23 +0100
Subject: [PATCH] Recognize fractional numbers in PageSize

Right now, fractional numbers (fractional pt sizes) aren't allowed in
PageSize values even though they are perfectly fine in PPD files.  In
contrast, the values foomatic puts into the *ImageableArea and
*PaperDimension definitions it generates are fractional.  So allow
fractional numbers in PageSize values as well.
---
 lib/Foomatic/DB.pm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/lib/Foomatic/DB.pm b/lib/Foomatic/DB.pm
index 90389b3..39739aa 100644
--- a/lib/Foomatic/DB.pm
+++ b/lib/Foomatic/DB.pm
@@ -5533,7 +5533,7 @@ sub getppd (  $ $ $ ) {
 			# option.
 			my $size = $v->{'driverval'};
 			if ($size =~ /([\d\.]+)x([\d\.]+)([a-z]+)\b/) {
-			    # 2 positive integers separated by 
+			    # 2 positive numbers separated by
 			    # an 'x' with a unit
 			    my $w = $1;
 			    my $h = $2;
@@ -5551,8 +5551,8 @@ sub getppd (  $ $ $ ) {
 			    $w = sprintf("%.2f", $w) if $w =~ /\./;
 			    $h = sprintf("%.2f", $h) if $h =~ /\./;
 			    $size = "$w $h";
-			} elsif (($size =~ /(\d+)[x\s]+(\d+)/) ||
-			    # 2 positive integers separated by 
+			} elsif (($size =~ /([\d\.]+)[x\s]+([\d\.]+)/) ||
+			    # 2 positive numbers separated by
 			    # whitespace or an 'x'
 				 ($size =~ /\-dDEVICEWIDTHPOINTS\=(\d+)\s+\-dDEVICEHEIGHTPOINTS\=(\d+)/)) {
 			    # "-dDEVICEWIDTHPOINTS=..."/"-dDEVICEHEIGHTPOINTS=..."
-- 
2.25.4