Are you sure everyone uses a font that includes punctuation
Of course not:
E.g. the dingbat family, like wingdings 1/2/3, music fonts and the like.
You are right! Not every font includes punctuation.
But that is only a subsection of the Unicode repertoire, and you've still got basic punctuation in the base page (i.e. the ASCII characters).
If we were talking about a single-byte character set codepage and a UI which could only display one codepage at a time then things might have been different.
Having said which: the various 5-bit teleprinter codes of which I'm aware (see e.g. table at bottom of
http://www.quadibloc.com/crypto/tele03.htm) by and large had a reasonable punctuation repertoire. The various 6-bit dataprocessing codes of which I'm aware (see e.g.
https://en.wikipedia.org/wiki/Six-bit_character_code and
https://en.wikipedia.org/wiki/BCD_(character_encoding)) had variable degrees of support, but I'm not aware of any of these being used for terminal interaction: even Burroughs adopted ASCII in the early 60s for that purpose.
Both EBCDIC and (7-bit) ASCII have, of course, the combination of punctuations characters we expect. An early version of ASCII had a couple of variant codepoints, in particular _ was a left arrow. I'm aware of a small number of "unofficial" variants, e.g. IBM's VM/CMS operating system considered ^ to be a cent character.
When used as a standalone typewriter, the Selectric had interchangeable golfballs some of which had mathematical symbols rather than standard characters. It's hardly fair to consider those to represent computer character sets, and in any case the typist would have had a case of different golfballs so the situation is much closer to that of modern Unicode.
Finally, I'm aware of rotating-drum or train printers which for reasons of throughput only supported a limited character set so that they could print e.g. bank statements as fast as possible (i.e. greater than the standard 600 lines-per-minute). But that's not to say that the computer to which they were attached was similarly constrained.
So, I'd bet on basic punctuation marks being more predictably available than emojim any day :-)
MarkMLl