ios safari не будет отображать встроенные шрифты шрифта в файлах SVG. любое исправление? - PullRequest
3 голосов
/ 06 марта 2011

Итак, у меня есть файл SVG, который содержит текстовые элементы. Пример:

<text transform="matrix(1 0 0 1 195.248 207.165)" fill="#999999" font-family="'LeagueGothic'" font-size="24">Europe</text>

Когда я указываю семейство шрифтов для чего-то, включенного в iOS (например, Helvetica или Futura), все работает нормально. Однако, как только я укажу шрифт, включенный через @ font-face, он просто не будет работать на iOS, в то время как на настольных Safari, Chrome, Firefox, а также в Opera.

В противном случае шрифты @ font-face работают нормально по всей странице, кроме SVG-частей.

Пробовал, включая SVG-файл как <embed>, <object> и <img>, не помогло. Интересно, что когда я пробую встроенный SVG (то есть код SVG непосредственно в HTML), тогда шрифты в порядке, но он ничего не рисует из файла SVG.

Я на iOS 4.2. Пробовал SVG 1.1, 1.1 Tiny, 1.2 и т. Д. Все одинаково.

Это ошибка или я что-то упустил, пожалуйста? Спасибо.

Пример файла SVG здесь: http://pastie.org/1637291

1 Ответ

3 голосов
/ 06 марта 2011

Ваш образец svg не имеет ни правила @ font-face, ни ссылок на какие-либо внешние таблицы стилей. Возможно, решение может заключаться в том, чтобы включить таблицу стилей с этим определением в сам файл svg.

Например:

<style>
@font-face { font-family: foo; src: url(somefont.svg#theFontElementId) format("svg"); }
</style>

Если вы ссылаетесь на части svg, например, с помощью, например, <object>, <embed>, <iframe> или <img> и видите веб-шрифт в другом месте на странице, то причиной может быть отсутствие этой таблицы стилей.

...