Логический шрифт
-
Оффлайн
Автор темы
Звание: Ветеран
Команда сайта
Сообщений: 945
Создано тем: 79
Рейтинг: 8
Репа: (131|131|0)
Баллы: 1676
Был: 2024-07-28 22:59
Лайков: 167
Логический шрифт
Исправляем некорректное отображение кириллицы
Итак, вы сделали перевод любимой программы на русский язык, создали локализованный файл, запустили приложение и, вдруг, вместо знакомых символов видите какую-то несуразицу, типа ""Id`e^aa`o, `i^u ^ed`a^e^ic"y`a"e`e^e`e!". Блин, что делать?Самое простое решение — выполнить замену кодовых страниц в операционной системе и добавить в реестр параметры подмены шрифтов. К сожалению, такое решение является грубым и будет работать только на вашей системе. Другие пользователи, воспользовавшись вашей работой, вместо текста на русском увидят эту несуразицу и им также придется вносить изменения в свою систему. Это в свою очередь может быть чревато негативными последствиями для других приложений. Впрочем я не буду останавливаться на этом подробно, а предлагаю вам решить проблему отображения символов кириллицы более изящно — в самом файле приложения. Конечно для этого нужны умение работы с отладчиком, знание API-функций и понимание ассемблерных инструкций. Решение не из простых и потребует от вас определенных навыков. Надеюсь, что это небольшое руководство поможет вам самостоятельно справиться с этой проблемой.
Надеюсь, что это небольшое руководство поможет вам самостоятельно справиться с этой проблемой.
В данном руководстве рассматриваются API-функции CreateFont и CreateFontIndirect, которые используются для создания логического шрифта. Этот шрифт впоследствии также может использоваться приложением для вывода текстовой и другой информации.
Читаем здесь12 мая 2015 - 11:24 / #1 -
Спасибо, очень познавательно и много нового.12 мая 2015 - 12:13 / #2
-
Оффлайн
Автор темы
Звание: Ветеран
Команда сайта
Сообщений: 945
Создано тем: 79
Рейтинг: 8
Репа: (131|131|0)
Баллы: 1676
Был: 2024-07-28 22:59
Лайков: 167
Довольно редкостное явление.
Я с этим сталкиваюсь довольно часто, в связи с этим и появилась задумка написать это руководство.
Еще бы надо создать мануал по программам на Дельфи, где в ресурсах встречаются ANSI_CHARSET
Nexus, я писал об этом в своих руководствах. Да толку ноль, их никто не читает, как впрочем и это.14 мая 2015 - 00:42 / #3 -
Да толку ноль, их никто не читает, как впрочем и это
Читают, ещё как читают!
Статья очень полезная, лично я почерпнул из неё многое.
А то уже наверное Nexus устал мне кодировку править.Храни меня Господь от тех, кому я верю. Кому не верю - тех остерегусь я сам.
15 мая 2015 - 08:29 / #4 -
Оффлайн
Звание: Бывалый
Команда сайта
Сообщений: 317
Создано тем: 26
Рейтинг: 5
Репа: (151|151|0)
Баллы: 501
Страна: не указана!
Был: 2024-11-28 12:50
Лайков: 189
Leserg, СПАСИБО, присоединяюсь к предыдущим отзывам. И уже попытался применить на практике к одной проблемной для меня программе (точнее крякнутому основному исполняемому файлу) написанной на C++ (правда пока безуспешно, но в этом мои слабые познания, а точнее их отсутствие о C).15 мая 2015 - 09:20 / #5 -
Оффлайн
Автор темы
Звание: Ветеран
Команда сайта
Сообщений: 945
Создано тем: 79
Рейтинг: 8
Репа: (131|131|0)
Баллы: 1676
Был: 2024-07-28 22:59
Лайков: 167
Спасибо, парни, за поддержку. Согласен, что информация не простая, требует некоторого осмысления и лежит совершенно в иной плоскости от того, что обычно принято считать локализацией. Смею вас заверить, что это еще цветочки по сравнению с теми дебрями, которые вас поджидают при попытке локализации приложений написанных при использовании библиотеки Qt.17 мая 2015 - 22:21 / #6 -
Смею вас заверить, что это еще цветочки по сравнению с теми дебрями, которые вас поджидают при попытке локализации приложений написанных при использовании библиотеки Qt.
Чувствую, камень в мой огород
Я вот как раз и хотел на тебя навесить написание мануала по QT, но ты ж не захотел17 мая 2015 - 22:55 / #7 -
Оффлайн
Автор темы
Звание: Ветеран
Команда сайта
Сообщений: 945
Создано тем: 79
Рейтинг: 8
Репа: (131|131|0)
Баллы: 1676
Был: 2024-07-28 22:59
Лайков: 167
Я вот как раз и хотел на тебя навесить написание мануала по QT, но ты ж не захотел
Но как можно написать про то, чего никогда не делал, не понимаешь и не знаешь как это делается? Попроси, например, ruslangxp написать такое руководство. Что из этого выйдет? Толковый материал получается у того, кто сам занимался вопросом и его решением. У нас на форуме есть неплохой топик, где мы делимся особенностями той и иной программы. Ребята, просто возьмите и напишите с чем вы столкнулись при локализации и как решили этот вопрос. Это неоценимый опыт, которым можно пользоваться, изменять и подстраивать под свои нужды. Nexus, у тебя здорово получается править Qt приложения под поддержку кириллицы, но ты не рассказываешь, КАК ты это делаешь!17 мая 2015 - 23:29 / #8 -
Оффлайн
Звание: Легенда
Админ
Сообщений: 2195
Создано тем: 317
Рейтинг: 10
Репа: (245|245|0)
Баллы: 3580
Был: 2024-12-02 08:50
Лайков: 202
Но как можно написать про то, чего никогда не делал, не понимаешь и не знаешь как это делается?
Согласен, надо мануал с картинками и кроликом, как всегда, и подробный метод нахождения.
А писать его должен ты, Nexus, тебе не отвертеться18 мая 2015 - 12:28 / #9 -
Leserg, вот как раз по CreateFontIndirect есть интересный экземпляр и тоже решается таким способом:
Прикол в том, что так просто здесь не выкрутиться, нужно проявить смекалку чтобы решить багу. Попробуй, получится ли у тебя догадаться в чем загвоздка Если нет, то подскажу решение, хотя смльно сомневаюсь что подсказка понадобится22 мая 2015 - 23:15 / #10