[Comm] UTF-8 а Master 2.2 [JT]
Mikhail Zabaluev
=?iso-8859-1?q?mhz_=CE=C1_altlinux=2Eorg?=
Пт Мар 28 02:14:11 MSK 2003
Hello Anton,
On Thu, Mar 06, 2003 at 06:20:44PM +0300, Anton Kovalenko wrote:
>
> >> 2. поддержка bash (readline), textutils, fileutils с
> >> точки зрения UTF8
>
> > Поддержка UTF-8 базовыми утилитами Unix -- большая
> > проблема, так как требует их серьезного концептуального
> > пересмотра и тщательного аудита. Мое _личное_ мнение --
> > сквозной переход Unix на UTF-8 locales практически
> > невозможен, так как приведет к большим проблемам с
> > security.
>
> Это очень странно слышать. Сквозной переход на UTF-8 locales --
> попросту бессмысленен. А вот корректная поддержка multibyte
> characters, _частным случаем_ которой является UTF-8 -- уже
> становится традицией.
>
> Что же касается security, -- в системе, где имена файлов case
> sensitive, да ещё с такой приличной кодировкой, как UTF-8 (где
> невозможен \000 в середине строки, где любой встретившийся
> символ из диапазона ascii всегда означает самого себя, где
> никакой ascii-символ не имеет альтернативного представления) --
> непонятно, откуда возьмутся проблемы.
>
> > Ввод/вывод UTF-8 поддерживается в KDE, Gnome2, OOo,
> > Mozilla, большинстве программ с GUI.
>
> Это они зря. Ломают устоявшиеся и _вполне работающие_
> классические иксовые решения для i18n, только для того, чтобы
> работать с символами "вне локального charset". Впрочем, некоторым из них
> простительно -- портабельность под Windows требует жертв.
> Вот и Tk можно за это простить.
>
> >> 3. поддержка UTF-8 в ncurses
> >>
> > Нет
>
> Это при том, что upstream всё давно оттестировано и работает.
>
> > Что касается перехода к единой (и единственной) кодировке
> > всей системы,
>
> А эту реплику, товарищи, мы с негодованием отметаем. От неё за
> версту разит .... экзистенциоа... ао... нализьмом и неверием,
> товарищи, в прогрессивную мощь человечества. В общем, не на тот
> идеал смотрите.
>
> Единая кодировка для обмена информацией между иксовыми
> приложениями - COMPOUND_TEXT.
Ну да, ужас пострашнее MIME, придуманный, наверное, в минуту
отчаяния от заскорузлости стандарта X.
> Единая кодировка для удобного
> хранения строк _внутри одного_ приложения - wchars (кстати,
> постулировать, что "на самом деле wchars -- это unicode",
> нельзя).
Насчёт неидентичности wchar_t и Unicode -- верно подмечено.
И многие среды разработки (не включающие в настоящий момент
GNU) даже с Unicode попали в ловушку 16-битных символов.
Всё это ставит под сомнение портируемость кода с wchar_t,
ведь даже принцип "один wchar -- один символ" не соблюдается.
Более того, наличие в Unicode комбинирующих символов
делает понятия "символ как номер в машинном представлении"
и "символ как единица текста" неэквивалентными, заставляя
прибегать к сложным схемам канонизации.
Насчёт удобства хранения не всё так однозначно:
строки из правильных (32-битных) wchar_t сжирают уж
слишком много места при преимущественном пользовании
ASCII.
> А для utf-8 роль Единой и Единственной вовсе не подходит. Она
> просто частный случай в зоопарке многобайтовых кодировок. Причём
> один из самых простых частных случаев.
Замечательные свойства, подмеченные Вами, делают UTF-8
лучшим из возможных кандидатов на универсальную кодировку.
--
Stay tuned,
MhZ JID: mhz на altlinux.org
___________
I'm still waiting for the advent of the computer science groupie.
Подробная информация о списке рассылки community