for flooders
:: Главная :: Решения :: Статьи :: Сайт М. Дроздова :: Файловый архив :: Книга по VFP 9 :: Русский Help Online :: OFF-LINE Форум
   Лисоводы   всех   стран,  объединяйтесь !!!  

Список Форумов  :: Visual Foxpro, Foxpro for DOS
  

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

Сообщений: 13871
Откуда: Москва
Дата: 26.11.05 22:25:59
Есть мое приложение созданное лет 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

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




------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive

Re: Совместимость шрифтов FPW2.6 созданного в Win3.11 на WinXP
Лариса

Сообщений: 398
Откуда: Calgary
Дата: 26.11.05 22:33:03
Может это поможет:
в классе формы на событие 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

Сообщений: 18600
Откуда: Курган
Дата: 26.11.05 22:35:59
Лариса - это FPW 2.6 там нету thisform.setall




------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive

Re: Совместимость шрифтов FPW2.6 созданного в Win3.11 на WinXP
Лариса

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




------------------
Listen and forget. Read and remember. Do and understand.
Ratings: 0 negative/0 positive

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

Сообщений: 13871
Откуда: Москва
Дата: 26.11.05 23:20:42
Цитата:
Попробуй все-таки поменять основной фонт формы - все в 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
Владимир Максимов
Автор

Сообщений: 13871
Откуда: Москва
Дата: 26.11.05 23:24:04
Цитата:
Я так поняла, что приложение уже переписано на VFP6.
Да. Перписано. Но заказчик хочет себе поставить именно старую версию, написанную на FPW 2.6. Вот теперь и мучаюсь...
Ratings: 0 negative/0 positive

Re: Совместимость шрифтов FPW2.6 созданного в Win3.11 на WinXP
Alex Roublev

Сообщений: 3695
Откуда: Ярославль
Дата: 27.11.05 03:34:22
А ежели все формочки открывать как таблицы и программно циклом прописывать нужный шрифт и т.д. в поле свойств объектов?
Ratings: 0 negative/0 positive

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

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

Структура файлов 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

Сообщений: 6110
Откуда: Tallinn, Estonia
Дата: 27.11.05 19:42:16
а фоксель случайно берется не с основного шрифта _screen?
Ratings: 0 negative/0 positive

Re: Совместимость шрифтов FPW2.6 созданного в Win3.11 на WinXP
piva

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




------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive

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

Сообщений: 13871
Откуда: Москва
Дата: 27.11.05 22:06:19
Цитата:
а фоксель случайно берется не с основного шрифта _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

Сообщений: 6110
Откуда: Tallinn, Estonia
Дата: 27.11.05 22:42:19
> В 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

Сообщений: 6110
Откуда: Tallinn, Estonia
Дата: 27.11.05 22:44:47
может что-то прояснит
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
Откуда: Ростов-на-Дону
Дата: 28.11.05 13:01:51
А если установить в виндовс кириллические шрифты от 3.1? Такой вид из-за подстановки шрифтов скорее всего.
Ratings: 0 negative/0 positive

Re: Совместимость шрифтов FPW2.6 созданного в Win3.11 на WinXP
Igor Korolyov

Сообщений: 34002
Дата: 28.11.05 13:49:51
Hi Владимир!

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




------------------
WBR, Igor
Ratings: 0 negative/0 positive

Re: Совместимость шрифтов FPW2.6 созданного в Win3.11 на WinXP
Влад Колосов

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



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

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

20.01.2021 09:15:49 exec: 0.02
Mem: 1.453 Mb

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