Colon-equals not vertically aligned #4

Closed
opened 2025-12-30 01:28:55 +01:00 by adam · 8 comments
Owner

Originally created by @wrs on GitHub (Nov 7, 2025).

Originally assigned to: @sayyadirfanali on GitHub.

:= is very common in Go and other languages, but not aligned as a pair.

Image
Originally created by @wrs on GitHub (Nov 7, 2025). Originally assigned to: @sayyadirfanali on GitHub. `:=` is very common in Go and other languages, but not aligned as a pair. <img width="185" height="26" alt="Image" src="https://github.com/user-attachments/assets/79cce59a-997b-4cb7-8870-2bad262a96ea" />
adam added the enhancement label 2025-12-30 01:28:55 +01:00
adam closed this issue 2025-12-30 01:28:56 +01:00
Author
Owner

@sayyadirfanali commented on GitHub (Nov 8, 2025):

@wrs thanks for the opening an issue with the screenshot.

since changing the vertical position of : or = would conflict with other glyphs, we'd need to add a contextual alternate. they were not planned initially for Myna, but are in pipeline now given the interest. check #1 for more details.

stay tuned for update.

@sayyadirfanali commented on GitHub (Nov 8, 2025): @wrs thanks for the opening an issue with the screenshot. since changing the vertical position of `:` or `=` would conflict with other glyphs, we'd need to add a contextual alternate. they were not planned initially for Myna, but are in pipeline now given the interest. check #1 for more details. stay tuned for update.
Author
Owner

@joshtriplett commented on GitHub (Nov 8, 2025):

@sayyadirfanali wrote:

since changing the vertical position of : or = would conflict with other glyphs, we'd need to add a contextual alternate

Interesting! I can imagine that = is already heavily positioned with other things, but what are the other compound operators or constructs that : is a part of an needs to match the relative positions of?

@joshtriplett commented on GitHub (Nov 8, 2025): @sayyadirfanali wrote: > since changing the vertical position of `:` or `=` would conflict with other glyphs, we'd need to add a contextual alternate Interesting! I can imagine that `=` is already heavily positioned with other things, but what are the other compound operators or constructs that `:` is a part of an needs to match the relative positions of?
Author
Owner

@sayyadirfanali commented on GitHub (Nov 8, 2025):

mainly the letter, semicolon, and period. they all have almost the same baseline, ie, the lower component of the semicolon rests on the same line as the period and the letters except descenders (p, q, etc).

i've think i did try to raise the semicolon once, but it disrupted the flow of text quite a bit.

on the other hand, the := combination is used in quite a few places for variable declaration (Go, OCaml, Coq).

@sayyadirfanali commented on GitHub (Nov 8, 2025): mainly the letter, semicolon, and period. they all have almost the same baseline, ie, the lower component of the semicolon rests on the same line as the period and the letters except descenders (p, q, etc). i've think i did try to raise the semicolon once, but it disrupted the flow of text quite a bit. on the other hand, the `:=` combination is used in quite a few places for variable declaration (Go, OCaml, Coq).
Author
Owner

@frankrolf commented on GitHub (Nov 11, 2025):

You won’t need to add additional glyphs, you could introduce a vertical kerning pair for this context:

pos colon' <0 80 0 0> equal;

Here’s a screenshot of a dummy build of Source Code Pro where I attempted the above:

Image
@frankrolf commented on GitHub (Nov 11, 2025): You won’t need to add additional glyphs, you could introduce a vertical kerning pair for this context: ```fea pos colon' <0 80 0 0> equal; ``` Here’s a screenshot of a dummy build of Source Code Pro where I attempted the above: <img width="3340" height="1224" alt="Image" src="https://github.com/user-attachments/assets/b665c3da-f0c3-418d-b2ba-f33f341a1cbc" />
Author
Owner

@sayyadirfanali commented on GitHub (Nov 11, 2025):

@frankrolf that's right. no new glyph/ligature need be added, just a rule to shift the vertical position.

@sayyadirfanali commented on GitHub (Nov 11, 2025): @frankrolf that's right. no new glyph/ligature need be added, just a rule to shift the vertical position.
Author
Owner

@sayyadirfanali commented on GitHub (Nov 17, 2025):

@wrs @joshtriplett @frankrolf i've added a contextual alternate in the latest commit (9138e77400). can you please check if it works and the design is proper?

@sayyadirfanali commented on GitHub (Nov 17, 2025): @wrs @joshtriplett @frankrolf i've added a contextual alternate in the latest commit (https://github.com/sayyadirfanali/Myna/commit/9138e774006e29f18d7104f6654115b1c176013e). can you please check if it works and the design is proper?
Author
Owner

@wrs commented on GitHub (Nov 17, 2025):

@sayyadirfanali Looks good to me! Thanks!

@wrs commented on GitHub (Nov 17, 2025): @sayyadirfanali Looks good to me! Thanks!
Author
Owner

@sayyadirfanali commented on GitHub (Nov 18, 2025):

closing this issue. as mentioned in the Myna.fea file, the current adjustments include =, +, - but if any other adjustments (with or without :) are needed, then feel free to open another issue.

@sayyadirfanali commented on GitHub (Nov 18, 2025): closing this issue. as mentioned in the `Myna.fea` file, the current adjustments include `=`, `+`, `-` but if any other adjustments (with or without `:`) are needed, then feel free to open another issue.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/Myna#4