Собственно, вот такой вопрос. Из окружения гарантировано наличие только стандартных библиотек Windows 2000 и выше.
Забачно. Если верить MSDN, оно работает, основываясь на языке, выбранном пользователем при установке Винды. А на самом деле юникодный вариант даже с арабскими буквами работает, хотя у меня арабский не установлен точно.
CyberManiac В UNICODE часть символов оставлено под "символы определенные пользователем", так что даже IsCharAlpha может не помочь...
djmans, так там и написано "This determination is based on the semantics of the language selected by the user during setup or through Control Panel." "Based on" можно понимать как угодно, а про то, что unicode-версия узнаёт буквы _всех_ присутствующих в этой кодировке языков, там ни слова. Mikl___, это слишком ивращённые тонкости, чтобы ими заморачиваться. Мне просто нужно корректное прыгание по началам слов в текстовом редакторе
CyberManiac тогда проще искать разделители слов (пробел, табуляцию, знаки препинания) их кодировка во многих языках одинаковы (кириллица, латиница, девангари), а вот на иврите и арабском пишут справа налево и там вы будете прыгать по окончаниям слов, а в китайском, японском, корейском слова в предложении могут не разделяться или разделятся кружком, кроме того, они не всегда используют юникод, а Shift JIS (Japanese Industrial Standards) в японском; Big5, HKSCS, Guobiao, GB2312, GBK, GB18030, ISO-2022 и EUC для китайского; EUC-KR для корейского
Берёшь таблицу Unicode. Делаешь базу данных, где для каждого символа прописываются сведения, в каком языке он встречается. Например, символ "кириллическое А" может быть символом русского, украинского, белорусского, татарского, казахского, монгольского, болгарского и других языков. Далее берётся символ, и с учётом кодировки сравнивается с базой данных.
в пцре есть ключ \b отвечающий за границы слов. он работает и под уникодом, и под утф8. можно посмотреть как это делается там (OP_WORD_BOUNDARY) если не охота тащить всю пцре за собой (.lib в 100-150кб).
На мой взгляд, самый верный способ - посмотреть как это делает сама Windows. Возьмите исходники edit-control'а, благо они доступны, и посмотрите там.