SVG + встроенный шрифт: как вывести текст курсивом?

Моя цель - создать самостоятельный векторный логотип в SVG = я хочу интегрировать все глифы шрифта в этот файл SVG.

Для одной части моего текста мне нужен специальный курсивный шрифт. Шрифт, который мне нужен (Desyrel), существует только в одном файле .ttf. Затем я преобразовал этот шрифт в SVG (пробовал разные онлайн-инструменты и FontForge).

Затем я создал файл SVG с текстом, который я хочу отобразить, и встроенными определениями шрифтов svg (только выбранные глифы). Это выглядит так:

<?xml version="1.0" encoding="UTF-8"?>
<svg width="800px" height="300px" version="1.1" xmlns = 'http://www.w3.org/2000/svg'>
  <defs>
     <font id="font1" horiz-adv-x="614" >
        <font-face font-family="Desyrel" units-per-em="2048" />
        <glyph unicode="-" d="M109 301v166h376v-166h-376z" />
...
     </font>
  </defs>

   <text x="230" y="100" font-family="Desyrel" font-size="110px" font-style="italic">myText</text>
</svg>

Когда я делаю это, мой шрифт не отображается курсивом. Я попытался изменить стиль шрифта в определении шрифта на «обычный» или даже «курсив».

Проблема в том, что я знаю, что этот шрифт может отображаться курсивом. Если я включу в свой SVG:

<style type="text/css">
   <![CDATA[
     @font-face {
       font-family: 'Desyrel2'; 
       font-weight: normal;
       font-style: normal;
       src: url("Desyrel.ttf")
     }
   ]]>
</style>

и использовать это семейство шрифтов для текста, текст действительно отображается курсивом. Но это решение противоречит моей первоначальной цели иметь автономный SVG...

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


person chris    schedule 14.05.2011    source источник


Ответы (1)


Ваш шрифт не курсив, в случае TTF происходит то, что браузер синтезирует курсив, добавляя небольшое преобразование наклона. Кажется, это не сделано для шрифтов SVG (вероятно, недосмотр).

Решение состоит в том, чтобы использовать fontforge для наклона глифов (если это все, что вам нужно), в меню это «Элемент> Стиль> Курсив ...» (подробнее здесь).

Затем сгенерируйте шрифт svg.

person Erik Dahlström    schedule 14.05.2011
comment
Большое спасибо, Эрик! Наконец-то мне удалось написать курсивом этим шрифтом! - person chris; 15.05.2011