|
|
@ -2,23 +2,26 @@ |
|
|
|
set -e |
|
|
|
dev=/dev/usb/lp0 |
|
|
|
|
|
|
|
image="$(magick "$1" -resize 512x -dither FloydSteinberg -remap pattern:gray50 pbm:- | base64)" |
|
|
|
image="$(magick "$1"'[0]' -resize 512x1662\> -dither FloydSteinberg -remap pattern:gray50 pbm:- | base64)" |
|
|
|
data_header="$(echo "$image" | base64 -d | sed -n '2p')" |
|
|
|
data="$(echo "$image" | base64 -d | tail -n +3 | base64)" |
|
|
|
|
|
|
|
hex_size32() { |
|
|
|
printf '%08x' "$1" | sed -e 's/\(..\)\(..\)\(..\)\(..\)/\\x\4\\x\3\\x\2\\x\1/g' |
|
|
|
} |
|
|
|
hex_size() { |
|
|
|
printf '%04x' "$1" | sed -e 's/\(..\)\(..\)/\\x\2\\x\1/g' |
|
|
|
} |
|
|
|
|
|
|
|
size="$(echo "$data" | base64 -d | wc -c)" |
|
|
|
size="$(hex_size "$(("$size" + 10))")" |
|
|
|
size="$(hex_size32 "$(("$size" + 10))")" |
|
|
|
size_x="$(hex_size "$(echo "$data_header" | cut -d' ' -f 1)")" |
|
|
|
size_y="$(hex_size "$(echo "$data_header" | cut -d' ' -f 2)")" |
|
|
|
|
|
|
|
./init_printer.sh |
|
|
|
|
|
|
|
# Upload graphics data |
|
|
|
printf '\x1D(L' > $dev |
|
|
|
printf '\x1D8L' > $dev |
|
|
|
printf "$size" > $dev |
|
|
|
printf '0p0' > $dev |
|
|
|
printf '\1\1' > $dev # bx, by (1 or 2) |
|
|
@ -28,7 +31,7 @@ printf "$size_y" > $dev # size y |
|
|
|
echo "$data" | base64 -d > $dev |
|
|
|
|
|
|
|
# Print graphics data |
|
|
|
printf '\x1D(L\2\0' > $dev |
|
|
|
printf '\x1D8L\2\0\0\0' > $dev |
|
|
|
printf '02' > $dev |
|
|
|
|
|
|
|
./cut_paper.sh |
|
|
|