Plug-in to mirror kerning

I am looking for a quick way to reverse/mirror the kerning in my new font. I have created a font, that is a pretty standart font. Only some of the glyphs, been slanted either right or left (A, Å, Æ, B, C, E, H, I, L, N, O, P, Q, T, V, b, d, p, q, t). This is done as a disruptive design-element.

I wish to create one more version of the font, where the slanted glyphs, tilt to the opposit direction. The slanted elements require quite some kerning work, if the font is going to look decent. The reason is that the spacing differs so much, depending on the slanted glyph is next to a bowl, stem, leg etc. so I have done a lot of manual kerning with each slanted letter - and it has been a lot of work. In fact it has been so much work, that I really wish to avoid duplicating this workload once again.

In the end my question is: is there such a thing, as a plug-in that helps “mirror” the kerning for individual glyphs and letter-pairs? I have attached some images, fo further understanding.

I hope my question is clear, and that some one out there knows something

There was a discussion about that recently: Feature request: mirroring kerning

Thanks @GeorgSeifert!

I believe this is a different case here. Here, I would be looking into a special spacing solution. In the example, by mirrored kerning, you mean taking the kerning from s-p, and apply it to the pair p-a? That is a bottomless pit. Rather, you could try a general feature that extends the cursor advance in these cases:

@rightslant = [p t]; # add glyphs as needed
@leftslant = [B d]; # add glyphs as needed

pos @rightslant <0 0 50 0>; # add 50 units to the right of all right-slanted glyphs
pos @leftslant <50 0 50 0>; # add 50 units to the left of all left-slanted glyphs

You can add this to a newly generated kern feature in File > Font Info > Features. The 4 numbers <x1 y1 x2 y2> mean:

  • x1,y1: repositioning the glyph (‘position’)
  • x2,y2: repositioning the following cursor position (‘advance’)

Hey @mekkablue

Thank you so much for your response. I am right now fiddling around with this piece of code in the feature file. The only thing I do not fully understand is the , is this supposed to go in the feature code as well?

You create a feature called kern and add code like this.