Як кодування символів пов'язані з шрифтами?


11

Я маю на увазі, чи повинен шрифт підтримувати кодування кожного символу? Або кодування символів має підтримувати кожен шрифт?

Що означають шрифти Unicode? це шрифти, які підтримують лише Unicode, і вони не підтримують, скажімо, windows-1252?


Відповіді:


8

Почнемо з основ, все базується на US-ASCII, це 7-бітний код із 128 кодовими точками у наборі, пронумеровані шістнадцятковою 00 до 7F або десятковою 0-127. Це відображено для керування кодами, англійськими буквено-цифровими та основними знаками пунктуації

Додавання до цього 1 біта для 8-бітового коду (байта) дає нам ще 128 кодових точок або Extended ASCII.

Набори символів / кодові сторінки потрібні були на початку, щоб змінити, як кодові точки у верхньому 128 біті відображаються на символи, щоб охопити алфавіт для тієї мови, яку ви хотіли представляти. Це досить добре працює для більшості західноєвропейських мов. ISO 8859-1 / Latin-1 - приклад такого набору символів. Інша - Windows-1252, яка має зміни від ISO 8859-1, щоб допомогти їй охопити більше чи різних символів.

Мови зі складнішими наборами символів, такі як китайська, японська та корейська, перевищують можливості набору кодових точок 256 та використовують двобайтовий код для їх представлення.

Unicode UTF-8 - це багатобайтова схема кодування символів (1-4 байти) з зворотною сумісністю до ISO 8859-1 / Latin-1, що є її першими 128 символами. У ньому є місце для понад 1 мільйона точок коду, що означає, що кожна кодова точка може фактично представляти символ, на відміну від зйомки, що робиться з розширеним ASCII, що означає, що точка коду відображається на інший символ, залежно від набору символів / кодової сторінки / кодування.

Шрифти - це гліфи, які відображаються в кодових точках і візуально представляють символи. Вміст шрифту залежить від того, якими мовами він спочатку мав охоплювати. Ви можете скористатися картою символів, щоб побачити, які гліфи містяться в шрифті.

Шрифти Unicode не обов'язково охоплюють усі точки коду, вам потрібно побачити, де вони призначені для використання. Наприклад, у Windows 7 запустіть « Карту символів» і перегляньте персонажів Калібри, а потім порівняйте їх з Ебрімою, Мейріо та Рааві. Зауважте, що вони сильно відрізняються, оскільки кожен з них пристосований до іншого географічного регіону.

Що стосується шрифтів Unicode та набору символів Windows-1252, Windows використовує таблицю зіставлення для перекладу Windows-1252 в Unicode, де вона не відповідає ISO 8859-1, для сценарію "Best Fit", де деякі символи символу Windows-1252 Набір може не відображатися.


5

Набір символів

Набір символів - це сукупність символів, кожному з яких присвоюється число.

Добре відомий набір символів - ASCII. Це набір 128 символів, пронумерованих від 0 до 127. Усі ці числа можуть бути виражені в 7 бітах (тому це 7-бітний набір символів)

Більшість, але не всі інші набори символів включають набір ASCII з однаковою нумерацією. Приклади наборів символів, які не схожі на ASCII, включають EBCDIC. Також на ASCII були європейські варіанти, які мали різні символи в певних положеннях (наприклад, включити £)

Кодування

Для великих наборів символів, таких як Unicode, що містить більше мільйона символів, потрібно три-чотири байти на символ, щоб вмістити великий діапазон чисел, які були призначені символам. Натомість вони використовують систему, яка дозволяє «кодувати» це число у вигляді одного, двох, трьох або більше байтів. За схемою кодування UTF-8 символи, які є такими ж, як символи ASCII, бувають кодовані по одному байту з тим самим значенням байта, що і в ASCII.

Вищезазначені кодування використовуються при зберіганні тексту у файлах.

Шрифти

Typeface - це специфічна конструкція візуального зображення (тобто форми) для набору символів. Форми називають гліфами. У шрифті може бути кілька гліфів для одного символу (розгляньте "а"). У ньому можуть бути гліфи для парних символів, званих лігатурами (наприклад, "ff" або "fi"). У шрифтовому наборі набір символів, для якого був розроблений гліф, тому часто відрізняється від набору символів у відомих наборах символів (шрифти, як правило, не містять гліфів для керуючих символів ASCII).

Шрифти

У контексті комп'ютерів шрифт означає файл, що містить гліфи, упорядковані за деякою схемою нумерації (яка часто не є такою ж, як нумерація у будь-якому відомому наборі символів). Історично існували шрифти з бітовим відображенням, які представляли певний розмір (у пікселях чи точках) шрифту. В даний час більшість шрифтів використовують математичні криві для опису гліфів, і тому їх можна масштабувати, щоб представити будь-який розмір шрифту.

Збираючи все це разом

Під час відображення текстового файлу комп’ютеру слід повідомити (або здогадатися) про кодування, яке використовується у файлі. Потім він буде використовувати іншу нумерацію (наприклад, 16-розрядний варіант Unicode) для представлення тексту в пам'яті, потім використовуватиме інформацію у файлі шрифту для відображення внутрішнього представлення на нумерацію (кодування), що використовується у файлі шрифту.


3

Чи повинен шрифт підтримувати кодування кожного символу?

Ні. Я не знаю, чи є навіть насправді.
Це означало б, що вони мали б кожен уявний персонаж «в них». Найпоширеніші шрифти, які ми використовуємо для підтримки кодування західних культур (латинська).

Або кодування символів має підтримувати кожен шрифт?

Кодування символів певним чином не "підтримує" нічого, тому це дійсно неправильний погляд на це.

Що означають шрифти Unicode? Це шрифти, які підтримують лише Unicode, і вони не підтримують, скажімо, windows-1252?

Unicode - це стандарт (або принаймні намагається бути ним), який підтримує велику кількість символів, тому робить багато кодувань підмножиною себе. Windows 1252 або CP1252 - це кодування, яке містить латинські символи плюс деякі центральні європейські символи. Більшість із них також "охоплені" унікодом. Практично всі шрифти Unicode також охоплюють CP1252.


1
Unicode однозначно - це стандарт, пронумерований ISO 10646.
MSalters
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.