:: Visual Foxpro, Foxpro for DOS
Абракадабра вместо русского текста в программе
Konstantin_Pavlovich
Автор

Сообщений: 143
Откуда: Москва
Дата регистрации: 21.11.2007
Установил программу на новый ноутбук под Windows 10, во многих местах (формы, содержимое GRID и т.п.) вместо русских букв абракадабра. Посмотрел, всюду где абракадабра используется шрифт Ms Sans Serif 8 кириллица. Увы, в Windows, хотя она и русская, его нет. Есть варианты Западноевропейкий, Прибалтика, Иврит, ещё какие-то, но только не латиница.

Казалось бы, чего проще, установи этот шрифт с кириллицей и проблема решена. Но никак не получается это сделать! Скачивал MS Sans Serif кириллица с разных ресурсов интернета и устанавливал - не помогает. Скопировал все шрифты с других компьютеров, где всё работает - не помогает. И копировал их (все файлы, относящиеся к шрифту Serif) в папку Fonts, и запускал установку всех этих файлов - никаких изменений.

Я уже не знаю, что ещё можно сделать? Переписывать всю программу, все формы, классы, prg файлы ради одного компьютера не хочется. Можно, конечно, написать небольшую программу, которая пройдёт по всем prg, sct, vct файлам и поменяет Ms Sans Serif на какой-то другой шрифт, но это уже совсем крайнее решение. Проще понять, почему Windows не даёт мне установить Sans Serif с кириллицей?

Что делать? Помогите, пожалуйста.


------------------
С уважением
Стороженко Константин Павлович
Ratings: 0 negative/1 positive
Re: Абракадабра вместо русского текста в программе
Vedmak

Сообщений: 5970
Откуда: CiTY
Дата регистрации: 30.10.2003
в первую очередь смотри значение codepage в config.fpw
во вторую смотри настройку в региональных настройках OC для "non unicode" приложений

про данные из БД не спрашиваю. это другая тема.

Наконец смотри FontCharSet в пропертях своих Label, Header и т.д. если там стоит 1, то приложение работает с дефолтными настройками ОС. Принудительно для русского стоит выставить 204.

[Data]
language=LV
[LV]
codepage=1257
Charset=186
[EN]
codepage=1250
Charset=1
[RU]
codepage=1251
charset=204

DEFINE CLASS column_class as Column
...
PROCEDURE Init
IF PEMSTATUS( goApp, 'app_charset', 5 )
This.FontCharSet = goApp.app_charset
This.Header1.FontCharSet = goApp.app_charset
ENDIF
IF PEMSTATUS( goApp, 'data_charset', 5 )
This.Text1.FontCharSet = goApp.data_charset
ENDIF
ENDPROC
...
ENDDEF

И да, левые фонты не надо втыкать. Все работает с сиcтемными Arial и т.д.


------------------
Говорить стоит лишь для тех, кто слушает.




Исправлено 4 раз(а). Последнее : Vedmak, 11.12.19 23:56
Ratings: 0 negative/0 positive
Re: Абракадабра вместо русского текста в программе
Konstantin_Pavlovich
Автор

Сообщений: 143
Откуда: Москва
Дата регистрации: 21.11.2007
MS Sans Serif это левый фонт?Это один из базовых фонтов Windows, который там всегда должен быть.

А главный мой вопрос так и остался не раскрыт, как установить шрифт, чтобы всё работало. А не переписывать программу.



Исправлено 1 раз(а). Последнее : Konstantin_Pavlovich, 12.12.19 01:22
Ratings: 0 negative/0 positive
Re: Абракадабра вместо русского текста в программе
Konstantin_Pavlovich
Автор

Сообщений: 143
Откуда: Москва
Дата регистрации: 21.11.2007
И всё-таки я сделал это! Перечитал много форумов и обсуждений, перепробовал много разных советов и нашёл таки один правильный. Оказалось, это старый глюк Windows 10 (и даже более ранних версий) который существует уже много лет и проявляется именно со шрифтом MS Sans Serif. И не только в программах на FoxPro, но и в других приложениях, например, в Windows Commander.

А лечится этот глюк, как оказалось, очень просто. Когда знаешь как, конечно. Надо поменять в графе "Текущий язык программ, не поддерживающих Юникод" установку "Русский", на любой другой (например, "Английский"). Сохранить это изменение (я перезагрузил компьютер), а затем ... снова поменять язык на ... "Русский". Я не верил, что такое просто действие решит проблему, над которой я бился до трёх ночи, но всё заработало правильно. Всё, теперь я знаю как решать эту проблему, с которой сталкиваюсь на новых компьютерах уже не в первый раз.


------------------
С уважением
Стороженко Константин Павлович
Ratings: 0 negative/5 positive
Re: Абракадабра вместо русского текста в программе
Василий

Сообщений: 682
Откуда: Москва
Дата регистрации: 19.10.2000
В реестре криво прописано имя шрифта

forum.buhsoft.ru
Ratings: 0 negative/1 positive
Re: Абракадабра вместо русского текста в программе
Аспид

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
Сталкивался с таким, когда ОС ставили левую.
Я не мучился, заставлял покупать)))
Теперь буду знать, как поправить)))
Ratings: 0 negative/1 positive
Re: Абракадабра вместо русского текста в программе
Konstantin_Pavlovich
Автор

Сообщений: 143
Откуда: Москва
Дата регистрации: 21.11.2007
В том-то и дело, что ОС была не левая, а официальная. Была предустановлена на новый компьютер, купленный в "Эльдорадо". То есть, поставлена легально, у неё есть официальный серийный номер, поддержка от Microsoft.
Ratings: 0 negative/0 positive
Re: Абракадабра вместо русского текста в программе
Аспид

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
Вот ей богу. Ну не побоюсь сказать, компов тысячи (ну сотни точно)))
И такое было только на левых ОС.
Кто то из поставщиков эльдорадо, криво что то поставил...?
Не встречал такого у легальных, хотя все когда то происходит впервые)))

Главное, что мы теперь знаем, как это победить!)))
Ratings: 0 negative/0 positive
Re: Абракадабра вместо русского текста в программе
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Konstantin_Pavlovich
Была предустановлена на новый компьютер, купленный в "Эльдорадо".
Кто знает что взбредёт в голову этим торгашам... Переустановка и настройка с нуля безо всяких "улучшателей и крайне необходимого всем" г*нософта должны спасти
Если бы проблема возникала из-за самой винды то, наверное, с этим сталкивались бы все, а не ты один А так - воткнули "умельцы" какую-то хрень сломавшую NLS подсистему винды. Благо минимальные переустановочные действия помогли...
P.S. Стандартные шрифты система должна защищать и не давать возможность их подменять, кроме как методами переустановки/починки собственно установщиком винды.


------------------
WBR, Igor
Ratings: 0 negative/2 positive
Re: Абракадабра вместо русского текста в программе
of63

Сообщений: 25256
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
... Константин Павлович нашел "решение", но ему плюсанули меньше, чем ИК, который высказал абстрактное банальное мнение... Возьму на заметку Кто-то ту плюсует налево и направо, чаще налево...
Ratings: 0 negative/1 positive
Re: Абракадабра вместо русского текста в программе
JekaIvanov

Сообщений: 21
Дата регистрации: 12.12.2011
Для Windows 11 тоже помогло. Спасибо!
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 28 Zanin PaulWist  (Гостей: 26)

© 2000-2024 Fox Club 
Яндекс.Метрика