Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
webdesign_kg.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.71 Mб
Скачать

3.9 Кодування шрифту

При натискуванні клавіші, у текстовому редакторі з'являється символ шрифту. Операційна система і шрифтова машина зчитують із файла шрифту потрібний символ. Щоб цей символ відповідав тому, що зображено на клавішах клавіатури, необхідно точно встановлена відповідність кодів клавіатури і гліфів шрифту, тобто таблиця кодування. Історично першою таблицею кодування була таблиця ASCII. Вона містила всього 128 символів, що включала символи англійського алфавіту і псевдографічні символи, що використовувалися програмами, які працюють у текстовому режимі. Таким чином, таблиця ASCII просто ігнорувала користувачів, що працюють з іншими мовами, і незабаром була розширена до так званої таблиці OEM ASCII, що включає 256 символів. До них увійшли символи інших мов. Оскільки 128 символів недостатньо, щоб представити навіть тільки західноєвропейські мови, в операційну систему (DOS) була введена підтримка кодових сторінок. Алфавітові кожної країни відповідала певна кодова сторінка (таблиця 3.2). У конфігураційних файлах системи вказувалася кодова сторінка, що відповідає національній мові. Таким чином, користувач одержував можливість працювати з англійською і будь-якою іншою мовою, вказавши його кодову сторінку.

Версії Windows до 3.11 використовували аналогічну систему вибору кодової сторінки, але таблиця кодування трохи відрізнялась, кодування ANSI. Вона також включала 256 символів, але в ній не було символів псевдографіки, як у таблиці ASCII. З появою графічного інтерфейсу ці символи стали просто не потрібні.

Таблиця 3.2– Таблиця ASCII, кодова сторінка CP-1251

Цей підхід має ряд недоліків. Механізм кодових сторінок дозволяє працювати одночасно тільки з двома мовами: англійською і ще одною на вибір. При цьому не надається можливість роботи з багатомовними документами. Вихід із цієї ситуації був тільки один: для кожної мови було потрібно створювати окремий шрифт. Особливі шрифти приходилося створювати і для "привабливостей" – типу лігатур, "стародавніх" шрифтів тощо. В особливо сумному положенні виявлялися ті, хто працював з ієрогліфічними мовами. Їх "алфавіт" ніяк не можна було помістити в прокрустовому ложі 128 символів. Тому робота з японською, китайською і корейською мовами вимагала спеціальної версії операційної системи й особливих шрифтів, де символи кодувалися двома байтами. На жаль, ця ситуація багато в чому не виправлено і дотепер, хоча вихід давно знайдений. Він полягає в переході на двобайтове подання символів у стандарті Unicode. Стандарт Unicode використовує 16-бітове кодування. У такій таблиці можуть зберігатися коди 65 356 символів. Цього більш ніж досить для відтворення символів усіх національних алфавітів (рисунок 3.15). Unicode-шрифт, таким чином, може мати у своєму складі набагато більше символів, ніж звичайний ASCII-шрифт. Застосування Unicode повністю знімає проблеми адекватного перегляду документів користувачами різних країн, що дуже важливо, наприклад, для Internet. Однакове розташування символів робить незалежними від мови алгоритми сортування, вибірки і т.п., що забезпечує правильну роботу програм з національними алфавітами інших країн.

Операційні системи Windows 9x не підтримують Unicode. У них використовується менш універсальний підхід, National Language Support (NLS). Таблиця кодування WGL-4, реалізована в Windows 9x, містить усього лише 652 символів, у які потрапили алфавіти всіх європейських мов, а також російський, грецький і турецький. Основні шрифти Windows (Arial, Times New Roman і Courier New) були адаптовані відповідно до цього кодування. Операційні системи Windows NT і Windows 2000 повністю підтримують специфікацію Unicode.

Рисунок 3.15 - Розміщення символів національних алфавітів у таблиці Unicode

Перехід на кодування Unicode, безумовно, займе якийсь час. Створення формату ОреnТуре, який у майбутньому має об’єднати шрифти Type 1 та True Type, безсумнівно прискорить цей процес, оскільки основні проблеми з підтримкою національних алфавітів мають саме шрифти Туре 1.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]