Форум » » Русские шрифты в редакторе Simpl+ » Ответить

Русские шрифты в редакторе Simpl+

Вячеслав: Подскажите, как лучше поступить. Поменял ноутбук, в simpl+ комментарии написанные на русском теперь крокозябрами. Привычная смена шрифта на Courier в Edit->Preference не помогает. Может есть смысл перенести шрифт windows с другого ПК или в реестре что то поправить можно?

Ответов - 28, стр: 1 2 All

DmitriiP: гляньте в Региональных настройках. многие проги лечатся от "крокозябрами" вот этим:

Вячеслав: У меня там Русский (Россия) стоит. Такое ощущение, что Simpl использует не системные юникод шрифты, а какие то свои без русских символов.

Вячеслав: Разобрался. Может кому пригодится. Надо было во всех ключах реестра тоже поставить значение c_1251.nls , а не только для 1251 и 1252 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage] "1250"="c_1251.nls" "1251"="c_1251.nls" "1252"="c_1251.nls" "1253"="c_1251.nls" "1254"="c_1251.nls" "1255"="c_1251.nls" Те что зеленым цветом были изначально, но видимо этого не достаточно. Для вступления изменений в силу не забудьте перезагрузиться после редактирования реестра.


DmitriiP: главное чтоб, это потом гдето в другом месте не вылезло с обратным эффектом...

Игорь K.: Дался вам этот Cyrrilic....

Вячеслав: Так в России живем. Дело даже не в комментариях. Модуль использует строковые кириллические константы выдаваемые наружу и их тоже понятнее наблюдать в читаемом виде. Особенно когда позже вспоминаешь что же там была за фраза.

Вячеслав: После обновы опять шрифты слетели. (( В реестре изменений нет. Опять что то надо колдовать.

eoulianov: Выберите шрифт FixedSys))

Вячеслав: Спасибо, помогло. Но шрифт ужасный.

kislez2015: Подскажите, а если у меня в Simpl+ тестовые выходы задуманы, как выдающие русский язык (и они отображаются русскими) - но на Хпанели краказябры... При этом никакие модули конвертирующие не помогают, что нужно делать?

DmitriiP: глянтье эту тему на Х-панели вместо кириллицы - иероглифы (CORE3 Standart Theme)

kislez2015: DmitriiP эти конверторы тоже не помогают... я еще заметил что русский текст из Serial IO и из Simpl+ абсолютно разный, не знаю какая в симпл+ кодировка...

DmitriiP: попробуйте разные варианты с #ENCODING_ASCII #ENCODING_UTF16 в Simpl+ или киньте ваш модуль, может найдётся решение

DmitriiP: попробуйте следующее 1) в Simpl+ #ENCODING_ASCII 2) STRING_OUTPUT этого модуля -> Convert to UTF-16 (В режиме "Pass Thru Mark as UTF-16") -> на TP

eoulianov: kislez2015, гляньте http://crestron.borda.ru/?1-0-0-00001258-000-0-0-1485907021 Вы на старую XPANEL или на новую XPANEL 2.0 Smart Graphics выводите? там разное нужно генерировать.

kislez2015: eoulianov вывожу на новую На тачпанель прямой text_join из simpl+ русский отображается нормально, на Xpanel криво

Вячеслав: Crestron это кладезь возможных неприятностей с национальными языками. Последняя фишка, из + модуля строковый выход (Makestring(OUT$,"%s%u","ТЕСТ",GetLastModifiedArrayIndex()) выдает символы в UTF16, а цифры в ASCII и никакие директивы на это не влияют. Т.е. на выходе каша из двухбайтных и однобайтных символов. И никакой нормальный внешний конвертор из этого зоопарка корректно преобразовать уже не сможет. Приходится внутри модуля конвертировать все в ASCII, а уж потом снаружи из ASCII в UTF16(WEB). Но в общем и целом все эти проблемы решаемы.>> Посмотрите в дебагере в HEX формате, как формируется выходная строка и можно будет понять, что с этим делать. (киньте в форум что хотелось написать и что получилось в дебагере, посмотрим)

Вячеслав: Почитал ваше последнее сообщение. Так и правда надо просто подобрать конвертор, раз на тачпанели тот же текст корректно отображается. У меня на XPANEL 2.0 Smart Graphics вывожу известным конвертором ASCIItoUTF16 (процессор 3 серии). Т.е. в варианте &#x... (я его называю UTF16 for WEB). Но это если у Вас в дебагере текст выходит в расширенных ASCII (они же Windows-1251/cp1251). Если в UTF16, то сначала в ASCII конвертируйте, потом в UTF16 for WEB.

DmitriiP: выложите пример, что не работает.... обе строки в дебагере одинаковые , при этом выводятся по разному и на ASCII цифры пофиг + никаких &#x: \x04\x22\x04\x35\x04\x41\x04\x42\x04\x3E\x04\x32\x04\x4B\x04\x39\x20\x31\x20\x32\x32\x20\x04\x42\x04\x35\x04\x3A\x04\x41\x04\x42 #ENCODING_ASCII DIGITAL_INPUT send; STRING_OUTPUT Out_CP1251; PUSH send { Makestring(Out_CP1251,"%s %u %d %s","Тестовый",GetLastModifiedArrayIndex(), 22,"текст"); } это идёт результат

Вячеслав: Да у меня то все работает, только это костыли. (проблема у kislez2015) Собственно вы сами привели пример: \x04\x22\x04\x35\x04\x41\x04\x42\x04\x3E\x04\x32\x04\x4B\x04\x39\x20\x31\x20\x32\x32\x20\x04\x42\x04\x35\x04\x3A\x04\x41\x04\x42 В каком формате эта строка??? Винегрет из UTF16 и ASCII. Цифры и пробелы в UTF16 должны кодироваться тоже двумя байтами. Поправьте, если не прав. Что касается &#x, они должны быть на out_text1 для русских символов или у Вас не так? А конвертер зачетный, раз учитывает винегрет по входу.



полная версия страницы