Instantly share code, notes, and snippets.

Embed
What would you like to do?
Emoji on Linux desktop. Use with aur/cairo-coloredemoji.
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- /etc/fonts/conf.avail/51-noto-color-emoji.conf -->
<fontconfig>
<selectfont>
<acceptfont>
<pattern>
<patelt name="family"><string>Noto Color Emoji</string></patelt>
</pattern>
</acceptfont>
</selectfont>
<match target="scan">
<test name="family">
<string>Noto Color Emoji</string>
</test>
<edit name="charset">
<charset>
<int>0xa9</int>
<int>0xae</int>
<int>0x200d</int>
<int>0x203c</int>
<int>0x2049</int>
<int>0x20e3</int>
<int>0x2122</int>
<int>0x2139</int>
<range><int>0x2194</int><int>0x2199</int></range>
<range><int>0x21a9</int><int>0x21aa</int></range>
<range><int>0x231a</int><int>0x231b</int></range>
<int>0x2328</int>
<int>0x23cf</int>
<range><int>0x23e9</int><int>0x23f3</int></range>
<range><int>0x23f8</int><int>0x23fa</int></range>
<int>0x24c2</int>
<range><int>0x25aa</int><int>0x25ab</int></range>
<int>0x25b6</int>
<int>0x25c0</int>
<range><int>0x25fb</int><int>0x25fe</int></range>
<range><int>0x2600</int><int>0x2604</int></range>
<int>0x260e</int>
<int>0x2611</int>
<range><int>0x2614</int><int>0x2615</int></range>
<int>0x2618</int>
<int>0x261d</int>
<int>0x2620</int>
<range><int>0x2622</int><int>0x2623</int></range>
<int>0x2626</int>
<int>0x262a</int>
<range><int>0x262e</int><int>0x262f</int></range>
<range><int>0x2638</int><int>0x263a</int></range>
<int>0x2640</int>
<int>0x2642</int>
<range><int>0x2648</int><int>0x2653</int></range>
<int>0x2660</int>
<int>0x2663</int>
<range><int>0x2665</int><int>0x2666</int></range>
<int>0x2668</int>
<int>0x267b</int>
<int>0x267f</int>
<range><int>0x2692</int><int>0x2697</int></range>
<int>0x2699</int>
<range><int>0x269b</int><int>0x269c</int></range>
<range><int>0x26a0</int><int>0x26a1</int></range>
<range><int>0x26aa</int><int>0x26ab</int></range>
<range><int>0x26b0</int><int>0x26b1</int></range>
<range><int>0x26bd</int><int>0x26be</int></range>
<range><int>0x26c4</int><int>0x26c5</int></range>
<int>0x26c8</int>
<range><int>0x26ce</int><int>0x26cf</int></range>
<int>0x26d1</int>
<range><int>0x26d3</int><int>0x26d4</int></range>
<range><int>0x26e9</int><int>0x26ea</int></range>
<range><int>0x26f0</int><int>0x26f5</int></range>
<range><int>0x26f7</int><int>0x26fa</int></range>
<int>0x26fd</int>
<int>0x2702</int>
<int>0x2705</int>
<range><int>0x2708</int><int>0x270d</int></range>
<int>0x270f</int>
<int>0x2712</int>
<int>0x2714</int>
<int>0x2716</int>
<int>0x271d</int>
<int>0x2721</int>
<int>0x2728</int>
<range><int>0x2733</int><int>0x2734</int></range>
<int>0x2744</int>
<int>0x2747</int>
<int>0x274c</int>
<int>0x274e</int>
<range><int>0x2753</int><int>0x2755</int></range>
<int>0x2757</int>
<range><int>0x2763</int><int>0x2764</int></range>
<range><int>0x2795</int><int>0x2797</int></range>
<int>0x27a1</int>
<int>0x27b0</int>
<int>0x27bf</int>
<range><int>0x2934</int><int>0x2935</int></range>
<range><int>0x2b05</int><int>0x2b07</int></range>
<range><int>0x2b1b</int><int>0x2b1c</int></range>
<int>0x2b50</int>
<int>0x2b55</int>
<int>0x3030</int>
<int>0x303d</int>
<int>0x3297</int>
<int>0x3299</int>
<int>0xfe0f</int>
<int>0x1f004</int>
<int>0x1f0cf</int>
<range><int>0x1f170</int><int>0x1f171</int></range>
<range><int>0x1f17e</int><int>0x1f17f</int></range>
<int>0x1f18e</int>
<range><int>0x1f191</int><int>0x1f19a</int></range>
<range><int>0x1f1e6</int><int>0x1f1ff</int></range>
<range><int>0x1f201</int><int>0x1f202</int></range>
<int>0x1f21a</int>
<int>0x1f22f</int>
<range><int>0x1f232</int><int>0x1f23a</int></range>
<range><int>0x1f250</int><int>0x1f251</int></range>
<range><int>0x1f300</int><int>0x1f321</int></range>
<range><int>0x1f324</int><int>0x1f393</int></range>
<range><int>0x1f396</int><int>0x1f397</int></range>
<range><int>0x1f399</int><int>0x1f39b</int></range>
<range><int>0x1f39e</int><int>0x1f3f0</int></range>
<range><int>0x1f3f3</int><int>0x1f3f5</int></range>
<range><int>0x1f3f7</int><int>0x1f4fd</int></range>
<range><int>0x1f4ff</int><int>0x1f53d</int></range>
<range><int>0x1f549</int><int>0x1f54e</int></range>
<range><int>0x1f550</int><int>0x1f567</int></range>
<range><int>0x1f56f</int><int>0x1f570</int></range>
<range><int>0x1f573</int><int>0x1f57a</int></range>
<int>0x1f587</int>
<range><int>0x1f58a</int><int>0x1f58d</int></range>
<int>0x1f590</int>
<range><int>0x1f595</int><int>0x1f596</int></range>
<range><int>0x1f5a4</int><int>0x1f5a5</int></range>
<int>0x1f5a8</int>
<range><int>0x1f5b1</int><int>0x1f5b2</int></range>
<int>0x1f5bc</int>
<range><int>0x1f5c2</int><int>0x1f5c4</int></range>
<range><int>0x1f5d1</int><int>0x1f5d3</int></range>
<range><int>0x1f5dc</int><int>0x1f5de</int></range>
<int>0x1f5e1</int>
<int>0x1f5e3</int>
<int>0x1f5e8</int>
<int>0x1f5ef</int>
<int>0x1f5f3</int>
<range><int>0x1f5fa</int><int>0x1f64f</int></range>
<range><int>0x1f680</int><int>0x1f6c5</int></range>
<range><int>0x1f6cb</int><int>0x1f6d2</int></range>
<range><int>0x1f6e0</int><int>0x1f6e5</int></range>
<int>0x1f6e9</int>
<range><int>0x1f6eb</int><int>0x1f6ec</int></range>
<int>0x1f6f0</int>
<range><int>0x1f6f3</int><int>0x1f6f6</int></range>
<range><int>0x1f910</int><int>0x1f91e</int></range>
<range><int>0x1f920</int><int>0x1f927</int></range>
<int>0x1f930</int>
<range><int>0x1f933</int><int>0x1f93a</int></range>
<range><int>0x1f93c</int><int>0x1f93e</int></range>
<range><int>0x1f940</int><int>0x1f945</int></range>
<range><int>0x1f947</int><int>0x1f94b</int></range>
<range><int>0x1f950</int><int>0x1f95e</int></range>
<range><int>0x1f980</int><int>0x1f991</int></range>
<int>0x1f9c0</int>
</charset>
</edit>
</match>
<match target="font">
<test name="family">
<string>Noto Color Emoji</string>
</test>
<edit name="scalable" mode="assign"><bool>true</bool></edit>
<edit name="embeddedbitmap" mode="assign"><bool>true</bool></edit>
<edit name="hinting" mode="assign"><bool>true</bool></edit>
<edit name="hintstyle" mode="assign"><const>hintfull</const></edit>
</match>
<!-- Experimental -->
<match target="pattern">
<test name="family" qual="first" compare="contains">
<string>emoji</string>
</test>
<edit mode="assign" name="color">
<bool>true</bool>
</edit>
<edit mode="assign" name="family">
<string>Noto Color Emoji</string>
</edit>
</match>
<match target="pattern">
<test name="prgname" compare="not_eq">
<string>java</string>
</test>
<edit name="family" mode="prepend">
<string>Noto Color Emoji</string>
</edit>
</match>
</fontconfig>
@cookiengineer

This comment has been minimized.

cookiengineer commented Nov 9, 2016

Installation instructions

sudo pacman -S noto-fonts-emoji noto-fonts;
yaourt -S cairo-coloredemoji;

# Create XML file into /etc/fonts/conf.avail/51-noto-color-emoji.conf

cd /etc/fonts/conf.d;
sudo ln -s /etc/fonts/conf.avail/51-noto-color-emoji.conf 51-noto-color-emoji.conf;

sudo fc-cache; # Generate global font cache
fc-cache; # Generate user-specific font cache

Afterwards, remember to restart your App / Browser that uses emojis. Surf to getemoji.com. They use the "experimental" font-family, so you might wanna link the "Segoe UI Emoji" font as suggested in the XML file.

@smallst

This comment has been minimized.

smallst commented Dec 19, 2016

thanks, but a little problem
chromium works well but firefox not, but in firebug emoji is just right.
i use archlinux and cairo-infinality-ultimate-with-colored-emoji
untitled

@GeekaholicLin

This comment has been minimized.

GeekaholicLin commented Apr 15, 2017

@cookiengineer Are there any easy way for ubuntu terminal?I have changed the cairo source that cairo-coloredemojisupplied and use make to build it.And then download the fonts from google,and follow your installation instructions.Change the terminal font to Noto Color Emoji and restart the terminal.But it does not workQAQ.I spent much time in configuring it in linux terminal,but it is in vain.Do you have any idea about it?thx!!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment