Created attachment 915 [details] архив с примером Открыть файл из вложения. В прямоугольнике условного обозначения базы д.б. отрисован текст А. Как это должно быть можно увидеть открыв тот же файл в КОМПАС под Windows
надо воспроизвести...
Created attachment 945 [details] WINE: Скриншот при выбранной модели (текста А нет)
Created attachment 946 [details] WINE: Скриншот при выбранном пункте обозначения базы (текст А есть)
Created attachment 947 [details] Пример детали с проблемой
Created attachment 948 [details] Вид детали под Windows
Проблема подтверждается, все как в скриншотах. При чем, при выборе пункта обозначение базы текст показывается, но он смещен немного в сторону по сравнению с виндовс.
должна воспроизводится для 10-ого компаса есть бутылка на cellar kompas/kompas10lt локально на cellar'e запускать нельзя.
На cellar видеодрайвер стоит vesa, поэтому только софтовый GL, с которым не работает wine.
Created attachment 978 [details] Скрин WINEvsWindows с выделенным обозначением Видно, что выделенная буква прорисовывается 2 раза. В Windows (слева) буквы совпадают. В wine чёрная буква отображается двоеточием, а зелёная - с неправильным наклоном.
на multi компас запускается перекореживая иксы где, кроме euclid еще можно воспроизводить багу?
ошибка связана с 3101 и сначала необходимо добиться ее исправления. Добавил тест в 3101.
Ошибка прорисовки не связана с 3101, для неё требуется отдельный тест. 3101 исправили.
Created attachment 988 [details] ещё скрин После выполнения действий "Сервис - Параметры - Система - Редактор моделей - Размеры и обозначения - снять чекбокс Оптимизировать изображение" видим искомую букву.
Разница в прорисовке "зелёной" и "чёрной" букв в случае с неисправленной багой 3101 (неправильный поворот) вызывают предположение, что сами буквы рисуются принципиально по-разному. Зелёная - прямым шрифтом (lfEscapement == 0) с использованием поворота функцией SetWorldTransfotm. Это случай баги 3101, исправление матрицы поворота решает проблему. Чёрная - в прямой системе координат (без World transform), но со шрифтом с ненулевым lfEscapement. В этом случае где-то неправильно считается ширина символа, возможно на этапе рендеринга. Хочется увидеть подтверждение или опровержение этих догадок. Очень поможет тест, который выведет букву способом, применяемым в программе для отрисовки "чёрной" буквы, и даст возможность её масштабировать, наглядно показав проблему с нарушением ширины символа.
см. лог одной перерисовки в каналах xrender и font ftp:pvt/Windows/Testing/Bugs/2999/2999-AA.txt интересное начинается с 10324-ой строки. (смотреть в моноширинном шрифте с отключенным переносом строк). Также уточну, что для одной перерисовки вызывается только один ExtTextOutW(..."A"...), несмотря на то, что рисуется две буквы.
Итак, к баге 2999 относится то, что рисовалось чёрным шрифтом в обозначении. В отличие от зелёного текста, этот текст выводится через GL: сначала получаются изображения глифов в glList через wglUseFontOutlines, потом выводим. Ширина символа исправлена патчем commit 0d9b6acf6f328a3b4ce8515a586c44f34ba18423 Author: Vitaly Lipatov <lav@etersoft.ru> Date: Thu Dec 25 21:27:46 2008 +0300 wglUseFontOutlines: set lfWidth according to RC size (see eterbug #2999) и лежит в обновлённой сборке eter39 ftp://updates.etersoft.ru/pub/Etersoft/WINE@Etersoft/1.0.9-eter39/WINE/ALTLinux/4.1/
Не воспроизводится WINE@Etersoft CAD eter2.1/eter2