С маской гораздо проще делать то, что вам нужно, см. этот пример .Вот определение маски:
<mask id="maskedtext">
<circle cx="50%" cy="50%" r="50" fill="white"/>
<text x="50%" y="55%" text-anchor="middle" font-size="48">ABC</text>
</mask>
Белые области внутри маски будут сохранены, все остальное будет вырезано.
Вот другой пример , использующий clipPathвместо этого это немного сложнее, так как вам нужно использовать элемент пути, чтобы применить правило клипа.ClipPath, который использует там clip-rule, выглядит так:
<clipPath id="clipPath1">
<path id="p1" d="M10 10l100 0 0 100 -100 0ZM50 50l40 0 0 40 -40 0Z" clip-rule="evenodd"/>
</clipPath>