Main Window

SYMPHONTY

A slightly different font editor

Once upon a time, I designed fonts. With some success — but I always wanted a font editor suited to my specific needs. So I built one that answers, at least for me, all the ideas I'd been carrying around.

Multiple coordiantes origins

Serif

One serif, many glyphs. One move, many changes. Red cross is an origin, black dots are points belonging to it. Origin or it outline can be use anywhere. Or its position, or just few nodes. Trillon times,

Every part of a glyph could be arranged around different origin and could be shared between many other glyps with its own coordinates. Origin could be moved with all connected segments in any place, connections between them will adapt (if well designed)

Multidimensional values

Till now, if you desined some many-axes font it was simple: few masters, and every point (X and Y) had it's brother (sister) on every other master. Here is a difference. Baseline (0) doesn't need eight masters. It could be zero-dimensional. Value describing weight? One? maybe two, if width is defined. But could stame same for a contrast or serifWidth axis. So point on baseline could have two-dimensional x, and zero-dimensional y. Even if a design space has seven axes, every value can have as many axes as it actually needs. Some height might be completely axis-independent — if width, weight, or contrast don't affect it, there's no need to edit that point across every master.

Values have their targets

Interpolated X

X is interpolated between two other values (A and B) and has weight and width axes; Y has only weight — your decision. The Y value is shared by three different objects. See the pale green and orange backgrounds? Orange objects have multiple parents — three in this case.

Values for X are just for horizontal movement, Y for vertical, Angle for angles, Tension for tension. You can't accidentally assign an X value to Y or Tension — unless you actually want to.

Curves as definitions

No more control points defining curvature — just tension and angle as a shareable parameter, in and out. When the size of a curve changes, the curvature stays the same. Sharing tension and angle values between curves is not only possible but incredibly useful. Sometimes irritating, likes to explode into infinty if angles are set in a wrong direction.

Independent, shareable objects

Objects Tree

Glyphs are built through an objects tree, where values (numbers) sit at the bottom and modified glyphs — such as small caps — at the top. Values can be used as X and Y coordinates for a point, or derived from other values. A point defines a node's position (where the outline is anchored); nodes define segments of the outline; contours hold the outline you can connect with others.

Every object can be shared. If I need two — or a thousand — points at the same height, I can share one value between all of them. Define a serif, a terminal, whatever — change it once and it updates everywhere. A very dangerous feature. But I like it..

Objects tree — one value rules them all. Almost. Accidentally change the #contrast value and every R, B, E, D… glyph is affected. Even H.sc.

It is so easy to destroy everything.. But if it is well designed most of glyph will not explode.

Everything can have a name — or just use copy/paste

Paste

Every object (Component, Glyph,Origin, Node Control In, Tension Angle, Point Value...) colud have it's name and be shared with other parents via dropdown menu. But if you copy Cmd-C Origin or Node you can paste its children to any child in other objects to share it.

Relations, functions, and more

Functions

Every value can be added to another value, negated, multiplied, or interpolated between other values. And every parameter can be shared anywhere.

Virtual segments

Virtual segments

Hard to explain to someone who has never faced this problem. Should be immediately clear to anyone who has.

I always missed this feature — especially for multidimensional diagonal connections, where simple Cartesian interpolation fails.

Modified hypercube corners

Modifier

One corner shifted wider and lower contrast — scale it once and your superiors are ready.

Small caps, superiors, and similar variants can be generated almost for free — every corner of the design space can shift its position to make a component bolder, lighter, or wider, depending on your defined axes. These parameters can be shared across glyphs. Easy.

Document Icon

Copyright typoland, 2026