27 lines
1 KiB
Python
Executable file
27 lines
1 KiB
Python
Executable file
#!/usr/bin/env python3
|
|
|
|
from utils import mathfont
|
|
import fontforge
|
|
|
|
verticalArrowCodePoint = 0x21A8
|
|
v1 = 5 * mathfont.em
|
|
v2 = 14 * mathfont.em
|
|
f = mathfont.create("axisheight%d-verticalarrow%d" % (v1, v2),
|
|
"Copyright (c) 2016 MathML Association")
|
|
f.math.AxisHeight = v1
|
|
f.math.MinConnectorOverlap = 0
|
|
mathfont.createSquareGlyph(f, verticalArrowCodePoint)
|
|
g = f.createChar(-1, "size1")
|
|
mathfont.drawRectangleGlyph(g, mathfont.em, v2 / 2, 0)
|
|
g = f.createChar(-1, "size2")
|
|
mathfont.drawRectangleGlyph(g, mathfont.em, v2, 0)
|
|
g = f.createChar(-1, "bot")
|
|
mathfont.drawRectangleGlyph(g, mathfont.em, v2 + v1, 0)
|
|
g = f.createChar(-1, "ext")
|
|
mathfont.drawRectangleGlyph(g, mathfont.em, mathfont.em, 0)
|
|
f[verticalArrowCodePoint].verticalVariants = "uni21A8 size1 size2"
|
|
# Part: (glyphName, isExtender, startConnector, endConnector, fullAdvance)
|
|
f[verticalArrowCodePoint].verticalComponents = \
|
|
(("bot", False, 0, mathfont.em, v2 + v1),
|
|
("ext", True, mathfont.em, mathfont.em, mathfont.em))
|
|
mathfont.save(f)
|