İki yüklü yazı biçimleri (Helvetica-Narrow
ve Helvetica-Bold
) kullanan basit bir test SVG var: Ben ImageMagick kullanarak bir PDF dosyasına bu dönüştürürsenizGüvenilir font seçimi ile SVG'yi PDF'ye ImageMagick ile dönüştürme?
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="100" height="50">
<text x="0" y="24" fill="blue" font-family="Helvetica-Bold" font-size="24px">Bold</text>
<text x="0" y="48" fill="blue" font-family="Helvetica-Narrow" font-size="24px">Narrow</text>
</svg>
(ImageMagick 7.0.2-0 S16 x86_64 CentOS Linux 7 üzerinde çalışan (Çekirdek)), sonuçta yüklü yazı tiplerini kullanmaz.
Örneğin:
$ convert -density 600 test.svg test.pdf
Verim:
Bu belirtilen yazı tipi aileleri birini eşleşmiyor hangiHelvetica
normal ağırlığını kullanarak ImageMagick varsayılan benziyor
giriş SVG.
Ardından, giriş SVG'sinde belirtilen yazı tiplerinden birinin yolunu belirtmeyi deniyorum. Bu, convert -list font
çalıştırıldığından belirlendiği gibi Helvetica-Bold
yazı tipine giden yoldur.
$ convert -density 600 -font /net/module/sw/ghostscript-fonts/5.50-32/n019004l.pfb test-helvetica-mix.svg test-helvetica-mix-bold.pdf
ilk <text>
elemanı
Helvetica-Bold
kullanır. İkinci
<text>
öğesi yanlış - aynı zamanda
Helvetica-Bold
kullanıyor, ancak gerçekten
Helvetica-Narrow
kullanıyor olmalıdır. Yine
, bu yaklaşım ile daha yakın alıyorum, bu yüzden giriş SVG kullanılan ikinci yazı biçimiyle yolunu eklemeyi deneyin:
$ convert -density 600 -font /net/module/sw/ghostscript-fonts/5.50-32/n019004l.pfb -font /net/module/sw/ghostscript-fonts/5.50-32/n019043l.pfb test-helvetica-mix.svg test-helvetica-mix-both.pdf
ImageMagick ikisi için Helvetica-Narrow
yazı tipini kullanır Aynı sebepten dolayı yanlış olan elemanlar.
ImageMagick'i SVG girişindeki <text>
öğelerinde belirtilen doğru yazı tiplerini kullanmaya ikna etmenin bir yolu var mı?
Orijinal SVG makinenizde doğru bir şekilde görüntüleniyor mu? Yani. doğru yazı tipleri ile? –
ImageMagick, bir all-trades dönüştürücüsüdür. Belirli bir formatta sorun varsa, beklenmedik olmaz. SVG'lerde uzmanlaşan birini denediniz mi? Örneğin Apache Batik? https://xmlgraphics.apache.org/batik/tools/rasterizer.html –
SVG doğru. Diğer araçlara yönelik önerileri takdir etsem de, belirtildiği gibi problemi çözdüğüme dikkat etmeliyim, yani ImageMagick'in yüklü fontlarla doğru çalışmasını sağlamak için özellikle gerekli olan şey. (Diğer araçların tartışılması muhtemelen bu iş parçacığının en iyisi olacaktır.) –