#1 - 2022-12-14 17:13
ostrich
预览:


todo:
- 长音(ā,加个帽子的事)
- 促音(考虑用¼角空格表示)
- 拗音(得用 ligature,目前知识为零)

old title:
`想到一个片假名新字体的点子,为提高可读性`

如果明天(12/15)有空做个原型
#2 - 2022-12-15 18:54
kw?
#2-1 - 2022-12-16 21:49
ostrich
key words
Python 有个术语叫 **kwargs
#3 - 2022-12-18 18:06

被骗了…(bgm39)
不说没这个功能,至少没`fontforge.compositoglyph`
>>> import fontforge
>>> fontforge.c
fontforge.configurePlugins(  fontforge.contour(           fontforge.cvt()
#4 - 2022-12-18 19:19
必要的东西已备全,可以开始做原型了。
import fontforge, psMat

F = fontforge.open('./Mplus1Code-Regular.otf')

A, B, C, D = map(F.__getitem__, 'ABCD')

halfX = psMat.scale(.5, 1)
halfY = psMat.scale(1, .5)
half = psMat.scale(.5)
l4, r4 = psMat.translate(-A.width//4, 0), psMat.translate(A.width//4, 0)
u4 = psMat.translate(0, A.vwidth//4)
d4 = psMat.translate(0, -A.vwidth//4)

def tr(x, *ms):
    m = psMat.identity()
    for _m in ms:
        m = psMat.compose(m, _m)
    return x.foreground.transform(m)

F['a'].setLayer(
    tr(A, halfX, l4) + tr(B, halfX, r4),
    'Fore')

F['b'].setLayer(
    tr(C, halfY, u4) +
    tr(D, halfY, d4),
    'Fore')

F['c'].setLayer(
    tr(A, half, l4, u4) + tr(B, half, r4, u4) +
    tr(C, half, l4, d4) + tr(D, half, r4, d4),
    'Fore')

F.generate('test_drive.otf')

#5 - 2022-12-18 19:34
网上搜不到,只好…
#6 - 2022-12-19 11:40