% with pict2e and polar coordinate translation \def\@fancy@qr@blobb{% \@tempcnta=\z@ \roundjoin \roundcap \moveto(.5,.5) \loop \advance\@tempcnta by 30 \edef\rad{\fpeval{.1*\qr@modulesize+.13*\qr@modulesize*abs(rand())}}% fixed rand for both \lineto(\fpeval{cos(\@tempcnta)*\rad+.5},\fpeval{sin(\@tempcnta)*\rad+.5}) \ifnum\@tempcnta<360\relax \repeat \fillpath }% % . \newpattern0000{\@fancy@qr@blobb}% % | | - - \newpattern1000{\@fancy@qr@blobb}% \newpattern0001{\@fancy@qr@blobb}% \newpattern0100{\@fancy@qr@blobb}% \newpattern0010{\@fancy@qr@blobb}% % corners \newpattern1100{\@fancy@qr@blobb}% \newpattern1010{\@fancy@qr@blobb}% \newpattern0101{\@fancy@qr@blobb}% \newpattern0011{\@fancy@qr@blobb}% % straights | -- \newpattern1001{\@fancy@qr@blobb}% \newpattern0110{\@fancy@qr@blobb}% % enclosed \newpattern1111{\@fancy@qr@blobb}% % t's \newpattern0111{\@fancy@qr@blobb}% \newpattern1011{\@fancy@qr@blobb}% \newpattern1101{\@fancy@qr@blobb}% \newpattern1110{\@fancy@qr@blobb}%