1

コマンドラインから Inkscape を実行して SVG を PDF に変換しています。fontconfig を使用して、SVG 内のテキスト要素の font-family を (Debian) マシン上のフォント ファイルと一致させています。これは、テキスト要素の style プロパティの font-family 値にピリオド (.) が含まれている場合を除いて機能します。たとえば、SVG のテキスト要素のスタイル値は次のとおりです。

font-family: Lobster1.4

PDF Inkscape エクスポートでは、この要素は Lobster ではなくデフォルトのフォントでレンダリングされます。そこで、/etc/fonts/local.conf にルールを追加します。

1  <match target="pattern">
2     <test qual="any" name="family">
3         <string>Lobster1.4</string>
4     </test>
5     <edit name="family" mode="assign">
6         <string>Lobster 14</string>
7     </edit>
8     <edit name="style" mode="assign">
9         <string>Regular</string>
10    </edit>
11 </match>

次に、fc-cache を実行し、以前と同様に Inkscape を使用して変換しますが、テキスト要素は Lobster でレンダリングされません。

しかし、この要素の SVG のスタイル値を次のように変更すると:

font-family: Lobster14

上記の 3 行目を次のように変更します。

3         <string>Lobster14</string>

Lobster では、テキスト要素が完全にレンダリングされます。したがって、問題を引き起こしているのはピリオド (ドット) 文字です。残念ながら、私が取り組んでいるビジネス プロセスでは、SVG 入力を変更することは禁止されているため、この期間に対処する必要があります。しかし、どのように?3 行目のドットをエスケープするにはどうすればよいですか? これは動作しません:

3         <string>Lobster1\.4</string>
4

0 に答える 0