Поддержка SVG

Начиная с Windows 10 Anniversary Update, Direct2D поддерживает отрисовку цветовых шрифтов, содержащих контуры глифов SVG, как описано в спецификации OpenType (см. таблицу SVG). Начиная с Windows 10 Creators Update, Direct2D также поддерживает отрисовку автономных изображений SVG. Однако некоторые функции SVG запрещены в шрифтах OpenType SVG, а некоторые функции SVG в настоящее время не поддерживаются Direct2D.  

В этом разделе описывается набор функций SVG 1.1, поддерживаемых Direct2D в юбилейном обновлении Windows 10 и более новых версий. Этот документ относится к SVG в шрифтах OpenType, а также к автономным изображениям SVG.

Поддерживаемые элементы и атрибуты SVG

Direct2D поддерживает отрисовку следующих элементов SVG и связанных атрибутов для каждого элемента. Другие элементы и обычные атрибуты игнорируются.

Элемент Поддерживаемые обычные атрибуты
Круг id, style, transform, cx, cy, r
clipPath id, style, transform, clipPathUnits
defs id, style, transform
Desc* идентификатор
Эллипс id, style, transform, cx, cy, rx, ry
g id, style, transform
image id, style, transform, x, y, width, height, preserveAspectRatio, xlink:href
line id, style, transform, x1, y1, x2, y2
linearGradient id, style, x1, y1, x2, y2, gradientUnits, gradientTransform, spreadMethod, xlink:href
путь id, style, transform, d
Полигона id, style, transform, points
Полилинии id, style, transform, points
radialGradient id, style, cx, cy, r, fx, fy, gradientUnits, gradientTransform, spreadMethod, xlink:href
Rect id, style, transform, x, y, width, height, rx, ry
stop id, style, offset
Svg id, style, x, y, width, height, viewBox, preserveAspectRatio
Название* идентификатор
use id, style, transform, x, y, width, height, xlink:href

 

*Поддерживается только в Windows 10 Creators Update и более новых версиях

Поддерживаемые атрибуты презентации SVG

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

  • Путь к клипу
  • правило клипа
  • color
  • Отображения*
  • fill
  • Прозрачность заливки
  • fill-rule
  • непрозрачность
  • переполнение
  • стоп-цвет
  • stop-opacity
  • stroke
  • stroke-dasharray
  • Stroke-dashoffset
  • stroke-linecap
  • Штриховая линия
  • stroke-miterlimit
  • Непрозрачность инсульта
  • Ширина штриха
  • Видимость*

*Поддерживается только в Windows 10 Creators Update и более новых версиях

Неподдерживаемые функции SVG

Неподдерживаемые элементы и атрибуты

Любой элемент или атрибут, не включенный в списки выше, не поддерживается Direct2D. При анализе содержимого SVG, содержащего неподдерживаемый элемент или атрибут, неподдерживаемая сущность игнорируется. Остальная часть содержимого отображается максимально точно.

Неподдерживаемые единицы длины

По состоянию на Windows 10 Anniversary Update Direct2D поддерживает только значения длины пользовательского пространства и процентные значения длины. Длины с суффиксами единиц измерения, такие как "mm" или "em", не поддерживаются.

Начиная с Windows 10 Fall Creators Update, Direct2D также поддерживает абсолютные идентификаторы единиц измерения: px, pt, pc, cm, mm и in. Относительные идентификаторы единиц (em, ex) не поддерживаются.

Неподдерживаемые источники образов

Элемент image поддерживается только в том случае, если для его атрибута xlink:href задано изображение в кодировке Base64. Удаленные ссылки не поддерживаются.