mirror of
https://github.com/servo/servo.git
synced 2025-06-24 00:54:32 +01:00
109 lines
3.5 KiB
Python
109 lines
3.5 KiB
Python
#!/usr/bin/python
|
|
|
|
from utils import mathfont
|
|
import fontforge
|
|
|
|
def createStretchyRadical(aFont):
|
|
radicalCodePoint = 0x221a
|
|
mathfont.createSquareGlyph(aFont, radicalCodePoint)
|
|
g = aFont.createChar(-1, "size1")
|
|
mathfont.drawRectangleGlyph(g, mathfont.em, 2 * mathfont.em, 0)
|
|
g = aFont.createChar(-1, "size2")
|
|
mathfont.drawRectangleGlyph(g, mathfont.em, 3 * mathfont.em, 0)
|
|
g = aFont.createChar(-1, "size3")
|
|
mathfont.drawRectangleGlyph(g, mathfont.em, 4 * mathfont.em, 0)
|
|
overlap = mathfont.em / 2
|
|
aFont[radicalCodePoint].verticalVariants = "radical size1 size2 size3"
|
|
aFont[radicalCodePoint].verticalComponents = \
|
|
(("size2", False, 0, mathfont.em, 3 * mathfont.em), \
|
|
("size1", True, mathfont.em, mathfont.em, 2 * mathfont.em))
|
|
|
|
v1 = 25
|
|
v2 = 1 * mathfont.em
|
|
f = mathfont.create("radical-degreebottomraisepercent%d-rulethickness%d" % (v1, v2))
|
|
createStretchyRadical(f)
|
|
f.math.RadicalDegreeBottomRaisePercent = v1
|
|
f.math.RadicalDisplayStyleVerticalGap = 0
|
|
f.math.RadicalExtraAscender = 0
|
|
f.math.RadicalKernAfterDegree = 0
|
|
f.math.RadicalKernBeforeDegree = 0
|
|
f.math.RadicalRuleThickness = v2
|
|
f.math.RadicalVerticalGap = 0
|
|
mathfont.save(f)
|
|
|
|
v1 = 7 * mathfont.em
|
|
v2 = 1 * mathfont.em
|
|
f = mathfont.create("radical-displaystyleverticalgap%d-rulethickness%d" % (v1, v2))
|
|
createStretchyRadical(f)
|
|
f.math.RadicalDegreeBottomRaisePercent = 0
|
|
f.math.RadicalDisplayStyleVerticalGap = v1
|
|
f.math.RadicalExtraAscender = 0
|
|
f.math.RadicalKernAfterDegree = 0
|
|
f.math.RadicalKernBeforeDegree = 0
|
|
f.math.RadicalRuleThickness = v2
|
|
f.math.RadicalVerticalGap = 0
|
|
mathfont.save(f)
|
|
|
|
v1 = 3 * mathfont.em
|
|
v2 = 1 * mathfont.em
|
|
f = mathfont.create("radical-extraascender%d-rulethickness%d" % (v1, v2))
|
|
createStretchyRadical(f)
|
|
f.math.RadicalDegreeBottomRaisePercent = 0
|
|
f.math.RadicalDisplayStyleVerticalGap = 0
|
|
f.math.RadicalExtraAscender = v1
|
|
f.math.RadicalKernAfterDegree = 0
|
|
f.math.RadicalKernBeforeDegree = 0
|
|
f.math.RadicalRuleThickness = v2
|
|
f.math.RadicalVerticalGap = 0
|
|
mathfont.save(f)
|
|
|
|
v1 = 5 * mathfont.em
|
|
v2 = 1 * mathfont.em
|
|
f = mathfont.create("radical-kernafterdegreeminus%d-rulethickness%d" % (v1, v2))
|
|
createStretchyRadical(f)
|
|
f.math.RadicalDegreeBottomRaisePercent = 0
|
|
f.math.RadicalDisplayStyleVerticalGap = 0
|
|
f.math.RadicalExtraAscender = 0
|
|
f.math.RadicalKernAfterDegree = -v1
|
|
f.math.RadicalKernBeforeDegree = 0
|
|
f.math.RadicalRuleThickness = v2
|
|
f.math.RadicalVerticalGap = 0
|
|
mathfont.save(f)
|
|
|
|
v1 = 4 * mathfont.em
|
|
v2 = 1 * mathfont.em
|
|
f = mathfont.create("radical-kernbeforedegree%d-rulethickness%d" % (v1, v2))
|
|
createStretchyRadical(f)
|
|
f.math.RadicalDegreeBottomRaisePercent = 0
|
|
f.math.RadicalDisplayStyleVerticalGap = 0
|
|
f.math.RadicalExtraAscender = 0
|
|
f.math.RadicalKernAfterDegree = 0
|
|
f.math.RadicalKernBeforeDegree = v1
|
|
f.math.RadicalRuleThickness = v2
|
|
f.math.RadicalVerticalGap = 0
|
|
mathfont.save(f)
|
|
|
|
v = 8 * mathfont.em
|
|
f = mathfont.create("radical-rulethickness%d" % v)
|
|
createStretchyRadical(f)
|
|
f.math.RadicalDegreeBottomRaisePercent = 0
|
|
f.math.RadicalDisplayStyleVerticalGap = 0
|
|
f.math.RadicalExtraAscender = 0
|
|
f.math.RadicalKernAfterDegree = 0
|
|
f.math.RadicalKernBeforeDegree = 0
|
|
f.math.RadicalRuleThickness = v
|
|
f.math.RadicalVerticalGap = 0
|
|
mathfont.save(f)
|
|
|
|
v1 = 6 * mathfont.em
|
|
v2 = 1 * mathfont.em
|
|
f = mathfont.create("radical-verticalgap%d-rulethickness%d" % (v1, v2))
|
|
createStretchyRadical(f)
|
|
f.math.RadicalDegreeBottomRaisePercent = 0
|
|
f.math.RadicalDisplayStyleVerticalGap = 0
|
|
f.math.RadicalExtraAscender = 0
|
|
f.math.RadicalKernAfterDegree = 0
|
|
f.math.RadicalKernBeforeDegree = 0
|
|
f.math.RadicalRuleThickness = v2
|
|
f.math.RadicalVerticalGap = v1
|
|
mathfont.save(f)
|