[英]How to create own font with emojis included (Maybe with Fontforge, Python)?
[英]How do I generate a stroked font using python-fontforge
我正在使用 python/fontforge 將 CAD 字體轉換為 Truetype,以便可以將其與 SVG 集成。
import fontforge
font=fontforge.font()
font.strokedfont=1
char=font.createChar(65)
char.stroke("circular",5)
pen=font[65].glyphPen()
pen.moveTo(26,102)
pen.lineTo(26,204)
pen.lineTo(128,409)
pen.lineTo(231,204)
pen.lineTo(231,102)
pen.endPath()
pen.moveTo(26,204)
pen.lineTo(231,204)
pen.endPath()
char.width=235
font.generate('/tmp/testfont.ttf')
這給了我字母“Capital A”,但字體已填寫。
我期待看到一條從 (26,102) 到 (26,204) 的垂直描邊線,上升到頂點 (128,409),下降到 (231,204) 並垂直下降到 (231,102)。 然后是從 (26,204) 到 (231,204) 的水平筆划。
相反,我有一個塗黑的形狀。
顯然, pen.endPath()
沒有像預期的那樣打開路徑,並且charstroke("circular",5)
沒有設置路徑的粗細。
誰能告訴我我做錯了什么?
您需要在繪制路徑后運行char.stroke("circular",20)
方法。 (在第二個pen.endPath()
之后)
在 fontforge V20201107 上測試
import fontforge
font=fontforge.font()
font.strokedfont=1
char=font.createChar(65)
pen=font[65].glyphPen()
pen.moveTo(26,102)
pen.lineTo(26,204)
pen.lineTo(128,409)
pen.lineTo(231,204)
pen.lineTo(231,102)
pen.endPath()
pen.moveTo(26,204)
pen.lineTo(231,204)
pen.endPath()
char.width=235
char.stroke("circular",20)
font.generate('/tmp/testfont.ttf')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.