#!/bin/sh
# ascii to baudot
# must turn bel into ~ for awk
tr -d '~' | tr '\007[a-z]' '~[A-Z]' | awk '
BEGIN {
baudot["A"] = "| o o . |"
baudot["-"] = "| o o . |"
baudot["B"] = "| o . o o |"
baudot["?"] = "| o . o o |"
baudot["C"] = "| o . o o |"
baudot[":"] = "| o . o o |"
baudot["D"] = "| o . o |"
baudot["$"] = "| o . o |"
baudot["E"] = "| o . |"
baudot["3"] = "| o . |"
baudot["F"] = "| o . o o |"
baudot["!"] = "| o . o o |"
baudot["G"] = "| o . o o |"
baudot["&"] = "| o . o o |"
baudot["H"] = "| . o o |"
baudot["STOP"] = "| . o o |"
baudot["I"] = "| o . o |"
baudot["8"] = "| o . o |"
baudot["J"] = "| o o . o |"
baudot["'\''"] = "| o o . o |"
baudot["K"] = "| o o . o o |"
baudot["("] = "| o o . o o |"
baudot["L"] = "| o . o |"
baudot[")"] = "| o . o |"
baudot["M"] = "| . o o o |"
baudot["."] = "| . o o o |"
baudot["N"] = "| . o o |"
baudot[","] = "| . o o |"
baudot["O"] = "| . o o |"
baudot["9"] = "| . o o |"
baudot["P"] = "| o . o o |"
baudot["0"] = "| o . o o |"
baudot["Q"] = "| o o . o o |"
baudot["1"] = "| o o . o o |"
baudot["R"] = "| o . o |"
baudot["4"] = "| o . o |"
baudot["S"] = "| o . o |"
baudot["BELL"] = "| o . o |"
baudot["T"] = "| . o |"
baudot["5"] = "| . o |"
baudot["U"] = "| o o . o |"
baudot["7"] = "| o o . o |"
baudot["V"] = "| o . o o o |"
baudot[";"] = "| o . o o o |"
baudot["W"] = "| o o . o |"
baudot["2"] = "| o o . o |"
baudot["X"] = "| o . o o o |"
baudot["/"] = "| o . o o o |"
baudot["Y"] = "| o . o o |"
baudot["6"] = "| o . o o |"
baudot["Z"] = "| o . o |"
baudot["\""] = "| o . o |"
baudot[""] = "| . |"
baudot[""] = "| . |"
baudot["\r"] = "| . o |"
baudot["\n"] = "| o . |"
baudot[" "] = "| . o |"
baudot["LTRS"] = "| o o . o o o |"
baudot["FIGS"] = "| o o . o o |"
end = "|-------------|"
figchars = "-?:$3!&8'\''().,901457;2/6\"\r\n "
bell = "~"
figs = 0
print end
}
{
for (i = 1; i <= length($0); i++)
{
c = substr($0, i, 1)
if (c ~ /[A-Z]/)
{
if (figs)
{
print baudot["LTRS"]
figs = 0
}
}
else if (index(figchars, c) > 0 || c == bell)
{
if (c == bell)
c = "BELL";
if (!figs)
{
print baudot["FIGS"]
figs = 1
}
}
else if (c == "\t")
c = " "
else
continue
print baudot[c]
}
print baudot["\n"]
}
END {
print end
}
'
exit
| x x . x x x |
hole == mark == 1
!hole == space == 0
BITS LTRS FIGS HEX
----- ---- ---- ---
00011 A - 03
11001 B ? 19
01110 C : 0E
01001 D $ 09
00001 E 3 01
01101 F ! 0D
11010 G & 1A
10100 H STOP 14
00110 I 8 06
01011 J ' 0B
01111 K ( 0F
10010 L ) 12
11100 M . 1C
01100 N , 0C
11000 O 9 18
10110 P 0 16
10111 Q 1 17
01010 R 4 0A
00101 S BELL 05
10000 T 5 10
00111 U 7 07
11110 V ; 1E
10011 W 2 13
11101 X / 1D
10101 Y 6 15
10001 Z " 11
00000 n/a n/a 00
01000 CR CR 08
00010 LF LF 02
00100 SP SP 04
11111 LTRS LTRS 1F
11011 FIGS FIGS 1B
© 1998,
Boyd Roberts:
boyd@fr.inter.net