Это зависит от шрифта. Простейшие шрифты - это просто нумерованный список маленьких картинок, например A .
Вот пример растрового шрифта в Linux :
/* 65 0x41 'A' */
0x38, /* 00111000 */
0x6c, /* 01101100 */
0xc6, /* 11000110 */
0xfe, /* 11111110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0x00, /* 00000000 */
Число 65 просто отображается на 8 других чисел, выраженных здесь в шестнадцатеричном формате. В комментариях полезно показать их в двоичном виде, и если вы щурились, вы можете разглядеть букву «А», нарисованную цифрами 1.
Когда система хочет показать символ номер 65, она смотрит на эту таблицу, а затем рисует каждый 0
-битный черный и каждый 1
-битный белый (или наоборот для черно-белого текста). Это заставляет "A" появляться.
Что мешает вам изменить картинку, чтобы 65 показывался совершенно другим персонажем? Ничего такого! Люди обычно делали это, например, как шведы изменили букву № 123 с показа {
на показ ä
, чтобы они могли писать на своем языке.
Современные шрифты гораздо более продвинуты и содержат штрихи, линии и кривые, а не крошечные картинки, подобные этой, но применяются те же понятия.