arrowtype/recursive

Make the width of em-dash larger and variable with MONO.

matj1 opened this issue · 0 comments

Is your feature request related to a problem? Please describe.

Em-dash (“—”) is usually as wide as the letter M or as wide as the font is tall (wider). In Recursive, the width of M changes with MONO, but the width of em-dash is fixed to the monospace width.

With low values of MONO, the dashes are too narrow. They are as wide as en-dashes, but with less bearing. That can be seen in the image at the end. It shows a sample with en-dashes and the same but with em-dashes in various fonts. All other fonts have em-dashes significantly wider than em-dashes and similar bearing of em-dashes to that of en-dashes. Just Recursive has them with the same width and different bearing.

Describe the solution you'd like

Make the width of em-dash variable with MONO and make it have sidebearings similar to that of en-dash. Em-dash should be at least as wide as M.

With 1 as MONO, em-dash and en-dash have to have the same advance width, and em-dash should appear wider, so they can't have the same sidebearings. I suggest that the size of sidebearings of em-dash should scale with MONO, specifically that they would be 0 with 1 as MONO and the same as of en-dash with 0 as MONO.

Additional context

examples of how en-dashes and em-dashes are wide in various fonts