larsenwork / monoid

Customisable coding font with alternates, ligatures and contextual positioning. Crazy crisp at 12px/9pt. http://larsenwork.com/monoid/
7.85k stars 170 forks source link

Emoticon ligatures #171

Open silversquirl opened 7 years ago

silversquirl commented 7 years ago

For the IRCers of the world, it'd be nice to have some fancy ligatures to make these combinations of characters look a bit nicer: :) :( :-) :-( :/ :\ :3 :o :P XD etc.

Currently, the vertical alignment of the colon is a bit too low, and obviously :3 doesn't look quite as good with the flat-topped 3.

XD would look quite nice with a slightly smaller, but vertically centered X.

If I can help out with this in any way, let me know how.

Thanks for making such an awesome font!

bric3 commented 7 years ago

I don't think that's a good idea, the sequence of those characters may have actual meaning in the code. I don't want to see an emoticon there

phw commented 7 years ago

I agree with bric3. This is my major annoyance when sharing code over a chat tool which replaces emoticons. Such functionality does not really fit well into a font targeted at displaying code IMHO.

silversquirl commented 7 years ago

Good points. Perhaps it could be an optional extra, like the alternative $, 0, 1 and l.

By the way, I wasn't meaning emojis. I'd still want them to be displayed as text, just styled subtly differently. Just thought I'd correct that, as I was slightly unclear.

silversquirl commented 7 years ago

These combinations of characters should also only be ligatures when surrounded by whitespace, which would fix most cases of the issues raised by @bric3.

bric3 commented 7 years ago

I understood (emoticon) ligatures (as the font can not repalce characters) but the problem is the same. Actually even whitespace doesn't solve the problem. I just showed some examples without it, but depdending on the code style or simply values having whitespaces, it exposes this text to be repalced by a ligature that has nothing to do with code.

Regarding the optionality of the feature. It's part of another font config why not, but it should not be shipped in thse prebuild font.

silversquirl commented 7 years ago

it exposes this text to be repalced by a ligature that has nothing to do with code

Sure. I think it could be useful to have this option for use in IRC clients, however. For text-based IRC clients, the font with emoticons enabled could be set as an alternate font and the client could be configured to use that font rather than the standard version.

it should not be shipped in thse prebuild font

Yes, I agree. It should be an option, but not a default, just like the character alternatives.

larsenwork commented 7 years ago

Will definitely be default behaviour but could be stylistic alternates. I'm looking at optimising the font over the next couple of weeks and have noted the suggestions here.

Cheers :)