Summary: | Не отрисовывается текст условного обозначения | ||
---|---|---|---|
Product: | [Поддержка проектов] КОМПАС 3D | Reporter: | Виталий Булгаков <bulgakov> |
Component: | Тестирование | Assignee: | Anton Rudnev <mibori> |
Status: | CLOSED FIXED | QA Contact: | Денис Баранов <baraka> |
Severity: | critical | ||
Priority: | P2 | CC: | baraka, kondratyuk, lav, mais, mibori, mx, pav, shpigor, vitperov |
Version: | v10 | ||
Target Milestone: | --- | ||
Hardware: | PC | ||
OS: | All | ||
Whiteboard: | |||
Заявки RT: | Связано с: | ||
Дата напоминания: | |||
Bug Depends on: | |||
Bug Blocks: | 753, 961, 1732, 3106 | ||
Attachments: |
архив с примером
WINE: Скриншот при выбранной модели (текста А нет) WINE: Скриншот при выбранном пункте обозначения базы (текст А есть) Пример детали с проблемой Вид детали под Windows Скрин WINEvsWindows с выделенным обозначением ещё скрин |
надо воспроизвести... 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 |
Created attachment 915 [details] архив с примером Открыть файл из вложения. В прямоугольнике условного обозначения базы д.б. отрисован текст А. Как это должно быть можно увидеть открыв тот же файл в КОМПАС под Windows