Как заставить rsvg принять 96 точек на дюйм для SVG? - PullRequest
0 голосов
/ 20 сентября 2018

Когда я использую

rsvg-convert.exe -f pdf -o <output-name>.pdf <input-name>.svg

, я получаю результат, который отличается от способа визуализации SVG в Inkscape и Firefox.

Это простой тест SVG:

<svg width="150" height="100" xmlns="http://www.w3.org/2000/svg">
  <text y="50" font-size="12" fill="black">Test</text>
  <text x="50" y="50" font-size="12pt" fill="black">Test</text>
  <text x="100" y="50" font-size="16px" fill="black">Test</text>
</svg>

В Inkscape и Firefox средний и правый текст имеют одинаковый размер, так как в этих приложениях предполагается, что 1pt = 1.333333px, что является рекомендацией CSS.Тем не менее, rsvg, кажется, принимает 1pt = 1.25px, что приводит к разным размерам текстов.Как я могу получить rsvg для правильного вывода (как Inkscape и Firefox).

Я попробовал варианты -p и -d с 96, но это также не дало правильного результата.

Ответы [ 2 ]

0 голосов
/ 24 октября 2018

Настройка dpi работает здесь с rsvg-convert 2.40.20:

rsvg-convert -f pdf --dpi-x=96 --dpi-y=96 -o <output-name>.pdf <input-name>.svg

Я также подтвердил установку формата вывода на svg (текст будет преобразован в пути) и сравнение высоты в Inkscape.

0 голосов
/ 20 сентября 2018

Многие приложения правильно обрабатывают SVG, где ширина и высота - дюймы, например

<svg width="1.5in" height="1in" xmlns="http://www.w3.org/2000/svg">
</svg>

Я не знаком с rsvg-convert.exe, но это первое, что я попробую.Отрегулируйте ширину и высоту по необходимости.

...