Search found 358 matches

by Tim Ahrens
11 Jun 2024
Forum: Kern On forum
Topic: unable to save kern pair KO_T
Replies: 5
Views: 78

Re: unable to save kern pair KO_T

Not sure how I can help you with that. As you stopped using Kern on, this question is not about Kern On, it seems?
by Tim Ahrens
11 Jun 2024
Forum: Kern On forum
Topic: unable to save kern pair KO_T
Replies: 5
Views: 78

Re: unable to save kern pair KO_T

Can you explain step-by-step what you are doing, and how Kern On is involved?
by Tim Ahrens
11 Jun 2024
Forum: Kern On forum
Topic: unable to save kern pair KO_T
Replies: 5
Views: 78

Re: unable to save kern pair KO_T

Sorry, can you explain in more detail?
by Tim Ahrens
10 May 2024
Forum: Kern On forum
Topic: Best way to not kern swashes
Replies: 4
Views: 781

Re: Best way to not kern swashes

Yes, “No kerning” is probably the solution in this case. Note that you can simply select several glyphs and set it for all of them.
by Tim Ahrens
06 May 2024
Forum: Kern On forum
Topic: default proportional figures
Replies: 2
Views: 590

Re: default proportional figures

Kerning groups are not a safe way of seeing whether Kern On kerns a glyph (even though this is an indicator). Can you have a look at whether the glyphs in question have any kerning? While Kern On is running, you can also use the “Pairs” drop-down menu to check this. The next thing to check is whethe...
by Tim Ahrens
29 Apr 2024
Forum: Kern On forum
Topic: Complex subsitutions leaving some pairs without AutoKerning
Replies: 7
Views: 678

Re: Complex subsitutions leaving some pairs without AutoKerning

Keep in mind that using cvXX instead of ssXX is not just a work-around for the “Kern On world”. It’s simply the correct OpenType feature for the task, not just internally in your font editor but also when you export and distribute the fonts.
by Tim Ahrens
29 Apr 2024
Forum: Kern On forum
Topic: Complex subsitutions leaving some pairs without AutoKerning
Replies: 7
Views: 678

Re: Complex subsitutions leaving some pairs without AutoKerning

This was surprisingly easy to implement. Thanks for the nudge!

The next Kern On update will support cvXX, which means it will autokern any possible combination of alternates accessed via cvXX.
by Tim Ahrens
29 Apr 2024
Forum: Kern On forum
Topic: Complex subsitutions leaving some pairs without AutoKerning
Replies: 7
Views: 678

Re: Complex subsitutions leaving some pairs without AutoKerning

Thanks for the file, Ryan. Looking at your list of user-set autopairs, there are different reasons for pairs not being autokerned by default: • /s.ss01/ecircumflex is not autokerned because /s/ecircumflex is not autokerned. If this pair is important to you you’d probably want to set /s/ecircumflex a...
by Tim Ahrens
26 Apr 2024
Forum: Kern On forum
Topic: Complex subsitutions leaving some pairs without AutoKerning
Replies: 7
Views: 678

Re: Complex subsitutions leaving some pairs without AutoKerning

Thanks for your help, Brian. Yes, using custom kerning groups could be a good work-around.

Ryan: Would you mind sending me the file? Then I can have a look and either improve Kern On or possibly find a way of getting this to work with the current version.
by Tim Ahrens
16 Apr 2024
Forum: Kern On forum
Topic: Do we need kerning against the space character?
Replies: 27
Views: 39257

Re: Do we need kerning against the space character?

Jeremy Tribby wrote: 04 Apr 2024 Would it be helpful to have specific examples of this as OpenType feature code (and/or Glyphs specific format for VF), so that a suitable UI could be worked out from there?
Yes, that would be great!
by Tim Ahrens
15 Apr 2024
Forum: Kern On forum
Topic: Autokern now kerns accents with glyphs
Replies: 13
Views: 2585

Re: Autokern now kerns accents with glyphs

I see. This brings up the same old question : “Find all composites in which the positioning of the components is affected by kerning.” This was surprisingly difficult to implement, as you remember, even with Georg’s help. To be honest, the current code never felt very robust to me, and now we are se...
by Tim Ahrens
15 Apr 2024
Forum: Kern On forum
Topic: Autokern now kerns accents with glyphs
Replies: 13
Views: 2585

Re: Autokern now kerns accents with glyphs

Whether to autokern non-exporting glyphs is an interesting question. At first glance it makes sense to automatically exclude them but there can be non-exporting glyphs in a font that should be autokerned, e.g. for fractions. So, the approach is to generously generate autokerning pairs and then disab...
by Tim Ahrens
04 Apr 2024
Forum: Kern On forum
Topic: Autokern now kerns accents with glyphs
Replies: 13
Views: 2585

Re: Autokern now kerns accents with glyphs

Thanks for the explanation and the workaround, Georg. I still don’t understand why you consider shouldAttach = False to be the correct return value in a case like this. The diacritic component is clearly attached (i.e. its position depends on the anchors). From a functional point of view, it does no...
by Tim Ahrens
04 Apr 2024
Forum: Kern On forum
Topic: Autokern now kerns accents with glyphs
Replies: 13
Views: 2585

Re: Autokern now kerns accents with glyphs

Thanks for sending the file. Seems like we were not looking at the same file! Very similar but not identical, which made it easy to dig into it. As it turns out, the PUA values for the .case accents are causing this strange behaviour. What I tested: • Open your latest file (with PUA for the .case ac...
by Tim Ahrens
02 Apr 2024
Forum: Kern On forum
Topic: Autokern now kerns accents with glyphs
Replies: 13
Views: 2585

Re: Autokern now kerns accents with glyphs

What happens if you run the script in Glyphs 3.2? I cannot run any Python scripts in Glyphs 3151 because Glyphs says it cannot not find a compatible Python version. One thing I noticed is that Hmacron seems to be completely unknown to my version of Glyphs. It doesn’t have a Unicode value and Glyphs ...
by Tim Ahrens
29 Mar 2024
Forum: Kern On forum
Topic: Autokern now kerns accents with glyphs
Replies: 13
Views: 2585

Re: Autokern now kerns accents with glyphs

Btw this is a script that can be used to inspect what Glyphs returns for certain layer and component properties: for layer in Font.selectedLayers: print( layer.parent.name, 'hasAlignedWidth', layer.hasAlignedWidth() ) for c in layer.components: print( c, 'shouldAttach', c.shouldAttach() ) print() In...
by Tim Ahrens
29 Mar 2024
Forum: Kern On forum
Topic: Autokern now kerns accents with glyphs
Replies: 13
Views: 2585

Re: Autokern now kerns accents with glyphs

This is strange. If I open the font with Glyphs 3249 and Kern On 1.31 then /H/macroncomb.case is not autokerned. Which version of Glyphs are you working with?
by Tim Ahrens
26 Mar 2024
Forum: Kern On forum
Topic: Special Spacing Not Working
Replies: 15
Views: 6506

Re: Special Spacing Not Working

Thanks for your help, Sebastian. I definitely found the reason why the default groups were not set properly. They were set in the KO engine but not written to the userData in Glyphs. This discrepancy is the reason for the funny behaviour between the very first start with a font, and the next re-star...
by Tim Ahrens
25 Mar 2024
Forum: Kern On forum
Topic: Special Spacing Not Working
Replies: 15
Views: 6506

Re: Special Spacing Not Working

Thanks for the explanation! I think I found the problem and fixed it.

Can you confirm: Setting the special spacing group only fails when starting with a fresh font, and before re-starting Kern On. Is that correct? Once you re-start Kern On, all behaviour is as expected, right?
by Tim Ahrens
22 Mar 2024
Forum: Kern On forum
Topic: Special Spacing Not Working
Replies: 15
Views: 6506

Re: Special Spacing Not Working

Hello both of you, sorry about this. This is really frustrating for me as well because I really cannot reproduce the problem. Of course, I can see that it is happening in the video. Thanks for the detailed analysis, Alex. Seeing 1 vs 3 is very strange. Was the “Parenthesis” group one you created you...
by Tim Ahrens
18 Mar 2024
Forum: Kern On forum
Topic: loosing kerns
Replies: 6
Views: 2035

Re: loosing kerns

As long as you don’t lose models or independents because of the crash, you can just finalize again. (Keep in mind that all kerning except models and independents is “lost” the moment you start Kern On).
by Tim Ahrens
18 Mar 2024
Forum: Kern On forum
Topic: Glyph combinations used as components not kerned
Replies: 14
Views: 10576

Re: Glyph combinations used as components not kerned

Yes, we finally got it to work last week! I sat down with Georg to resolve this. It will be included in the next release.

Do you want me to send you my current in-house version if it’s urgent?
by Tim Ahrens
18 Mar 2024
Forum: Kern On forum
Topic: Add models and ind. for selected pairs from
Replies: 1
Views: 1113

Re: Add models and ind. for selected pairs from

Some options are explained in the manual: https://kern-on.com/manual/#font-settings
Does that work for you?
by Tim Ahrens
16 Mar 2024
Forum: Kern On forum
Topic: loosing kerns
Replies: 6
Views: 2035

Re: loosing kerns

You can just reply to your purchase confirmation e-mail, or use the one given in the footer at https://kern-on.com/
by Tim Ahrens
16 Mar 2024
Forum: Kern On forum
Topic: /fl kerned differently than /l
Replies: 2
Views: 1408

Re: /fl kerned differently than /l

This is really difficult to answer without having the font file, I am afraid. Would you mind sending it to me?
by Tim Ahrens
16 Mar 2024
Forum: Kern On forum
Topic: loosing kerns
Replies: 6
Views: 2035

Re: loosing kerns

This is really difficult to answer without having the font file, I am afraid. Would you mind sending it to me?
by Tim Ahrens
15 Mar 2024
Forum: Kern On forum
Topic: Kern On user manual
Replies: 7
Views: 2553

Kern On user manual

Hello everyone! I finally assembled a proper user manual:
https://kern-on.com/manual/

Some explanations are rather detailed – they might be interesting if you want more in-depth information than what’s shown in the videos.
by Tim Ahrens
15 Mar 2024
Forum: Kern On forum
Topic: Fighting with KO over the same kinds of model pairs regardless of font. What am I missing?
Replies: 1
Views: 2424

Re: Fighting with KO over the same kinds of model pairs regardless of font. What am I missing?

Hi Brian, Thanks for your detailed feedback. Some of this is impossible to comment on without having the file or seeing more details, some of which I will try to answer here. Regardless of what font I’m working with in KO, I’m finding that with essentially any letters that have extremes amounts of n...
by Tim Ahrens
15 Mar 2024
Forum: Kern On forum
Topic: Inconsistent Auto Pairs
Replies: 1
Views: 2146

Re: Inconsistent Auto Pairs

This does look a bit strange indeed. Would you mind sending me the file?

As a side note, one thing I noticed (although it does not explain the behaviour) is, why does the V have larger sidebearings than the W? I’d expect them to be the same or smaller.
by Tim Ahrens
07 Mar 2024
Forum: Kern On forum
Topic: "Sync kerning types from" affects source file when changes are made in target
Replies: 2
Views: 2493

Re: "Sync kerning types from" affects source file when changes are made in target

It turned out to be a UI glitch. The list of special spacing groups simply did not get updated when we activate a different file (if KO is running for both files). Just fixed this. Btw, the old special spacing groups are still available in the drop-down menu after "Sync kerning types from"...
by Tim Ahrens
07 Mar 2024
Forum: Kern On forum
Topic: "Sync kerning types from" affects source file when changes are made in target
Replies: 2
Views: 2493

Re: "Sync kerning types from" affects source file when changes are made in target

Hmmm... scratching my head.

This only happens if KO is running for both files. You could open both files, start KO for the target font and sync. Then close the other file.

It’s probably a bug, will have a closer look. Thanks for the notice.
by Tim Ahrens
01 Mar 2024
Forum: Kern On forum
Topic: "Add models and independents from..." is not working
Replies: 2
Views: 2139

Re: "Add models and independents from..." is not working

One thing I noticed is that it does not import special spacing groups. No, this is a separate feature. It is called “Sync kerning types from”, also in the (•••) menu. “Kerning type” means special spacing, standard kerning or no kerning. If you want to transfer both then you should first transfer (s...
by Tim Ahrens
01 Mar 2024
Forum: Kern On forum
Topic: Generate Pairs only with multiples of 4
Replies: 10
Views: 4222

Re: Generate Pairs only with multiples of 4

Thanks for the scripts, Manuel! But compared to the 2–4% with your palettize script I was getting a much better improvement in file size. This figure was just what I found back then, from a handful of files I was generating at the time. Comparing the saving to the overall file size is not a very sen...
by Tim Ahrens
01 Mar 2024
Forum: Kern On forum
Topic: UcLc kerning glyphs set with 'no kerning'
Replies: 6
Views: 2853

Re: UcLc kerning glyphs set with 'no kerning'

KernOn keeps telling me the right side bearing of my B is too tight so it kerns it away from the H by 7. Visually it’s now too loose to my eye, so I make a model pair and set it to zero. Yes, that’s the way to go! But now that affects my nn pair, which is also a model pair set to zero. That’s impos...
by Tim Ahrens
29 Feb 2024
Forum: Kern On forum
Topic: Too many Independent Pairs, Missing Kerning
Replies: 3
Views: 2514

Re: Too many Independent Pairs, Missing Kerning

Manuel, sorry, here is the reply to what is left of your message:

What exactly was the problem? Did Kern On remove a model that contained the e? Which was the other model it was conflicting with?

It’s difficult to say what went wrong without seeing the file.
by Tim Ahrens
29 Feb 2024
Forum: Kern On forum
Topic: UcLc kerning glyphs set with 'no kerning'
Replies: 6
Views: 2853

Re: UcLc kerning glyphs set with 'no kerning'

You should definitely not set the left side of the /n to “No kerning” as there are many combinations with /n as the second glyph that require kerning.

I’d strongly advise against using “No kerning” for any letters.
by Tim Ahrens
29 Feb 2024
Forum: Kern On forum
Topic: Generate Pairs only with multiples of 4
Replies: 10
Views: 4222

Re: Generate Pairs only with multiples of 4

If you currently use multiples of 8 at 1000 UPM, you can re-scale the font to 125 UPM as 1000 / 8 = 125.
by Tim Ahrens
29 Feb 2024
Forum: Kern On forum
Topic: Too many Independent Pairs, Missing Kerning
Replies: 3
Views: 2514

Re: Too many Independent Pairs, Missing Kerning

Hi mckc: overkern Let’s try to avoid this expression; it does not have any clearly defined meaning (and it is not commonly used afaik). In Rainer’s script it has a very specific meaning (see discussion here ), it seems you are using it with a different meaning (and, funnily, that spam bot with yet a...
by Tim Ahrens
24 Feb 2024
Forum: Kern On forum
Topic: Generate Pairs only with multiples of 4
Replies: 10
Views: 4222

Re: Generate Pairs only with multiples of 4

Thanks for your work, Manuel! There was lots of extensive Kern On feedback coming in today so I will need a few days to have a proper look at it and write the thorough answer it deserves. Miyamoto, it seems you are working with 1000 UPM but then place everything, including contour points, spacing an...
by Tim Ahrens
22 Feb 2024
Forum: Kern On forum
Topic: Generate Pairs only with multiples of 4
Replies: 10
Views: 4222

Re: Generate Pairs only with multiples of 4

There were similar requests before. My feeling is that the main motivation is to keep things “tidy under the hood”. This seems to be a strong (though irrational) desire among many designers, which I initially underestimated. I will soon implement the quantisation of the autokerning values (multiples...
by Tim Ahrens
22 Feb 2024
Forum: Kern On forum
Topic: How to avoid overkerns?
Replies: 14
Views: 6062

Re: How to avoid overkerns?

Some spam filters are set to allow all posts from users that already have at least one approved post (I just saw that setting in my own filter but it is not active). That explains the strategy: first, one innocent post, followed by spam posts.
by Tim Ahrens
21 Feb 2024
Forum: Kern On forum
Topic: Generate Pairs only with multiples of 4
Replies: 10
Views: 4222

Re: Generate Pairs only with multiples of 4

Can you explain what exactly “a limited amount of kerning pairs” would be? Also, what exactly are you trying to achieve? Not sure I understand.
by Tim Ahrens
20 Feb 2024
Forum: Kern On forum
Topic: How to avoid overkerns?
Replies: 14
Views: 6062

Re: How to avoid overkerns?

Oh dear, I just found out that “DanielNiz” is in fact a spam account. Seems like LLMs are getting good enough to fool me (and the spam filter, which usually works quite well). In future, I’ll face the challenge of trying not to waste my time with stupid LLM-generated posts but also not to insult rea...
by Tim Ahrens
20 Feb 2024
Forum: Kern On forum
Topic: How to avoid overkerns?
Replies: 14
Views: 6062

Re: How to avoid overkerns?

Daniel, what exactly does “overkern” mean as you use it? The term does not have a clear definition, and it is not widely used. The script referred to at the beginning of this discussion calls “overkerned” any pair that has a strongly negative kerning compared to the smaller advance width of the two ...
by Tim Ahrens
19 Feb 2024
Forum: Kern On forum
Topic: How to avoid overkerns?
Replies: 14
Views: 6062

Re: How to avoid overkerns?

Yes, that’s exactly the problem.
by Tim Ahrens
16 Feb 2024
Forum: Kern On forum
Topic: How to avoid overkerns?
Replies: 14
Views: 6062

Re: How to avoid overkerns?

Btw, the only perfect solution to handle the challenges described above is to use kerning triples. Implementing this in Kern On is fairly high on my to-do list, and Glyphs will also soon be more powerful at handling triples, I heard. ;-)
by Tim Ahrens
16 Feb 2024
Forum: Kern On forum
Topic: How to avoid overkerns?
Replies: 14
Views: 6062

Re: How to avoid overkerns?

Update: It turned out that the script “New Tab with Overkerned Pairs” did not consider exceptions. I implemented that, and it is updated in the live version now. So, we should not get false positives from the script any more. I also slightly tweaked the algorithm in Kern On so as to avoid generating...
by Tim Ahrens
14 Feb 2024
Forum: Kern On forum
Topic: How to avoid overkerns?
Replies: 14
Views: 6062

Re: How to avoid overkerns?

> I would love to, but KO keeps overkerning Thanks for pointing this out. I found out what is happening. This happens because Kern On usually has to omit exceptions in order not to exceed the given kB size. This means that, for rare pairs, we have to accept that the final kerning value deviates from...
by Tim Ahrens
13 Feb 2024
Forum: Kern On forum
Topic: How to avoid overkerns?
Replies: 14
Views: 6062

Re: How to avoid overkerns?

Here is an example for reference. As you can see, the kerning value (-138) is exactly -50% of the advance width of quoteright (276). Even though, the script shows this pair if I set the threshold to 55%.
by Tim Ahrens
13 Feb 2024
Forum: Kern On forum
Topic: How to avoid overkerns?
Replies: 14
Views: 6062

Re: How to avoid overkerns?

Just tried this script myself. One question is, where does the default 40% come from? What is the reasoning? Kern On limits the negative autokerning to 50% of the smaller advance width. If I set 50%, the script wrongly reports pairs. In other words, the output of the script is incorrect even accordi...
by Tim Ahrens
11 Feb 2024
Forum: Kern On forum
Topic: no kerning group?
Replies: 2
Views: 2207

Re: no kerning group?

Class kerning (groups, as Glyphs calls it) is not necessarily better in this case: Three glyph-glyph pairs cost 3 * 4 bytes plus overhead for the first glyph. Writing these pairs into the class kerning table will add a row to the table, which costs 2 bytes per cell plus class definition overhead. Wr...
by Tim Ahrens
11 Feb 2024
Forum: Kern On forum
Topic: No kern for accented letters
Replies: 8
Views: 3800

Re: No kern for accented letters

Maybe you omitted the .split() at the end of the first line?
by Tim Ahrens
11 Feb 2024
Forum: Kern On forum
Topic: No kern for accented letters
Replies: 8
Views: 3800

Re: No kern for accented letters

This code should do practically the same but it is more complicated to set up. ;-)
by Tim Ahrens
10 Feb 2024
Forum: Kern On forum
Topic: No kern for accented letters
Replies: 8
Views: 3800

Re: No kern for accented letters

You can also work with glyph names, with space in-between: characters_1st = 'f.calt g.calt t.calt f.liga t.low e.ss04'.split() characters_2nd = 'Aacute Abreve Acircumflex Adieresis Agrave Amacron Aogonek Aring Atilde AE Cacute Ccaron Ccedilla Ccircumflex Dcaron Dcroat Eth Eacute Ecaron Ecircumflex E...
by Tim Ahrens
10 Feb 2024
Forum: Kern On forum
Topic: No kern for accented letters
Replies: 8
Views: 3800

Re: No kern for accented letters

This seems to be a unique use case. Right now, there is no elegant, built-in way of achieving what you want. Maybe I should add a feature that allows to specify user-set autopairs for groups of glyphs. For now, you can use this code: characters_1st = '◆■‣•' characters_2nd = 'ÁĂÂÄÀĀĄÅÃÆĆČÇĈĎĐÐÉĚÊËĖÈĒ...
by Tim Ahrens
09 Feb 2024
Forum: Kern On forum
Topic: Unpredictable exceptions
Replies: 5
Views: 3165

Re: Unpredictable exceptions

I suppose you refer to the little lock symbol in Glyphs next to the kerning value? It’s just how Glyphs shows you whether a pair is a class-class pair (locked icon) or a glyph-glyph pair, a.k.a. exception (unlocked icon). It’s a strange visualisation as class-class pairs are not protected (“locked”)...
by Tim Ahrens
07 Feb 2024
Forum: Kern On forum
Topic: Unpredictable exceptions
Replies: 5
Views: 3165

Re: Unpredictable exceptions

Sorry you are not getting the results you expect. It’s a bit difficult to tell what is going on without seeing it myself. Would you mind sending me the .glyphs file? Then I can have a closer look. It is not unthinkable that there is a small slip somewhere in the code that causes wrong output in your...
by Tim Ahrens
01 Feb 2024
Forum: Kern On forum
Topic: "Blue Zone" kerning
Replies: 5
Views: 4725

Re: "Blue Zone" kerning

Sorry for not answering to your reply quicker. a user-specified filter into the step between where the deviations are calculated and when they are multiplied by the frequency of the pair. I don’t think being able to customize this value is necessary. It is not really a mater of taste and I believe a...
by Tim Ahrens
01 Feb 2024
Forum: Kern On forum
Topic: Does the Kern On algorithm prioritize reducing further suggestions?
Replies: 2
Views: 2342

Re: Does the Kern On algorithm prioritize reducing further suggestions?

When Kern On determines the suggestions, the objective is to “fill the gaps” in the cloud of models. It should suggest pairs that have a shape combination which is not similar to any of the existing models, and therefore the engine (all models combined) currently has a “loose grip”, i.e. you will ty...
by Tim Ahrens
01 Feb 2024
Forum: Kern On forum
Topic: Glyph combinations used as components not kerned
Replies: 14
Views: 10576

Re: Glyph combinations used as components not kerned

I can’t test the script in 3.1.2 as it complains about missing Python 3. I am certain that is worked at some point, as I tested it when I implemented it in February 2023. In any case, I think what Kern On needs to detect is clear: Composites in which kerning affects the positioning. It would be very...
by Tim Ahrens
22 Jan 2024
Forum: Kern On forum
Topic: Glyph combinations used as components not kerned
Replies: 14
Views: 10576

Re: Glyph combinations used as components not kerned

Using this code: for layer in Font.selectedLayers: print( layer.parent.name, 'hasAlignedWidth?', layer.hasAlignedWidth() ) for c in layer.components: print( c, c.alignment, c.alignmentType() ) print() I am getting this output: onehalf hasAlignedWidth? True <GSComponent "one.numr" x=0.0 y=0...
by Tim Ahrens
22 Jan 2024
Forum: Kern On forum
Topic: Glyph combinations used as components not kerned
Replies: 14
Views: 10576

Re: Glyph combinations used as components not kerned

Next attempt: for layer in Font.selectedLayers: if not layer.hasAlignedWidth(): continue pairs = [] prevComponent = None for c in layer.components: if c.alignment == 0 and prevComponent and prevComponent.alignment == 0: if c.alignmentType() == 3 or prevComponent.alignmentType() == 3: pairs.append(pr...
by Tim Ahrens
22 Jan 2024
Forum: Kern On forum
Topic: Glyph combinations used as components not kerned
Replies: 14
Views: 10576

Re: Glyph combinations used as components not kerned

Btw, I am working in Objective C, of course. Georg, you can see the current code in the shared Github repo.
by Tim Ahrens
22 Jan 2024
Forum: Kern On forum
Topic: Glyph combinations used as components not kerned
Replies: 14
Views: 10576

Re: Glyph combinations used as components not kerned

You mean something like this? for layer in Font.selectedLayers: if not layer.hasAlignedWidth(): continue kernedComponents = [] for c in layer.components: if c.alignment == 0: kernedComponents.append(c.name) if len(kernedComponents) >= 2: print( layer.parent.name, kernedComponents ) No, this also cat...
by Tim Ahrens
21 Jan 2024
Forum: Kern On forum
Topic: Manual Mode?
Replies: 1
Views: 2250

Re: Manual Mode?

the fact that every launch is a new day means you have to proof *everything* after each correction, having no clue where to expect changes. This is exactly what the “Compare to” functionality is for. Just save the old version as a separate snapshot file, then start Kern On, make the changes, open t...
by Tim Ahrens
21 Jan 2024
Forum: Kern On forum
Topic: Glyph combinations used as components not kerned
Replies: 14
Views: 10576

Re: Glyph combinations used as components not kerned

I need to identify composite glyphs in which the positioning of the components is affected by kerning.
by Tim Ahrens
20 Jan 2024
Forum: Kern On forum
Topic: Kerning a pixel font?
Replies: 2
Views: 2639

Re: Kerning a pixel font?

Thanks for pointing this out. It’s not too difficult for me to implement the application of the font’s grid. I’ll add that to my to-do list.

Another possible work-around would be to work with a UPM of 20 (if your grid is currently 50 units at 1000 UPM). This is what I would do anyway, I guess.
by Tim Ahrens
20 Jan 2024
Forum: Kern On forum
Topic: Glyph combinations used as components not kerned
Replies: 14
Views: 10576

Re: Glyph combinations used as components not kerned

Thanks for the file. This is a bug in Glyphs that was introduced at some point in 2023. I reported it to Georg in December. To demonstrate it you can use: for layer in Font.selectedLayers: print( layer.parent.name ) for c in layer.components: print( c, c.alignment, c.alignmentType() ) print() In som...
by Tim Ahrens
18 Jan 2024
Forum: Kern On forum
Topic: Glyph combinations used as components not kerned
Replies: 14
Views: 10576

Re: Glyph combinations used as components not kerned

Hello, I seem to remember this was a feature introduced with some update a while back: glyph combinations that are used as components in other glyphs (such as /one.dnom /fraction in /onehalf) were kerned by Kern On, regardless of importance on the pair frequency list. Yes, this is how it should wor...
by Tim Ahrens
11 Jan 2024
Forum: Kern On forum
Topic: KO 1.27 - Work only in a single master
Replies: 2
Views: 2639

Re: KO 1.27 - Work only in a single master

What exactly is it that is not working in the other masters?

Can you send me the file? Then I can have a closer look. Thanks!
by Tim Ahrens
18 Dec 2023
Forum: Kern On forum
Topic: f kerned, f.italic not kerned
Replies: 2
Views: 2452

Re: f kerned, f.italic not kerned

Are the .italic glyphs accessible via any OT feature? In other words, is there any OT feature that has something like sub f by f.italic? If there isn’t then Kern On does not generate the auto-pairs for these glyphs. (The roboty answer would be that this means that in the exported font, these glyphs ...
by Tim Ahrens
16 Dec 2023
Forum: Kern On forum
Topic: "Expand Kerning" from autokerned masters to models?
Replies: 4
Views: 3830

Re: "Expand Kerning" from autokerned masters to models?

As of today, is implemented in the latest version: Kern On now generates local models automatically when you un-autokern a master. You still get some warnings but Kern On is playing a trick: These warnings suppressed at first; they are only shown once you start modifying or setting new models, or if...
by Tim Ahrens
16 Dec 2023
Forum: Kern On forum
Topic: Manual keyboard strokes don't always function properly after latest KO update (v 1.24)
Replies: 7
Views: 5964

Re: Manual keyboard strokes don't always function properly after latest KO update (v 1.24)

Good news! This problem should be solved. Get the latest update from https://kern-on.com/update/ and don’t forget to restart Glyphs!

Please let me know if you run into this problem again.
by Tim Ahrens
16 Dec 2023
Forum: Kern On forum
Topic: Cyrillic question - Л and л
Replies: 4
Views: 2927

Re: Cyrillic question - Л and л

This is tricky to answer without seeing the font. Kern On never thinks a pair is too tight as such, it only thinks it is it is too tight compared to another pair. For example, when it says “дл is too tight compared to vn” it might as well say, “vn is too loose compared to дл”, with the same meaning....
by Tim Ahrens
15 Dec 2023
Forum: Kern On forum
Topic: Manual keyboard strokes don't always function properly after latest KO update (v 1.24)
Replies: 7
Views: 5964

Re: Manual keyboard strokes don't always function properly after latest KO update (v 1.24)

I will try to reproduce this problem. The challenge here is, this text field is an interaction between Kern On, Glyphs (because KO uses an Objective C class provided by Glyphs), and macOS, of course. Any change in any of the three can potentially trigger this wrong behaviour. Would you mind letting ...
by Tim Ahrens
15 Dec 2023
Forum: Kern On forum
Topic: Special Spacing Not Working
Replies: 15
Views: 6506

Re: Special Spacing Not Working

Sorry, this video seems to be private. YouTube doesn’t allow me to see it.
by Tim Ahrens
13 Dec 2023
Forum: Kern On forum
Topic: Special Spacing Not Working
Replies: 15
Views: 6506

Re: Special Spacing Not Working

Thanks for sending the file. So far, I could not find anything that does not work as it should. Maybe some clarifications help: Whenever I pick a group for a character, it’s not saved. This is strange. You mean, while Kern On is running the special spacing group shows on the dialog for the glyph but...
by Tim Ahrens
12 Dec 2023
Forum: Kern On forum
Topic: Special Spacing Not Working
Replies: 15
Views: 6506

Re: Special Spacing Not Working

Sorry about this. Would you mind sending me the file? Then I can have a closer look, and I am sure we’ll find a fix!
by Tim Ahrens
03 Dec 2023
Forum: Kern On forum
Topic: "Expand Kerning" from autokerned masters to models?
Replies: 4
Views: 3830

Re: "Expand Kerning" from autokerned masters to models?

Btw you can also try to juggle pairs and values by showing the models in the upright, then copy-pasting them (as text) into the italic, select all, make them models. In order to transfer the values you could shut down Kern On, open an autokerned backup of the Italic master, copy-paste all kerning to...
by Tim Ahrens
03 Dec 2023
Forum: Kern On forum
Topic: "Expand Kerning" from autokerned masters to models?
Replies: 4
Views: 3830

Re: "Expand Kerning" from autokerned masters to models?

I would like to copy just the model pairs, but set the values resulting from the autokerning process. Agreed, this is simply what should happen if you deselect “Autokern from”. If you deselect “Interpolate master” this is how it already works (I believe) but I need to implement the same principle f...
by Tim Ahrens
15 Nov 2023
Forum: Kern On forum
Topic: in-Glyphs kerning not matching output
Replies: 2
Views: 2604

Re: in-Glyphs kerning not matching output

I assume what is happening is what you also suspect: The pair is too infrequent in the list. This is why it does not end up with the ideal value (as it is generated on-the-fly while Kern On is running). See my explanation in the other thread for more details. As an experiment, you can increase the v...
by Tim Ahrens
15 Nov 2023
Forum: Kern On forum
Topic: "Blue Zone" kerning
Replies: 5
Views: 4725

Re: "Blue Zone" kerning

What you describe is roughly how the class kerning algorithm works. Sticking to your example, let’s assume a certain pair against /adieresis has an ideal value of 50, and /amacron has 60. If 50 is the class kerning value then, if the exception with /amacron is omitted, the deviation is 10. Multiply ...
by Tim Ahrens
03 Nov 2023
Forum: Kern On forum
Topic: Manual keyboard strokes don't always function properly after latest KO update (v 1.24)
Replies: 7
Views: 5964

Re: Manual keyboard strokes don't always function properly after latest KO update (v 1.24)

Thanks for the notice. I identified the bug that leads to the wrong slider behaviour, and I think this also fixes the wrong behaviour of the key-up and key-down in the text field (which was not as easy to reproduce). You can get the update from kern-on.com/update . Please let me know if any of the p...
by Tim Ahrens
02 Nov 2023
Forum: Kern On forum
Topic: Got spam?
Replies: 1
Views: 3464

Re: Got spam?

Thanks for the notice. Yes, we do get a lot of spam and, although the spam filter is generally doing a good job, it sometimes lets things slip through.
by Tim Ahrens
14 Oct 2023
Forum: Kern On forum
Topic: Create kerning groups for everything
Replies: 3
Views: 3610

Re: Create kerning groups for everything

Using class kerning for sparse rows or columns is inefficient in terms of data size: We need 2 bytes per table cell, no matter whether it is used (non-zero) or not. Glyph-glyph pairs need 4 bytes per pair (each option has a certain overhead). So, for rows or columns that contain fewer pairs than rou...
by Tim Ahrens
13 Oct 2023
Forum: Kern On forum
Topic: Create kerning groups for everything
Replies: 3
Views: 3610

Re: Create kerning groups for everything

In principle, this would be possible to add as a feature but why would you want to do that?
by Tim Ahrens
11 Oct 2023
Forum: Kern On forum
Topic: KernOn crashes when setting special spacing groups
Replies: 3
Views: 3425

Re: KernOn crashes when setting special spacing groups

Thanks for sending the file. This crash only occurs in very specific situations (one master autokerned from another master, from which all models are removed). I just fixed it in the code.
by Tim Ahrens
11 Oct 2023
Forum: Kern On forum
Topic: KernOn crashes when setting special spacing groups
Replies: 3
Views: 3425

Re: KernOn crashes when setting special spacing groups

Thanks for the notice. Would you mind sending the file? Than I can investigate. Thanks!
by Tim Ahrens
05 Oct 2023
Forum: Kern On forum
Topic: Kern-on 1.23 - macOS Sonoma 14.0 (23A344)
Replies: 7
Views: 4975

Re: Kern-on 1.23 - macOS Sonoma 14.0 (23A344)

Yes, I can confirm that Kern On crashes if all masters in the font have “Link Metrics With Master”. It seems to be independent of the OS (and, looking at the code, it should be). I am just fixing this crash. This set-up, however, is unreasonable: How can all masters in the font be linked to somethin...
by Tim Ahrens
04 Oct 2023
Forum: Kern On forum
Topic: Kern-on 1.23 - macOS Sonoma 14.0 (23A344)
Replies: 7
Views: 4975

Re: Kern-on 1.23 - macOS Sonoma 14.0 (23A344)

Sorry, I cannot reproduce this crash here. Would you mind sending me the file? Thanks!
by Tim Ahrens
03 Oct 2023
Forum: Kern On forum
Topic: Kern-on 1.23 - macOS Sonoma 14.0 (23A344)
Replies: 7
Views: 4975

Re: Kern-on 1.23 - macOS Sonoma 14.0 (23A344)

Thanks for the notification. I am installing Sonoma on one of my computers right now and will have a closer look at this problem.
by Tim Ahrens
28 Aug 2023
Forum: Kern On forum
Topic: HX H – why?
Replies: 1
Views: 3197

Re: HX H – why?

This seems strange. Would you mind sending me the .glyphs file?
by Tim Ahrens
23 Aug 2023
Forum: Kern On forum
Topic: Kerning pairs - reasonable quantity?
Replies: 4
Views: 4074

Re: Kerning pairs - reasonable quantity?

The quick answer is: Don’t worry about the number of kerning pairs. The somewhat longer answer is: Don’t try to make you font pretty under the hood. All that counts is the visible, final rendering. If that looks good then all is good. Try to be rational: What is the issue with a large number of pair...
by Tim Ahrens
23 Aug 2023
Forum: Kern On forum
Topic: Single point side bearing change leads to drastic auto-kerning
Replies: 2
Views: 3302

Re: Single point side bearing change leads to drastic auto-kerning

What you describe clearly sounds like a wrong behaviour or Kern On. Would you mind sending me the .glyphs file so I can reproduce it? Thanks!
by Tim Ahrens
23 Aug 2023
Forum: Kern On forum
Topic: Locking existing Kern-On data
Replies: 6
Views: 9552

Re: Locking existing Kern-On data

1. Sorry, there are still not bubbles yet. What you can do is: • keep a copy of the file with the manual Latin kerning • in Kern On, set the Latin letters to “No kerning” • after finalizing (generating the full autokerning), copy & paste the Latin kerning fro your backup file You need to do this...
by Tim Ahrens
04 Aug 2023
Forum: Kern On forum
Topic: How to: RTL (Arabic)?
Replies: 1
Views: 2907

Re: How to: RTL (Arabic)?

Sorry, RTL is not implemented in Kern On yet. It is definitely on my to-do list, though. Stay tuned!
by Tim Ahrens
29 Jul 2023
Forum: Kern On forum
Topic: Some extended Latin characters not getting kerned
Replies: 7
Views: 5772

Re: Some extended Latin characters not getting kerned

Further: When I generate the list of supported pairs (i.e. pair_frequencies.txt) I first crunch large amounts of text from various sources, combine them and then remove what appears to be junk data or does not make sense to me, and then synthesize pairs based on what I consider sensible pairs. “Synt...
by Tim Ahrens
29 Jul 2023
Forum: Kern On forum
Topic: Some extended Latin characters not getting kerned
Replies: 7
Views: 5772

Re: Some extended Latin characters not getting kerned

The pipeline that generates the list of pairs has a list of to-be-kerned characters, which is the results of several whitelists and blacklists. I can confirm that all the mentioned characters are on the list: in principle, they are not excluded. Some more details on the occurrence in my corpus: ʔ U+...
by Tim Ahrens
29 Jul 2023
Forum: Kern On forum
Topic: Some extended Latin characters not getting kerned
Replies: 7
Views: 5772

Re: Some extended Latin characters not getting kerned

To get a better overview: Latin Extended-B: Ɂ U+0241 LATIN CAPITAL LETTER GLOTTAL STOP (This is the uppercase of U+0242 and U+0294) ɂ U+0242 LATIN SMALL LETTER GLOTTAL STOP (This is the lowercase of U+0241 and U+0294) IPA Extensions: ɬ U+026C LATIN SMALL LETTER L WITH BELT ʔ U+0294 LATIN LETTER GLOT...