У нас есть код, который напрямую записывает файлы CGM (или интерактивного WebCGM).Мы имеем полный контроль над всеми примитивами CGM и можем генерировать файлы версий 1, 3 или 4 по мере необходимости.В целом, CGM, который мы пишем, прекрасно отображает в различных стандартных средствах рендеринга (MetaWeb, SDI, ISoView и т. Д.) - эти средства рендеринга позволяют нам масштабировать, панорамировать или масштабировать без дефектов.
К сожалению, у нас возникает проблема, когдаКонечный пользователь импортирует те же файлы в Framemaker (версия 10).Вид файлов CGM после первоначального импорта правильный.Однако, если пользователь решает растянуть или сжать диаграмму CGM на странице, мы обнаружим, что:
1) при сжатии - не только текстовый шрифт уменьшается пропорционально (как и ожидалось)), однако расстояние между символами (класс 5 CGM, элемент 13) и коэффициент расширения символов (класс 5, элемент 12) также уменьшаются.В целом, текст уменьшается пропорционально по горизонтали
2) при расширении - все три шрифта текста, интервал между символами и коэффициент расширения символов увеличиваются, поэтому текст, который изначально был заключен в графическое поле, теперь будет расширензначительно выше правого поля.
Это похоже на ошибку в Framemaker.Однако у конечного пользователя также есть файлы, сгенерированные третьими сторонами, которые правильно масштабируются.Мы скопировали свойства этих файлов - в частности, настройку:
version to: '1'
scaling mode to: ABSTRACT
scale to 0
using Text(class 4, element 4) in place of Restricted Text (class 4, element 5).
Мы также экспериментировали с различными значениями для межстрочного интервала и коэффициента расширения символов (а именно 1, 0 и 0,01) без успеха.Как ни странно для обоих этих элементов исходные файлы содержат значение «9.0E-44», которое представляет собой Hex 0x00 0x00 0x00 0x40.Это похоже на ' значение секретного флага ' - но использование этого в наших собственных файлах, похоже, не имеет никакого эффекта.
Кто-нибудь знает значение этого значения флага и как его следует использовать?