|
|
Компьютеры - Юникод - Проблемы Юникода23 января 2011
Оглавление: 1. Юникод 2. Предпосылки создания и развитие Юникода 3. Версии Юникода 4. Система кодирования 5. Формы нормализации 6. Двунаправленное письмо 7. Представленные символы 8. ISO/IEC 10646 9. Способы представления 10. Методы ввода 11. Проблемы Юникода 12. «Юникод» или «Уникод»?
В Юникоде английское «a» и польское «a» один и тот же символ. Точно так же одним символом считаются русское «а» и сербское «а». Такой принцип кодирования не универсален; по-видимому, решения «на все случаи жизни» вообще не может существовать.
- Тексты на китайском, корейском и японском языке имеют традиционное написание сверху вниз, начиная с правого верхнего угла. Переключение горизонтального и вертикального написания для этих языков не предусмотрено в Юникоде это должно осуществляться средствами языков разметки или внутренними механизмами текстовых процессоров.
- Юникод предусматривает возможность разных начертаний одного и того же символа в зависимости от языка. Так, китайские иероглифы могут иметь разные начертания в китайском, японском и корейском, но при этом в Юникоде обозначаться одним и тем же символом, хотя упрощённые и полные иероглифы всё же имеют разные коды. Часто возникают накладки, когда, например, японский текст выглядит «по-китайски». Аналогично, русский и сербский языки используют разное начертание курсивных букв п и т. Поэтому нужно следить, чтобы текст всегда был правильно помечен как относящийся к тому или другому языку.
- Перевод из строчных букв в заглавные тоже зависит от языка. Например: в турецком существуют буквы İi и Iı таким образом, турецкие правила изменения регистра конфликтуют с английскими, которые предписывают «i» переводить в «I». Подобные проблемы есть и в других языках например, в канадском диалекте французского языка регистр переводится немного не так, как во Франции.
- Даже с арабскими цифрами есть определённые типографские тонкости: цифры бывают «прописными» и «строчными», пропорциональными и моноширинными для Юникода разницы между ними нет. Подобные нюансы остаются за программным обеспечением.
Некоторые недостатки связаны не с самим Юникодом, а с возможностями обработчиков текста.
- Файлы с текстом в Юникоде занимают больше места в памяти, так как один символ кодируется не одним байтом, как в различных национальных кодировках, а последовательностью байтов. Файл шрифта, необходимый для отображения всех символов таблицы Юникод, занимает сравнительно много места в памяти и требует больших вычислительных ресурсов. С увеличением мощности компьютерных систем и удешевлением памяти и дискового пространства эта проблема становится всё менее существенной; тем не менее, она остаётся и в ближайшем будущем останется актуальной для портативных устройств, например, для мобильного телефона.
- Хотя поддержка Юникода реализована в наиболее распространённых операционных системах, до сих пор не всё прикладное программное обеспечение поддерживает корректную работу с ним. В частности, не всегда обрабатываются метки BOM и плохо поддерживаются диакритические символы. Проблема является временной и есть следствие сравнительной новизны стандартов Юникода.
- Производительность некоторых программ снижается при использовании Юникода вместо однобайтовых кодировок.
- Философия UNIX неявно подразумевает, что минимальная единица ввода-вывода байт совпадает с одним символом текста. Поэтому UNIX-подобные ОС перешли на Unicode относительно поздно и то в виде UTF-8.
Первоначальная версия Юникода предполагала наличие большого количества готовых символов, в последующем было отдано предпочтение сочетанию букв с диакритическими модифицирующими знаками. Например, русские буквы Ё и Й существуют в виде монолитных символов, хотя могут быть представлены и набором базового символа с последующим диакритическим знаком, то есть в составной форме: Е+ ̈, И+ ̆. В то же время множество символов из языков с алфавитами на основе кириллицы не имеют монолитных форм.
Наконец, некоторые редкие системы письма всё ещё не представлены должным образом в Юникоде. Изображение «длинных» надстрочных символов, простирающихся над несколькими буквами, как, например, в церковнославянском языке, пока не реализовано.
Просмотров: 14522
|