:: Visual Foxpro, Foxpro for DOS
Совместимость шрифтов FPW2.6 созданного в Win3.11 на WinXP
Владимир Максимов
Автор

Сообщений: 14100
Откуда: Москва
Дата регистрации: 02.09.2000
Есть мое приложение созданное лет 6 назад (т.е. все исходники есть), которое написано на FPW2.6 и скомпилировано в среде Win3.11

Собственно, это приложение я давно переписал на VFP6, но тут один клиент захотел установить его на WinXP. Результат отображен в прилагаемом файле. Это я в дизайнере формочку открыл, но в приложении эффект тот же.

Ясно, что проблема со шрифтами. Ясно, что "по хорошему", надо бы ручками подвинуть все объекты, чтобы они заняли надлежащее место и перекомпилить проект в WinXP. Но. Формочек в этом приложении более 200. Это приложение предствляет собой иерархию EXE и APP (надо еще вспомнить "кто на ком стоял").


Есть ли возможность как-то обойтись без ручной подгонки и перекомпиляции проекта?


Да, всем объектам явно назначен шрифт. В большинстве случаев, это Arial Cyr, 10. Хотя кое-где используются также Times New Roman и Courier New Cyr. Шрифт по умолчанию для самих форм я установил - Courier New Cyr, 10.

Раздел реестра

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes

менять пробовал. Не помогает. Или я не те шрифты пытался ассоциировать.

Commdlg.dll из поставки Win3.11 подсовывал - без результата.
Ratings: 0 negative/0 positive
Re: Совместимость шрифтов FPW2.6 созданного в Win3.11 на WinXP
piva

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
Попробуй все-таки поменять основной фонт формы - все в fpw 2.6 строится от его метрики - у меня подобное было - причем слетали именно Courier New CYR - лечилось заменой на стандарnный Courier или Courier New без CYR




------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: Совместимость шрифтов FPW2.6 созданного в Win3.11 на WinXP
Лариса

Сообщений: 398
Откуда: Calgary
Дата регистрации: 18.10.2001
Может это поможет:
в классе формы на событие INIT написать код
dodefault()
thisform.SetAll("FontSize",8)




------------------
Listen and forget. Read and remember. Do and understand.
Ratings: 0 negative/0 positive
Re: Совместимость шрифтов FPW2.6 созданного в Win3.11 на WinXP
piva

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
Лариса - это FPW 2.6 там нету thisform.setall




------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: Совместимость шрифтов FPW2.6 созданного в Win3.11 на WinXP
Лариса

Сообщений: 398
Откуда: Calgary
Дата регистрации: 18.10.2001
Тогда, ой!
Я так поняла, что приложение уже переписано на VFP6.




------------------
Listen and forget. Read and remember. Do and understand.
Ratings: 0 negative/0 positive
Re: Совместимость шрифтов FPW2.6 созданного в Win3.11 на WinXP
Владимир Максимов
Автор

Сообщений: 14100
Откуда: Москва
Дата регистрации: 02.09.2000
Цитата:
Попробуй все-таки поменять основной фонт формы - все в fpw 2.6 строится от его метрики - у меня подобное было - причем слетали именно Courier New CYR - лечилось заменой на стандартный Courier или Courier New без CYR
Интересно. Странный эффект.

Если я подтверждаю ранее установленный на форме шрифт, например, был Courier New Cyr, 10 я нажимаю кнопку Font и ничего не меняя нажимаю кнопку "Ок". Происходит модификация размеров ряда объектов. Таких как набор кнопок. Все остальное остается без изменений. Т.е. также все "в кучку".

Дальнейшее изменение шрифта формы уже просто игнорируется.

В общем, не помогло...
Ratings: 0 negative/0 positive
Re: Совместимость шрифтов FPW2.6 созданного в Win3.11 на WinXP
Владимир Максимов
Автор

Сообщений: 14100
Откуда: Москва
Дата регистрации: 02.09.2000
Цитата:
Я так поняла, что приложение уже переписано на VFP6.
Да. Перписано. Но заказчик хочет себе поставить именно старую версию, написанную на FPW 2.6. Вот теперь и мучаюсь...
Ratings: 0 negative/0 positive
Re: Совместимость шрифтов FPW2.6 созданного в Win3.11 на WinXP
Alex Roublev

Сообщений: 3695
Откуда: Ярославль
Дата регистрации: 28.09.2002
А ежели все формочки открывать как таблицы и программно циклом прописывать нужный шрифт и т.д. в поле свойств объектов?
Ratings: 0 negative/0 positive
Re: Совместимость шрифтов FPW2.6 созданного в Win3.11 на WinXP
Владимир Максимов
Автор

Сообщений: 14100
Откуда: Москва
Дата регистрации: 02.09.2000
Цитата:
А ежели все формочки открывать как таблицы и программно циклом прописывать нужный шрифт и т.д. в поле свойств объектов?
Уже.

Структура файлов SCX в FPW 2.6 несколько отличается от структуры файлов SCX в VFP. Они скорее напоминают структуру файлов FRX (отчетов).

Т.е. есть поля VPOS, HPOS, Height, Width. В них указана координаты, но не в пикселах, а в "фокселах" (один "фоксел" - это средний размер буквы в указанном шрифте).

Есть поле Fontface, Fontstyle, Fontsize - это имя шрифта, тип и номер соответственно.

Так вот, имя шрифта у меня указано у ВСЕХ объектов. Проблема именно в том, как определяется размер этого самого "фоксела" в Win3.11 и WinXP. Видимо, как-то принципиально по разному. Отсюда такие проблемы.
Ratings: 0 negative/0 positive
Re: Совместимость шрифтов FPW2.6 созданного в Win3.11 на WinXP
AlexSSS

Сообщений: 6113
Откуда: Tallinn, Estonia
Дата регистрации: 19.09.2005
а фоксель случайно берется не с основного шрифта _screen?
Ratings: 0 negative/0 positive
Re: Совместимость шрифтов FPW2.6 созданного в Win3.11 на WinXP
piva

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
По любому - в FPW 2/6 надо все равно формы открывать руками - одиной замено фонтов в файле ничего не добится - уж не знаю как там сделано - но после того как тыкнеш в контрол - он приобретает новые очертания - так что боюсь что простой заменой фонтов в SCX файле не обойтись




------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: Совместимость шрифтов FPW2.6 созданного в Win3.11 на WinXP
Владимир Максимов
Автор

Сообщений: 14100
Откуда: Москва
Дата регистрации: 02.09.2000
Цитата:
а фоксель случайно берется не с основного шрифта _screen?
В FPW 2.6 еще не было такого понятия. Был шрифт по умолчанию, но я задавал все шрифты явно. Как у самой формы, так и у всех используемых объектов.

В данном случае произошла адекватная замена.

Т.е. допустим текст, написанный шрифтом Arial Cyr,10 занимал в длину, 10.1234 "фокселя". Он столько по прежнему и занимает. Т.е. если это был просто текст (Label), то все символы вполне умещаются в отведенный размер.

Однако в Win3.11 10.1234 "фокселя" занимало, допустим, около 1/2 экранного дюйма, то в WinXP те же 10.1234 "фокселя" занимают уже примерно 3/4 экранного дюйма.

Кроме того, похоже, что координаты самих объектов вычисляются не в "фокселях" шрифта формы, а именно в "фокселях" шрифта самих объектов. По крайней мере изменение шрифта формы никак не влияет на относительное расположение объектов.

В общем, похоже без вариантов. Придется заново все объекты на всех формочках расставлять
Ratings: 0 negative/0 positive
Re: Совместимость шрифтов FPW2.6 созданного в Win3.11 на WinXP
AlexSSS

Сообщений: 6113
Откуда: Tallinn, Estonia
Дата регистрации: 19.09.2005
> В FPW 2.6 еще не было такого понятия. Был шрифт по умолчанию
Значит не _screen
Точно помню, что можно было изменить шрифт по умолчанию у системного окна фокса. Возможно это можно было сделать через
MODIFY WINDOW SCREEN FONT cFontName, nFontSize
по умолчанию он вроде бы брался из системных, а системными в Win3.11 были растровые фонты FON (какой-нибудь MS Sans Serif)

к сожалению, FPW под рукой нет, проверить не могу. Попробую найти ссылки в инете
Ratings: 0 negative/0 positive
Re: Совместимость шрифтов FPW2.6 созданного в Win3.11 на WinXP
AlexSSS

Сообщений: 6113
Откуда: Tallinn, Estonia
Дата регистрации: 19.09.2005
может что-то прояснит
users.aol.com
support.microsoft.com
support.microsoft.com

Converter: How the Position of Screens Is Converted
support.microsoft.com



Отредактировано (27.11.05 22:53)


------------------
Чудес не бывает, бывают кривые руки
Ratings: 0 negative/0 positive
Re: Совместимость шрифтов FPW2.6 созданного в Win3.11 на WinXP
Влад Колосов

Сообщений: 22664
Откуда: Ростов-на-Дону
Дата регистрации: 05.05.2005
А если установить в виндовс кириллические шрифты от 3.1? Такой вид из-за подстановки шрифтов скорее всего.
Ratings: 0 negative/0 positive
Re: Совместимость шрифтов FPW2.6 созданного в Win3.11 на WinXP
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Hi Владимир!

Да уж, я предполагал что одноименные шрифты на разных версиях ОС отличаются,
но что НАСТОЛЬКО
Возможно тебе удастся определить "пропорцию", подобрать новый (помельче)
шрифт, и потом заменой подправить как шрифт, так и размеры.
P.S. FPW рядом нет, тока FPD ;)




------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Совместимость шрифтов FPW2.6 созданного в Win3.11 на WinXP
Влад Колосов

Сообщений: 22664
Откуда: Ростов-на-Дону
Дата регистрации: 05.05.2005
Помнится для 98-го я переписывал специально шрифты от 3.11. Гемор тот еще был.
Ratings: 0 negative/0 positive


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

On-line: 27 (Гостей: 27)

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