From 59f3cd7c21bab41b5b25ee1e3766de46742709d2 Mon Sep 17 00:00:00 2001 From: David Cook Date: Fri, 8 Sep 2023 02:19:20 +0000 Subject: [PATCH] Bug 34732: For Code39, append or prepend asterisk if missing from barcode This patch appends or prepends an asterisk on Code39 barcodes if they are missing from the input. This is so that they form correct Code39 barcode images. Test plan: 0. Apply the patch 1. koha-plack --reload kohadev 2. Go to http://localhost:8081/cgi-bin/koha/labels/barcode-print.pl 3. Type 39999000001310 into "Barcode" and click "Show barcode" 4. Note that the barcode text on the right includes asterisks around it 5. Type *39999000001310 into "Barcode" and click "Show barcode" 6. Note the same as above 7. Type 39999000001310* into "Barcode" and click "Show barcode" 8. Note the same as above 9. Type *39999000001310* into "Barcode" and click "Show barcode" 10. Note the same as above Signed-off-by: Matt Blenkinsop Signed-off-by: Victor Grousset/tuxayo Signed-off-by: Tomas Cohen Arazi (cherry picked from commit 0f888f48fa0f839aa62eda7a457ed5c6f50c5a8a) Signed-off-by: Fridolin Somers (cherry picked from commit 66e179f905f1b795dce812258c02b308f964764a) Signed-off-by: Matt Blenkinsop --- svc/barcode | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/svc/barcode b/svc/barcode index bd9c8203bc..e51a29f7f6 100755 --- a/svc/barcode +++ b/svc/barcode @@ -106,6 +106,11 @@ my $height = $input->param('height') || 50; my $qrcode_modulesize = $input->param('modulesize') || "5"; # 1+ my $image; +if ($type eq 'Code39'){ + $barcode = '*' . $barcode unless $barcode =~ /^\*/; + $barcode = $barcode . '*' unless $barcode =~ /\*$/; +} + eval { if( $type eq "QRcode" ){ $image = GD::Barcode->new('QRcode', $barcode, { Ecc => "M", ModuleSize => $qrcode_modulesize } )->plot->png(); -- 2.39.5