首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用字形名称在SVG中绘制字形

使用字形名称在SVG中绘制字形
EN

Stack Overflow用户
提问于 2013-01-31 10:10:45
回答 1查看 6.2K关注 0票数 0

在下面的代码块(摘自here)中,字体嵌入到SVG文件中。然后使用以下行呈现文本:

代码语言:javascript
运行
复制
<text x="40" y="50" font-family="larabie-anglepoise" font-size="70" fill="#933">SVG</text>

在该行中,字形由其Unicode值(S、V和G)引用。但是,并非所有字形都具有Unicode值(备用字形、装饰字形等)如何通过引用字形名称或ID而不是Unicode值来呈现文本?

下面是完整的代码以供参考:

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="UTF-8"?>
<svg version="1.2" baseProfile="tiny" viewBox="0 0 160 70"  xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink">
    <title>Font example</title>
    <defs>
        <font horiz-adv-x="313" xml:id="la">
            <metadata>Converted from Larabie Anglepoise by Batik ttf2svg
            See http://www.larabiefonts.com/ </metadata>
            <font-face font-family="larabie-anglepoise" units-per-em="1000" 
                panose-1="0 0 4 0 0 0 0 0 0 0" ascent="703" descent="-300" alphabetic="0"/>
            <missing-glyph horiz-adv-x="500" d="M63 0V700H438V0H63ZM125 63H375V638H125V63Z"/>
            <glyph unicode="S" glyph-name="S" horiz-adv-x="385" d="M371 1H29V144H264Q264 151 264
                166Q265 180 265 188Q265 212 249 212H132Q83 212 55 247Q29 279 29
                329V566H335V422H136V375Q136 360 144 356Q148 355 168 355H279Q327 355 352 309Q371 273
                371 221V1Z"/>
            <glyph unicode="V" glyph-name="V" horiz-adv-x="351" d="M365 563L183 -33L0 563H101L183
                296L270 563H365Z"/>
            <glyph unicode="G" glyph-name="G" horiz-adv-x="367" d="M355
                1H18V564H355V420H125V144H248V211H156V355H355V1Z"/>
            <hkern g1="V" g2="G" k="-40"/>
        </font>
    </defs>
    <text x="40" y="50" font-family="larabie-anglepoise" font-size="70" fill="#933">SVG</text>
    <rect x="00" y="00" width="160" height="70" stroke="#777" fill="none"/>
</svg>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-31 19:39:37

你会使用。一个简单的例子:

代码语言:javascript
运行
复制
<text>
  <altGlyph xlink:href="#myFooGlyph">foo</altGlyph>
</text>

如果在用于呈现文本的字体中具有id为myFooGlyph<glyph>,则将呈现该字形。如果不支持,那么您将看到字符串foo呈现(如果不支持SVG字体也会发生)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14617332

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档