Live data from Hacker News

Myna: Monospace typeface designed for symbol-heavy programming languages

github.com

121–130 of 185 posts

Re: Myna: Monospace typeface designed for symbol-heavy programming languages

#121
post #87

My favorite monospace font is "Ubuntu Mono" for ages. As an engineer, I like to see -- for the lack of better word -- some taste instead of characters being too formal and too symmetric. Ubuntu and Ubuntu-Mono satisfy this to a good extent without being too much, like in comic sans. The closest font with similar taste, which I found recently is Mononoki

I've also been using Ubuntu Mono for ages. Must be 15 years now! I have tried many other fonts, just to see if I'd enjoy a change, but the most jarring thing is how much space all other fonts seem to have. Ubuntu Mono gives me way more lines on screen, without setting the font size far too small. Is the "condensed" property that is being mentioned in this thread? I've asked about this before but nobody has ever said…

yes, indeed. "condensed" means smaller width and less space between characters, in general. it allows for slightly more code to be shown on the screen horizontally.

Re: Myna: Monospace typeface designed for symbol-heavy programming languages

#122

It would be nice to see some comparison with other fonts on the GitHub page; the symbols look normal to me, at least. It looks very pretty regardless!

thanks for pointing it out. i would need to consider that idea. the symbols are all pure ASCII and are supposed to look normal. it is not a ligature font and neither focusses on Unicode symbols. the symbols are just more evenly adjusted with the letters and with each other.

You could make a PR to add it to https://www.programmingfonts.org so people can become aware and compare

Re: Myna: Monospace typeface designed for symbol-heavy programming languages

#123
post #44

I don't know why "->" should render as an arrow when we could just use an actual Unicode arrow. If need be, have macros for your editors that allow you to convert the "->" into an actual arrow.

Using Unicode would be awful. I have a button on my keyboard for every character I need. How do I type a unicode arrow? Oh, now I need editor macros? Or I need to get out a special keyboard per language? Unicode is not there for you to necessarily use the whole thing. It's there so that everyone in the world can encode their text the same way, despite having a completely different set of characters on their keyboards…

> how do I type a unicode arrow?

Same way you type everything else - by pressing a button combination that corresponds to the symbol in your layout. Or by using an app that does it without changing the layout. Like your editor could insert → when you type fn () -> {} Or you'd simply not type it and continue to use ->

> Or I need to get out a special keyboard per language?

No, your regular keyboard will work fine for any language.

> Unicode is not there for you to necessarily use the whole thing

The suggestion was about literally 1 char (maybe implicitly about a dozen more), why did you jump to the millions from "the whole thing"???

Re: Myna: Monospace typeface designed for symbol-heavy programming languages

#124
post #71
post #45

This, like many fonts, fails to handle vertical arrows: | ^ v | Note that the raised appearance of `^` exists for compatibility with typewriters that use the backspace key to use it as a circumflex accent over lowercase letters. This is doubly obsolete today (we have real combined characters and can use them on uppercase). This is one of those cases where the name originally used for the character in various standard…

> the way people actually have come to use it I have never seen anyone use it as part of an up arrow spread across two lines in the way that you’re suggesting. So I don’t really understand your point. Ok it’s not symmetrical, but I don’t buy your argument that it _should_ be (or that it’s a reasonable complaint to make about a font).

Totally. Ultra niche edge case nonsense.

Re: Myna: Monospace typeface designed for symbol-heavy programming languages

#125
post #123

Earlier quoted context omitted.

Using Unicode would be awful. I have a button on my keyboard for every character I need. How do I type a unicode arrow? Oh, now I need editor macros? Or I need to get out a special keyboard per language? Unicode is not there for you to necessarily use the whole thing. It's there so that everyone in the world can encode their text the same way, despite having a completely different set of characters on their keyboards…

> how do I type a unicode arrow? Same way you type everything else - by pressing a button combination that corresponds to the symbol in your layout. Or by using an app that does it without changing the layout. Like your editor could insert → when you type fn () -> {} Or you'd simply not type it and continue to use -> > Or I need to get out a special keyboard per language? No, your regular keyboard will work fine for…

But I don't have a button that corresponds to "unicode arrow" and I don't particularly want one. I have only 10 digits and they're all accounted for with ubiquitous, regular keyboards that have been around for decades.

Having to use some app that converts two characters inserted in sequence into the correct character is a terrible idea. It makes me think of the Dvorak trend among geeks. I very nearly learnt Dvorak myself, but then a wise elder dissuaded me, reminding me how amazing it is to be able to type fast on any keyboard you come across, even if it might only be 90% of your theoretical maximum on the perfect keyboard. Sometimes local optima are good enough.

> The suggestion was about literally 1 char

It's never "just one more".

Re: Myna: Monospace typeface designed for symbol-heavy programming languages

#126
post #118

Earlier quoted context omitted.

i have addressed this in one of the other comments. it is impossible to achieve both elegance (good look) and consistency (monospace width) in these cases. many folks, like yourself, are pioneering full Unicode editing. we, on the other end, are just trying to make editing without ligatures elegant because ASCII, i believe, would remain predominant for a long time to come.

well, my "pioneering efforts" :) are killed by language designers, as you note "it is impossible", so we can only waste time looking for various workarounds like using fonts designed around those limits...

Is it really impossible? I'm not disputing you, but for my own learning. Is there somewhere I could read about impossibility of ligatures and monospace?

Re: Myna: Monospace typeface designed for symbol-heavy programming languages

#127
post #105

> Are you frustrated that -> looks nothing like an arrow The proper solution is, of course, to allow ←arrows→ (and, naturally, not trying to fit a variable peg into a monowidth whole)... maybe in the next generation of languages when the bottom level of typesetting quality is raised a bit

Ligatures exist

Re: Myna: Monospace typeface designed for symbol-heavy programming languages

#128
post #123

Earlier quoted context omitted.

> how do I type a unicode arrow? Same way you type everything else - by pressing a button combination that corresponds to the symbol in your layout. Or by using an app that does it without changing the layout. Like your editor could insert → when you type fn () -> {} Or you'd simply not type it and continue to use -> > Or I need to get out a special keyboard per language? No, your regular keyboard will work fine for…

But I don't have a button that corresponds to "unicode arrow" and I don't particularly want one. I have only 10 digits and they're all accounted for with ubiquitous, regular keyboards that have been around for decades. Having to use some app that converts two characters inserted in sequence into the correct character is a terrible idea. It makes me think of the Dvorak trend among geeks. I very nearly learnt Dvorak my…

> But I don't have a button that corresponds to "unicode arrow"

You mean the label: well, take out your favorite marker and draw one on the side! But also, you don't have labels that correspond to these standard Mac layout symbols https://i.sstatic.net/ht0Tg.png So? Should it be removed?

> ubiquitous, regular keyboards that have been around for decades.

All poorly designed, most even acknowledge that by adding an extra set of numbers at the side because the default numeric (and symbolic) row is so bad. Why is the 'why bother improve the awfulness' a great attitude?

> but then a wise elder dissuaded me, reminding me how amazing it is to be able to type fast on any keyboard you come across

There is nothing wise here, it's a bog standard rejection of any improvement. First of, you could still train yourself to use both. Second, if you're only using your own keyboards 99.9% of the time, there is nothing amazing about not being slowed down in those tiny percent of typing cases. Also, it's of course not literally `any` keyboard you come, that's such a myopic view - plenty of countries have different non-qwerty default layouts, so you wouldn't be able to enjoy your qwerty speed there

> only be 90% of your theoretical maximum on the perfect keyboard

What if it's 10% that will make you disabled in 20 years? After all, "speed" isn't the only factor here. Any "wise" man could appreciate the broader ergonomic implications...

> It's never "just one more".

If only you didn't cut off the quote you could've read "implicitly about a dozen more", but the most important part is the last that you failed to address about the millions

Re: Myna: Monospace typeface designed for symbol-heavy programming languages

#129
post #105

> Are you frustrated that -> looks nothing like an arrow The proper solution is, of course, to allow ←arrows→ (and, naturally, not trying to fit a variable peg into a monowidth whole)... maybe in the next generation of languages when the bottom level of typesetting quality is raised a bit

Ligatures exist

and don't solve the spacing issue, also: I see an →, so I type one in my search box, but can't find anything since it's not an arrow, but a fake replacement of -> Or I press Shift+Right to select it, but can't, need to repeat it 3 times because again, it was a long arrow, not a single symbol. Then, of course, they could do a replacement in y our comments where you meant literal symbols, not an arrow...

Re: Myna: Monospace typeface designed for symbol-heavy programming languages

#130
post #118

Earlier quoted context omitted.

well, my "pioneering efforts" :) are killed by language designers, as you note "it is impossible", so we can only waste time looking for various workarounds like using fonts designed around those limits...

Is it really impossible? I'm not disputing you, but for my own learning. Is there somewhere I could read about impossibility of ligatures and monospace?

It's just a fundamental limitation of being boxed, nothing deeper than that: that means you can't fully control spacing, which is crucial in any design. For a simplified example, you can't have a long arrow that is as wide as 2.5 boxes, but instead of 0.5 boxes for spacing only have 0.1 (so a total of 2.6 boxes)
Post reply on HN