Цитата:
Сообщение от Deazer
Тема актуальна и подымаю ставки. Т.е. кто задушит вопрос, оповестите о цене.
а то все что Кириллицей идет в BIG фонт - даже рестарт(вообще другой пакет) 30 - 20 - 10 - Shutdown (если в система месаге клиента dat русским написано как на саракисяне. Выключение через ололол идите в пис зону) накладывается шляпой.
|
Если я правильно помню то вся лажа в L2Font-%s.utx текстуре
и localisation.ini
Код:
English_Font2=L2Font-e.LargeFont-e
Конкретно в чем проблема, сказать пока не могу, ибо нужно разбирать движок и метод NCTextBox::PaintSingleLine и прочие
Код:
UCanvas::DrawNormalText <- UCanvas::DrawTextToCanvas <- NCGDevice::DrawTextW
Но могу предположить что для большого RU текста, попросту нету подходящих символов, либо они в неправильной последовательности, а чтобы узнать, как правильно нужно их форматировать в текстуру, надо копаться в движке либо удачно найти в гугле название этого метода.
И FontType для TextBox(на который выводиться текст) тут кстати не причем
их там всего 9
Код:
Normal=0
Big= 1;
Credit= 2;
ZoneTitle= 4;
Broadcast1= 6;
Broadcast2= 7;
SpecialDigitSmall= 9;
SpecialDigitLarge= 10;
SpecialDigitXLarge= 11;
И работать будет только Normal, и это при том если используется не оригинальный L2Font-e.smallfont-e ,ибо оригинальный не поддерживает кирилицу вообще, и почти на всех серверах патчи включают отредактированный, но видать не полностью.
А на счет Руоффа, то там вполне возможно что этот шрифт вообще запихали в другое место , и L2Font-ru.smallfont-ru вообще не используют, либо используют совсем другой и более практичный метод.
Нужно копаться в NCTextBox:: чтобы точно сказать в чем проблема.
P.S.
Немного покопался в Engine.dll, и нашел очень любопытный метод UCanvas:: DrawThaiCharacter что как бы намекает на то что простого решения для Отрисовки LargeRU фонта врятли представиться, ибо эти самые символы нужно рисовать отдельно в нативе.
И если кому то не лень протестировать включив в Localisation=Thai язык, и добавить вместо GludioTown - тайский текст, то скорее всего в игре при телепорте в gludio - он отобразиться(В ZoneTitleWnd ) .
Так что тут только решать нативом.