RichText - неправильный вывод (что-то в профиле Windows)

Обсуждение Stimulsoft Reports.NET
Ivan
Сообщения: 641
Зарегистрирован: 10 авг 2006, 05:40
Откуда: Stimulsoft Office

Re: RichText - неправильный вывод (что-то в профиле Windows)

Сообщение Ivan »

Здравствуйте.
RichText имеет те же настройки, т.е. WYSIWYG. Мы не можем поставить другой, например Typographic, т.к. используем HTML-теги внутри.
Уточните пожалуйста, про какой именно компонент идёт речь.
RichText имеет только свойство WYSIWYG=true/false, HTML-теги он не поддерживает.
Простой Text имеет TextQuality=Standard/Typographics/Wysiwyg и поддерживает HTML-теги.
Для примера всё так же, можно взять "Типовой договор.mrt" из первого поста данного топика.
К сожалению, уже не можем. Несколько лет назад при переезде на другой движок форумов не удалось импортировать базу прикрепляемых файлов.
Поэтому вышлите пожалуйста тестовый отчёт для анализа заново.
Спустя много лет возникла другая проблема, - разный шрифт на разных версиях ОС Windows. На Win7/8 всё отображается корректно, а на Win10 уже нет, - слишком мелкий штрифт, хотя указан в RichText "font size=9.5", а на практике на Win7/8 так и есть, а на Win10 получается на страницу меньше, т.е. визуально там штрифт какой-то другой, не 9.5, а 6 или 7-й кегль.
Именно такое поведение воспроизвести пока не удалось, возможно что-то зависит от содержимого самого отчёта.
Но есть такая известная особенность: RichText в Wysiwyg режиме отображается немного по-другому. Например, часто в этом режиме буквы отображаются немного плотнее, и меньше межстрочное расстояние.
Поэтому высота текста RichText в Wysiwyg режиме получается обычно меньше.
Если в системе установлен масштаб шрифта отличный от 100%, то по умолчанию отображение RichText переключается в Wysiwyg режим (а иначе будет отображаться некорректный масштаб текста).
Т.е. при изменении масштаба системы высота текста RichText получается обычно меньше.

В нашем тестовом отчёте один и тот же текст выводится два раза, второй раз в режиме Wysiwyg (помечен жёлтым фоном).
Отображение отчёта при масштабе системы 100%
Отображение отчёта при масштабе системы 100%
100percent.PNG (239.79 КБ) 1920 просмотров
Отображение отчёта при масштабе системы 125%
Отображение отчёта при масштабе системы 125%
125percent.PNG (748.65 КБ) 1920 просмотров
Видим, что RichText в режиме Wysiwyg не изменился, а без Wysiwyg стал меньше по высоте.
P.S. Попробовали переставить масштаб с 125% на 100% (на Win10), - стало печатать 4 страницы, не совсем так, как в Win8, но очень похоже, и это приемлемо.
После чего, переставили обратно штрифт на 125%, - ничего не изменилось, т.е. теперь печатется нормально.
Это ещё одна наша головная боль.
В Win7 было два режима масштабирования - WinXP style и простой.
В Win8 простой режим масштабирования был изменён, и всё стало выглядеть немного по-другому. Но в реестре можно было включить старый режим.
В Win10 первой версии мало что отличалось от Win8. Но потом в каждом крупном обновлении были какие-то изменения.
И на данный момент после последнего крупного обновления режим масштабирования больше изменить не получается, даже в реестре.

Была замечена такая закономерность: если Windows обновляется до следующей версии, то настройки масштабирования в большинстве случаев не изменяются.
Но если изменить значение масштаба, то перезаписываются новые настройки.
Поэтому часто бывает, что при обновлении Win8 до Win10 сразу остаётся режим масштабирования старый, но как только изменяешь масштаб, тут же включается новый режим масштабирования, и текст начинает выглядеть по-другому.

Спасибо.
Леонид
Сообщения: 329
Зарегистрирован: 23 июл 2009, 09:53
Откуда: Moscow

Re: RichText - неправильный вывод (что-то в профиле Windows)

Сообщение Леонид »

Добрый день!

Тестовый файл в приложении.
Уточните пожалуйста, про какой именно компонент идёт речь.
RichText имеет только свойство WYSIWYG=true/false, HTML-теги он не поддерживает.
Простой Text имеет TextQuality=Standard/Typographics/Wysiwyg и поддерживает HTML-теги.
Действительно, я оговорился, мы используем Text, а не RichText.
Это ещё одна наша головная боль.
В Win7 было два режима масштабирования - WinXP style и простой.
В принципе, мы решили эту проблему так в Win10, - просто переставили масштаб с 125% на 100%, а затем сразу обратно, и всё заработало, но не абсолютно также, как в Win8, а примерно похоже, т.е. приемлемо, но этот момент нужно решить на будущее, т.к. машин с Win10 всё больше и больше.

В принципе, на данный момент, workaround в Win10 такой: переставляете масшаб с 125% на 100% и обратно, - будет работать.

Ещё один вопрос по html-тегам (в компоненте Text с TextQuality=Wysiwyg).

Код: Выделить всё

<ou>
<li>- копию устава;</li>
<li>- ещё документ;</li>
<li>- ещё документ;</li>
<li>- анкета контрагента;</li>
</ou>
Как здесь сделать так, чтобы не было кружков слева, а были дефисы "-"? <ou type="none"> и пр. теги почему-то не работают. Как это сделать?
Вложения
Типовой договор (Тестовый для Stimul).mrt
(73.77 КБ) 371 скачивание
Ivan
Сообщения: 641
Зарегистрирован: 10 авг 2006, 05:40
Откуда: Stimulsoft Office

Re: RichText - неправильный вывод (что-то в профиле Windows)

Сообщение Ivan »

Здравствуйте.
В принципе, мы решили эту проблему так в Win10, - просто переставили масштаб с 125% на 100%, а затем сразу обратно, и всё заработало, но не абсолютно также, как в Win8, а примерно похоже, т.е. приемлемо, но этот момент нужно решить на будущее, т.к. машин с Win10 всё больше и больше.
К сожалению, мы не знаем, как решить эту проблему.
До и после изменения масштаба (со 125% до 100% и обратно) значение масштаба в реестре остаётся записано то же самое, но меняются ещё какие-то параметры системы.
И мы не смогли выявить закономерность, что и где меняется и как это влияет. Просто текст начинает выводиться по-другому.
Как здесь сделать так, чтобы не было кружков слева, а были дефисы "-"? <ou type="none"> и пр. теги почему-то не работают. Как это сделать?
У нас поддерживается только ограниченное количество тэгов и их атрибутов. В тэгах списка атрибуты ранее не поддерживались.
Мы сделали небольшую доработку, теперь поддерживается атрибут "type" для тэгов "ul", "ol", "li".
Принимаются значения "disc", "circle", "square", "none" или первый символ строки в остальных случаях.

Спасибо.
Ответить