@@ -766,69 +766,53 @@ begin
766766 /numtext numtext 0 msglen getinterval def
767767 /numbytes numbytes 0 msglen getinterval def
768768
769- /seq [] def /seqlen 0 def /state //micropdf417.b def /p 0 def { % loop
769+ mark
770+ /seqlen 0 def /state //micropdf417.b def /p 0 def { % loop
770771 p msglen eq {exit} if
771772 p 0 eq msg p get dup //micropdf417.m05 eq exch //micropdf417.m06 eq or and {
772- /seq [
773- seq aload pop
774- msg p get //micropdf417.m05 eq { //micropdf417.m05 } { //micropdf417.m06 } ifelse
775- ] def
773+ msg p get //micropdf417.m05 eq { //micropdf417.m05 } { //micropdf417.m06 } ifelse
776774 /p p 1 add def
777775 /seqlen seqlen 1 add def
778776 } {
779777 iseci p get {
780778 /eci msg p get def
781- /seq [
782- seq aload pop
783- [ eci ]
784- ] def
779+ [ eci ]
785780 /p p 1 add def
786781 /seqlen seqlen eci -1810900 le {2} {eci -1000900 le {3} {2} ifelse} ifelse add def
787782 } {
788783 /n numdigits p get def
789784 n 13 ge n msglen eq n 8 ge and or { % 13+ digits or all-numeric and 8+ digits
790- /seq [
791- seq aload pop
792- //micropdf417.nl
793- [ msg p n getinterval aload pop ]
794- ] def
785+ //micropdf417.nl
786+ [ msg p n getinterval aload pop ]
795787 /state //micropdf417.n def
796788 /p p n add def
797789 /seqlen seqlen 1 add n add def
798790 } { % next
799791 /t numtext p get def
800792 t 5 ge {
801- /seq [
802- seq aload pop
803- state //micropdf417.t ne {
804- //micropdf417.tl
805- } if
806- [ msg p t getinterval aload pop ]
807- ] def
793+ state //micropdf417.t ne {
794+ //micropdf417.tl
795+ } if
796+ [ msg p t getinterval aload pop ]
808797 /state //micropdf417.t def
809798 /p p t add def
810799 /seqlen seqlen 1 add t add def % ish
811800 } { % next
812801 /b numbytes p get def
813802 b 1 eq state //micropdf417.t eq and {
814- /seq [
815- seq aload pop
816- //micropdf417.bs
817- [ msg p get ]
818- ] def
803+ //micropdf417.bs
804+ [ msg p get ]
819805 /p p b add def
820806 /seqlen seqlen 2 add def
821807 } { % next
822- /seq [
823- seq aload pop
824- b 6 mod 0 ne {//micropdf417.bl} {//micropdf417.bl6} ifelse
825- [ msg p b getinterval aload pop ]
826- ] def
808+ b 6 mod 0 ne {//micropdf417.bl} {//micropdf417.bl6} ifelse
809+ [ msg p b getinterval aload pop ]
827810 /state //micropdf417.b def
828811 /p p b add def
829812 /seqlen seqlen 1 add b add def
830813 } ifelse } ifelse } ifelse } ifelse } ifelse
831814 } loop
815+ counttomark array astore exch pop /seq exch def
832816
833817 /latchcws <<
834818 //micropdf417.tl 900 //micropdf417.bl 901 //micropdf417.bl6 924 //micropdf417.nl 902 //micropdf417.bs 913 //micropdf417.m05 916 //micropdf417.m06 917
0 commit comments