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: