Samplitude Pro X Suite
Ну что, никто не смотрел что там за фигня с программой?
-
Был уверен, но ошибался - файлы были замененные. Вернул стандартные:
Применил ваш файл, перезагрузил:Windows Registry Editor Version 5.00 [-HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionFontSubstitutes] [HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionFontSubstitutes] "Arial,0"="Arial,204" "Arial Black,0"="Arial Black,204" "Magix Corpid"="Arial" "Magix Corpid,0"="Arial,204" "Magix Corpid Bold Italic,0"="Arial,204" "Magix Corpid Bold"="Arial Black" "Magix Corpid Bold,0"="Arial Black,204" "Magix Corpid Italic,0"="Arial,204" "MS UI Gothic,0"="Arial,204" "Tahoma,0"="Tahoma,204"
Все немного изменилось:1 сентября 2014 - 14:51 / #31 -
1 сентября 2014 - 21:57 / #32
-
Оффлайн
Звание: Ветеран
Команда сайта
Сообщений: 945
Создано тем: 79
Рейтинг: 8
Репа: (131|131|0)
Баллы: 1676
Был: 2024-07-28 22:59
Лайков: 167
Цитата: Nexusтак ты реверсил экзешник?
Мои жалкие потуги в отладчике сложно назвать ревенсингом.Цитата: NexusСмотрел что там перед шрифтами есть?
Смотрел, но что с этим делать не знаю. Например, вот идут наименования шрифтов:
Поставил бряк (на картинке видно) и запустил программу. В пошаговом режиме(при заходе в функцию) вижу из дампа памяти считывается идентификатор языка 409h (1033 - английский) и кодовая страница 4Е4h (1252). Исправил в памяти на 419 (1049 - русский) и 4Е3h (1251):
Продолжил выполнение. Кракозяблики как были, так и остались. Что делать дальше - не знаю. Еще раз повторю-->Цитата: NexusСмотрел что там перед шрифтами есть?
Смотрел, но что с этим делать не знаю. Например, вот идут наименования шрифтов:
Поставил бряк (на картинке видно) и запустил программу. В пошаговом режиме(при заходе в функцию) вижу из дампа памяти считывается идентификатор языка 409h (1033 - английский) и кодовая страница 4Е4h (1252). Исправил в памяти на 419 (1049 - русский) и 4Е3h (1251):
Продолжил выполнение. Кракозяблики как были, так и остались. Что делать дальше - не знаю. Еще раз повторю"Цитата: NexusСмотрел что там перед шрифтами есть?
Смотрел, но что с этим делать не знаю. Например, вот идут наименования шрифтов:
Поставил бряк (на картинке видно) и запустил программу. В пошаговом режиме(при заходе в функцию) вижу из дампа памяти считывается идентификатор языка 409h (1033 - английский) и кодовая страница 4Е4h (1252). Исправил в памяти на 419 (1049 - русский) и 4Е3h (1251):
Продолжил выполнение. Кракозяблики как были, так и остались. Что делать дальше - не знаю. Еще раз повторю программа комплексная - куча DLL-ок и тем оформлений, где натыканы эти шрифты. Где и как это все увязано, мне разобраться сложно.
Основная проблема в том, что программа использует кодовую страницу 1252. Это частично решается правкой реестра (добавления параметров типа "Arial,0"="Arial,204" - то есть замена набора символов ANSI_CHARSET на RUSSIAN_CHARSET для каждого конкретного шрифта, который используется программой).Цитата: NexusПримерное решение такой беды напимано в моем опусе
Да нет, тут все намного сложнее. Хотя я могу и ошибаться.2 сентября 2014 - 00:00 / #33 -
Основная проблема в том, что программа использует кодовую страницу 1252.
Если проблема решается так, то ее легко решить. Видимо где-то перед вызовом определенного шрифта или API функции CreateFont стоит константа 0, что означает как ANSI_CHARSET.
Ну а если кряки не убираются даже через реестр, то тут уж придется попотеть. Это как раз был бы очень худой случай. teodorrrro когда-то уже давал одну музыкальную программу, где и встречался такой случай.
Но если teodorrrro не хочет править экзешник, то тогда какой смысл трясти эту тему дальше?3 сентября 2014 - 00:17 / #34 -
Оффлайн
Звание: Ветеран
Команда сайта
Сообщений: 945
Создано тем: 79
Рейтинг: 8
Репа: (131|131|0)
Баллы: 1676
Был: 2024-07-28 22:59
Лайков: 167
Цитата: NexusAPI функции CreateFont стоит константа 0, что означает как ANSI_CHARSET
Я смотрел эту функцию. Их там (в Sam.exe) шесть штук и в них задается константа 1, т.е. DEFAULT_CHARSET.
Значит не здесь проблема. Еще там много API функций CreateFontIndirectA - 52 шт. Буквально недавно в одной программе мне пришлось их патчить из-за ANSI_CHARSET. Но в этой программе я ума не приложу, как к ним подступиться.
Да и много их очень. Каждую патчить запариться можно.Цитата: NexusНо если teodorrrro не хочет править экзешник, то тогда какой смысл трясти эту тему дальше?
teodorrrro поднял этот вопрос потому, что кроме самой программе в ней еще куча-мала плагинов, которые он перевел. И вот во многих из них кириллица не отображается даже при замене кодовых страниц, как в реестре, так и в системных файлах. Такая байда была с продукцией Magix по обработке видео. Но когда разработчики добавили поддержку русского, то все стало нормально. В программах же по обработке аудио такой подержки пока нет, вот и получается траходром. Чтобы заставить программу отобразить кириллицу, надо на уши всю систему поставить.
Я пока отложил программу в сторону. Может позже гляну еще раз, если осенит какая-нибудь идея.3 сентября 2014 - 03:05 / #35 -
Цитата: LesergЕще там много API функций CreateFontIndirectA - 52 шт. Буквально недавно в одной программе мне пришлось их патчить из-за ANSI_CHARSET.
О, а такое мне еще не встречалось, что именно эта функция тоже отвечает за шрифты. Значит будем расширять кругозор
Я только недавно встретился с CreateFontA , когда мучил 3D Via Tools и случайно наткнулся на нее.Цитата: LesergНо в этой программе я ума не приложу, как к ним подступиться.
Поставь на них бряк и посмотри на нижнее поле стека - там должна быть длинющая строка с параметрами и среди них будет CharSet, он должен быть всегда 1.Цитата: LesergЯ пока отложил программу в сторону. Может позже гляну еще раз, если осенит какая-нибудь идея.
Ладно, завтра качну архив, пободаюсь и я с ним, самому аж интересно что там
Я только недавно встретился с CreateFontA , когда мучил 3D Via Tools и случайно наткнулся на нее.Цитата: LesergНо в этой программе я ума не приложу, как к ним подступиться.
Поставь на них бряк и посмотри на нижнее поле стека - там должна быть длинющая строка с параметрами и среди них будет CharSet, он должен быть всегда 1.Цитата: LesergЯ пока отложил программу в сторону. Может позже гляну еще раз, если осенит какая-нибудь идея.
Ладно, завтра качну архив, пободаюсь и я с ним, самому аж интересно что там
Я только недавно встретился с CreateFontA , когда мучил 3D Via Tools и случайно наткнулся на нее.Цитата: LesergНо в этой программе я ума не приложу, как к ним подступиться.
Поставь на них бряк и посмотри на нижнее поле стека - там должна быть длинющая строка с параметрами и среди них будет CharSet, он должен быть всегда 1.Цитата: LesergЯ пока отложил программу в сторону. Может позже гляну еще раз, если осенит какая-нибудь идея.
Ладно, завтра качну архив, пободаюсь и я с ним, самому аж интересно что там3 сентября 2014 - 23:36 / #36 -
Оффлайн
Звание: Ветеран
Команда
Сообщений: 1211
Создано тем: 39
Рейтинг: 8
Репа: (42|41|-1)
Баллы: 86
Был: 2018-12-02 14:30
Лайков: 18
Такая байда была с продукцией Magix по обработке видео. Но когда разработчики добавили поддержку русского, то все стало нормально. В программах же по обработке аудио такой подержки пока нет
может стоит автору написать?
набрал в гугле Magix Corpid, так там эту проблему чуть ли не с нового века решить пытаютсяВозможно всё! На невозможное просто требуется больше времени.
Мудрец из Шангри Ла4 сентября 2014 - 01:14 / #37 -
Кампания magix обладает исключительным правом на перевод своей продукции, так что в лучшем случае ответом будет молчание.4 сентября 2014 - 09:02 / #38
-
Итак, посмотрел я экзешник. Обнаружил интересные места, например, вот это:
При таком параметре полюбому будут крякозябли
а также вот это:
Только вот не понятно, нафига для шрифта MS UI Gothic применяется японский язык?
И куда применяется этот шрифт?
Это я только прошелся на скорую руку. Хочь не хочь, а файл править придется.5 сентября 2014 - 00:19 / #39 -
Оффлайн
Звание: Ветеран
Команда сайта
Сообщений: 945
Создано тем: 79
Рейтинг: 8
Репа: (131|131|0)
Баллы: 1676
Был: 2024-07-28 22:59
Лайков: 167
Это я только прошелся на скорую руку.
Не хочу тебя огорчать, но исправление этих мест никак не влияет на избавление от кракозяблей. Там где-то другая зараза.5 сентября 2014 - 02:10 / #40