FAQ - Frequently asked questions

What are these tools?

LS Cadencer is ment for auto-spacing / LS Cadenculator is a tool for measuring exisiting fonts and build personal spacing tables to be used for spacing with LS Cadencer.


Is there a test version for these tools?

Unfortunately not, we try to provide as many information as possible to show you how it works.


I am working on an experimental sans serif typeface, do these tools help with the spacing?

The tools are mainly made for auto-spacing classical serif and sans typefaces. We can not guarantee that it works properly with experimental fonts.


What about other scripts than Latin, for example Cyrillic or Greek?

Although the tools were only intensively tested with Latin fonts, other scripts should work as well, as long as you can define the glyphs left and right sides as an extrem or a stem. (Take a look at the illustration of the sidedefinitions on the main page) If you have a certain script in mind, please get in contact with us, we can have a look at it and give you feedback.


How do I install the tools?

Double click the files - usually there should be a dialog, which asks if you want to install the tools. After installation: In RoboFont you will find them both in the Extensions Menue. In Glyphs: LS Cadencer can be found/opened under menu – VIEW > LS Cadencer show (the tool for auto-spacing) LS Cadenculator can be found under EDIT > LS Cadenculator (the tool is ment for measuring existing fonts and building personal spacing tables)


I think the tools did not install properly? I can't find them in the menue.

Look at the output/macro-window if there are any tracebacks please report them, but first try the following:



there could be a traceback like "/Library/Python/2.7/site-packages/robofab/objects/objectsBase.py" Then you need to download the newest version of the objectsGS.py (https://github.com/schriftgestalt/Glyphs-Scripts/blob/master/objectsGS.py) and replace it in your glyphs script folder.

Sometimes it is necessary to reinstall Modules like Vanilla, RoboFab and FontTools, which have been installed via GlyphsApp Preferences (Addons/Modules). Go to the python folder on your computer (Library/Python/...) and remove these folders (Vanilla, RoboFab and FontTools). Then simply reinstall the modules via GlyphsApp Preferences.


Traceback (most recent call last): ImportError: No module named drawBot
Please install the drawBot Extension via RoboFont Mechanic or from github.


I think I need DrawBot to get the tools running? LS Cadenculator is not working - why do I get an error message?

The tools (actually only one of them: LS Cadenculator) make use of DrawBot - usually the FontEditors support that already on default. Look at the output/macro-window if there are any tracebacks about DrawBot. If so then search the internet for it and install the extension/plugin.


I installed the tools? But how do I start with LS Cadencer (the tool for auto-spacing)?

I would start by using a regular/roman weight of a classical serif font with LS Cadencer. Open the tool and the font. You can select upper-/lowercase-letters in your FontEditor and set the sidebearings to zero (ADD-ONs in the Tool) if you like. Then Select "Renaissance Roman" (spacing table/CUST) from the pop-up menu. Open the m glyph, as if you would want to edit the outline. There is a red line - a so called Beam. You can adjust the vertical Beam-Position from the UI in LS Cadencer. It always has to cut the vertical stems. So simply place it vertically in the middle of the height of the m. Then jump to glyph f - there is a green line on the right side of the glyph. Adjust it from the UI, so that it meets the crossbar of f. After that check the glyph g - there is a Beam (blue line) on the left - by adjusting this from the UI you can see how the left sidebearing (visualized by the grid) will behave. Finally "apply auto-spacing" - Done! Check the outcome.


Why is Grid-steps set to 32 as default?

This value is the most appropriate value for a regular weight. With bolder or lighter weights (for display sizes for example) one will need to adjust the value to change the width of the grid.


I did the first test - what's next?

In order to gain a better understanding: I would simply use LS Cadencer again. Open another weight of a classical serif font and adjust the grid-steps to a higher value. You can see the outcome of calculated units change - as well as the grid when you open up the m glyph. Then you can do the same like described before and "apply auto-spacing" and check the outcome. You can play around with options in the UI of the tool as well to get a grip on the tools in general. Of course you can try other typefaces with other spacing tables like Grotesk (Futura) or Humanistic Sans (Lucida Sans). I would always start with a regular weight. After playing around you will understand better how the tools work.


I did some tests, but why are only upper- and lowercase letters spaced by LS Cadencer? 

The tool expects some effort of the user as well. The user gets a solid basis to exhaust the full power of the tools. One has to extend/modify spacing tables for example by adding glyphs to the existing spacing tables (CUSTs) or to build a group spacing file which can be used to readjust accented glyphs as a second step after auto-spacing the basic glyph set. For extending existing spacing tables or building new ones for other types of fonts there is the second tool: LS Cadenculator.


It seems that the existing spacing tables like Renaissance Roman etc. available with the tools are not working with my design?

The CUSTs (spacing tables) delivered with the tools will not work for all types of fonts. Generally they are made for, or extracted from, certain genres. Depending on your design they could also fit although they are not exactly made for it. In cases where they don't fit one needs to modify exisiting tables or build new ones. A basis for completely new ones can be output with LS Cadenculator.


How can I modify or extend a spacing table (CUST)?

There are actually different ways to edit a spacing table. Basically, for quick adjustments of values of existing spacing tables one can use the CUST editor in the tool or export an existing CUST to edit in a better text editor (like TextMate etc.). In an TextEditor your could simply copy entries and modify them to expand the charset. Generally there is no need to include accented Characters only if their shapes differ from the base-glyph (like e.g. AE - sometimes different from A) For readjusting accented glyphs one can use the group spaing function with a simple .csv file - the user has to set this up once and can reuse it anytime again! The group file is comparable to class/group definitions for kerning. In glyphs things can be solved by using metrics classes - but I am not familiar with that. If you don't want to use auto-adjustment of glyphs you need to turn off the "auto-adjustment" for components in FONT-INFO > additional settings etc. If you change a value with the CUST Editot in the tool. The pop-up changes to "selmade CUST" and you can modify the values in the list shown in the tool. Once you are done you need to export your selfmade cust in order to reuse it again. But you can also use LS Cadenculator to extend existing spacing tables or to build completely new ones.


How can I use LS Cadenculator to extend spacing tables or build completely new ones for other types of fonts?

At first you need to create a folder with the font(s) you want to measure (either .otf or .ufo) - you can also measure a bunch of fonts of the same genre. If you measure different fonts, these should share the same genre/classification (e.g. Slab Serif/Egyptian - see VOX classification of typefaces for example) To get a good result from different fonts, they should also roughly share proportions and weight. To measure different weights like regular and bold together doesn't make sense to get a proper result. Depending on which characters you are measuring, those need to be present in the fonts of course! There are predefined sets (e.g. predefined latin) which you can measure and which are usually present in a font) Open LS Cadenculator and select the designated folder (make sure font format of fonts in the folder matches the checkbox .ufo/.otf in the tool) Make sure that the Beam Position in LS Cadenculator's UI is at a position where it cuts the m stems correctly! (To do so you might need to open the font(s) in the editor for a moment and put a guide at the position (e.g. 200) and check it manually by opening the m-glyph of the font(s) you will measure from the folder. - Currently there is no visual Beam in LS Cadenculator. - you need to do that manually) Then — make measurements — and output — most common cust.csv After this is done you can reimport the most common cust in LS Cadencer (the spacing tool) and apply the spacing table to your current font.


With LS Cadenculator, should I also have the .otf/.ufo opened with the FontEditor to see the Beam position?

There is no visual beam in LS Cadenculator, so basically there is no need to have the font(s) opened in the Editor when applying the tool. You may have to check by opening the file(s) you want to measure by using a guideline if the beam position in the tool cuts the m/n glyph correctly. Then you can close the file. In case you want to measure a glyph selection, you need to have a single font opened, but this is only for referencing the glyphs to measure. In every case the measurements are taken from the fonts in the folder!


When I’m using LS Cadencer, do I need to use the same grid steps as the CUST was created with from LS Cadenculator?

no not necessarily! if you measured a Regular weight then it will fit best to the regular of course - but by adjusting the grid steps to a higher value - the grid gets tighter and the same cust should also work for a bold weight - that's the idea - so a CUST can be applied to other weights as well .


Any advice on choosing either n or m beam?

I would simply have a look at the outcome - and compare both. In some cases the m could be a bit more condensed than the n. Then one can probably achieve the same effect by changing the grid-steps to a higher or lower value.


I've read all the information and watched the video, but I am still in doubt that it works. 

Please get in touch, we will try to answer your questions as soon as possible.