morphologic
clone your own copy | download snapshot

Snapshots | iceberg

Inside this repository

CirqueDeLAlphabet-Code.py
text/x-python

Download raw (2.1 KB)

from robofab.world import CurrentFont
from fontTools.misc.transform import Identity
import math

matrix = Identity
matrix = matrix.scale(x=1.1, y=0.9)
matrix = matrix.skew(0.05*math.pi,0.1*math.pi)

matrix2 = Identity
matrix2 = matrix2.scale(x=1.1, y=0.9)
matrix2 = matrix2.skew(0.05*math.pi,0.1*math.pi)
matrix2 = matrix2.rotate(0.1*math.pi)

# rotatian is in radian (360 degrees = 2 * pi radians)
# you can also use: math.radians(45)

font = CurrentFont()

font.info.familyName = "OSP Morph"
font.info.styleName = "Zirkus_OSP_REG"
font.info.fullName = "Zirkus_OSP_REG"
font.info.postscriptFontName = "Zirkus_OSP_REG"

print font.info.fullName

for buchstabe in [font['a'], font['c'], font['e'], font['g'],font['i'],font['k'],font['m'],font['o'],
font['q'],font['s'],font['u'],font['w'],font['y']]:
    buchstabe.transform(matrix)
    #xMin,yMin,xMax,yMax = buchstabe.box
    #buchstabe.width = xMax - xMin
    buchstabe.update()
    
for grobuchstabe in [font['A'], font['C'], font['E'], font['G'],font['I'],font['K'],font['M'],font['O'],
font['Q'],font['S'],font['U'],font['W'],font['Y']]:
    grobuchstabe.transform(matrix)
    #xMin,yMin,xMax,yMax = grobuchstabe.box
    #grobuchstabe.width = xMax - xMin
    grobuchstabe.update()
    
for buchstabe in [font['b'], font['d'], font['f'], font['h'],font['j'],font['l'],font['n'],font['p'],
font['r'],font['t'],font['v'],font['x'],font['z']]:
    buchstabe.transform(matrix2)
    buchstabe.move((20,0))
    #xMin,yMin,xMax,yMax = buchstabe.box
    #buchstabe.width = xMax - xMin
    buchstabe.update()
    
for grobuchstabe in [font['B'], font['D'], font['F'], font['H'],font['J'],font['L'],font['N'],font['P'],
font['R'],font['T'],font['V'],font['X'],font['Z']]:
    grobuchstabe.transform(matrix2)
    grobuchstabe.move((20,0))
    #xMin,yMin,xMax,yMax = grobuchstabe.box
    #grobuchstabe.width = xMax - xMin
    grobuchstabe.update()     
             
    

"""
Other insformations:
    
matrix.inverse           matrix.skew
matrix.transformPoints   matrix.reverseTransform
matrix.toPS              matrix.translate
matrix.rotate            matrix.transform         
matrix.scale             matrix.transformPoint    

"""