microsoft / cascadia-code

This is a fun, new monospaced font that includes programming ligatures and is designed to enhance the modern look and feel of the Windows Terminal.
Other
25.66k stars 804 forks source link

Ḵ, Ḻ, Ṉ, Ṯ, ḵ, ḻ, ṉ have a macron below not an underline #415

Closed moyogo closed 3 years ago

moyogo commented 3 years ago

Environment

Cascadia Code version number: 2102.03
Application (with version) used to display text: any
OS platform and version: any
Screen resolution (i.e. 220dpi):  any

Steps to reproduce

Use Ḵ, Ḻ, Ṉ, Ṯ, ḵ, ḻ, ṉ in any sequence like ḴḺṈṮḵḻṉ.

Expected behavior

The macron below should not be as wide as the advance width. It should be like the macron above in ĀĒĪŌṒṐŪȲӢӮ āēīōṓṑūȳӣӯ.

Screenshot 2021-02-14 at 23 12 01

Actual behavior

The macron below is as wide as the advance width in each, causing it to connect when any of these is repeated or next to another of that set.

Screenshot 2021-02-14 at 23 09 36

The Glyphs.app glyph names of those glyphs come from the Unicode names of the characters for example Ḵ, 1E34, is LATIN CAPITAL LETTER K WITH LINE BELOW. But their canonical decomposition uses 0331 COMBINING MACRON BELOW instead of 0332 COMBINING LOW LINE, for example 1E34 is canonically equivalent to ≡ 004B 0331. The Unicode charts for the Latin Extended Additional Block has the note “In this block the names "WITH LINE BELOW" refer to a macron below the letter.”

0332 COMBINING LOW LINE has the following note in the Unicode charts for the Combining Diachritics Block:

= underline, underscore
• connects on left and right

0332 COMBINING LOW LINE "connects on left and right" but 0331 COMBINING MACRON BELOW doesn't. Neither should the macron below in those glyphs.

In practice, the macron below or the macron above can have various widths depending on what letter they are on (narrower on the i, wider on the m), but this is less common and is even less necessary with monospace fonts.

aaronbell commented 3 years ago

Thanks for the feedback, as always.

I actually originally had used standard macron widths for these, but decided to change it for the sake of Líl̓wat.

Líl̓wat has a character t̲s̲ with an overlapping bottom line. In conducting my research on these various Salishan scripts, I often found that the codepoints used in digital texts are inconsistent—sometimes one sometimes another (particularly in the case of commaabovecomb and commarightabovecomb).

So while the sample I found seemed to indicate use of lowlinecomb, I was concerned that we could end up in a situation where a different glyph, such as macronbelow (which is common in other Salishan scripts) could be used by accident, causing poor rendering.

As such, it made sense to set both lowlinecomb and macronbelowcomb to be fullwidth, and overlapping. Having a slightly longer macronbelow is not that problematic, and it is unlikely that two characters with such an accent will ever be next to one another in text other than Líl̓wat, so it felt like an acceptable compromise to ensure quality rendering for Líl̓wat.

With your feedback, I thought I'd go back and take a second look. In examining the keyboard layouts provided for St̓át̓imcets / Líl̓wat, it appears that and are provided as stand alone keys including both the base letter and lowlinecomb mark. A combined form is also included in the pdf, but not the actual key map. This same keyboard layout is provided in multiple locations and linked to from the Líl̓wat Nation site. Based on this, I feel more confident that there is little risk of the wrong codepoint being used here. I'll look into adjusting the macron below to be a more standard width.

moyogo commented 3 years ago

Technically, there's also 035F COMBINING DOUBLE MACRON BELOW that could be used to have t͟s with a double macron that doesn't connect left and right. But it doesn't seem to be used in St̓át̓imcets / Líl̓wat data.