| .ds Bf b \" default format; use i for icons and faces |
| .ds Bn /tmp/btroff\n($$ \" temporary file, reused on each macro call |
| .ds Bp /usr/lib/btroff \" bitmap filter |
| .de BM |
| .if \\n(.$=1 .ds Bf \\$1 |
| .if \\n(.$=2 \{. \" copy request, perhaps diverted |
| .ie '\\n(.z'' .Bm \\$1 \\$2 |
| .el \!.BM \\$1 \\$2\} |
| .if \\n(.$=4 \{. \" size request, numerator only |
| .nr Bz \\$2 |
| .sy \\*(Bp -s -\\*(Bf -d\\n(Bz \\$1 | awk '{\ |
| print ".nr \\$3 " $1; \ |
| print ".nr \\$4 " $2; \ |
| exit }' >\\*(Bn |
| .so \\*(Bn |
| .sy /bin/rm -f \\*(Bn \} |
| .if \\n(.$=5 \{. \" size request, numerator and denominator |
| .nr Bz \\$2 |
| .sy \\*(Bp -s -\\*(Bf -d\\n(Bz \\$1 | awk '{\ |
| print ".nr \\$4 " $1 "/\\$3"; \ |
| print ".nr \\$5 " $2 "/\\$3"; \ |
| exit }' >\\*(Bn |
| .so \\*(Bn |
| .sy /bin/rm -f \\*(Bn \} |
| .. |
| .de Bm \" copy request, for real |
| .if \\n(.P>0 \{. \" maybe |
| .fl |
| .ie '\\$2'0' \{. \" ask driver to read the bits |
| .br |
| \\X'Bitmap \\$1' |
| .sp -1 \} |
| .el \{. \" use the Bitmap font |
| .sy \\*(Bp -\\*(Bf -d\\$2 \\$1 >\\*(Bn |
| .fp 9 BM Bitmap |
| .ft 9 |
| .ps \\$2 |
| .cf \\*(Bn \" next line is for pm to consume |
| \!n0 1 |
| .ft |
| .ps |
| .sy /bin/rm -f \\*(Bn \} |
| .fl \} |
| .. |