Показать сообщение отдельно
Старый 30.01.2022, 12:43   #1
Gel
Senior Member
 
Регистрация: Nov 2017
Сообщения: 561
Благодарил(а): 3 раз(а)
Поблагодарили: 38 раз(а) в 30 сообщениях
По умолчанию Несоответствие вывода числа в SMArt и в реальности

Посмотрел причину несоответствия вывода числа SMArt и в реальности, которая упоминалась в теме https://forum.segnetics.ru/showthread.php?t=5532

Выяснил причину вот этого несоответствия, которое заметно на мелких шрифтах:



В SMArt для вывода используется флешевый компонент flash.text.TextField, который имеет фиксированное смещение в 2 пиксела по горизонтали и вертикали. Об этом упоминается в документации: https://help.adobe.com/en_US/FlashPl...neMetrics.html



При выводе на контроллере этого смешения нет.

Попробовал хакнуть SMArt (AirPort.swf) на предмет этого смещения путем его вычитания, получилось. Правка класса TrimNumberPrimitiveBaseCB в методе commitProperties:



После этого по позиционирования расхождений нет (если не считать других глюков), отображение в SMArt стало походить на правду.
Изображения
Тип файла: png smart-bug-cut.png (10.4 Кбайт, 207 просмотров)
Тип файла: jpg gutter.jpg (63.3 Кбайт, 213 просмотров)
Тип файла: png fix1.png (12.9 Кбайт, 218 просмотров)
Gel вне форума   Ответить с цитированием