I use ? and ?? to prepare a text file. Things will NOT print directly to the printer, unless you give special commands.
Then, I load the file into memory (FileToStr()), and send it to the printer with ???.
The difference between ? and ?? is that ? will start a new line first.
I didn't have problems with ???, but if you do have problems, there is a download by Ed Rauh, that is supposed to solve those problems. Text gets printed through the Windows API.
Difference in opinions hath cost many millions of lives: for instance, whether flesh be bread, or bread be flesh; whether whistling be a vice or a virtue; whether it be better to kiss a post, or throw it into the fire... (from Gulliver's Travels)