#!/bin/rc # ascii to baudot # from boyd roberts' sh version, /n/sources/contrib/boyd/sys/src/cmd/a2b.html # 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 } '