[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Как правильно сделать поддержку юникода в программе



On 2008.12.30 at 21:33:09 +0300, Alexey Pechnikov wrote:

> Hello!
> 
> Хорошо известный кроссплатформенный способ добавить в программу поддержку юникода - использовать 
> библиотеку libicu. С ней все работает, но... весит это счастье более 10 мегабайт. В то же время 
> тикль, питон и проч. интерпретаторы имеют поддержку юникода, не используют эту либу и весят 
> значительно меньше. Вопрос: как они это делают? Явно есть какое-то более легкое решение.

Чего не хватает в glibc? В linux туда iconv  входит, а функции работы с
wide char и multibyte прекрасно поддерживают все необходимые операции с
unicode.

Если нужно, конечно, поддерживать freebsd - там хреновее. iconv в
портах, wide char совершенно необязательно unicode и так далее. В Linux
такой бардак был только во времена glibc < 2.3.5

В Solaris относительно неплохо, но только если не нужно поддерживать
древние релизы. Начиная с 9 уже жить можно. В восьмерке приходится уже с
собой таскать что-то типа libiconv.

А что касается  Windows, то там, конечно, api совершенно другой, но пока
устраивает BMP (Basic multilingual plane) все сделано как бы не лучше,
чем в Linux. Вот с полноценным Unicode (который в 2 байта не лезет) -
там сложнее.


Reply to: