Несоответствие отображения (шрифтов) веб-интерфейса через WBE2-HDMI

Проблема с отображением через WBE2-HDMI. Шрифты не те, отцентровать текст нормально (прогнозируемо) не получается - всё плавает туда-сюда, пробовал разные шрифты - разницы нет. В конфиге и скрипте для старта xinit ничего нет про шрифты. А судя по всему надо в firefox который выводится через hdmi прибить нужные шрифты. Разумеется в Хроме по сети всё идеально как не изголяйся

При подключении в браузере используются шрифты компьютера.
При подключении по HDMI используются шрифты из Х11 линукса на контроллере.

Да, это я понимаю. Вместе с этим, если подсунуть браузеру шрифт которого у него не оказалось, мы получаем кривую картинку уже в браузере - и шрифт таймсНьюРоман, а не убунту и центровка рушится. Такая себе вёрстка получается когда оно живёт своей жизнью) Поэтому возник вопрос. Есть способ передать один и тот же шрифт и в браузер по сети и по локалхост средствами линукса?

Добрый день!

Вашим вопросом займется инженер. В течение дня даст ответ.

Добрый день!
Да, понятно, в разных браузерах – разные шрифты, добиться одинаковой картинки сложно.
Я бы порекомендовал вам попробовать привязать текст в SVG к точе в середине:

<text x="960" y="966.949"
      text-anchor="middle"
      dominant-baseline="middle"
      style="font-size:96px;font-family:ISOCPEUR;fill:#333333;stroke:#cccccc;stroke-width:5">
  button 4
</text>

Чтобы фонт был доступен оттовсюду, ссылку на него можно попробовать сделать класс для текста с таким шрифтом в SVG:

<style><![CDATA[
@import url('https://fonts.googleapis.com/css2?family=Ubuntu:wght@400;700&display=swap');

.wbtext {
  font-family: "Ubuntu", sans-serif;
}
]]></style>

И использовать потом:
<text class="wbtext">…</text>

SVG, насколько знаю, позволяет инкорпорировать шрифты прямо в SVG, перекодировав файл в Base64.

Можете хранить шрифты прямо на контроллере, но для этого вам надо будет поменять конфигурацию nginx, описав путь к папке со шрифтами.

чёт не срабатывает. Добавил в /var/www/fonts/ нужный шрифт, добавил в /etc/nginx/includes/default.wb.d/fonts.conf

location /fonts/ {

    alias /var/www/fonts/;

    expires 1y;

    add_header Cache-Control "public, immutable";

    access_log off;




    # Разрешаем CORS для шрифтов (важно для @font-face)

    location ~* \.(woff|woff2|ttf|eot)$ {

        add_header Access-Control-Allow-Origin "*";

    }

}

рестартанул, не работает - на компе нет Убунты, на дисплее с hdmi ещё и Isocpeur. Где ещё что прописать нужно?

А сам фонт доступен по этому пути с контрорллера? В консоли браузера без ошибок? Пришлите ваш SVG, можно в личные сообщения, посмотрю!

  1. Шрифты доступны и по сети и через hdmi по localhost.
  2. Ошибок в консоли по шрифтам нет.
  3. Создал тестовую страницу в которой указал свои шрифты - всё работает.
  4. Файлики с svg юзаю ваши пока изучаю тему, например wb-dashboards-demo/flat-dash-demo/svg/panel-floor.svg at main · wirenboard/wb-dashboards-demo · GitHub
  5. Шрифты, указанные в svg при отрисовке веб-интерфейса не передаются, хотя браузер видит что они прописаны в svg.

Чувствую что куда-то надо вставить @font-face {} )) Есть способ заставить страницу считывать указанные в /mnt/data/etc/wb-webui.conf шрифты из прописанных там svg?

Боюсь, нет простых способов. А вот так, как я советовалб с классом в SVG не получается?
Вот это:

<style><![CDATA[
@import url('https://fonts.googleapis.com/css2?family=Ubuntu:wght@400;700&display=swap');

.wbtext {
  font-family: "Ubuntu", sans-serif;
}
]]></style>

?

да это конечно работает, но это ж надо после создания в Inkscape файла ручками выискивать все текстовые блоки и править. Хоть бы как-то это автоматизировать

Проконсультировался с нашими разработчикаими-фронтэндерами, мне сказали, что к них задача по отображению шрифтов в SVG-панелях стоит, какой-то механизм будет реализован, но сейчас ничего предложить не можем.
Я не уверен, что шрифты, которые страница с SVG подгрузит, будут автоматом рендериться в самом SVG, там свое пространство стилей, не унаследуется.
Я бы преложил, если не хочется руками,написать скрипт для автозамены в SVG шрифтов на шрифты со ссылками – нашего робота можно поробовать попросить.

Здравствуйте! Остались ли вопросы у вас по этой теме?

спасибо за консультацию, наверно проще и в итоге уйти в отображение своей html чем мучиться с вёрсткой svg)

Нет, мучится точно не надо! Коллеги-разработчики в курсе, надеюсь, у них получится сделать так, чтоб не мучится больше не приходилось!