Народи Росії - як навчити windows використовувати чуваська алфавіт

Як навчити Windows використовувати чуваська алфавіт

"Чувашізація" комп'ютера складається з установки шрифтів, локалізації та установки драйвера клавіатури. Залежно від того, що встановлено, а що ні, ми спостерігаємо різну ступінь адаптації комп'ютера до чувашскому мови.

Ситуація ускладнюється тим, що різні системи підтримують іноземні мови різними способами.

Щоб краще розуміти проблему, зробимо невеликий екскурс в історію. Поява UNICODE в системі Windows 3.1 і підтримка іноземних мов практично цілком визначалася вибором шрифту.

Шрифт в стандарті ASCII є 8-бітовим і розділений на дві половини. У першій половині містяться символи з кодами від 0 до 127: латинські букви, цифри, розділові знаки, дужки і інші значки, які ви бачите на клавіатурі. Ця частина незмінна для всіх шрифтів і такою залишиться завжди. Для підтримки національних мов використовувалася друга половина, з кодами символів від 128 до 255. Ця частина розрізнялася в шрифтах для різних мов. Одним шрифтом підтримувалися практично всі європейські мови # 150; це західно-європейська кодова сторінка.

Але для підтримки російської мови потрібен був інший шрифт, в якому спеціальні символи європейських мов уже були відсутні, оскільки на їх місці стояли російські (кириличні) літери. Тим самим була створена кирилична кодова сторінка.

Все було б добре і просто, але кілька мов вже не вміщалися в 256 символах і букви не могли бути представлені одним байтом.

Одним шрифтом не можна було одночасно написати, наприклад, російські та французькі слова.

Ситуація змінилася з приходом UNICODE # 150; стандарту уявлення багатомовних шрифтів.

У UNICODE-шрифті міститься не одна, а набагато більше кодових сторінок, так як вона є вже 16-бітної і може вміщати в себе 65535 символів. Для кожної мови відведена своя кодова область (набір символів), і слова на всіх мовах можуть бути набрані одним шрифтом.

На жаль, тут немає чувашских букв. Проспали, засиділися на старті. Але поки що можна застовпити коди для наших букв.

Тепер на подання кожної букви в тексті відводиться 2 байти. Наприклад, російська буква "А" має код 1040, а не 192, як раніше. А під кодами менше 256 залишені символи західно-європейських мов.

Але оскільки ядро ​​системи Windows 95 все ще працювало з однобайтном буквами, виникла необхідність переведення однобайтовим букв в двухбайтное, для правильного уявлення текстів на іноземних мовах.

Так виникло поняття локалізації (locale).

У новій ситуації для кожної букви в тексті треба було ставити її мову. Якщо мова була європейським, то символ 192 відображався як одна з букв європейських мов, а якщо текст був позначений як російська, то відбувалося перетворення (маппінг) букви 192 в символ 1040.

За це перетворення відповідає драйвер NLS (national language support).

Драйвер NLS вказано для кожної мови в реєстрі # 150; НKEY_LOCAL_MACHI-NE \ SYSTEM \ CurrentControlSet \ Control \ Nls \ Codepage. Ви можете відкрити реєстр програмою Regedit і знайти цей ключ. Ви побачите там рядки виду +1251 = cp_1251.nls, 1252 = cp_1252.nls. Числа 1251, 1 252 і т.д. позначають мови 1252 # 150; західно-європейські мови, тисячі двісті п'ятьдесят-одна - кирилицю.

Наприклад, щоб встановити локалізацію російської мови в Windows 95, потрібно при установці системи вказати підтримку російської мови і кирилиці.

Починаючи з Windows 98, всі системи автоматично підтримують багатомовність і всі NLS-драйвера встановлюються автоматично.

Ви вже здогадуєтеся що станеться, якщо буде обрана в якості підтримки локалізації НЕ кирилиця. Символ 192 не зможе перетворитися в російську літеру "А" з кодом 1040, а залишиться символом алфавіту якогось європейського мови. Типу букви "А" з рискою або ще який-небудь кракозябри. Ця картина знайома всім, хто відкривав російський текст в нерусифікованою системі # 150; суцільні букви з "Умлаут" і рисками.

Іноді, втім, замість тексту з'являються порожні квадратики або вертикальні рисочки.

Це вже зовсім інша проблема.

В даному випадку локалізація налаштована правильно, але використовуваний шрифт або не містить потрібної кодової сторінки, або не підтримує UNICODE взагалі.

NLS-драйвер перетворює символ 192 в символ 1040, де повинна лежати російська буква "А", а там # 150; порожньо. Ось він і малює порожній квадратик або вертикальну риску.

Тому проблема правильного відображення чувашских текстів повинна вирішуватися на двох рівнях.

Потрібно мати 1) шрифти з підтримкою UNICODE і 2) правильно налаштовану локалізацію. Або доведеться перейти на латиницю.

Самий допитливий читач може заперечити # 150; я, мовляв, у себе в Windows 95 просто встановлював чуваська шрифт, і він працював.

Таке, дійсно, можливо.

Але все це справа знаходиться на кириличній клавіатурі, і 5 чувашских шрифтів # 150; це курям на сміх. Притому вони взагалі не відповідають таблиці стандартних кодувань, яка так необхідна. Адже кожен символ повинен мати своє певне місце.

Ці шрифти були не в стандарті UNICODE, і в другій половині кодової таблиці (символи 128-255) деякі символи були замінені чуваськими буквами.

Мови про NLS-драйвер не йде. У Windows NT підтримка UNICODE здійснюється на рівні ядра системи, і такий фокус не проходить. Всі рядки в Windows NT представлені двох-байтними буквами, і російська буква "А" спочатку має код 1040 і буде правильно показуватися тільки при наявності UNICODE-шрифту.

Ви запитаєте, а навіщо тоді взагалі потрібен NLS-драйвер в Windows NT для чувашских шрифтів? Адже всі букви спочатку представлені двухбайтное кодами і ніяких перетворень не потрібно.

А як бути з клавіатурою?

Адже коли ми набираємо текст, клавіатура видає ті ж самі символи з другої половини кодової таблиці, де в UNICODE-шрифті знаходяться символи європейських мов! А значить, нам знову потрібен NLS-драйвер, щоб перетворювати символи в чуваські літери, як для росіян з кодами 1040. 1072. А щоб система знала NLS-драйвер якої мови використовувати, потрібно встановити в систему відповідну розкладку клавіатури.

Для введення чуваського тексту нам знадобиться (сюрприз! Сюрприз !!) Чуваська розкладка клавіатури, що встановлюється в діалозі Control Panel -> Keyboard -> Input Locales.

У розмові про шрифтах ми упустили один важливий момент.

В системі Windows є два види шрифтів. Один # 150; масштабовані (TTF), інші (FON) # 150; системні шрифти, які використовуються в елементах інтерфейсів програм (меню, діалоги і т.д.).

Тому якщо ви використовуєте програми з чувашским (ех! Як я загнув! Мріяти не шкідливо) інтерфейсом, вам необхідні чуваські системні шрифти. Наприклад, в Windows 95-98 російські системні шрифти встановлюються, якщо при інсталяції вказати, що основна мова буде російська.

Загалом, ідея зрозуміла: потрібно зробити чуваська основною мовою системи.

Отже, щоб система підтримувала чуваська мова повністю, потрібно мати:

1. чуваські системні шрифти;

2. TTF шрифти з підтримкою UNICODE;

3. налаштовані NLS-драйвера;

4. чувашскую розкладку клавіатури.

Ще для повного щастя не вистачає, щоб фірма Mайкрософт додала в Юнікод таблицю чуваські букви і в список підтримуваних мов чуваська мова.

Але це нездійсненна мрія.

Довелося пожертвувати деякими буквами з кириличної кодової сторінки, які не використовуються в наших краях (може бути, навіть в Росії). Лабораторія Jahat зараз розробила чувашскую локалізацію комп'ютерних програм, чувашскую клавіатуру і модернізувала чуваські шрифти. Зараз їх близько 40. Можливості цієї програми широкі. Наприклад, користувачі програми можуть надсилати один одному електронні листи на чуваській мові. Раніше такої можливості не було. Чуваші, що живуть на території Татарстану, вже користуються цією програмою. Серед них - співробітники 5 чувашских газет, і близько півсотні чувашских шкіл.

Об'єм виконаної роботи ви можете уявити по вище викладеного матеріалу.