Conjunto de caracteres
Um conjunto de caracteres é uma coleção de caracteres, para cada um dos quais um número é atribuído.
Um conjunto de caracteres conhecido é ASCII. Este é um conjunto de 128 caracteres numerados de 0 a 127. Esses números podem ser expressos em 7 bits (portanto, é um conjunto de caracteres de 7 bits)
A maioria, mas não todos os outros conjuntos de caracteres, inclui o conjunto ASCII com a mesma numeração. Exemplos de conjuntos de caracteres que não são semelhantes ao ASCII incluem EBCDIC. Havia também variantes européias no ASCII que tinham caracteres diferentes em determinadas posições (por exemplo, para incluir £)
Codificações
Conjuntos de caracteres grandes, como Unicode, com mais de um milhão de caracteres, exigiriam três ou quatro bytes por caractere para acomodar o grande intervalo de números que foram atribuídos aos caracteres. Em vez disso, eles usam um sistema que permite que esse número seja "codificado" como um, dois, três ou mais bytes. Com o esquema de codificação UTF-8, os caracteres que são iguais aos caracteres ASCII são codificados com bytes únicos com o mesmo valor de byte que no ASCII.
As codificações acima são usadas ao armazenar texto em arquivos.
Tipos de letra
Um tipo de letra é um design específico da representação visual (isto é, forma) para um conjunto de caracteres. As formas são chamadas de glifos. Um tipo de letra pode ter vários glifos para um caractere (considere "a"). Pode haver glifos para pares de caracteres chamados ligaduras (por exemplo, "ff" ou "fi"). Em um tipo de letra, o conjunto de caracteres, para o qual um glifo foi projetado, geralmente difere do conjunto de caracteres em conjuntos de caracteres conhecidos (os tipos de caracteres geralmente não incluem glifos para caracteres de controle ASCII).
Fontes
No contexto dos computadores, uma fonte significa um arquivo que contém glifos ordenados de acordo com algum esquema de numeração (que geralmente não é o mesmo que a numeração em qualquer conjunto de caracteres conhecido). Historicamente, havia fontes de mapeamento de bits que representavam um tamanho específico (em pixels ou pontos) de um tipo de letra. Atualmente, a maioria das fontes usa curvas matemáticas para descrever glifos e, portanto, pode ser dimensionada para representar qualquer tamanho de tipo de letra.
Juntando tudo
Quando você exibe um arquivo de texto, o computador precisa informar (ou adivinhar) a codificação usada no arquivo. Ele usará uma numeração diferente (por exemplo, uma variante de Unicode de 16 bits) para representar o texto na memória e, em seguida, usará as informações em um arquivo de fonte para mapear a representação interna para a numeração (codificação) usada no arquivo de fonte.