mid-kid
1 year ago
commit
9d6e35143b
5 changed files with 56 additions and 0 deletions
Binary file not shown.
Binary file not shown.
@ -0,0 +1,3 @@ |
|||||
|
#!/bin/bash |
||||
|
|
||||
|
printf '\x1Dk\x05'$1'\0' > /dev/usb/lp0 |
@ -0,0 +1,32 @@ |
|||||
|
#!/bin/bash |
||||
|
set -e |
||||
|
dev=/dev/usb/lp0 |
||||
|
|
||||
|
image="$(magick "$1" -resize 256x -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_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_x="$(hex_size "$(echo "$data_header" | cut -d' ' -f 1)")" |
||||
|
size_y="$(hex_size "$(echo "$data_header" | cut -d' ' -f 2)")" |
||||
|
|
||||
|
# Upload graphics data |
||||
|
printf '\x1D(L' > $dev |
||||
|
printf "$size" > $dev |
||||
|
printf '\x30\x70\x30' > $dev |
||||
|
printf '\x02\x02' > $dev # bx, by (1 or 2) |
||||
|
printf '\x31' > $dev # color |
||||
|
printf "$size_x" > $dev # size x |
||||
|
printf "$size_y" > $dev # size y |
||||
|
echo "$data" | base64 -d > $dev |
||||
|
|
||||
|
# Print graphics data |
||||
|
printf '\x1D(L\x02\0\x30\x02' > $dev |
||||
|
|
||||
|
# Cut paper |
||||
|
printf '\n\n\x1DVA\0' > $dev |
@ -0,0 +1,21 @@ |
|||||
|
#!/bin/bash |
||||
|
set -e |
||||
|
dev=/dev/usb/lp0 |
||||
|
|
||||
|
text="$1" |
||||
|
size="$(printf '%s' "$text" | wc -c)" |
||||
|
size="$(expr "$size" + 3)" |
||||
|
size="$(printf '%04x' "$size" | sed -e 's/\(..\)\(..\)/\\x\2\\x\1/g')" |
||||
|
|
||||
|
# Store data |
||||
|
printf '\x1D(k' > $dev |
||||
|
printf "$size" > $dev |
||||
|
printf '\x31\x50\x30' > $dev |
||||
|
printf '%s' "$text" > $dev |
||||
|
|
||||
|
# Print data |
||||
|
printf '\x1D(k' > $dev |
||||
|
printf '\x03\0\x31\x51\x30' > $dev |
||||
|
|
||||
|
# Cut paper |
||||
|
printf '\x1DVA\0' > $dev |
Loading…
Reference in new issue