Другие языки программирования и технологии
Изображение символов компьютера
Здравствуйте! Я начинающий программист. И в будущем собираюсь создать свою ОС. И недавно я задался вопросом: "А как создали визуальное изображение символов в компьютере, когда он сам различает только по коду?" И тут я додумался. Коды символов - это всего лишь адрес, название той ячейки, где храниться тело символа. А там внутри этой ячейке хранится команды, которые заставляют компьютер закрашивать пиксели так, как выглядит сам символ. И тут я подумал. Для нас это всего лишь один символ, а для компьютера это целый набор команд. И вот хочу спросить. Верно ли я додумался?)
Закрашивать пиксели - это растровый шрифт. Растровые шрифты были популярны много лет назад. Сейчас же практически все шрифты векторные - хранятся не команды, закрашивающие пиксели, а команды, рисующие линии (прежде всего, прямые линии и кривые Безье): это позволяет как угодно менять размер шрифта.
Понятно, что модуль, выполняющий эти команды, в результате закрашивает пиксели, но какие именно пиксели будут закрашены, сам шрифт не знает.
Понятно, что модуль, выполняющий эти команды, в результате закрашивает пиксели, но какие именно пиксели будут закрашены, сам шрифт не знает.
Да. Ну, почти.
Это называется "шрифт".
Это называется "шрифт".
Близко, но совсем так.
Сейчас (в эпоху юникода) символ текста - это именно номер конкретного символа. Сначала программа по номеру этого символа находит номер его графического отражения (глифа). Так символы а-русское и a-латинское - это разные символы. Но в большинстве шрифтов это один и тот же глиф.
Глиф представляет из себя векторную картинку, изображающую букву. Специальная программа на основании этой векторной картинки уже "закрашивает пикселы"
Как выше написал Андрей существуют растровые шрифты, в которых глифы хранятся в виде точечных картинок. Кроме того, много-много лет назад, когда букв в шрифтах было мало, каждому символу сопоставляли своё изображение (т. е. не было операции поиска глифа)
Важно понимать, что изображение буквы - это всегда данные а не программы. Т. е. никто не писал программу отражения конкретной буквы. Программа рисующая текст на экране содержит программу, способную "закрасить пикселы" в виде любой буквы на основании данных шрифта.
Сейчас (в эпоху юникода) символ текста - это именно номер конкретного символа. Сначала программа по номеру этого символа находит номер его графического отражения (глифа). Так символы а-русское и a-латинское - это разные символы. Но в большинстве шрифтов это один и тот же глиф.
Глиф представляет из себя векторную картинку, изображающую букву. Специальная программа на основании этой векторной картинки уже "закрашивает пикселы"
Как выше написал Андрей существуют растровые шрифты, в которых глифы хранятся в виде точечных картинок. Кроме того, много-много лет назад, когда букв в шрифтах было мало, каждому символу сопоставляли своё изображение (т. е. не было операции поиска глифа)
Важно понимать, что изображение буквы - это всегда данные а не программы. Т. е. никто не писал программу отражения конкретной буквы. Программа рисующая текст на экране содержит программу, способную "закрасить пикселы" в виде любой буквы на основании данных шрифта.
почти, но ты полез слишком глубоко щас уже на таком уровне пишут только под совсем новые архитектуры процессоров, и пишут уже как правило ассемблеры на таком уровне
Похожие вопросы
- Добрый день. У меня проблема с изображением на экране компьютера.
- Знатокам Фотошопа: не ухудшится ли качество изображения, если нарисовать его в Фотошопе вручную?
- Символ "Забоя"
- Visual Basic. Как в переменной удалить определенные символы?
- Смешивание изображений в фотошопе
- Изображение с прозрачным фоном и заливка фигуры
- При изменении разрешения изображения, объём файла остаётся прежним, т. е. не изменяется (без интерполяции)?
- Как векторное изображение сохранить без потерь в качестве?
- FASM. Замена символов в строке, используя подпрограммы.
- Условие при котором отбираются слова 5 или более символов. Язык Си.