vitus_wagner: My photo 2005 (Default)
[personal profile] vitus_wagner

Недавно в постгресовской документации начали появляться иллюстрации. Красивые такие диаграммы, нарисованные в векторном SVG-формате.

А мы тут при подготовке первого релиза первого нашего продукта на базе 13-й версии решили еще и проверить, что в поставляемых с windows-версиях chm-файлах все в порядке.

И обнаружили, что не всё - картинки не показываются.

Стали разбираться. Выяснили, что

  1. В docbook xml существует два способа вставлять картинки новый, правильный
           <imagedata fileref="images/genetic-algorithm.svg" format="SVG" width="100%"/>
         
    и старый, неправильный, который скоро перестанет поддерживаться:
           <graphic scalefit="1" width="95%" fileref="demodb-bookings-airlines.png"/>
         
    Первый стайлшитом транслируется в тэг <object>, а второй - в старый добрый <img>.
  2. Микрософтовский html help compiler, который не менялся как бы не с прошлого века, <img> знает и любит, и если найдет в html-е этот тэг, не забудет запаковать файл, указанный в его атрибуте src, даже если в проектном файле (.hhp) этот файл не упомянут.
  3. По умолчанию htmlhelp вызывает для отображения хелп-страниц интернет эксплорер в режиме совместимости с 7-й версией, которая svg показывать не умела.

То есть если воткнуть туда png или jpg как graphics, то все прекрасно покажется, лишь бы в момент компиляции нашелся нужный файл. Если это svg, то нужен уровень совместимости 9-й версией эксплорера, а чтобы стильный модный, молодежный <object> отрисовался корректно, так и вообще с 11.

Но, оказывается если написать в начале файла (в тэге <head>) магическое заклинание
<meta http-equiv="X-UA-Compatible" content="IE=11">

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

Надо всего лишь после того как отработал xsltproc пробежаться каким-нибудь средством пакетного редактировани по всем сгенерированным html-файлам и добавить этот тэг. Например:

sed -i '/<head>/a\
<meta http-equiv="X-UA-Compatible" content="IE=11">
' *.html

(ах, у вас на машине нет msys с sed-ом и башем? Ну так вы все равно постгрес без них не соберете, не говоря уж о том, чтобы с докбуковской докмуентацией работать).

Date: 2020-10-13 08:54 pm (UTC)
dmarck: (Default)
From: [personal profile] dmarck
вот эти пляски с run-depends, build-depends, и прочим похожим -- уже чуть начинают утомлять

Profile

vitus_wagner: My photo 2005 (Default)
vitus_wagner

January 2026

S M T W T F S
     1 2 3
4 5678910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 6th, 2026 11:26 pm
Powered by Dreamwidth Studios