I miss silk icons that were ubiquitous in late 2000s: http://www.famfamfam.com/lab/icons/silk/. I miss Tango Project icons, although Gnome went off-the-rails in their UI design. I miss small UI elements, like on freaking Windows 95 desktop, not optimized for pressing with finger, despite being shown on desktop.
Tango/GNOME Icons Wikipedia pages (previews many but not all icons): https://commons.wikimedia.org/wiki/Tango_icons https://commons.wikimedia.org/wiki/GNOME_Desktop_icons
Breeze is a bit more 'modern' and would also work well on HiDPI: https://github.com/KDE/breeze-icons ; you would probably want to clone the repo and browse the files manually since GitHub isn't great for previewing images.
KDE created/used the Oxygen icon theme before Breeze, its style is between Tango/GNOME and Breeze: https://github.com/pasnox/oxygen-icons-png
UPDATE: apparently.... HN Isn't unicode friendly...https://pasteboard.co/IpxYWjH.png
In general, avoid using font-based icons to avoid the problem you run into in your post above. :) SVGs are better in the vast majority of cases where you have control of markup.
Fonts are unreliable (esp on mobile) -- not enough that you should avoid them, but enough that you should avoid them for anything you need to look correct. I've seen websites and apps where not only do the unicode symbols not display, they get flat out replaced with different images, since some fonts organize themselves differently. And if they don't display, Unicode doesn't gracefully degrade, it just shows nothing.
It's always weirded me out and slightly annoyed me that emoji are associated with Unicode at all, it's a terrible format for accessibility. The more robust, markdown-ish way to do this would be to abandon attaching them to Unicode characters entirely and wholesale switch to the Slack/Twitter convention of spelling things out.
:smile: :thumbsup: :cookie:
Plus, spelling them out allows you to use emoji like :squirtle_squad_robbing_bank: or :children_standing_in_cornfield: even though they haven't technically made it into the standard yet. On an unrelated note, for some reason the standards body has stopped responding to any of my emails.
This qualifier is why Unicode icons should be avoided where possible.
You're correct that Unicode icons are different from icon fonts in the sense that they're standardized -- but the standard doesn't matter unless everyone implements it; and as we can see on HN, plenty of platforms don't.
In practice, there are just too many platforms/devices that implement only part of the Unicode standard, or that implement it incorrectly, or that extend it with their own stuff.
In practice unicode icons are widely supported enough to use.
<a href="https://google.com">click me</a>
<img src="thiscatdoesnotexist.com" alt="this cat does not exist" />
I'm not saying avoid emoji, I'm saying avoid encoding them into a format that literally stops rendering or turns into an undecipherable mess the moment it's not fully supported -- especially since there are other encoding formats we could use that would be just as good as Unicode and that wouldn't have any of its downsides. In general, we should try to build escalators, not elevators.
Agreed, but what is the better escalator in this case?
:smile: :calculator: :pikachu_brandishing_ketchup:
Shortcodes will get passed properly through 99.9% of existing text processors without any problems, so it's a really safe format to store things in.
I think the conversion to pictorial form should only happen at the display layer. If you're writing HTML, I advocate for using an SVG with a title attribute. Unicode emoji are already SVGs, so the only thing that changes is you don't bundle your emoji into a font.
Even native applications understand how to automatically highlight things like urls with the `https://` `http://` format, so my personal vote is we just use shortcodes the same way we use URLs.
Unicode emoji relies on sites/platforms:
A) choosing to support the full Unicode set
B) Being up-to-date on the current spec and having glyphs to display for the entire set
Regardless of whether or not it's easy to support -- many, many sites and platforms in the real world don't. When they don't support the full spec, you get invisible characters that can't degrade gracefully, can't be read by screen readers, and that break copy-paste.
I still run into garbled text online that's the result of people copying and pasting smart quotes between platforms that won't render them. Platforms are never gonna catch up to a living spec that is regularly extended, so it's preferable to avoid "novel" Unicode characters and use something that degrades gracefully instead.