Я нахожусь в процессе исследования кодовых страниц и натолкнулся на множество противоречивых терминов, даже среди разных статей в Википедии.Я просто не могу найти источник информации, который объясняет весь процесс обработки персонажа от начала до конца.Может ли кто-нибудь хорошо разбираться в этой области, предложить способы, которыми следующая информация является неточной или неправильной:
Процесс представления символов, насколько я понимаю:
Мы начинаемс наборами символов (не уверен в правильной терминологии здесь, возможно, «сценарии»), которые не связаны с какой-либо конкретной платформой.«Кириллический алфавит» понимается как относящийся к тому же объекту в контексте Windows, что и в Linux, например.
Члены этих наборов выбираются, как правило, группами, поставщикамисформировать набор символов для конкретной платформы.Платформа может назначать эти различные коды, такие как значения GDI в Windows (например, 0 для ANSI_CHARSET и другие коды, упомянутые здесь: http://asa.diac24.net/wiki/index.php?title=ASS:fe&printable=yes). Я не могу найти много информации об этих наборах, например, являются ли они фактически кодированными наборами символовили если они просто неупорядочены и абстрактны.
Из этих наборов разрабатываются отдельные кодовые страницы, которые, по-видимому, имеют однозначное сопоставление со значениями GDI. Поскольку эти значения GDI, по-видимому, представляютнаборы, зависящие от платформы, означает ли это, что кодовые страницы Windows по сути являются кодированной версией каждого отдельного набора?
У меня возникли проблемы при согласовании этой идеи со ссылкой, показанной мне ранее(который я потерял), который показал однозначное соответствие между этими кодировками GDI и кодовыми страницами на разных платформах. Является ли это точным, указывают ли эти значения GDI на наборы, из которых могут быть разработаны различные кодовые страницы на разных платформах?*
Каждая кодовая страница сопоставляетсяЭмбер абстрактного набора символов в целое число для представления его позиции в наборе.В случае «более простых» кодовых страниц, упомянутых на приведенной выше веб-странице, к ним можно обращаться, используя более точный термин «символьная карта».Стоит ли рассматривать этот термин, или это различие слишком тонкое и неважное?
Шрифт разрешает кодовую точку для глифа, если он содержит единицу для этой кодовой точки, в противном случае он сообщает об ошибке.Я также читал, что шрифт может возвращать свой собственный пустой глиф для тех точек кода, которые он не поддерживает.Может ли приложение различать этот пустой глиф и успешное разрешение, т.е.шрифт возвращает код ошибки с этим пустым глифом?
Я полагаю, в этом вся моя путаница.Любые разъяснения в этом отношении были бы неоценимы.Заранее спасибо.