The very earliest computers used teletypes and chain printers, so the shape of each letter was engraved in a metal shape that was physically pushed against a carbon ribbon and onto a piece of paper. The computer didn't need to know the shape.
In the 1970s, "glass" teletypes/Visual Display Units (VDUs) became common. These replaced the noisy and slow paper teletypes by a faster equivalent, that displayed characters on a small CRT. The actual character shapes were built into the device so again the computer didn't need to know it. Within the device, there was a Read Only Memory (ROM) which stored each letter shape in a matrix of say 8x8 bits - that is 8 bytes to store the shape of each character. Each byte represented one row of pixels, with a 1 bit being ON and 0 bit being OFF. When the device displayed a character, it referred to the correct place in the ROM and read out which bits to turn on and off. This was the beginning of bit-mapped fonts.
As technology advanced, people wanted more control over what they saw on the screen, and for businesses, what they printed out. This led to the development of "font" files. Initially, these were extensions of the simple bitmapped fonts used in the VDU. Each character might be stored as a matrix of bits, sometimes as large as 300 bits x 300 bits for 1" high (72 point) characters - and that's for just ONE character. You'd need different font files for each point size you were going to use, plus separate files for the display and printer. Obviously, this ate up storage and there was a lot of effort to produce font files that contained all the detail of the characters, but in a much smaller space and that could be easily expanded or contracted from 8 point to 80 point. Several viable formats were produced, such as Adobe's PostScript font format and True Type, produced by Apple and Microsoft in collaboration.
A True Type font file contains a description of each character using a number mathematical equations, plus a further series of "hints" to deal with special situations. However, no matter how it's stored, it is eventually converted into a block of pixels that are set to an appropriate colour to display the character against a background.