All Projects → stove-panini → Fontconfig Emoji

stove-panini / Fontconfig Emoji

Emoji prioritization rules

Labels

Projects that are alternatives of or similar to Fontconfig Emoji

Hexo Filter Github Emojis
github emojis for hexo! 🎉
Stars: ✭ 71 (-27.55%)
Mutual labels:  emoji
React Native Animated Emoji
Animated Floating Reactions like Facebook 👍
Stars: ✭ 82 (-16.33%)
Mutual labels:  emoji
Fnreactionsview
FNReactionsView is a customizable control (based on UIView) to give people a way to show floating emoji like facebook does during live stream, easy way.
Stars: ✭ 87 (-11.22%)
Mutual labels:  emoji
Phpumoji
PHPUnit Emoji Result Printer
Stars: ✭ 75 (-23.47%)
Mutual labels:  emoji
Emoji
emoji terminal output for Python
Stars: ✭ 1,215 (+1139.8%)
Mutual labels:  emoji
Emojivision
A 200 something line Swift Playground for rendering images as emojis
Stars: ✭ 84 (-14.29%)
Mutual labels:  emoji
Codefont
60余种常用的等宽字体 愉快的code吧 欢迎issues我 收录更多字体 Happy code bar with more than 60 common fonts of equal width. Welcome issues. I include more fonts.
Stars: ✭ 68 (-30.61%)
Mutual labels:  emoji
Aidou
chrome code review 斗图插件
Stars: ✭ 92 (-6.12%)
Mutual labels:  emoji
Embed Js
🌻 A lightweight plugin to embed emojis, media, maps, tweets, code and more. ✨
Stars: ✭ 1,220 (+1144.9%)
Mutual labels:  emoji
Emojipacks
CLI to bulk upload emojis to your Slack
Stars: ✭ 1,275 (+1201.02%)
Mutual labels:  emoji
Laravel Smartmd
🎯 A simple markdown editor compatible most markdown parse,You can choose any parse methods on server or client,like Mathematical formula、flowchart、upload image...
Stars: ✭ 76 (-22.45%)
Mutual labels:  emoji
Rails emoji
Emoji for Ruby on Rails
Stars: ✭ 76 (-22.45%)
Mutual labels:  emoji
Countries
Countries - ISO 3166 (ISO3166-1, ISO3166, Digit, Alpha-2 and Alpha-3) countries codes and names (on eng and rus), ISO 4217 currency designators, ITU-T E.164 IDD calling phone codes, countries capitals, UN M.49 regions codes, ccTLD countries domains, IOC/NOC and FIFA letters codes, VERY FAST, NO maps[], NO slices[], NO init() funcs, NO external links/files/data, NO interface{}, NO specific dependencies, Databases/JSON/GOB/XML/CSV compatible, Emoji countries flags and currencies support, full support ISO-3166-1, ISO-4217, ITU-T E.164, Unicode CLDR and ccTLD standarts.
Stars: ✭ 85 (-13.27%)
Mutual labels:  emoji
Rime pure
【rime小狼毫\trime同文】手机/PC一站式配置【简约皮肤\拼音搜狗词库\原创trime同文四叶草九宫格拼音方案\四叶草拼音、小鹤双拼、极品五笔、徐码、郑码】 rime配置
Stars: ✭ 73 (-25.51%)
Mutual labels:  emoji
Emojilib
Emoji keyword library.
Stars: ✭ 1,299 (+1225.51%)
Mutual labels:  emoji
Emoji Cli
Emoji searcher
Stars: ✭ 68 (-30.61%)
Mutual labels:  emoji
Qq Wechat Emotion Parser
QQ、微信表情符号解析:字符串到图片URL
Stars: ✭ 82 (-16.33%)
Mutual labels:  emoji
Emojica
A Swift framework for using custom emoji in strings.
Stars: ✭ 93 (-5.1%)
Mutual labels:  emoji
Slack Emoji
My slack emoji collection and download script
Stars: ✭ 91 (-7.14%)
Mutual labels:  emoji
Emoji For Jekyll
A plugin for Jekyll that seamlessly enable emoji.
Stars: ✭ 86 (-12.24%)
Mutual labels:  emoji

fontconfig-emoji

Deprecation Notice

At the time of writing these configuration files, proper prioritization of the "Emoji" font family hadn't made its way into most distros. This has since changed! Fontconfig currently works its magic right out of the box nowadays.

As of this writing, I'm running Fedora 33 with none of these customizations applied and everything works as intended.

DejaVu may still remain a problem for reasons described below, so you might have to blacklist that.

tl;dr

  1. Drop 70-no-dejavu.conf in ~/.config/fontconfig/conf.d/
  2. Enjoy your emoji!

Firefox users can set font.name-list.emoji to emoji in about:config to override its built-in "Twemoji Mozilla" font.


What's the deal with these mismatched emoji?

In a standard fontconfig installation, the file 45-generic.conf assigns most emoji fonts to a new generic parent family called emoji and to a new parent language, und-zsye. The file 60-generic.conf then sets the fonts in preferential order within the family.

However, it never sets the priority of the generic emoji family in relation to other generic families like sans or serif! So if any fonts contain emoji characters and are in a prioritized family, those emoji get rendered first. This is what causes some emoji to be from DejaVu, and others (the ones not present in DejaVu) from your "real" emoji font.

The fix

My 69-emoji.conf sets up the priority like this:

  1. The family declared by the page (whether specific like Arial or generic like sans-serif)
  2. The emoji family
  3. All the rest

The emoji family can't be top priority because it contains very common characters like 0-9, some arrows, ® and ™, etc. We want the declared font in these cases.

About DejaVu

DejaVu is the default generic family for most distros. It's a fork of the older Bitstream Vera, extended to cover more than just the Latin alphabet and common punctuation.

In addition, DejaVu covers some emoji. On a web page (or in a system UI element) where only a generic family (like sans) is called, DejaVu will render all of its emoji before handing things off to the proper emoji family.

The most painless fix is to blacklist DejaVu with 70-no-dejavu.conf. The reason we're blacklisting rather than uninstalling is because the DejaVu package is usually marked as a dependency for several important packages on your system.

If you'd like to keep around something similar to DejaVu that doesn't include emoji, consider using the parent font from which it's forked: Bitstream Vera.

Emoji in common families

You may find that some other non-emoji fonts have emoji characters in them as well. This is due to the historical Wingdings and Webdings fonts from the 1990s being absorbed into Unicode and picked up by common fonts long before there were emoji versions of the characters.

For example, ☺ (Unicode U+263A, White Smiling Face) is supported by the Liberation family (Microsoft equivalents) as well as the URW family (PostScript equivalents). So, if ☺ is on a page declaring Arial, Times, Helvetica, etc, the non-emoji version will be rendered.

Side note: This could be why another very similar smiley exists in the emoji set. Maybe 🙂 (Unicode U+1F642, Slightly Smiling Face) is intended to be used as the modern plain smiley in order to avoid the font confusion that arises with the old U+263A.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].