我正在使用svg板條箱創建 SVG。為了在元素周圍正確放置邊框,我使用crate<text>預先計算了文本的長度。rusttype
但是,我的瀏覽器(Safari)似乎以不同的長度呈現文本。
我的 SVG 的簡化版本在這里:
<svg viewBox="0 0 210 297" xmlns="http://www.w3.org/2000/svg">
<g>
<path d="M105,20 L304,20 L304,77 L105,77 z" fill="none" stroke="black" stroke-width="1"/>
<text font-family="Arial" font-size="12" x="110" y="57">My extremely very, very, very, long Goal</text>
</g>
</svg>
我確實按照
使用計算的 textLength 屬性渲染 SVG:

uj5u.com熱心網友回復:
在兩個不同的庫/引擎中測量文本之間的差異有幾個可能的原因。
- 字距差異
- 連字處理差異
- 螢屏字體渲染器通常會調整字形位置以更好地與螢屏像素對齊。特別是對于小字體。
- 還有其他潛在的特定于字體的功能和變體可能會影響渲染
很可能是#3。嘗試將字體大小設定為較大的值(例如 100),看看是否是這種情況。您也可以嘗試使用 CSStext-rendering屬性。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/437798.html
