@@ -629,11 +629,12 @@ begin
629629 } for
630630
631631 %
632- % Populate the bitmap
632+ % Populate the bitmap with one copy of each unique row
633633 %
634634 /symwid c 11 mul 57 add def
635635 /symhgt sepheight r 1 add mul r rowheight mul add def
636- symwid symhgt mul { array } stopped {
636+ /numcomprows r 2 mul 1 add def
637+ symwid numcomprows mul { array } stopped {
637638 pop /bwipp.codablockfSymbolTooLarge (The symbol size exceeds the implementation limits) //raiseerror exec
638639 } if /pixs exch def
639640
@@ -645,44 +646,40 @@ begin
645646 1 1 0 0 0 1 1 1 0 1 0 1 1
646647 ] def
647648
648- /pos 0 def
649+ /rowmult numcomprows array def
650+ /pos 0 def /ri 0 def
649651
650652 % Top separator
651- sepheight {
652- pixs pos allone putinterval
653- /pos pos symwid add def
654- } repeat
653+ pixs pos allone putinterval
654+ /pos pos symwid add def
655+ rowmult ri sepheight put /ri ri 1 add def
655656
656657 % Data rows with separators
657658 0 1 r 2 sub {
658659 /i exch def
659- rowheight {
660- pixs pos rowbits i get putinterval
661- /pos pos symwid add def
662- } repeat
663- sepheight {
664- pixs pos seprow putinterval
665- /pos pos symwid add def
666- } repeat
660+ pixs pos rowbits i get putinterval
661+ /pos pos symwid add def
662+ rowmult ri rowheight put /ri ri 1 add def
663+ pixs pos seprow putinterval
664+ /pos pos symwid add def
665+ rowmult ri sepheight put /ri ri 1 add def
667666 } for
668667
669668 % Last data row
670- rowheight {
671- pixs pos rowbits r 1 sub get putinterval
672- /pos pos symwid add def
673- } repeat
669+ pixs pos rowbits r 1 sub get putinterval
670+ /pos pos symwid add def
671+ rowmult ri rowheight put /ri ri 1 add def
674672
675673 % Bottom separator
676- sepheight {
677- pixs pos allone putinterval
678- /pos pos symwid add def
679- } repeat
674+ pixs pos allone putinterval
675+ rowmult ri sepheight put
680676
681677 <<
682678 /ren /renmatrix
683679 /pixs pixs
684680 /pixx symwid
685681 /pixy symhgt
682+ /rowmult rowmult
686683 /height symhgt 72 div
687684 /width symwid 72 div
688685 /physspec physspec
0 commit comments