A glyph consists of series of vector shapes (if you look at the FontForge logo, you can get an idea) and a little information (such as size and spacing).
A font consists of series of glyphs and information about their relationships (kerning, ligatures). The symbols are addressed by their code-points (#
is U+0023, for example).
A font renderer (including ones in your browser and Microsoft Word) displays sequences of code-points. It does not know (or care) about what’s in the font beyond some specifics (such as which symbols are spaces or punctuation for line breaks).
Therefore you could make a font that replaces glyphs with unrelated ones (like Webdings did) and the user would be able to view a document written for that font if they have it installed.
For viewing without installation, browsers have web font support.