В Windows 7 падает кодовая страница 866 после вызова Word из FPD | |
---|---|
Simple777 Автор Сообщений: 33855 Дата регистрации: 05.11.2006 |
Всем доброго времени суток!
После вызова из приложения FPD 2.6 редактора Word (2003 или 2007 - версия Word в данном случае, очевидно, не имеет значения) с помощью командной строки !c:\windows\cmd /c start winword /x /m<имя макроса> и возврата управления в приложение FPD происходит "падение" кодовой страницы кириллицы (вместо кириллицы выводятся пресловутые "кракозябы"). Причем сей эффект наблюдается только для шрифтов Lucida и Console (установленных в свойствах bat-файла, запускающего приложение FPD), для растровых же (точечных) шрифтов такой проблемы нет. Казалось бы, на нет и суда нет, ан нет... Растровые шрифты позволяют создать в лучшем случае окно размером в четверть экрана (при установке максимального размера шрифта), что в большинстве случаев оказывается неприемлемым для пользователя. У меня были большие надежды на SerPak 1 For Windows 7, но, как часто бывает, надежды не оправдались, и проблема осталась и после SerPak 1. Вообще говоря, эта проблема возникает и при запуске Wodr из командной строки (не из среды FPD). Возможно, кто-то уже решал аналогичную проблему, но, по крайней мере, мне не удалось при "беглом" поиске по форумам получить ответ на этот вопрос. |
Re: В Windows 7 падает кодовая страница 866 после вызова Word из FPD | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
1) 7-ка как я понимаю x86?
2) Пример с простым bat/cmd и этой проблемой можешь привести? Чтобы была видна смена кодировки консоли в chcp - т.к. у меня ничего такого не происходит... 3) Зачем пишешь путь к cmd, тем более неправильный? 4) У меня консоль корректно отображает русский текст что в 866, что в 1251 TT шрифтами (Consolas или Lucida Console) - а вот растерные шрифты работают с русским корректно ТОЛЬКО в 866-й кодовой странице (что, впрочем, и неудивительно). ------------------ WBR, Igor |
Re: В Windows 7 падает кодовая страница 866 после вызова Word из FPD | |
---|---|
Simple777 Автор Сообщений: 33855 Дата регистрации: 05.11.2006 |
Насчет Windows 7 - конечно, 32-разрядная, ведь 64-разрядная FPD просто не запустит (на всякий случай я это в свое время проверял).
Пример простого bat-файла: foxprox menu.app (выбросил все из реального bat-файла, но проблема-то все равно остается) Насчет пути к CMD - признаюсь, бес попутал, но в данном случае это непринципиально. Вообще говоря, можно проблему сформулировать более узко. Кодовая страница кириллицы пропадает при вызове CMD, а не при вызове Word (опять каюсь - отчего же сразу об этом не написал?). Если просто исполнить команду !CMD /c (то бишь ничего не делать и вернуть управление вызвавшему приложению), то кириллица "валится". Даже после того, как кодовая страница для Lucida Console и Consolas падает, достаточно в свойствах приложения Foxpro установить точечный шрифт, и "кракозябы" тут же исчезают, и появляется кириллица. К слову сказать, если просто запустить Foxpro (не из bat-файла), то это ровным счетом ничего не меняет. А происходит это примерно так. Пользователь формирует выходную форму, после чего Fox вызывает Word c соответствующим макросом, пользователь работает с Word, возвращается в приложение Foxpro и видит "кракозябы". Насчет "привести пример, чтобы была видна смена кодировки консоли в chcp" я не совсем понял, что имеется ввиду. |
Re: В Windows 7 падает кодовая страница 866 после вызова Word из FPD | |
---|---|
Влад Колосов Сообщений: 22664 Откуда: Ростов-на-Дону Дата регистрации: 05.05.2005 |
Вроде бы этот вопрос поднимали, поищите по конференции.
------------------ Совершенство - это не тогда, когда нельзя ничего прибавить, а тогда, когда нечего убавить. |
Re: В Windows 7 падает кодовая страница 866 после вызова Word из FPD | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Сама по себе - нет, но есть ведь разные "эмуляторы" и "виртуализаторы" в т.ч. Windows XP Mode... Имелось в виду пример БЕЗ FPD - т.е. один батник запускающий другой (с вызовом новой копии командного интерпретатора) и в итоге ломающий у себя chcp - т.е. текущую кодировку консоли... ------------------ WBR, Igor |
Re: В Windows 7 падает кодовая страница 866 после вызова Word из FPD | |
---|---|
Simple777 Автор Сообщений: 33855 Дата регистрации: 05.11.2006 |
Действительно, эта тема уже обсуждалась <forum.foxclub.ru/read.php?29512523,512780#msg-512780> тема ("Слетает шрифт (code page) при вызове RUN), но легче от этого не стало (Вы думаете, вам на сборах поставят тройку по экзамену? Поставят, но легче вам от этого не станет) В том числе приводились примеры с bat-файлами. Однако то обсуждение зашло в полный тупик. Если я правильно понял, то проблема сводится к тому, что "кто-то" (скорее всего, Windows) при установленных шрифтах Lucida Console и Consolas после возврата из CMD восстанавливает вместо 866 страницы страницу 437, причем Fox тут абсолютно не виноват. Может быть, есть какой-то способ "закинуть" в 437 кодовую страницу кириллицу? Или, возможно, где-то в свойствах кодовых страниц или шрифтов для NTVDM (если такие свойства есть) нужно изменить какие-либо умолчания? А, может быть, за истекший год после предыдущего обсуждения будут свежие идеи? Что же касается различных эмуляторов типа DosBox, то, наверное, их применение обязательно будет приводить еще к каким-нибудь проблемам, и так до бесконечности. Конечно, так устроен мир, - мы движемся от проблеме к проблеме. Но все же хотелось бы найти решение без применения каких-либо эмуляторов. |
Re: В Windows 7 падает кодовая страница 866 после вызова Word из FPD | |
---|---|
vk65 Сообщений: 402 Дата регистрации: 08.04.2008 |
попробуйте этот шрифт.
|
Re: В Windows 7 падает кодовая страница 866 после вызова Word из FPD | |
---|---|
XAndy Сообщений: 3803 Откуда: Киев Дата регистрации: 05.02.2004 |
20 растровых шрифтов, размеры до 11x21, с ними указанного глюка не будет
|
Re: В Windows 7 падает кодовая страница 866 после вызова Word из FPD | |
---|---|
vk65 Сообщений: 402 Дата регистрации: 08.04.2008 |
В том, что я прицепил, тоже много размеров, причем всё в одном файле.
Я, например, использую 12х27. |
Re: В Windows 7 падает кодовая страница 866 после вызова Word из FPD | |
---|---|
XAndy Сообщений: 3803 Откуда: Киев Дата регистрации: 05.02.2004 |
Спасибо, пригодится
|
Re: В Windows 7 падает кодовая страница 866 после вызова Word из FPD | |
---|---|
Simple777 Автор Сообщений: 33855 Дата регистрации: 05.11.2006 |
Спасибо за помощь! Вариант от vk65 NewDOS_F.rar содержит набор растровых шрифтов, наверное, на все случаи жизни. Возможно, в каких-то случаях пригодится и Fonts.rar от XAndy. Правда, радость была недолгой - в процессе проверки шрифтов я обнаружил ранее неизвестные мне заморочки с клавиатурой :confusedконечно, это не имеет никакого отношения к шрифтам), но это уже будет новая тема о глюках Windows 7. Эту же тему можно считать закрытой.
|
Re: В Windows 7 падает кодовая страница 866 после вызова Word из FPD | |
---|---|
Simple777 Автор Сообщений: 33855 Дата регистрации: 05.11.2006 |
Тема закрыта, но все же последние штрихи... В наборе шрифтов NewDOS_F.rar есть баги в шрифтах 14х33 и 16х39 - вместо большой Б выводится большая В. Конечно, это не проблема, есть много других размеров без багов, но лучше знать, чем не знать...
|
Re: В Windows 7 падает кодовая страница 866 после вызова Word из FPD | |
---|---|
Crispy Сообщений: 18571 Дата регистрации: 16.05.2005 |
Бегло глянул и подправил редактором шрифтов данные буквы. Заодно быстренько слегка подкорректировал во всех шрифтах написание букв Ж и ж - они практически везде не совсем корректно были нарисованы, поскольку в стандартном виде буква Ж как бы всегда должна иметь талию , чего там к сожалению не наблюдалось. По-хорошему, надо бы и остальные некоторые перерисовать под стандарты, но на это уже потребовалось бы несколько больше времени. В частности, неплохо бы например было сделать чуть-чуть различное написание у сходных русских и английских букв - чтобы не путать. Но увы, цигель-цигель ай-лю-лю. Подправленный файл (NewDOS_F+) прикрепляю в прицепе. ------------------ В действительности все иначе, чем на самом деле. (Антуан де Сент-Экзюпери) |
Re: В Windows 7 падает кодовая страница 866 после вызова Word из FPD | |
---|---|
Simple777 Автор Сообщений: 33855 Дата регистрации: 05.11.2006 |
Мир не без добрых людей!... Когда над шрифтами прилежно Сидите вы, склонясь небрежно, Глаза и кудри опустя, Я в умиленье, молча, нежно, Любуюсь вами как дитя... Прости, Александр Сергеич, не удержался... PS. Что мы знаем о Crispy? Ничего... И это еще не все... PS2. Просто хорошее настроение, никиках "вложений" и "подтекстов" просьба не искать. |
Re: В Windows 7 падает кодовая страница 866 после вызова Word из FPD | |
---|---|
wek Сообщений: 6 Откуда: Ярославль Дата регистрации: 11.02.2012 |
Привет всем лисоведам!
Я здесь впервые И сразу наткнулся на проблему, которая давно меня мучала (это я о падении кодовой страницы!) Мне кажется эта тема еще не закрыта! Работал я по следующей схеме: писал свои проги на Foxprox 2.6.DOS (работа с и БД) а отчеты выводил в Word, Excel в формате xml и html, меняя заранее заготовленный шаблон с помощью команд низкого уровня (Fread() & Fwrite()) спецсимволы (#,$,@...) на необходимые значения из *.dbf И все бы хорошо, но пришел век Win7. .... Для 32-битной ОС растровые шрифты меня не устраивали по дизайну и своей мелкотой и рубленностью. Внедрил по аналогии с Lucida Console в свойство окна программы моноширинный шрифт Courier New для этого - подредактировал системный реестр: в ветке [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont] создал строковый параметр (тип REG_SZ) "00" со значением Courier New (см. вложение) Этот шрифт более изысканный, чем любой растровый и лучше чем Lucida Console Но.. также сваливается после выдачи отчета в MSOffice или посещения Internet Exploorer Кстати, выход из программы я делал напрямую, а не через CMD: **** DO FDOFFICE COM=ALLT(_MEM_OFF)+'WINWORD.EXE '+IMF2 RUN /0 &COM **** где _mem_off - путь к Winword.exe в формате 8.3, найденный подпрограммой FDOFFICE, а IMF2 = файл, обработанный на низком уровне шаблон (формат doc, docx, xml) или: ***** com='c:\progra~1\intern~1\iexplore.exe www.adm.yar.ru/pred/details.asp?'+KOD_OKPO IF W_HWIN( -1, -1,' Интернет ','| Посмотреть информацию о ЛПУ в Интернете ?',' Да | Hет ') run /0 &com ENDIF **** Исправлено 1 раз(а). Последнее : wek, 13.03.12 01:46 |
Re: В Windows 7 падает кодовая страница 866 после вызова Word из FPD | |
---|---|
wek Сообщений: 6 Откуда: Ярославль Дата регистрации: 11.02.2012 |
Привет всем лисоведам!
Я здесь впервые И сразу наткнулся на проблему, которая давно меня мучала (это я о падении кодовой страницы!) Мне кажется эта тема еще не закрыта! Работал я по следующей схеме: писал свои проги на Foxprox 2.6.DOS (работа с и БД) а отчеты выводил в Word, Excel в формате xml и html, меняя заранее заготовленный шаблон с помощью команд низкого уровня (Fread() & Fwrite()) спецсимволы (#,$,@...) на необходимые значения из *.dbf И все бы хорошо, но пришел век Win7. .... Для 32-битной ОС растровые шрифты меня не устраивали по дизайну и своей мелкотой и рубленностью. Внедрил по аналогии с Lucida Console в свойство окна программы моноширинный шрифт Courier New для этого - подредактировал системный реестр: в ветке [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont] создал строковый параметр (тип REG_SZ) "00" со значением Courier New (см. вложение) Этот шрифт более изысканный, чем любой растровый и лучше чем Lucida Console Но.. также сваливается после выдачи отчета в MSOffice или посещения Internet Exploorer Кстати, выход из программы я делал напрямую, а не через CMD: **** DO FDOFFICE COM=ALLT(_MEM_OFF)+'WINWORD.EXE '+IMF2 RUN /0 &COM **** где _mem_off - путь к Winword.exe в формате 8.3, найденный подпрограммой FDOFFICE, а IMF2 = файл, обработанный на низком уровне шаблон (формат doc, docx, xml) или: ***** com='c:\progra~1\intern~1\iexplore.exe www.adm.yar.ru/pred/details.asp?'+KOD_OKPO IF W_HWIN( -1, -1,' Интернет ','| Посмотреть информацию о ЛПУ в Интернете ?',' Да | Hет ') run /0 &com ENDIF **** Кстати, если в MSOdffice заходить через FAR- менеджер, то после возврата в FAR, шрифт (Courier New) не портится! Исправлено 1 раз(а). Последнее : wek, 13.03.12 02:07 |
Re: В Windows 7 падает кодовая страница 866 после вызова Word из FPD | |
---|---|
samson_inv Сообщений: 5915 Откуда: Ростов-на-Дону Дата регистрации: 01.01.2005 |
Цитата:far не доссессия |
Re: В Windows 7 падает кодовая страница 866 после вызова Word из FPD | |
---|---|
Simple777 Автор Сообщений: 33855 Дата регистрации: 05.11.2006 |
Когда-то, давным-давно, я тоже делал выход напрямую (не через CMD), но столкнулся с различными ограничениями, сейчас даже вряд ли вспомню, вроде бы, надо было выполнить команду xcopy.exe, а напрямую почему-то это не получалось, и что-то еще, связанное с автоматическим восстановлением Normal.dot для Word. Но это к слову, а для обсуждаемой проблемы неважно, через какой вызов Word "рушится" страница 866.
Сдается мне, что Crispy при желании мог бы поставить под сомнение это утверждение... Решить проблему "в лоб" и найти, где же портится кодовая страница 866 и заменяется на 437, мог бы какой-нибудь крутой "Cool-хацкер" в режиме какого-нибудь "предварительного" отладчика, так ведь они же не по этим делам. Легенду о некоем таком отладчике, который грузится до Windows и все видит и все контролирует, я однажды слышал от одного "Cool-хацкера", но в дальнейшем ни от кого не получил подтверждения, что такие отладчики применяются - может быть, это их профессиональный секрет? На одном из Виндовых форумов даже сам Админ выразил мне соболезнование по поводу означенной проблемы - дескать, не знаем, где эта кодовая страница валится. Может быть, надо обратиться в службу технической поддержки MS? На данном же этапе использование растровых шрифтов бОльших размеров вполне закрывает проблему, по крайней мере для моих пользователей... |
Re: В Windows 7 падает кодовая страница 866 после вызова Word из FPD | |
---|---|
wek Сообщений: 6 Откуда: Ярославль Дата регистрации: 11.02.2012 |
1. Согласен: главное - не как войти, а как выйти
с потерей качества или без..... 2. Crispy я благодарен за выложенные растровые фонты! (хотя еще 1 замеченный баг вместо № - n в верхнем индексе (надстрочный)...) Да - это решение проблемы, но если 1 раз попробовать внедрить шрифт Courier New, то от этой красоты трудно отказаться (см.вложение) 3. Что же касается падения из кодовой страницы 866 в 437, то у меня - сомнения - было ли падение и туда ли упало (а может в 1251)? а может это подмена шрифта TrueType Lucida Console (Courier New) на другой, в котором нет русской составляющей (сегмента) И тогда проблема решаема: определяем этот шрифт и копируем "хороший" на "плохой" с переименованием на плохой и все это - где-то рядом в Windows\system32\fonts? ,например или в системном реестре что-то скорректировать. 1,5 года назад я подобрался очень близко к решению этой проблемы.. Дело было за малым: надо скопировать и переименовать, но в среде Win7 это запрещено по соображениям безопасности Т.е. надо это было сделать 1 раз до загрузки ядра Win7, но я поленился и потерял инструкцию,(скаченную из форума) и желание... Help me, please 4. Как в дистрибутив включить программу (автоматизировать процесс) установки шрифтов. Т.е. подскажите, какой пр-мой с параметрами устанавливаются шрифты? |
Re: В Windows 7 падает кодовая страница 866 после вызова Word из FPD | |
---|---|
Crispy Сообщений: 18571 Дата регистрации: 16.05.2005 |
Сорри, сходу не соображу по всем пунктам. По поводу же № - если будет время возможно завтра с утра гляну и подправлю, если оно как говорится кому-то надо, а мне несложно. Замечу только заради справедливости, что сами данные шрифты созданы не мной, а взяты из комента выше, поскольку на создание такого числа шрифтов потребовалось бы скажем так времени явно намного больше, чем на произведенную мною правку. Я всего лишь произвел корректировку в двух из них заглавных букв Б, ориентируясь на приведенное выше замечание Simple777, а затем, чисто уже из эстетических соображений, во всех практически шрифтах еще и подправил изображения букв Ж и ж. О чем и собственно и говорил выше. По поводу же установки конкретно растровых шрифтов, то я например данный шрифт даже и не "устанавливал", поскольку для работоспособности шрифтов старого образца обычно достаточно скопировать их в папку системных шрифтов, ну возможно иногда перезагрузиться на всякий случай. Хотя у меня например они и так сразу же появились для выбора (хотя можно устанавливать их и "обычным способом"). Проделывал все это на ХР, но думаю и на семерке тоже скорее всего прокатит простое копирование в нужный каталог. Естественно сама программа используемого установщика должна быть для этого запущена с нужными привилегиями, но это уже как бы другой вопрос. Единственное, что при желании тут можно еще автоматизировать - сразу же и прописать в свойства дос-окошка нужный шрифта. В ХР такое можно было просто решить через pif-файл, ну или через реестр при желании, но с семеркой сходу и не скажу, как в ней, возможно так же, возможно чуть иначе, лучше уточнить поиском. Ну или как оно чаще бывает "на свой страх и риск" - методом научного тыка. ------------------ В действительности все иначе, чем на самом деле. (Антуан де Сент-Экзюпери) |
© 2000-2024 Fox Club  |