Этот сайт создан как клуб русификаторщиков. Для нас существуют три основных правила.
1. Мы никому и ничего не должны!
2.Один пришедший на сайт толковый русификаторщик дороже всех пользователей.
3. Мы делаем русификаторы для своего сайта, но в оригинале ими могут пользоваться все в интернете.
Пока что временно решил проблему не самым лучшим способом, но он работает. Проблема в шапке темы могла возникнуть из-за того, что командный файл имел кодировку ANSI, и поэтому некорректно обрабатывал присвоение прав текущего пользователя на файлы, если имя пользователя состоит из русских букв. Теперь у CMD кодировка 866, и всё работает - как замена, так и возврат файлов. Замену шрифтов сделал в виде reg-файлов, так мне показалось проще сделать возврат исходных системных значений при необходимости.
Windows Registry Editor Version 5.00
[-HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionFontSubstitutes]
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionFontSubstitutes]
"Magix Corpid"="Arial"
"Magix Corpid,0"="Arial,204"
"Magix Corpid Regular"="Arial"
"Magix Corpid Regular,0"="Arial,204"
"Magix Corpid Bold"="Arial"
"Magix Corpid Bold,0"="Arial,204"
"Magix Corpid Italic"="Arial"
"Magix Corpid Italic,0"="Arial,204"
"Magix Corpid Bold Italic"="Arial"
"Magix Corpid Bold Italic,0"="Arial,204"
;Исходные системные сопоставления шрифтов (на всякий случай, не помешает)
"Arabic Transparent"="Arial"
"Arabic Transparent Bold"="Arial Bold"
"Arabic Transparent,0"="Arial,178"
"Arabic Transparent Bold,0"="Arial Bold,178"
"Helvetica"="Arial"
"Arial Baltic,186"="Arial,186"
"Arial CE,238"="Arial,238"
"Arial CYR,204"="Arial,204"
"Arial Greek,161"="Arial,161"
"Arial TUR,162"="Arial,162"
"Courier New Baltic,186"="Courier New,186"
"Courier New CE,238"="Courier New,238"
"Courier New CYR,204"="Courier New,204"
"Courier New Greek,161"="Courier New,161"
"Courier New TUR,162"="Courier New,162"
"Times"="Times New Roman"
"Times New Roman Baltic,186"="Times New Roman,186"
"Times New Roman CE,238"="Times New Roman,238"
"Times New Roman CYR,204"="Times New Roman,204"
"Times New Roman Greek,161"="Times New Roman,161"
"Times New Roman TUR,162"="Times New Roman,162"
"MS Shell Dlg 2"="Tahoma"
"Tahoma Armenian"="Tahoma"
"Helv"="MS Sans Serif"
"Tms Rmn"="MS Serif"
"David Transparent"="David"
"Miriam Transparent"="Miriam"
"Fixed Miriam Transparent"="Miriam Fixed"
"Rod Transparent"="Rod"
"FangSong_GB2312"="FangSong"
"KaiTi_GB2312"="KaiTi"
"MS Shell Dlg"="Microsoft Sans Serif"
"System,0"="System,204"
"Fixedsys,0"="Fixedsys,204"
"Small Fonts,0"="Small Fonts,204"
"MS Serif,0"="MS Serif,204"
"MS Sans Serif,0"="MS Sans Serif,204"
"Courier,0"="Courier New,204"
"Arial Cyr,0"="Arial,204"
"Courier New Cyr,0"="Courier New,204"
"Times New Roman Cyr,0"="Times New Roman,204"
"Helv,0"="MS Sans Serif,204"
"Tms Rmn,0"="MS Serif,204"
Замена файлов С_125*.nls (CMD в кодировке 866). Файлам присваивается атрибут "Только чтение", чтобы система не смогла вернуть их обратно.
@echo off
rem Этот файл заменит файлы C_1250.NLS, C_1252.NLS, C_1253.NLS, C_1254.NLS и C_1255.NLS на C_1251.NLS.
pushd %SystemRoot%System32
for %%F in (C_1250.NLS C_1252.NLS C_1253.NLS C_1254.NLS C_1255.NLS) do call :STAND %%F C_1251.NLS
popd
echo.
goto :EOF
:STAND
rem Не допускает повторной обработки, если замена уже была произведена:
if exist %1.bak goto :EOF
rem Установка владельцем текущего пользователя:
takeown /f %1
rem Полный доступ текущему пользователю:
icacls %1 /grant %USERNAME%:(F)
rem Сохранение исходного файла:
ren %1 *.*.bak
Установка для копии атрибута "Только чтение":
attrib +r %1.bak
rem Замена файлов на файл c_1251.nls:
copy %2 %1
rem Установка атрибута "Только чтение" для измененных файлов:
attrib +r %1
Windows Registry Editor Version 5.00
[-HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionFontSubstitutes]
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionFontSubstitutes]
;Исходные системные сопоставления шрифтов
"Arabic Transparent"="Arial"
"Arabic Transparent Bold"="Arial Bold"
"Arabic Transparent,0"="Arial,178"
"Arabic Transparent Bold,0"="Arial Bold,178"
"Helvetica"="Arial"
"Arial Baltic,186"="Arial,186"
"Arial CE,238"="Arial,238"
"Arial CYR,204"="Arial,204"
"Arial Greek,161"="Arial,161"
"Arial TUR,162"="Arial,162"
"Courier New Baltic,186"="Courier New,186"
"Courier New CE,238"="Courier New,238"
"Courier New CYR,204"="Courier New,204"
"Courier New Greek,161"="Courier New,161"
"Courier New TUR,162"="Courier New,162"
"Times"="Times New Roman"
"Times New Roman Baltic,186"="Times New Roman,186"
"Times New Roman CE,238"="Times New Roman,238"
"Times New Roman CYR,204"="Times New Roman,204"
"Times New Roman Greek,161"="Times New Roman,161"
"Times New Roman TUR,162"="Times New Roman,162"
"MS Shell Dlg 2"="Tahoma"
"Tahoma Armenian"="Tahoma"
"Helv"="MS Sans Serif"
"Tms Rmn"="MS Serif"
"David Transparent"="David"
"Miriam Transparent"="Miriam"
"Fixed Miriam Transparent"="Miriam Fixed"
"Rod Transparent"="Rod"
"FangSong_GB2312"="FangSong"
"KaiTi_GB2312"="KaiTi"
"MS Shell Dlg"="Microsoft Sans Serif"
"System,0"="System,204"
"Fixedsys,0"="Fixedsys,204"
"Small Fonts,0"="Small Fonts,204"
"MS Serif,0"="MS Serif,204"
"MS Sans Serif,0"="MS Sans Serif,204"
"Courier,0"="Courier New,204"
"Arial Cyr,0"="Arial,204"
"Courier New Cyr,0"="Courier New,204"
"Times New Roman Cyr,0"="Times New Roman,204"
"Helv,0"="MS Sans Serif,204"
"Tms Rmn,0"="MS Serif,204"
Восстановление исходных файлов С_125*.nls из резервных копий (CMD в кодировке 866):
@ECHO off
REM Этот файл вернет исходные файлы C_1250.NLS, C_1252.NLS, C_1253.NLS, C_1254.NLS и C_1255.NLS.
PUSHD %SystemRoot%System32
FOR %%F in (C_1250.NLS C_1252.NLS C_1253.NLS C_1254.NLS C_1255.NLS) do CALL :STAND %%F
POPD
echo.
GOTO :EOF
:STAND
REM Задать владельцем файлов и копий текущего пользователя:
IF EXIST %1.bak takeown /f %1
IF EXIST %1.bak takeown /f %1.bak
REM Предоставить текущему пользователю полный (F) доступ к ним:
IF EXIST %1.bak icacls %1 /grant %USERNAME%:(F)
IF EXIST %1.bak icacls %1.bak /grant %USERNAME%:(F)
REM Снять атрибут "Только чтение" с копий и измененных файлов:
ATTRIB -r %1
IF EXIST %1.bak ATTRIB -r %1.bak
REM Удалить измененные файлы:
IF EXIST %1.bak DEL %1
REM Переименовать копии на названия исходных файлов:
IF EXIST %1.bak REN %1.bak %1
Замену шрифтов сделал в виде reg-файлов, так мне показалось проще сделать возврат исходных системных значений при необходимости.
teodorrrro, в реестр необходимо вносить только те параметры, которые касаются непосредственно программы, а не грохать всю ветку реестра. У пользователя могут там быть совершенно другие параметры. А вы берете и удаляете всю ветку. Так нельзя. Например, у меня в этой ветке реестра, кроме представленных параметров по умолчанию, имеются другие параметры, необходимые для работы некоторых специфических приложений. Вы мне предлагаете их удалить, а потом настраивать все заново? Постарайтесь донести до пользователя свой труд с минимальным ущербом для его системы.
Что мешает добавить в реестр ТОЛЬКО необходимые параметры, а при деинсталляции удалить ТОЛЬКО их?
Второе, с кодовыми страницами.
Этот файл заменит файлы C_1250.NLS, C_1252.NLS, C_1253.NLS, C_1254.NLS и C_1255.NLS на C_1251.NLS.
Программа НЕ использует кодовые страницы C_1250.NLS, C_1253.NLS, C_1254.NLS и C_1255.NLS. Зачем выполнять их подмену? Просто чтоб было? Сделайте подмену только страницы C_1252.NLS и проверьте результат.
teodorrrro, я приношу свои извинения, что пока не могу вам помочь с этой программой.
Блин, народ, распишите, для каких местов с кркозяблями какие шрифты используются, а то полностью запутался. Вот сразу при открытии программы в главном окне появляются гадости, какой для них шрифт применяется? Leserg, в каком месте менял название шрифта чтобы пропали эти крякозябли? Что-то совсем не въехал где что и куда
А тогда какой смысл править значение в реестре для Magix Corpid, если этот шрифт будет заменен на Arial?
Спроси что-нибудь полегче. Установлено экспериментальным путем. Если исправить ТОЛЬКО в реестре - будут кракозябры. Если заменить ТОЛЬКО в исполняемом файле - будут кракозябры. Поэтому править нужно и там, и там. А чтобы был вообще полный порядок (касается плагинов), то еще и заменить системные файлы кодовых страниц 1252 и 1255 на 1251. Короче, полный атас.
Если исправить ТОЛЬКО в реестре - будут кракозябры.
Ага, заменил нахрен там все значения какие только есть, а результата нету.У меня правка реестра вообще ничего не дала.
Цитата: Leserg
А чтобы был вообще полный порядок (касается плагинов)
Еще туда не добрался, тут бы с главным окном разобраться.
Короче, поменял в EXE Magix Corpid на Arial, вышло только такое:
В редакторе MIDI только строка под значками стала на русском, и то благодаря из-за выбора нужного шрифта через меню Выбор шрифта, сами подсказки всегда у меня были на русском, там кряков не было замечено. Остается только хрень в главном окне, что на скрине, никакие манипуляции не помогают. Или что-то я не так делаю? Мне бы разобраться что править в реестре для наводки, а там я в код окунусь и разберусь.