procedure mdraft(text, charset, shafts)
   local seq, code

   code := mcodes(shafts, *charset) | fail 
  
   seq := ""

   every seq ||:= code[upto(!text, charset)]

   return seq

end