|
SMArt Разработка интерфейсов пользователя |
|
Опции темы | Поиск в этой теме |
07.08.2018, 17:44 | #1 |
Senior Member
Регистрация: Nov 2017
Сообщения: 561
Благодарил(а): 3 раз(а)
Поблагодарили:
38 раз(а) в 30 сообщениях
|
Проблемы с отображением элемента "Вывод числа" (нет решения)
Наблюдаются проблемы с отображением элемента "Вывод числа" при использовании суффикса и выравнивания по правой границе, как в редакторе SMArt, так и на работающей программе.
Наблюдаются следующие симптомы: 1. В зависимости от комбинации заполнения поля "Суффикс" и переключения настройки "Число" могут получиться три варианта отступа. При этом, фактические настройки поля одинаковые. 2. При закрытии SMArt и открытии заново, отступ для таких полей сбрасывается в некоторое значение. Для теста работы элементов "Текст" и "Вывод числа" была создана программа, приложена к сообщению (файл screen-test.psl). Для пояснения, приведены скриншоты. Ниже дан скриншот с устройства SMH4 для полей, у которых в редакторе установлены одинаковые значения (у всех задан суффикс ":"): Вот, как это выглядит в редакторе: у двух других элементов настройки те же: item2.png item3.png А это пример, как получать разные отступы с одинаковыми настройками, в виде GIF-анимации: |
07.08.2018, 17:55 | #2 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Проблемы с отображением элемента "Вывод числа"
Выравнивание вправо не работает.
Наши программисты почему-то считают, что выравнивание тт-шрифта пробелами - это хороший способ выравнивания. Точнее считали, т.к. тех программистов уже с нами нет. Поэтому так и смарт работает. Не его это вина. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
07.08.2018, 17:57 | #3 |
Senior Member
Регистрация: Nov 2017
Сообщения: 561
Благодарил(а): 3 раз(а)
Поблагодарили:
38 раз(а) в 30 сообщениях
|
Ответ: Проблемы с отображением элемента "Вывод числа"
Так же, наблюдаются визуальные различия элемента "Вывод числа" в редакторе и на устройстве SMH4.
На рисунке ниже наложены два кадра -- скриншот с устройства и из редактора с полупрозрачностью. Слева элементы "Текст", их вид в точности соответствует тому, что в редакторе. Справа -- элементы "Ввод числа". Видно различие между устройством и редактором. Особо критично различие вертикального позиционирования. |
07.08.2018, 18:04 | #4 |
Сотрудник Segnetics
Регистрация: Apr 2008
Сообщения: 146
Благодарил(а): 13 раз(а)
Поблагодарили:
21 раз(а) в 20 сообщениях
|
Ответ: Проблемы с отображением элемента "Вывод числа"
У текста все хорошо, потому что он выводится на контроллере в виде картинки. А вот с числами сложнее - они выводятся непосредственно шрифтами, а система рендеринга разная на контроллере и в СМАрте.
Поэтому, либо так, либо запрет на использование различных шрифтов при выводе чисел, останется только моноширинный и для него будут подобраны поправки. __________________ Инженер "Сегнетикс" |
07.08.2018, 18:29 | #5 | ||
Senior Member
Регистрация: Nov 2017
Сообщения: 561
Благодарил(а): 3 раз(а)
Поблагодарили:
38 раз(а) в 30 сообщениях
|
Ответ: Проблемы с отображением элемента "Вывод числа"
Цитата:
Цитата:
Если "подвинуть" один кадр, то изображение для элемента "Вывод числа" совпадает: Наблюдал похожий симптом, когда были перепутаны уровни baseline и descent, или функции вывода используют разные базисы. Одна в качестве "y" -- baseline, другая в качестве "y" -- bottom, например. Эти параметры находятся в шрифте и извлекаются функциями, возвращающие "Font Metrics". |
||
07.08.2018, 18:34 | #6 | |
Senior Member
Регистрация: Nov 2017
Сообщения: 561
Благодарил(а): 3 раз(а)
Поблагодарили:
38 раз(а) в 30 сообщениях
|
Ответ: Проблемы с отображением элемента "Вывод числа"
Цитата:
Добавлено через 22 минуты Проверил, смещение по вертикали, можно сказать, не зависит от размера шрифта и составляет 1-2 пикселя. Ок, не так страшно. Добавлено через 37 минут По горизонтали смещение тоже не зависит от размера шрифта и, возможно, от шрифта и составляет 3-4 пиксела. |
|
08.08.2018, 12:42 | #7 |
Senior Member
Регистрация: Nov 2017
Сообщения: 561
Благодарил(а): 3 раз(а)
Поблагодарили:
38 раз(а) в 30 сообщениях
|
Ответ: Проблемы с отображением элемента "Вывод числа" (нет решения)
Подытожу, оставлю для справки картину с направлением сдвигов, может, кому-то понадобится еще:
|
09.08.2018, 12:40 | #8 |
Сотрудник Segnetics
Регистрация: Apr 2008
Сообщения: 146
Благодарил(а): 13 раз(а)
Поблагодарили:
21 раз(а) в 20 сообщениях
|
Ответ: Проблемы с отображением элемента "Вывод числа" (нет решения)
Спасибо за баг-репорт, постараюсь исправить.
__________________ Инженер "Сегнетикс" |
30.01.2022, 13:02 | #9 |
Senior Member
Регистрация: Nov 2017
Сообщения: 561
Благодарил(а): 3 раз(а)
Поблагодарили:
38 раз(а) в 30 сообщениях
|
Ответ: Проблемы с отображением элемента "Вывод числа" (нет решения)
Посмотрел причину несоответствия вывода числа 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 стало походить на правду. |