Автор Тема: Некорректное отображение mhtml  (Прочитано 1068 раз)

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 182
  • antohami@
На сайте моего ЖКХ квитанции формируются в формате mhtml. И все браузеры, кроме firefox-gost, открывают этот файл одинаково некорректно. Проверял на chromium 49, chrome 51, firefox 47, firefox-esr 45, firefox 38, epiphny-3.20, opera 12. Файл прилагаю.

А на windows XP те же firefox и Chrome открывают этот файл корректно, видимо используют родные либы винды.
« Последнее редактирование: 06.07.2016 11:41:26 от Антон Мидюков »

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Re: Некорректное отображение mhtml
« Ответ #1 : 06.07.2016 12:38:05 »
У меня автоматом Kmail открыл, правда шрифт слишком большой - может птичка откроет?

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 182
  • antohami@
Re: Некорректное отображение mhtml
« Ответ #2 : 06.07.2016 13:30:57 »
Проблема не в mhtml, а в стилях. Там есть такая строчка:
fonts-family: Times,bold, serif !important;

Наш Times и serif не подходит, текст не влазит в таблицу и таблицы расширяются. Та же беда с Times New Roman, хотя на Винде этот шрифт нормально отображается (пакет fonts-ttf-ms установлен). Хорошо подходит Arial, вот с ним всё отлично выглядит.

Понять бы почему Times New Roman глючит...

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Re: Некорректное отображение mhtml
« Ответ #3 : 06.07.2016 13:53:23 »
А каким файлом описания фонтов он у нас задаётся? Как я понимаю - там сложная система, которая включает подстановку аллиасов шрифтов, если не найден нужный шрифт. Я точной теории не знаю, но предполагаю, что разница связана с алгоритмом выбора подходящего шрифта в Windows и Linux, а не с самаим шрифтом.

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 182
  • antohami@
Re: Некорректное отображение mhtml
« Ответ #4 : 06.07.2016 14:24:18 »
А каким файлом описания фонтов он у нас задаётся? Как я понимаю - там сложная система, которая включает подстановку аллиасов шрифтов, если не найден нужный шрифт. Я точной теории не знаю, но предполагаю, что разница связана с алгоритмом выбора подходящего шрифта в Windows и Linux, а не с самаим шрифтом.

Алгоритм выбора шрифта один и тот же. Вся разница в шрифтах, которые есть в системе, плюс в том какие шрифты в настройках браузера установлены в качестве serif (с засечками ) и sans-serif (без засечек). А шрифты я менял на лету в firefox в режиме разработки.

Проблему вижу в том, что Times, Times New Roman, serif (шрифт, по-умолчанию, с засечками) отображаются крупно.

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Re: Некорректное отображение mhtml
« Ответ #5 : 06.07.2016 14:40:47 »
Он-же вроде не ttf - т.е. не масштабируемый, а значит его размер - только один из -надцати параметров, по которому ищется подходящий шрифт. В Windows - размер шрифта - привилегированный параметр. Там лучше засечки уберут, чем размер поменяют.

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 182
  • antohami@
Re: Некорректное отображение mhtml
« Ответ #6 : 06.07.2016 14:55:19 »
Он-же вроде не ttf - т.е. не масштабируемый

Как раз-таки ttf, даже пакет называется fonts-ttf-ms. Может проблема в самом рисовании ttf?

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Re: Некорректное отображение mhtml
« Ответ #7 : 06.07.2016 15:00:02 »
Там не только этот Times есть. Там и старый должен быть, фиксированного размера. Во всяком случае раньше был

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Re: Некорректное отображение mhtml
« Ответ #8 : 06.07.2016 15:01:31 »
$ apt-cache search times | grep font
fonts-type1-htmldoc - Font used by htmldoc function
fonts-otf-gfs-artemisia - GFS Artemisia fonts
fonts-ttf-adf-tribun - A newsprint-like serif typeface
fonts-ttf-google-croscore-tinos - The croscore Tinos family fonts
fonts-ttf-liberation - Fonts to replace commonly used Microsoft Windows Fonts
fonts-ttf-liberation-narrow - Sans-serif Narrow fonts to replace commonly used Microsoft Arial Narrow
fonts-ttf-mgopen-canonica - Truetype variable-stroke-width serif font faces
fonts-ttf-scholarsfonts-cardo - A font for scholarly use in classical and medieval languages
fonts-ttf-sil-doulos - Doulos SIL fonts
fonts-ttf-wallpoet - Wallpoet font by Lars Berggren
fonts-type1-urw - Free versions of the 35 standard PostScript fonts

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Re: Некорректное отображение mhtml
« Ответ #9 : 06.07.2016 15:05:26 »
В /etc/fonts/conf.avail нашел несколько times


Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 182
  • antohami@
Re: Некорректное отображение mhtml
« Ответ #10 : 06.07.2016 17:09:23 »
Как мне кажется проблема в логике масштабирования шрифтов в Линукс и в windows. У Times New Roman шрифты есть с кеглем 6, 12 ... В Windows на кегле 9 масштабируется кегль 6, а в Линукс кегль 12, в результате размер шрифта в Линукс на много больше чем в Windows на этом кегле. И ничего тут не попишешь. Не предназначен Times New Roman для кегля меньше 12 есть такое правило в веб-дизайне, оказывается. Написал админу ЖКХ о том, чтобы поменял Times на Arial. Не знаю пошлёт он меня или нет с моими советами :-)

Обойти проблему, кстати, можно отключением использования шрифтов предлагаемых сайтом, то есть использовать шрифты браузера, главное в качестве Serif шрифт Times не использовать.

Оффлайн Paver

  • Участник
  • *
  • Сообщений: 210