\FancyQrHardCut%
\def\fancyqr@flat@rect{\moveto(0,0)\lineto(0,1)\lineto(1,1)\lineto(1,0)\lineto(0,0)\fillpath}
% .
\newpattern0000{\fancyqr@flat@rect}%
% | | - -
\newpattern1000{\fancyqr@flat@rect}%
\newpattern0001{\fancyqr@flat@rect}%
\newpattern0100{\fancyqr@flat@rect}%
\newpattern0010{\fancyqr@flat@rect}%
% corners
\newpattern1100{\fancyqr@flat@rect}%
\newpattern1010{\fancyqr@flat@rect}%
\newpattern0101{\fancyqr@flat@rect}%
\newpattern0011{\fancyqr@flat@rect}%
% straights | --
\newpattern1001{\fancyqr@flat@rect}%
\newpattern0110{\fancyqr@flat@rect}%
% enclosed
\newpattern1111{\fancyqr@flat@rect}%
% t's
\newpattern0111{\fancyqr@flat@rect}%
\newpattern1011{\fancyqr@flat@rect}%
\newpattern1101{\fancyqr@flat@rect}%
\newpattern1110{\fancyqr@flat@rect}%