<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/rss-style.xsl" type="text/xsl"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	    xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	     xmlns:dc="http://purl.org/dc/elements/1.1/"
	   xmlns:atom="http://www.w3.org/2005/Atom"
	     xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	  xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>
<channel>
	<title>emoji &#8211; Terence Eden’s Blog</title>
	<atom:link href="https://shkspr.mobi/blog/tag/emoji/feed/" rel="self" type="application/rss+xml" />
	<link>https://shkspr.mobi/blog</link>
	<description>Regular nonsense about tech and its effects 🙃</description>
	<lastBuildDate>Thu, 19 Mar 2026 09:27:07 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://shkspr.mobi/blog/wp-content/uploads/2023/07/cropped-avatar-32x32.jpeg</url>
	<title>emoji &#8211; Terence Eden’s Blog</title>
	<link>https://shkspr.mobi/blog</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title><![CDATA[Where you can (and can't) use Emoji in PHP]]></title>
		<link>https://shkspr.mobi/blog/2024/04/where-you-can-and-cant-use-emoji-in-php/</link>
					<comments>https://shkspr.mobi/blog/2024/04/where-you-can-and-cant-use-emoji-in-php/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Sat, 20 Apr 2024 11:34:04 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[emoji]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[unicode]]></category>
		<category><![CDATA[🧑🏾‍❤️‍💋‍🧑🏻]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=50268</guid>

					<description><![CDATA[I was noodling around in PHP the other day and discovered that this works:  &#60;?php $🍞 = &#34;bread&#34;; echo &#34;Some delicious &#34; . $🍞;   I mean, there&#039;s no reason why it shouldn&#039;t work. An emoji is just a Unicode character (OK, not just a character - but we&#039;ll get on to that), so it should be fine to use anywhere.  Emoji work perfectly well as function names:  function 😺🐶() {    echo &#34;catdog!&#34;; } 😺🐶();   De…]]></description>
										<content:encoded><![CDATA[<p>I was noodling around in PHP the other day and discovered that this works:</p>

<pre><code class="language-php">&lt;?php
$🍞 = "bread";
echo "Some delicious " . $🍞;
</code></pre>

<p>I mean, there's no reason why it <em>shouldn't</em> work. An emoji is just a Unicode character (OK, not just <em>a</em> character - but we'll get on to that), so it should be fine to use anywhere.</p>

<p>Emoji work perfectly well as function names:</p>

<pre><code class="language-php">function 😺🐶() {
   echo "catdog!";
}
😺🐶();
</code></pre>

<p>Definitions:</p>

<pre><code class="language-php">define( "❓", "huh?" );
echo ❓;
</code></pre>

<p>And, well, pretty much everywhere:</p>

<pre><code class="language-php">class 🦜
{
    public int $🐦;
    public ?string $🦃;

    public function __construct(int $🐦, ?string $🦃)
    {
        $this-&gt;🐦 = $🐦;
        $this-&gt;🦃 = $🦃;
    }
}
$🐓 = new 🦜(1234, "birb");
echo $🐓-&gt;🐦;
</code></pre>

<p>How about namespaces? Yup!</p>

<pre><code class="language-php">namespace 😜;
class 😉 {
    public function 😘() {
        echo "Wink!";
    }
}

use 😜\😉;
$😊 = new 😉();
$😊-&gt;😘();
</code></pre>

<p>Even moderately complex Unicode sequences work:</p>

<pre><code class="language-php">echo &lt;&lt;&lt;🏳️‍🌈
Unicode is magic!
🏳️‍🌈;
</code></pre>

<p>I've written before about the <a href="https://shkspr.mobi/blog/2019/06/quirks-and-limitations-of-emoji-flags/">Quirks and Limitations of Emoji Flags</a>. The humble 🏳️‍🌈 is actually the sequence U+1F3F3 (white flag), U+FE0F (Variation Selector 16), U+200D (Zero Width Joiner), U+1F308 (Rainbow).</p>

<p>Take a complex emoji like "<a href="https://emojipedia.org/astronaut-medium-dark-skin-tone">Female Astronaut with Medium Dark Skin Tone</a>" - 🧑🏾‍🚀 - that also works!</p>

<pre><code class="language-php">$🧑🏾‍🚀 = 1;
$👷🏻‍♂️ = 2;
echo $🧑🏾‍🚀 + $👷🏻‍♂️;
</code></pre>

<p>Probable the <a href="https://unicode.run/#run=%F0%9F%A7%91%F0%9F%8F%BE%E2%80%8D%E2%9D%A4%EF%B8%8F%E2%80%8D%F0%9F%92%8B%E2%80%8D%F0%9F%A7%91%F0%9F%8F%BB">most complex emoji</a> has <strong>10</strong> different codepoints!  It looks like this - 🧑🏾‍❤️‍💋‍🧑🏻</p>

<p>And it works!</p>

<pre><code class="language-php">$🧑🏾‍❤️‍💋‍🧑🏻 = "Kiss Kiss. Bang Bang!";
echo $🧑🏾‍❤️‍💋‍🧑🏻[-1];
</code></pre>

<p>There are some emoji which don't work;</p>

<pre><code class="language-php">$5️⃣ = "five";
</code></pre>

<p>The 5️⃣ emoji is U+0035 (Digit Five), U+FE0F (Variation Selector 16), U+20E3 (Combining Enclosing Keycap).  PHP doesn't allow variables to start with digits, so it craps out with <code>PHP Parse error:  syntax error, unexpected integer "5", expecting variable or "{" or "$" in php shell code on line 1</code></p>

<p>You also can't use "punctuation" emoji as though they were normal characters:</p>

<pre><code class="language-php">echo 5 ❗= 6;
</code></pre>

<p>And, while not <em>strictly</em> emoji, you can't use mathematical symbols:</p>

<pre><code class="language-php">echo 5 ≤ 6;
</code></pre>

<p>So, there you have it. Is this <em>useful</em>? Well, probably. It is easy to get lost in a sea of text - so little pictograms can make it easier to see what you're doing. If the basic ASCII characters aren't part of your native language, perhaps it is useful to make use of the full range of Unicode.</p>

<p>Does your favourite programming language support Emoji?</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=50268&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2024/04/where-you-can-and-cant-use-emoji-in-php/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Use CSS to boost the font size of emoji with no extra markup]]></title>
		<link>https://shkspr.mobi/blog/2024/04/use-css-to-boost-the-font-size-of-emoji-with-no-extra-markup/</link>
					<comments>https://shkspr.mobi/blog/2024/04/use-css-to-boost-the-font-size-of-emoji-with-no-extra-markup/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Sun, 14 Apr 2024 11:34:58 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[emoji]]></category>
		<category><![CDATA[font]]></category>
		<category><![CDATA[HTML]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=50168</guid>

					<description><![CDATA[I want to make emoji bigger than the text that surrounds them. At my age and eyesight, it can be difficult to tell the difference between 😃, 😄, and 😊 when they are as small as the text.  Is there a way to use CSS to increase the font size of specific characters without having to wrap them in an extra &#60;span&#62; or similar?  Yes! Although it is a bit of a hack.    This relies on 3 CSS features: src: lo…]]></description>
										<content:encoded><![CDATA[<p>I want to make emoji bigger than the text that surrounds them. At my age and eyesight, it can be difficult to tell the difference between 😃, 😄, and 😊 when they are as small as the text.</p>

<p>Is there a way to use CSS to increase the font size of <em>specific</em> characters without having to wrap them in an extra <code>&lt;span&gt;</code> or similar?</p>

<p>Yes! Although it is a bit of a hack.</p>

<iframe width="100%" height="550" src="//jsfiddle.net/edent/531htvmn/embedded/result,html,css/" allowfullscreen="allowfullscreen" frameborder="0"></iframe>

<p>This relies on 3 CSS features: <code>src: local()</code>, <code>unicode-range</code>,and <code>size-adjust</code>.  Let me walk you through it.</p>

<pre><code class="language-css">@font-face {
    font-family: "emoji";

    src: local('Apple Color Emoji'),
         local('Android Emoji'),
         local('Segoe UI Emoji'),
         local('Noto Color Emoji'),
         local(EmojiSymbols),
         local(Symbola);

    unicode-range: U+231A-231B, U+23E9-23EC, U+23F0, U+23F3, U+25FD-25FE, U+2614-2615, U+2648-2653, U+267F, U+2693, U+26A1, U+26AA-26AB, U+26BD-26BE, U+26C4-26C5, U+26CE, U+26D4, U+26EA, U+26F2-26F3, U+26F5, U+26FA, U+26FD, U+2705, U+270A-270B, U+2728, U+274C, U+274E, U+2753-2755, U+2757, U+2795-2797, U+27B0, U+27BF, U+2B1B-2B1C, U+2B50, U+2B55, U+FE0F, U+1F004, U+1F0CF, U+1F18E, U+1F191-1F19A, U+1F1E6-1F1FF, U+1F201, U+1F21A, U+1F22F, U+1F232-1F236, U+1F238-1F23A, U+1F250-1F251, U+1F300-1F320, U+1F32D-1F335, U+1F337-1F393, U+1F3A0-1F3CA, U+1F3CF-1F3D3, U+1F3E0-1F3F0, U+1F3F4, U+1F3F8-1F43E, U+1F440, U+1F442-1F4FC, U+1F4FF-1F53D, U+1F54B-1F567, U+1F57A, U+1F595-1F596, U+1F5A4, U+1F5FB-1F64F, U+1F680-1F6CC, U+1F6D0-1F6D2, U+1F6D5-1F6D7, U+1F6DC-1F6DF, U+1F6EB-1F6EC, U+1F6F4-1F6FC, U+1F7E0-1F7EB, U+1F7F0, U+1F90C-1F93A, U+1F93C-1F945, U+1F947-1FA7C, U+1FA80-1FAC5, U+1FACE-1FADB, U+1FAE0-1FAE8, U+1FAF0-1FAF8;

    size-adjust: 300%;
}

body {
    font-family: "emoji", sans-serif;
}
</code></pre>

<p>Here's how it works.</p>

<p><code>@font-face</code> this tells the browser that we're defining a new font which will be referenced later.</p>

<p><code>font-family</code> this is the name we're going to be using as a reference.</p>

<p><code>src: local('Apple Color Emoji') ...</code> CSS can reference <em>local</em> fonts. We don't know what device this page is being viewed on, so we've included a number of popular fallback fonts which <em>should</em> work with all major browsers.  You can also reference a webfont if you want - although Emoji fonts tend to have a large filesize.  I've adapted this from <a href="https://gist.github.com/mfornos/9991865">Marc Fornós' CSS</a> and added a few more common default emoji fonts.</p>

<p><a href="https://developer.mozilla.org/en-US/docs/Web/CSS/%40font-face/unicode-range"><code>unicode-range</code></a> this tells the browser to use this font <em>only</em> for the specific codepoints mentioned.  This is where the magic happens.</p>

<p>Emoji codepoints are complicated - especially when it comes to combining characters. You can see <a href="https://unicode.org/Public/emoji/15.1/emoji-sequences.txt">a full list of every sequence in Unicode 15.1</a>. There are currently <a href="https://en.wikipedia.org/wiki/List_of_emojis">3,782 different emoji</a>.</p>

<p>There was <a href="https://github.com/w3c/csswg-drafts/issues/7921">some talk of using named ranges</a> but that doesn't seem to have gone anywhere. So, instead, I've extracted all the Emoji codepoints and manually grouped them. It's a pretty long sequence, and I'm sure I've made a few mistakes.</p>

<p><a href="https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/size-adjust"><code>size-adjust</code></a> this is used to increase or decrease the apparent size of a font.</p>

<p>Finally, the <code>body { font-family: "emoji", sans-serif; }</code> tells the browser to use the Emoji font (remember, this will only work on the specified Unicode range) and then fall back to the defaults sans-serif font. Obviously, you can specify whatever fonts you like.</p>

<p><a href="https://jsfiddle.net/edent/531htvmn/">Have a play with it</a></p>

<p>This is a nifty little hack if you want to make Emoji (or any other text) bigger than its surroundings.</p>

<p>I am indebted to <a href="https://mastodon.social/@simevidas/112204970338133463">Šime Vidas</a> who demonstrated this trick to me.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=50168&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2024/04/use-css-to-boost-the-font-size-of-emoji-with-no-extra-markup/feed/</wfw:commentRss>
			<slash:comments>10</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Not Quite Emoji Domain Names]]></title>
		<link>https://shkspr.mobi/blog/2022/11/not-quite-emoji-domain-names/</link>
					<comments>https://shkspr.mobi/blog/2022/11/not-quite-emoji-domain-names/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Fri, 04 Nov 2022 12:34:13 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[domains]]></category>
		<category><![CDATA[emoji]]></category>
		<category><![CDATA[i18n]]></category>
		<category><![CDATA[NaBloPoMo]]></category>
		<category><![CDATA[unicode]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=43928</guid>

					<description><![CDATA[Like all good geeks, I have far too many domain names that I acquired for interesting projects which never took off.  My latest is a bit different though.  https://⏻.ga/🔗  That&#039;s &#34;Unicode Power Symbol Dot Gabon&#34;.  Because why not.  Regular readers will know that I helped get ⏻ and several power symbols into Unicode.  When I do talks about this, I usually refer to them as Emoji because, to most peo…]]></description>
										<content:encoded><![CDATA[<html><head><style>
@font-face { 
  font-family: "power";
  src: url(data:application/octet-stream;base64,d09GMgABAAAAAARMAA4AAAAACNAAAAPvAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0ZGVE0cGh4GVgCCYhEICoUUhDABNgIkAygLFgAEIAWDdAeBFz93ZWJmBhtcB8iOxDgmcsRI5UX+Q571flJmrKx1G3faMbWgT8JJaVcQD/8/5u77M4malrZknsbpZlk8EgqZQ00kC4UUGTycdp7gnef436GyhAI+52tgAcacBezsL21O4FUACIDLl3TCAeCK6cpHpq4t/UPsNdoAU8AgECghkPXdAiSdSAMQIyteJF4GkC1+Y68jLRkCg5wckpDHQwH3yhQ405kVIUn7l4ajMpD0wQGAVQXWIWgMLwRdFrveXFNEQhagM+nflD+zIv7/hw/qd8n/b3fkt7SFffUxpB6SNKEghq9Atbz/CPno/38MwTmBsR04DtB86hTNhYBZ+28LJJHhPJ1phnoifW2qrq6qPiMAErypu68TSalRwxVwY1zXhenCDTTcVD/sfXz9NjXeCtt+iesS0LDPQo2GGw96Ht2ixvAVB3BqtbjxercaogaB69L8ar59/bEWdAmSpkGtrpBM6xo1YRoNR9T9UH2z6YZQLlFTLQhAZYOw6rXVwpMbN28+ffg4/NGzqFv3CQm/ex4IN5qaj2i+pXnT+7Astdmc5tuoBcj0FU6FnXtDQu2ZE+QQGlqleBzoBONgfETnMSGs/xpnFBdPX7+73eHZU4eOGIf2p886HHavL56eUWz81zrPCeZZHwbW31g+JmJHF4vGRtnlN7yrPmSZ2weHYPF1Z5AiNq6D5SrM090UcXEL+F1No3F//8aNnly/vv5R/K5d8Y/+EdkwPYr/59sbFhYa+jihfv36k3Gjf/+OxuVWN8WNUQQcHwpcURuWQX4WK47vUCQK1oUyp7lhyWrRAV+5eWsQNa9IN5cHtTaTf5qu88GMYnmR4cRZkEZ59WeUBA1+/ToYVMKSjb6gQV/avi1exmvXGnuBDKbN2DF0dUvMwfPAeD37rzItGeCWaPtk2v7/kl6OE8h2l4VA9qGdcDWAlOrni8/FDgAyFToGWYzJKG2hR18+hcEIwGGvVh8DoLDSmbRPC+9gESI5Aj1cTUJdpBPI4MpikMXSB8ih4RPk0fUHvmDqH3xjfuiCH8jIkfgLjlRv3GTRiQB4UlLgvaqUK0m+HCaTdy5PpuTv9SlSBUmVrlSOREVU8uUpMccXSZeKNzU0Zrpvy9FrrxDoOWKnVgam6jDGJhb96MaLmjCpuq5YZo90vEkvGmo/MVyqJGmjYJbQnUr0afYlsj7e1CzeM7M1hW9rYRNH763mRarMK5gDetvMeYnknSpUCk6RbEiVsw/qJBIOQEi0kiURiUlCUpJJS/My50u73LQD/MOVQXxwpK+rv4+RJ8Hfb46/ShVG6TH+CMNAsI9SGfCk1nPpwiUqhbaH0iUskld4Bil8lKDQhCPFAAA=);
}
.power {font-family:"power";color:#F00;}
</style>

</head><body><p>Like all good geeks, I have far too many domain names that I acquired for interesting projects which never took off.  My latest is a bit different though.</p>

<h2 id="https-%e2%8f%bb-ga"><a href="http://web.archive.org/web/20221212040251/https://xn--soh.ga/">https://<span class="power">⏻</span>.ga/</a><a href="https://shkspr.mobi/blog/2022/11/not-quite-emoji-domain-names/#https-%e2%8f%bb-ga">🔗</a></h2>

<p>That's "Unicode Power Symbol Dot Gabon".  Because why not.</p>

<p>Regular readers will know that I helped get <span class="power">⏻</span> and <a href="https://unicodepowersymbol.com/">several power symbols into Unicode</a>.  When I do talks about this, I usually refer to them as Emoji because, to most people, Emoji are simply little pictures in text.  But that is a gross oversimplification. You know the meme that <a href="https://journals.lib.washington.edu/index.php/nasko/article/download/15879/13281">real Champagne must be from the Champagne region of France - otherwise it is merely sparkling wine</a>?  Well, Emoji must come from the <a href="https://unicodeplus.com/plane/1">Supplementary Multilingual Plane of Unicode</a> otherwise they're just ✨sparkling✨ characters.</p>

<p>Except... That's not <em>quite</em> true. There are a bunch of symbols stuffed in the <a href="https://en.wikipedia.org/wiki/Miscellaneous_Symbols">Miscellaneous block of the Basic Multilingual Plane</a> which are <em>also</em> Emoji.</p>

<p>The Power Symbol appears in the block <a href="https://en.wikipedia.org/wiki/Miscellaneous_Technical">Miscellaneous Technical</a>.  The symbol itself is not an Emoji, but it is in a block which has 18 Emoji. Confused? Good<sup id="fnref:Babel"><a href="https://shkspr.mobi/blog/2022/11/not-quite-emoji-domain-names/#fn:Babel" class="footnote-ref" title="For more information, please read the Book of Genesis, Chapter 11, verses 1-9." role="doc-noteref">0</a></sup>!</p>

<p>Domain names can only contain the ASCII characters <code>A</code>-<code>Z</code>, <code>0</code>-<code>9</code>, and <code>-</code>. That's a problem if you speak anything other than basic English. Luckily, there's a workaround! I have a Chinese language domain <span style="word-break: keep-all;"><a href="https://莎士比亚.org/">莎士比亚.org</a></span> - through the magic of the <a href="https://www.rfc-editor.org/rfc/rfc3492">Punycode Algorithm</a>, it becomes <a href="https://xn--jlq54w7ypemw.org">xn--jlq54w7ypemw.org</a>.  This use of non-Latin letters in domains is known as IDN - Internationalised<sup id="fnref:idn"><a href="https://shkspr.mobi/blog/2022/11/not-quite-emoji-domain-names/#fn:idn" class="footnote-ref" title="As if English weren't international!" role="doc-noteref">1</a></sup> Domain Names.</p>

<p>IDNs have several <a href="https://www.icann.org/en/blogs/details/hello-world-enabling-internationalized-domain-names-idns-16-6-2021-en">officially supported "scripts"</a> - for example Thai, Greek, Hebrew, Cyrillic, Chinese etc.  Each top level domain (like .uk, .com, .中国) can choose which scripts they'll accept. For example, a Chinese Top Level Domain may only accept Chinese characters and not Greek characters.  IANA maintains a list of <a href="https://www.iana.org/domains/idn-tables">which domains support which scripts</a>.  But it is incomplete. Because it doesn't mention Emoji.</p>

<p>The Punycode algorithm works with emoji. This means you can have <a href="https://xn--i-7iq.ws/">Emoji in domain names</a>!  Mostly.  And that "mostly" is important.</p>

<p>Not every Top Level Domain accepts Emoji domain names (because they hate having fun, I guess?<sup id="fnref:security"><a href="https://shkspr.mobi/blog/2022/11/not-quite-emoji-domain-names/#fn:security" class="footnote-ref" title="But also, quite reasonably, for legitimate security concerns of having Emoji domains." role="doc-noteref">2</a></sup>)</p>

<p>The .ga registry doesn't publish any rules showing which scripts it will accept<sup id="fnref:gascript"><a href="https://shkspr.mobi/blog/2022/11/not-quite-emoji-domain-names/#fn:gascript" class="footnote-ref" title="Do let me know if I am wrong." role="doc-noteref">3</a></sup>.  But seems quite happy to take registrations for Punycode domains. So I registered <a href="http://web.archive.org/web/20221212040251/https://xn--soh.ga/"></a><a href="https://xn--soh.ga/">https://xn--soh.ga/</a> and, after an unusually long delay, it worked!</p>

<p>Does this mean <a href="http://web.archive.org/web/20221212040251/https://xn--soh.ga/"><span class="power">⏻</span>.ga</a> is an Emoji domain? No! <span class="power">⏻</span> is <em>not</em> an Emoji! It is a small pictographic symbol encoded in Unicode.</p>

<p>Does this mean <a href="http://web.archive.org/web/20221212040251/https://xn--soh.ga/"><span class="power">⏻</span>.ga</a> is an IDN? No! <span class="power">⏻</span> is <em>not</em> an international script. It is a language-neutral technical symbol.</p>

<p>So what the fuck kind of domain is it?</p>

<p>Drop an answer in the box bellow.</p>

<div id="footnotes" role="doc-endnotes">
<hr>
<ol start="0">

<li id="fn:Babel">
<p>For more information, please read the <a href="http://www.qbible.com/hebrew-old-testament/genesis/11.html">Book of Genesis, Chapter 11, verses 1-9</a>.&nbsp;<a href="https://shkspr.mobi/blog/2022/11/not-quite-emoji-domain-names/#fnref:Babel" class="footnote-backref" role="doc-backlink">↩︎</a></p>
</li>

<li id="fn:idn">
<p>As if English weren't international!&nbsp;<a href="https://shkspr.mobi/blog/2022/11/not-quite-emoji-domain-names/#fnref:idn" class="footnote-backref" role="doc-backlink">↩︎</a></p>
</li>

<li id="fn:security">
<p>But also, quite reasonably, for <a href="https://www.icann.org/en/system/files/files/sac-095-en.pdf">legitimate security concerns of having Emoji domains</a>.&nbsp;<a href="https://shkspr.mobi/blog/2022/11/not-quite-emoji-domain-names/#fnref:security" class="footnote-backref" role="doc-backlink">↩︎</a></p>
</li>

<li id="fn:gascript">
<p>Do let me know if I am wrong.&nbsp;<a href="https://shkspr.mobi/blog/2022/11/not-quite-emoji-domain-names/#fnref:gascript" class="footnote-backref" role="doc-backlink">↩︎</a></p>
</li>

</ol>
</div>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=43928&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2022/11/not-quite-emoji-domain-names/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Emoji Tetris Pieces]]></title>
		<link>https://shkspr.mobi/blog/2022/01/emoji-tetris-pieces/</link>
					<comments>https://shkspr.mobi/blog/2022/01/emoji-tetris-pieces/#respond</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Mon, 10 Jan 2022 12:34:40 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[emoji]]></category>
		<category><![CDATA[tetris]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=41563</guid>

					<description><![CDATA[These tetrominoes are built from emoji and have roughly the same colour as the pieces from Tetris. They are not accessible to people with screen readers. But they&#039;re quite fun if you want to play Tetris via a text-only medium.  ⬛️⬛️⬛️⬛️⬛️⬛️⬛️⬛️⬛️🟦 ⬛️⬛️⬛️⬛️⬛️⬛️⬛️⬛️⬛️🟦 ⬛️⬛️⬛️⬛️⬛️⬛️⬛️⬛️⬛️🟦 ⬛️⬛️⬛️⬛️⬛️⬛️⬛️⬛️⬛️🟦 ⬛️⬛️⬛️⬛️⬛️⬛️⬛️⬛️⬛️⬛️ 🟩⬛️🟧⬛️⬛️🟥🟥⬛️⬛️⬛️ 🟩🟩🟧⬛️🟨🟨🟥🟥⬛️⬛️ 🟫🟩🟧🟧🟨🟨⬛️⬛️⬛️⬛️ 🟫🟫🟫🟧🟪🟫🟫🟥🟦⬛️ 🟦🟧🟧🟧🟪🟪🟥🟥🟦⬛️ 🟦…]]></description>
										<content:encoded><![CDATA[<p>These tetrominoes are built from emoji and have <em>roughly</em> the same colour as the pieces from Tetris. They are not accessible to people with screen readers. But they're quite fun if you want to play Tetris via a text-only medium.</p>

<pre style="line-height:.8em;letter-spacing:-3px;width: 10em; overflow: hidden;font-size:2em;">⬛️⬛️⬛️⬛️⬛️⬛️⬛️⬛️⬛️🟦
⬛️⬛️⬛️⬛️⬛️⬛️⬛️⬛️⬛️🟦
⬛️⬛️⬛️⬛️⬛️⬛️⬛️⬛️⬛️🟦
⬛️⬛️⬛️⬛️⬛️⬛️⬛️⬛️⬛️🟦
⬛️⬛️⬛️⬛️⬛️⬛️⬛️⬛️⬛️⬛️
🟩⬛️🟧⬛️⬛️🟥🟥⬛️⬛️⬛️
🟩🟩🟧⬛️🟨🟨🟥🟥⬛️⬛️
🟫🟩🟧🟧🟨🟨⬛️⬛️⬛️⬛️
🟫🟫🟫🟧🟪🟫🟫🟥🟦⬛️
🟦🟧🟧🟧🟪🟪🟥🟥🟦⬛️
🟦🟨🟨🟩🟪🟦🟥⬛️🟦⬛️
</pre>

<p>And the individual pieces:</p>

<pre style="line-height:.8em;letter-spacing:-3px;width: 10em; overflow: hidden;font-size:2em;">🟦
🟦
🟦
🟦

🟩
🟩🟩
⬛️🟩

🟨🟨
🟨🟨

🟪
🟪🟪
🟪

⬛️🟥
🟥🟥
🟥

⬛️🟫
⬛️🟫
🟫🟫

🟧
🟧
🟧🟧
</pre>

<p>Yes, I'm sick of seeing all those Wordle Tweets as well!</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=41563&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2022/01/emoji-tetris-pieces/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Set your own emoji shortcuts in Ubuntu / Pop_OS]]></title>
		<link>https://shkspr.mobi/blog/2021/10/set-your-own-emoji-shortcuts-in-ubuntu-pop_os/</link>
					<comments>https://shkspr.mobi/blog/2021/10/set-your-own-emoji-shortcuts-in-ubuntu-pop_os/#respond</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Sun, 10 Oct 2021 11:34:41 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[emoji]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[pop_os]]></category>
		<category><![CDATA[ubuntu]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=40587</guid>

					<description><![CDATA[How do you quickly insert a 💩 emoji when using your laptop? I just type ScrLck, p, o, o!  What is this 🧙‍♀️ craft?  In your keyboard settings, you should see an option like this:    You can set the &#34;Compose&#34; key to be anything you like. Personally, I use the otherwise-useless Scroll Lock button.  Now, once you press ScrLck you&#039;ll see this symbol .  The next few letters you type will be &#34;absorbed&#34; …]]></description>
										<content:encoded><![CDATA[<p>How do you quickly insert a 💩 emoji when using your laptop? I just type <kbd>ScrLck</kbd>, <kbd>p</kbd>, <kbd>o</kbd>, <kbd>o</kbd>!</p>

<h2 id="what-is-this-%f0%9f%a7%99%e2%99%80%ef%b8%8f-craft"><a href="https://shkspr.mobi/blog/2021/10/set-your-own-emoji-shortcuts-in-ubuntu-pop_os/#what-is-this-%f0%9f%a7%99%e2%99%80%ef%b8%8f-craft">What is this 🧙‍♀️ craft?</a></h2>

<p>In your keyboard settings, you should see an option like this:</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2021/10/Type-special-characters.png" alt="Screenshot of the Type special characters setting." width="976" height="202" class="aligncenter size-full wp-image-40588">

<p>You can set the "Compose" key to be anything you like. Personally, I use the otherwise-useless <code>Scroll Lock</code> button.</p>

<p>Now, once you press <kbd>ScrLck</kbd> you'll see this symbol <img src="https://shkspr.mobi/blog/wp-content/uploads/2021/10/symbol.png" alt="A weird symbol." width="37" height="37" class="alignnone size-full wp-image-40589" style="display: inline;vertical-align: middle;">.</p>

<p>The next few letters you type will be "absorbed" by that symbol and combined to make something new.</p>

<h2 id="whats-available"><a href="https://shkspr.mobi/blog/2021/10/set-your-own-emoji-shortcuts-in-ubuntu-pop_os/#whats-available">What's available</a></h2>

<p>You can see the default symbols in <code>/usr/share/X11/locale/en_US.UTF-8/Compose</code></p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2021/10/Screenshot-from-2021-10-06-16-37-00.png" alt="List of symbols." width="1474" height="170" class="alignnone size-full wp-image-40592">

<p>You can add your own, either in the file or in <code>~/.XCompose</code></p>

<h2 id="note"><a href="https://shkspr.mobi/blog/2021/10/set-your-own-emoji-shortcuts-in-ubuntu-pop_os/#note">Note!</a></h2>

<p>The short-cuts you type are case-sensitive. Typing <kbd>ScrLck</kbd>, <kbd>f</kbd>, <kbd>u</kbd> does nothing, but typing <kbd>ScrLck</kbd>, <kbd>F</kbd>, <kbd>U</kbd> will get you 🖕!</p>

<h2 id="alternatives"><a href="https://shkspr.mobi/blog/2021/10/set-your-own-emoji-shortcuts-in-ubuntu-pop_os/#alternatives">Alternatives</a></h2>

<p>There is a <a href="https://shkspr.mobi/blog/2021/07/easy-emoji-in-ubuntu-pop-os/">menu driven way of selecting emoji</a> if you can't remember keyboard shortcuts.</p>

<h2 id="credit"><a href="https://shkspr.mobi/blog/2021/10/set-your-own-emoji-shortcuts-in-ubuntu-pop_os/#credit">Credit</a></h2>

<p>I've shameless stolen this tip from:</p>

<blockquote class="social-embed" id="social-embed-1445772817207758865" lang="en" itemscope="" itemtype="https://schema.org/SocialMediaPosting"><header class="social-embed-header" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><a href="https://twitter.com/c_pellegrino" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRjgAAABXRUJQVlA4ICwAAAAwAwCdASowADAAPrVaqE8nJSOiI4gA4BaJaQAAG4G9PxgAAP7vYN4lcUAAAA==" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">Claudia Pellegrino @claudi@darmstadt.social</p>@c_pellegrino</div></a><img class="social-embed-logo" alt="Twitter" src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0Aaria-label%3D%22Twitter%22%20role%3D%22img%22%0AviewBox%3D%220%200%20512%20512%22%3E%3Cpath%0Ad%3D%22m0%200H512V512H0%22%0Afill%3D%22%23fff%22%2F%3E%3Cpath%20fill%3D%22%231d9bf0%22%20d%3D%22m458%20140q-23%2010-45%2012%2025-15%2034-43-24%2014-50%2019a79%2079%200%2000-135%2072q-101-7-163-83a80%2080%200%200024%20106q-17%200-36-10s-3%2062%2064%2079q-19%205-36%201s15%2053%2074%2055q-50%2040-117%2033a224%20224%200%2000346-200q23-16%2040-41%22%2F%3E%3C%2Fsvg%3E"></header><section class="social-embed-text" itemprop="articleBody">I love <a href="https://twitter.com/hashtag/Linux">#Linux</a> so much!<br>Typing Compose+p,o,o gives you: 💩<br>Typing Compose+F,U gives you:🖕<br>I’m absolutely not making this up. It’s in the Compose map that comes with X11. (Works in the terminal but not in the browser)</section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/c_pellegrino/status/1445772817207758865"><span aria-label="22 likes" class="social-embed-meta">❤️ 22</span><span aria-label="2 replies" class="social-embed-meta">💬 2</span><span aria-label="0 reposts" class="social-embed-meta">🔁 0</span><time datetime="2021-10-06T15:27:55.000Z" itemprop="datePublished">15:27 - Wed 06 October 2021</time></a></footer></blockquote>

<p>Although, I've found that it <em>does</em> work in the browser on Wayland 🤷</p>

<h2 id="%f0%9f%96%96"><a href="https://shkspr.mobi/blog/2021/10/set-your-own-emoji-shortcuts-in-ubuntu-pop_os/#%f0%9f%96%96">🖖</a></h2>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=40587&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2021/10/set-your-own-emoji-shortcuts-in-ubuntu-pop_os/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Replacing broken avatar images with background SVG Emoji]]></title>
		<link>https://shkspr.mobi/blog/2021/09/replacing-broken-avatar-images-with-background-svg-emoji/</link>
					<comments>https://shkspr.mobi/blog/2021/09/replacing-broken-avatar-images-with-background-svg-emoji/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Mon, 06 Sep 2021 11:13:43 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[emoji]]></category>
		<category><![CDATA[HTML5]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=40188</guid>

					<description><![CDATA[When someone on Twitter mentions my blog, the WordPress WebMentions plugin automatically fetches those Tweets and turns them into comments on the blog post.  It looks something like this:    That is pretty cool - but has one slight problem. If someone changes their Twitter avatar, or deletes their account, the image disappears and I&#039;m left with a broken image.    Booo!  So, how do we fix this?…]]></description>
										<content:encoded><![CDATA[<p>When someone on Twitter mentions my blog, the <a href="https://github.com/pfefferle/wordpress-semantic-linkbacks">WordPress WebMentions plugin</a> automatically fetches those Tweets and turns them into comments on the blog post.  It looks something like this:</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2021/08/matts-face.png" alt="Matt's smiling face." width="642" height="251" class="aligncenter size-full wp-image-40193">

<p>That is pretty cool - but has one slight problem. If someone changes their Twitter avatar, or deletes their account, the image disappears and I'm left with a broken image.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2021/08/matt-missing.png" alt="A broken image." width="626" height="250" class="aligncenter size-full wp-image-40192">

<p>Booo!</p>

<p>So, how do we fix this? With the awesome power of SVG and Emoji!</p>

<p>As pointed out by Lea Verou, SVGs can contain Emoji. Which makes them easy to use for favicons:</p>

<blockquote class="social-embed" id="social-embed-1241619866475474946" lang="en" itemscope="" itemtype="https://schema.org/SocialMediaPosting"><header class="social-embed-header" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><a href="https://twitter.com/LeaVerou" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRg4FAABXRUJQVlA4WAoAAAAQAAAALwAALwAAQUxQSPkBAAABkFxt26Inz7xfPA3oyt0qwR2W7m4VxBNqcVauFTj76C84zPu+DzqZ+SqIiAlAZgkAhnbP3Hy98vXr0usbU7sGAQRBzkkA2k8/qTJz5fHJViAkuQjQM7NOUtXcSXdTI7k21Q1IDgGNF1dIU2NmUyOXzzUgbChg9AmZOnP0lHw0jJAtCdhRohpzNuXaVoRMAUd+MmWBKX8cRMgQcIw0FmrkIYT/CLb9UGPBpt83Qf4hGCzRWLhxrQ8CIJGmZ1RGqHzcIAkQcJnKKJVnESBJz5pZHGbLnYkI5qiMVDkJQXvJPRb31RbgHI3RGo+j9rlrPOr3a4Y+0eNxrvftpzIi5a6FqKicvkuLyXjjAz0m56sSo3Yup3GRX+MrxeVc/kCP69U9WkzGm9epMSlnDkTlyt3Dn+kRsdRf+9w1HvUHNbhAi8d4EuiouMfivtYKwQI1FuU0RJLedbM4zFa7EoHgKjUO5QUEIJHml9QYlE+bJAEgGKnQijOWBiD4W7Drp1pRpj+2QvDvgFOkFWPkMQT8P+BkSi0i5c+jCMiYBOypUi0vU5Z3IiRZgICJF2TqeXhKPh1DwEYDmq6tkaaezdXI1cuNCNi4AAPzFZKpmpN0N1WSpbk+QJBnEoCO808qzFx+fLYDCAlyFgEwtn/x3odympY+3J3fNwJABJkBAFZQOCDuAgAAkBAAnQEqMAAwAD61Sp9LJyQioac4DtjgFolsAIFEMH6B+Kv4AdBO7V2A8wH6gdQD0AP6r/gOsz9ADy3fYb/bv0qrv68QAwO1+MdVBDQvGhqAdGX9yPYA/UBC3ADgPsXi5j0xCf0ag0UKGbFnyPlYpKdvC4UNkmjPp4lPDJfMhJREdbdmQjZdqVR6giQAAP773SVz2tak38RhSOrFNOgex6SwAZelVr8jjILiJFco/89vD7kXlE5Hclf7+NBea6kX6RXpcMcS3QX/LfugHt+/7Zr3Xc5sNv64I/L7HZK8S+kLpuJ/98Wq4Xh3MiJsydES/bg6/Pw/6C4qhsSTovz5Dgu+NHfZFFNEeWiOY/PIE9xKjMW2GcNpsLmsIKTOMT12UhYlS1lsg6yfkGxOM9DIv6WugvAibosErB7mhDfxzYBeFt1bAdNTBDsKqBuGGVs6+L8W1FblomJ5M1Vj/4tdMztZwEFD+qMnk9UU6T+ENGNFPpMc66h5TZ2y+CI7iEHvymgPDmTRCc4RMuxDdvI+OkdKYJE2bI6hXAkbtWSdtV0cLGeiZgP0WUbYFC7a7eFr9RccYsM0Y+JW27Tvh0PUGKr0QxiDIxltaPvQ1OqYg5hdzSOHi5ibVLA90QtIErEEP0+a6PfeScWNus/8zdY/rAeNOn2pzH/+kB5z9+7rmImA2owaUZzd9uzL2JWs0XnFZwvfdt2LIz98YfaeFN2pIhuv4WY3g8RviPjQKXUv9BUHjIy9vMQSnZDf58SWWGMUEJULFuNKVO8/FHs7z1kO9Xw/5y14YOJ7xxAVjT1/6d+yxNqv33k/4AEyCwTlGfc52BdPtK85mUGtDXpZBh6umP8x8UhbT5gcOfnlSYVMvdraUI6PGnsj5rGsHRJsPOi2yYc8rHL6GosV81rPG/Oca+IzJLuyYVVy7EEGitFvGoSp5yAfpODsybcgGjE5XUqkpv8FV+reJdTcg+/6UCFE7qUi0GyUR/J/nIasAAAA" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">Lea Verou</p>@LeaVerou</div></a><img class="social-embed-logo" alt="Twitter" src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0Aaria-label%3D%22Twitter%22%20role%3D%22img%22%0AviewBox%3D%220%200%20512%20512%22%3E%3Cpath%0Ad%3D%22m0%200H512V512H0%22%0Afill%3D%22%23fff%22%2F%3E%3Cpath%20fill%3D%22%231d9bf0%22%20d%3D%22m458%20140q-23%2010-45%2012%2025-15%2034-43-24%2014-50%2019a79%2079%200%2000-135%2072q-101-7-163-83a80%2080%200%200024%20106q-17%200-36-10s-3%2062%2064%2079q-19%205-36%201s15%2053%2074%2055q-50%2040-117%2033a224%20224%200%2000346-200q23-16%2040-41%22%2F%3E%3C%2Fsvg%3E"></header><section class="social-embed-text" itemprop="articleBody">Now that all modern browsers support SVG favicons, here's how to turn any emoji into a favicon.svg:<br><br>&lt;svg xmlns="<a href="http://www.w3.org/2000/svg">w3.org/2000/svg</a>" viewBox="0 0 100 100"&gt;<br>&lt;text y=".9em" font-size="90"&gt;💩&lt;/text&gt;<br>&lt;/svg&gt;<br><br>Useful for quick apps when you can't be bothered to design a favicon! <a href="https://twitter.com/LeaVerou/status/1241619866475474946/photo/1">pic.x.com/s2f8iqxazu</a><div class="social-embed-media-grid"><a href="https://pbs.twimg.com/media/ETsejDIU8AEP0l3.png" class="social-embed-media-link"><img class="social-embed-media" alt="" src="data:image/webp;base64,UklGRkwFAABXRUJQVlA4IEAFAACwJACdASpCAWQAPrVSo08nJCKiIni64OAWiWlu/HyYMuU4ggyi9sfLX8U7Re+/xVe1pAlw/0u/ReYnfDtX7vbCDScTPv/T5bvqjgUDcHfEHSSSSTOW23KUEEKL8cearaCGt4fsgreF+TCdsU50d+4XpHFPvRMMieg50Gwv3cz6P5SW7pJmAvVWz9E9UcqLXan8Vh3XhURf3/6rTzicAfqOPxg/Di2SeNinaTAVVj1L4cd8sQPcitTMCjY1YvPa6BvUStkl4CvYCRXiICiQ0rOo5C+uLy/H+nZCiVyfoxc6lwbEzMB0En4IJs2UjJUwWeU/2ys5JVQH9PSUqdXThg637PKS/ISpN6fIsXOAuB2KLFicZzlIl6YvujIrIbc4TeJo/G1penvlalIl6gd9AAD9Zn8ZGcnv/AF7PEVlyllz2lbCpyDSthU8axKMv4F5tFdo1tIBduKVzojZw0q5hm1it2jPA45kp1CQq3AWBljWeHfDlphNDyx2QsZdv6YZ0lbeuWJKZYfvh6099+4ccPSx/tZ/pn8bry+P4fOeflLzA8pCy3y3xvlw1vXBwH7F531JK7Lc15J+rgdPfVk/ayZPk6oXcIxyTwlzokkbEqg7A/253aHvFHkDDA3J15L8R6xmRQVSRSaNUkayZoY1G9pFOaBnh8to9HVFT46hyAK47wXXMOklCMbpeHsRQtCz21m/Ell7JMW+0Is12b1ZnPAiKxsbxuyTvb+7pKYP6WbVaDZ/x8Ljj+gZW1sAA6O/wD8uxcIGSfnDvNv3RNIfuufvSP84/rTVZfnBuvNZKklU91DP/XJ683ls9Ske27OqCmdr/ZWvEx0HhxkoiiVerPTd+iNbjWUnSPIs90bUZgmIt3tL/Rwm6maIP1CFejuEXTuEcanTTemtKEN+fCnRTFjDTXa7nj+WsOQy3QkMTSib+leFTXas9ThRoyBioxJPs3u4yPQue+YfIKhNZ0EdIcOUU4L/LHXmCWgE4H4B4XOJMk0eKdPvSksBvhXdWvaovR2KFiRxKZBX9Hvxcf6TGA24Jy3LDlahqyZe8vk/ujRwr+n29RTt/FWuqmEWjv7SoDgvfgP4sXxlU0sdrpdtXPRRA1GpH+RwQ0ofbistwR+2l5CHPEopurF6bfO0HknO8OcDGskNr07zej7EJsU+8zKRSpKFFpZ5Ia5H6bASzmnMEDkRHEzYxvT/FaHPDT5UiSD3jmUFYmbdPHbkxZ2ff8aBsKEiS0u0Ye/0NOC8b0yLzFII8IPqR2knQyKgLHurXtNQxU6jjguslJoV4+xx8VF0klEY5nMz2v3SpI5ntyjH+e/YrAf0S8ZdGuH9Vp1yKk+XW+636GCYGyLBuJbIQbZJtN6JJJeJbn1qgTYsPE6eA8Wxs/5Yz/OBZhtDkgT1KNV+Mco2wm+uv6S0phyTFqmR7xSJB2zj3DS7yN/FuU+AiXpeZp7jdK7g3t4QRmR3H2HdVX5zXmKt0TVAMmYHRmsqgAhM/BT3d1sjna0e8+dQKmXScTqNshgr4cnLTUSzkRVkHaU3UrQs5vBh+t+gkhdRYt5WBUSQxUlBezNLoBKjh00klYx913two86ONmqJPNCdcW4Od8nChNe9R9d1ri714aa+HJMYo8Yx0FvbVnVJ5v8vzaEklV94Gu914MZ5LyGw+6h81P/rMCJ8GI2VB6/BE1qN7QIfKfLM7dvCPlSard/8TdKrP6qgaA6J7VHBxqyhwkKb727lV2KnH9QGAcBkrfgk/+7bJBVhWwBWFVEAI5T+QnTK601B9nrJ0cAAAAA="></a></div></section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/LeaVerou/status/1241619866475474946"><span aria-label="4559 likes" class="social-embed-meta">❤️ 4,559</span><span aria-label="39 replies" class="social-embed-meta">💬 39</span><span aria-label="0 reposts" class="social-embed-meta">🔁 0</span><time datetime="2020-03-22T06:56:59.000Z" itemprop="datePublished">06:56 - Sun 22 March 2020</time></a></footer></blockquote>

<p>This can also be used with <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/background">CSS's <code>background</code> property</a>:</p>

<pre><code class="language-css">.avatar {
  background: url(&amp;quot;data:image/svg+xml,&amp;lt;svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22&amp;gt;&amp;lt;text y=%22.85em%22 font-size=%22100%22&amp;gt;🗣&amp;lt;/text&amp;gt;&amp;lt;/svg&amp;gt;&amp;quot;);
}
</code></pre>

<p>That's just a URl encoded version of:</p>

<pre><code class="language-svg">&amp;lt;svg xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot; viewBox=&amp;quot;0 0 100 100&amp;quot;&amp;gt;
  &amp;lt;text y=&amp;quot;.85em&amp;quot; font-size=&amp;quot;100&amp;quot;&amp;gt;🗣&amp;lt;/text&amp;gt;
&amp;lt;/svg&amp;gt;&amp;quot;
</code></pre>

<p>The background image shows up before the contents of the <code>&lt;img&gt;</code> element have loaded. If the <code>src</code> is missing, your users will see this instead:</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2021/08/emoji-avatar.png" alt="An emoji instead of an avatar." width="631" height="253" class="aligncenter size-full wp-image-40191">

<p>Nifty!</p>

<p>You can see it in action here:</p>

<img style="background: url('data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.85em%22 font-size=%22100%22>🗣</text></svg>')" src="https://httpstat.us/404" width="64" height="64">

<p>There are a few downsides with this approach:</p>

<ul>
<li>Transparent images will show the SVG underneath them.</li>
<li>Not every system renders emoji in the same way.</li>
<li>Sizing of text within an SVG can be inconsistent.</li>
<li>A "broken image" icon might display in the foreground.</li>
</ul>

<p>Enjoy!</p>

<h2 id="further-reading"><a href="https://shkspr.mobi/blog/2021/09/replacing-broken-avatar-images-with-background-svg-emoji/#further-reading">Further Reading</a></h2>

<ul>
<li><a href="https://bitsofco.de/styling-broken-images/">Ire Aderinokun's Styling Broken Images</a></li>
<li><a href="https://codepen.io/tigt/post/optimizing-svgs-in-data-uris">Taylor Hunt's Optimizing SVGs in data URIs</a></li>
</ul>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=40188&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2021/09/replacing-broken-avatar-images-with-background-svg-emoji/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[🔥.me.ss! You can't register emoji domains in South Sudan]]></title>
		<link>https://shkspr.mobi/blog/2021/07/hot-mess-a-new-emoji-domain/</link>
					<comments>https://shkspr.mobi/blog/2021/07/hot-mess-a-new-emoji-domain/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Sun, 25 Jul 2021 11:23:07 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[dns]]></category>
		<category><![CDATA[domains]]></category>
		<category><![CDATA[emoji]]></category>
		<category><![CDATA[punycode]]></category>
		<category><![CDATA[unicode]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=39635</guid>

					<description><![CDATA[It&#039;s useful to share negative results. Not every experiment has an amazing or successful outcome.  tl;dr you can&#039;t register Punycode .ss domains.  This also means Internet users in South Sudan can&#039;t register domains using their own writing system.  Background  The Republic of South Sudan became independent and joined the United Nations back in 2011. A decade later, and it&#039;s now possible to…]]></description>
										<content:encoded><![CDATA[<p>It's useful to share negative results. Not every experiment has an amazing or successful outcome.</p>

<p>tl;dr you can't register Punycode <code>.ss</code> domains.</p>

<p>This also means Internet users in South Sudan can't register domains using <a href="https://en.wikipedia.org/wiki/Nuer_language">their own writing system</a>.</p>

<h2 id="background"><a href="https://shkspr.mobi/blog/2021/07/hot-mess-a-new-emoji-domain/#background">Background</a></h2>

<p>The Republic of South Sudan became independent and joined the United Nations back in 2011. A decade later, and it's now possible to register <code>.ss</code> domains.</p>

<p>Partly due to <a href="https://www.theregister.com/2019/01/24/south_sudan_nazi_domain/">the history of the letters SS</a>, and partly because of the way domains are usually organised, you cannot register a <code>.ss</code> domain directly. You can have <code>.com.ss</code>, <code>.edu.ss</code>, <code>.biz.ss</code>, <code>.sch.ss</code>, <code>.gov.ss</code>, <code>.net.ss</code>, and - my new favourite - <code>.me.ss</code>!</p>

<p>This allows for some interesting <a href="https://en.wikipedia.org/wiki/Domain_hack">domain hacks</a>.  Perhaps host a recipe page for <a href="https://www.bbcgoodfood.com/recipes/eton-mess">Eton Mess</a>? Or complain about trash at <code>your_town.me.ss</code>?</p>

<p>I was looking at <code>hot.me.ss</code> - but someone already snapped that up.  However, the registrar said they allowed Punycode registration. Which means... <strong>EMOJI DOMAINS!</strong></p>

<p>So, for €24, <a href="https://www.afriregister.com/">Afriregister.com.ss</a> sold me...</p>

<h2 id="%f0%9f%94%a5-me-ss"><a href="https://shkspr.mobi/blog/2021/07/hot-mess-a-new-emoji-domain/#%f0%9f%94%a5-me-ss">🔥.me.ss</a></h2>

<p>For the Punycode minded among you, that's <code>xn--4v8h.me.ss</code></p>

<h2 id="the-process"><a href="https://shkspr.mobi/blog/2021/07/hot-mess-a-new-emoji-domain/#the-process">The process</a></h2>

<p>This wasn't quite as simple as I hoped. There are several registries which claim to support <code>.me.ss</code> - but halfway through the process, they'd decide that they couldn't register it.  Some of the registrars outside of Africa wanted extortionate prices for domains. But <a href="https://afriregister.com.ss/">Afriregister.com.ss</a> were relatively cheap and hassle-free.  They let you pay via PayPal.</p>

<p>Domains have to be approved. There is a <a href="https://web.archive.org/web/20210814161202/https://nic.ss/download/reserved_restricted_premium_list/?ind=1613781801187&amp;filename=Reserved_Restricted_Premium_List.pdf&amp;wpdmdl=2330&amp;refresh=6115fae57e99b1628830437">long list of banned terms</a>. Some of those restrictions are very specific to the people of South Sudan - so it is worth reading.</p>

<h2 id="the-failure"><a href="https://shkspr.mobi/blog/2021/07/hot-mess-a-new-emoji-domain/#the-failure">The failure</a></h2>

<p>The registration still hadn't completed after 12 hours. So the next day I chatted to the registrar.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2021/07/Screenshot-from-2021-07-21-09-58-24.png" alt="Dear Terence, We have contacted the registry and they said they don't allow 2 successive dashes." width="431" height="103" class="aligncenter size-full wp-image-39652">

<p>Damnit!</p>

<p>Looking more closely at <code>nic.ss</code>'s registration policies, they say</p>

<blockquote><p>4.1 All .SS Domain Names MUST have a minimum of THREE (3) characters. 
4.2  All .SS Domain Names should not have more than 63 characters. 
4.3  All .SS Domain Names should have a syntax pattern of [a-z 0-9].</p></blockquote>

<p>It didn't explicitly allow or deny hyphens - so I thought I'd risk it.</p>

<p>Oh well, that would have been fun if it worked.</p>

<p>As I said, it's important to publish about things which don't work. It stops other people from wasting their time on futile pursuits.</p>

<p>So, I've now got credit with the registrar. What .me.ss domain should I get?</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=39635&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2021/07/hot-mess-a-new-emoji-domain/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Easy Emoji in Ubuntu / Pop OS]]></title>
		<link>https://shkspr.mobi/blog/2021/07/easy-emoji-in-ubuntu-pop-os/</link>
					<comments>https://shkspr.mobi/blog/2021/07/easy-emoji-in-ubuntu-pop-os/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Wed, 07 Jul 2021 11:02:21 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[emoji]]></category>
		<category><![CDATA[ubuntu]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=39469</guid>

					<description><![CDATA[All the Cool Kids™ use emoji. On Android, they&#039;re usually built right in to the keyboard. But that&#039;s not the case on desktops and laptops.  Well, unless you build a dedicated emoji keyboard.  So I was delighted to find this brilliant little Gnome Extension called Emoji Selector.  It sits in your dash, until you click it or press 💠+e.  Then you get this pop up.    The search bar focuses as soon as …]]></description>
										<content:encoded><![CDATA[<p>All the Cool Kids™ use emoji. On Android, they're usually built right in to the keyboard. But that's not the case on desktops and laptops.  Well, unless you build <a href="https://www.youtube.com/watch?v=3AtBE9BOvvk">a dedicated emoji keyboard</a>.</p>

<p>So I was delighted to find this brilliant little Gnome Extension called <a href="https://extensions.gnome.org/extension/1162/emoji-selector/">Emoji Selector</a>.</p>

<p>It sits in your dash, until you click it or press <kbd>💠</kbd>+<kbd>e</kbd>.  Then you get this pop up.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2021/07/Search-bar-and-emoji-fs8.png" alt="Search bar and some common emoji." width="568" height="239" class="aligncenter size-full wp-image-39473">

<p>The search bar focuses as soon as you open it, and the results are keyboard selectable.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2021/07/Searching-for-cat-fs8.png" alt="Searching for cat emoji brings up lots of cats." width="568" height="238" class="aligncenter size-full wp-image-39472">

<p>There's the usual groupings of emoji, if you just want to scroll.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2021/07/Group-of-emoji-fs8.png" alt="Group of emoji." width="562" height="720" class="aligncenter size-full wp-image-39471">

<p>Click the emoji you want and it copies to your clipboard, ready to be pasted in.</p>

<p>And... that's it! Simple and effective.  You can <a href="https://github.com/maoschanz/emoji-selector-for-gnome">check out the source code on GitHub</a>.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=39469&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2021/07/easy-emoji-in-ubuntu-pop-os/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Emoji Passwords and BitWarden]]></title>
		<link>https://shkspr.mobi/blog/2021/03/emoji-passwords-and-bitwarden/</link>
					<comments>https://shkspr.mobi/blog/2021/03/emoji-passwords-and-bitwarden/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Sat, 20 Mar 2021 12:45:09 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[bitwarden]]></category>
		<category><![CDATA[emoji]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[passwords]]></category>
		<category><![CDATA[security]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=38410</guid>

					<description><![CDATA[Let me start by saying that Emoji Passwords are probably a really daft idea.  I want to use emoji in my passwords. They&#039;re easy to type on a mobile keyboard, easy to remember, and a lot more fun than boring ASCII characters.  Let&#039;s go with ✅🐎🔋📎  (As close as possible to Correct Horse Battery Staple)  I use BitWarden as my password manager.  It saves emoji passwords into its database, but has troub…]]></description>
										<content:encoded><![CDATA[<p>Let me start by saying that <a href="https://apple.stackexchange.com/questions/202143/i-included-emoji-in-my-password-and-now-i-cant-log-in-to-my-account-on-yosemite">Emoji Passwords are probably a really daft idea</a>.</p>

<p>I want to use emoji in my passwords. They're easy to type on a mobile keyboard, easy to remember, and a lot more fun than boring ASCII characters.</p>

<p>Let's go with <span style="font-size:2em;">✅🐎🔋📎</span></p>

<p>(As close as possible to <a href="https://xkcd.com/936/">Correct Horse Battery Staple</a>)</p>

<p>I use <a href="https://bitwarden.com">BitWarden as my password manager</a>.  It saves emoji passwords into its database, but has trouble displaying them:</p>

<h3 id="android"><a href="https://shkspr.mobi/blog/2021/03/emoji-passwords-and-bitwarden/#android">Android</a></h3>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2021/03/Emoji-Test.jpg" alt="" width="512" height="512" class="aligncenter size-full wp-image-38412">

<h3 id="browser-plugin"><a href="https://shkspr.mobi/blog/2021/03/emoji-passwords-and-bitwarden/#browser-plugin">Browser Plugin</a></h3>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2021/03/Screenshot-from-2021-03-11-08-16-12.png" alt="Screenshot of the browser plugin corrupting the password." width="455" height="340" class="aligncenter size-full wp-image-38413">

<h3 id="linux-app"><a href="https://shkspr.mobi/blog/2021/03/emoji-passwords-and-bitwarden/#linux-app">Linux App</a></h3>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2021/03/Screenshot-from-2021-03-11-08-14-14.png" alt="Linux app showing a broken password." width="518" height="281" class="aligncenter size-full wp-image-38414">

<h2 id="bug-report"><a href="https://shkspr.mobi/blog/2021/03/emoji-passwords-and-bitwarden/#bug-report">Bug Report</a></h2>

<p>I've <a href="https://github.com/bitwarden/mobile/issues/1310">raised this (minor) bug on GitHub</a>.  I wonder which other password managers also struggle with the more "exotic" parts of Unicode?</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=38410&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2021/03/emoji-passwords-and-bitwarden/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[A QR code built from Emoji]]></title>
		<link>https://shkspr.mobi/blog/2020/12/a-qr-code-built-from-emoji/</link>
					<comments>https://shkspr.mobi/blog/2020/12/a-qr-code-built-from-emoji/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Tue, 08 Dec 2020 12:31:51 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[emoji]]></category>
		<category><![CDATA[qr]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=37419</guid>

					<description><![CDATA[It&#039;s possible to encode QR images as text. In this case, Emoji!   ⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️ ⬜️⬛️⬛️⬛️⬛️⬛️⬛️⬛️⬜️⬜️⬜️⬛️⬜️⬜️⬜️⬛️⬛️⬛️⬛️⬛️⬛️⬛️⬜️ ⬜️⬛️⬜️⬜️⬜️⬜️⬜️⬛️⬜️⬛️⬛️⬜️⬛️⬛️⬜️⬛️⬜️⬜️⬜️⬜️⬜️⬛️⬜️ ⬜️⬛️⬜️⬛️⬛️⬛️⬜️⬛️⬜️⬜️⬛️⬜️⬛️⬛️⬜️⬛️⬜️⬛️⬛️⬛️⬜️⬛️⬜️ ⬜️⬛️⬜️⬛️⬛️⬛️⬜️⬛️⬜️⬛️⬛️⬜️⬛️⬛️⬜️⬛️⬜️⬛️⬛️⬛️⬜️⬛️⬜️ ⬜️⬛️⬜️⬛️⬛️⬛️⬜️⬛️⬜️⬜️⬜️⬛️⬜️⬜️⬜️⬛️⬜️⬛️⬛️⬛️⬜️⬛️⬜️ ⬜️⬛️⬜️⬜️⬜️⬜️⬜️⬛️⬜️⬛️⬛️⬛️⬛️⬛️⬜️⬛️⬜️⬜️⬜️⬜️⬜️⬛️⬜️ ⬜️⬛️⬛…]]></description>
										<content:encoded><![CDATA[<p>It's possible to encode QR images as text. In this case, Emoji!
<span id="more-37419"></span></p>

<pre style="line-height:1em;letter-spacing:-3px;">⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️
⬜️⬛️⬛️⬛️⬛️⬛️⬛️⬛️⬜️⬜️⬜️⬛️⬜️⬜️⬜️⬛️⬛️⬛️⬛️⬛️⬛️⬛️⬜️
⬜️⬛️⬜️⬜️⬜️⬜️⬜️⬛️⬜️⬛️⬛️⬜️⬛️⬛️⬜️⬛️⬜️⬜️⬜️⬜️⬜️⬛️⬜️
⬜️⬛️⬜️⬛️⬛️⬛️⬜️⬛️⬜️⬜️⬛️⬜️⬛️⬛️⬜️⬛️⬜️⬛️⬛️⬛️⬜️⬛️⬜️
⬜️⬛️⬜️⬛️⬛️⬛️⬜️⬛️⬜️⬛️⬛️⬜️⬛️⬛️⬜️⬛️⬜️⬛️⬛️⬛️⬜️⬛️⬜️
⬜️⬛️⬜️⬛️⬛️⬛️⬜️⬛️⬜️⬜️⬜️⬛️⬜️⬜️⬜️⬛️⬜️⬛️⬛️⬛️⬜️⬛️⬜️
⬜️⬛️⬜️⬜️⬜️⬜️⬜️⬛️⬜️⬛️⬛️⬛️⬛️⬛️⬜️⬛️⬜️⬜️⬜️⬜️⬜️⬛️⬜️
⬜️⬛️⬛️⬛️⬛️⬛️⬛️⬛️⬜️⬛️⬜️⬛️⬜️⬛️⬜️⬛️⬛️⬛️⬛️⬛️⬛️⬛️⬜️
⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬛️⬜️⬛️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️
⬜️⬛️⬛️⬛️⬛️⬛️⬜️⬛️⬛️⬛️⬛️⬜️⬛️⬛️⬛️⬜️⬛️⬜️⬛️⬜️⬛️⬜️⬜️
⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬛️⬛️⬛️⬛️⬛️⬜️⬛️⬜️⬛️⬛️⬛️⬛️⬛️⬛️⬜️
⬜️⬛️⬛️⬜️⬜️⬜️⬜️⬛️⬛️⬜️⬜️⬛️⬛️⬛️⬛️⬜️⬜️⬜️⬜️⬛️⬛️⬜️⬜️
⬜️⬛️⬜️⬜️⬜️⬜️⬛️⬜️⬜️⬛️⬛️⬜️⬜️⬜️⬛️⬜️⬜️⬛️⬛️⬛️⬜️⬜️⬜️
⬜️⬜️⬛️⬜️⬛️⬛️⬛️⬛️⬛️⬛️⬛️⬛️⬛️⬜️⬜️⬛️⬜️⬛️⬛️⬜️⬜️⬛️⬜️
⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬛️⬛️⬜️⬜️⬜️⬛️⬜️⬛️⬛️⬛️⬛️⬜️⬛️⬜️
⬜️⬛️⬛️⬛️⬛️⬛️⬛️⬛️⬜️⬛️⬜️⬜️⬜️⬛️⬜️⬜️⬛️⬜️⬜️⬛️⬛️⬜️⬜️
⬜️⬛️⬜️⬜️⬜️⬜️⬜️⬛️⬜️⬜️⬛️⬛️⬜️⬛️⬛️⬜️⬜️⬛️⬛️⬛️⬜️⬜️⬜️
⬜️⬛️⬜️⬛️⬛️⬛️⬜️⬛️⬜️⬛️⬛️⬛️⬛️⬛️⬜️⬛️⬜️⬛️⬛️⬜️⬜️⬜️⬜️
⬜️⬛️⬜️⬛️⬛️⬛️⬜️⬛️⬜️⬛️⬜️⬜️⬛️⬜️⬛️⬜️⬛️⬛️⬜️⬛️⬛️⬜️⬜️
⬜️⬛️⬜️⬛️⬛️⬛️⬜️⬛️⬜️⬛️⬜️⬜️⬛️⬛️⬛️⬜️⬛️⬜️⬜️⬛️⬜️⬜️⬜️
⬜️⬛️⬜️⬜️⬜️⬜️⬜️⬛️⬜️⬛️⬛️⬜️⬜️⬜️⬛️⬜️⬛️⬛️⬜️⬛️⬜️⬜️⬜️
⬜️⬛️⬛️⬛️⬛️⬛️⬛️⬛️⬜️⬛️⬛️⬜️⬛️⬜️⬜️⬛️⬛️⬛️⬛️⬜️⬛️⬜️⬜️
⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️⬜️
</pre>

<h2 id="how"><a href="https://shkspr.mobi/blog/2020/12/a-qr-code-built-from-emoji/#how">How?</a></h2>

<p>There are <em>lots</em> of <a href="https://en.wikipedia.org/wiki/Box-drawing_character">ASCII block characters</a>, but none are specifically marked as white / empty. Additionally, some fonts don't make the characters pure squares.</p>

<p>There are two characters which, generally, render as square Emoji:</p>

<ul>
<li>Unicode character U+2B1B is a <mark>large black square ⬛ .</mark></li>
<li>Unicode character U+2B1C is a <mark>large white square ⬜ .</mark></li>
</ul>

<p>These characters are from the <a href="https://en.wikipedia.org/wiki/Geometric_Shapes">Unicode block "Geometric Shapes"</a>. When paired with <a href="https://emojipedia.org/variation-selector-16/">️Variation Selector-16</a>, they are given an Emoji presentation.</p>

<p>The above QR code is styled with <code>"line-height:1em;"</code> to make sure there are no vertical gaps between characters, and <code>"letter-spacing:-3px;"</code> to squash any horizontal gaps.</p>

<p>I found that it scanned reliably on my devices.</p>

<h2 id="why"><a href="https://shkspr.mobi/blog/2020/12/a-qr-code-built-from-emoji/#why">Why?</a></h2>

<p>I was having a discussion with someone about the limitations of text based communication. How do you send a QR in, say, an email when you aren't allowed to attach anything?  We were looking at a text only system which wouldn't allow attachments or BASE64 encoded inline.</p>

<p>So I knocked up a quick scrap of code to see if it would work with Emoji.  It <em>sort of</em> works - but only if you can control the exact layout. On mobile screens, it might be too narrow, and you can't easily control the character spacing.</p>

<p>So, a nice idea, but a little pointless!</p>

<h2 id="can-i-tweet-that"><a href="https://shkspr.mobi/blog/2020/12/a-qr-code-built-from-emoji/#can-i-tweet-that">Can I tweet that??!?</a></h2>

<p>The smallest possible QR code is 21x21 pixels, that's too many characters to fit into a Tweet. Sorry!</p>

<p>You can <a href="https://mastodon.social/@Edent/105304907182816540">post it on something like Mastodon</a> but without the fine-grained CSS control, it probably won't be readable.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=37419&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2020/12/a-qr-code-built-from-emoji/feed/</wfw:commentRss>
			<slash:comments>10</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[iOS 14 gets support for the Unicode Power Symbol!]]></title>
		<link>https://shkspr.mobi/blog/2020/09/ios-14-gets-support-for-the-power-symbol/</link>
					<comments>https://shkspr.mobi/blog/2020/09/ios-14-gets-support-for-the-power-symbol/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Thu, 17 Sep 2020 11:02:19 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[emoji]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[power]]></category>
		<category><![CDATA[unicode]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=36753</guid>

					<description><![CDATA[It has been four years since Unicode officially accepted our Power Symbols proposal into the standard. Now I’m delighted to announce that users on iOS 14 are finally able to use the full set of Power Symbols.  ⏻ ⏼ ⭘ ⏽ ⏾  They’re available to use in the browser, in emails, and messages.  Here’s how they look, in both dark and light mode:  Terence Eden is on Mastodon@edentAnyone with iOS 14 able to …]]></description>
										<content:encoded><![CDATA[<p>It has been four years since Unicode officially accepted <a href="https://unicodepowersymbol.com/">our Power Symbols proposal</a> into the standard. Now I’m delighted to announce that users on iOS 14 are <em>finally</em> able to use the full set of Power Symbols.</p>

<p><span style="font-size:3em;"><br>⏻ ⏼ ⭘ ⏽ ⏾</span></p>

<p>They’re available to use in the browser, in emails, and messages.</p>

<p>Here’s how they look, in both dark and light mode:</p>

<blockquote class="social-embed" id="social-embed-1306350650196926465" lang="en" itemscope="" itemtype="https://schema.org/SocialMediaPosting"><blockquote class="social-embed" id="social-embed-1306350111224725504" lang="en" itemscope="" itemtype="https://schema.org/SocialMediaPosting"><header class="social-embed-header" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><a href="https://twitter.com/edent" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRkgBAABXRUJQVlA4IDwBAACQCACdASowADAAPrVQn0ynJCKiJyto4BaJaQAIIsx4Au9dhDqVA1i1RoRTO7nbdyy03nM5FhvV62goUj37tuxqpfpPeTBZvrJ78w0qAAD+/hVyFHvYXIrMCjny0z7wqsB9/QE08xls/AQdXJFX0adG9lISsm6kV96J5FINBFXzHwfzMCr4N6r3z5/Aa/wfEoVGX3H976she3jyS8RqJv7Jw7bOxoTSPlu4gNbfXYZ9TnbdQ0MNnMObyaRQLIu556jIj03zfJrVgqRM8GPwRoWb1M9AfzFe6Mtg13uEIqrTHmiuBpH+bTVB5EEQ3uby0C//XOAPJOFv4QV8RZDPQd517Khyba8Jlr97j2kIBJD9K3mbOHSHiQDasj6Y3forATbIg4QZHxWnCeqqMkVYfUAivuL0L/68mMnagAAA" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">Terence Eden is on Mastodon</p>@edent</div></a><img class="social-embed-logo" alt="Twitter" src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0Aaria-label%3D%22Twitter%22%20role%3D%22img%22%0AviewBox%3D%220%200%20512%20512%22%3E%3Cpath%0Ad%3D%22m0%200H512V512H0%22%0Afill%3D%22%23fff%22%2F%3E%3Cpath%20fill%3D%22%231d9bf0%22%20d%3D%22m458%20140q-23%2010-45%2012%2025-15%2034-43-24%2014-50%2019a79%2079%200%2000-135%2072q-101-7-163-83a80%2080%200%200024%20106q-17%200-36-10s-3%2062%2064%2079q-19%205-36%201s15%2053%2074%2055q-50%2040-117%2033a224%20224%200%2000346-200q23-16%2040-41%22%2F%3E%3C%2Fsvg%3E"></header><section class="social-embed-text" itemprop="articleBody">Anyone with iOS 14 able to see these 5 symbols?<br>If not - who do I still know at Apple that is willing to listen to me grouch at them?<blockquote class="social-embed" id="social-embed-775939341252038656" lang="en" itemscope="" itemtype="https://schema.org/SocialMediaPosting"><header class="social-embed-header" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><a href="https://twitter.com/edent" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRkgBAABXRUJQVlA4IDwBAACQCACdASowADAAPrVQn0ynJCKiJyto4BaJaQAIIsx4Au9dhDqVA1i1RoRTO7nbdyy03nM5FhvV62goUj37tuxqpfpPeTBZvrJ78w0qAAD+/hVyFHvYXIrMCjny0z7wqsB9/QE08xls/AQdXJFX0adG9lISsm6kV96J5FINBFXzHwfzMCr4N6r3z5/Aa/wfEoVGX3H976she3jyS8RqJv7Jw7bOxoTSPlu4gNbfXYZ9TnbdQ0MNnMObyaRQLIu556jIj03zfJrVgqRM8GPwRoWb1M9AfzFe6Mtg13uEIqrTHmiuBpH+bTVB5EEQ3uby0C//XOAPJOFv4QV8RZDPQd517Khyba8Jlr97j2kIBJD9K3mbOHSHiQDasj6Y3forATbIg4QZHxWnCeqqMkVYfUAivuL0L/68mMnagAAA" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">Terence Eden is on Mastodon</p>@edent</div></a><img class="social-embed-logo" alt="Twitter" src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0Aaria-label%3D%22Twitter%22%20role%3D%22img%22%0AviewBox%3D%220%200%20512%20512%22%3E%3Cpath%0Ad%3D%22m0%200H512V512H0%22%0Afill%3D%22%23fff%22%2F%3E%3Cpath%20fill%3D%22%231d9bf0%22%20d%3D%22m458%20140q-23%2010-45%2012%2025-15%2034-43-24%2014-50%2019a79%2079%200%2000-135%2072q-101-7-163-83a80%2080%200%200024%20106q-17%200-36-10s-3%2062%2064%2079q-19%205-36%201s15%2053%2074%2055q-50%2040-117%2033a224%20224%200%2000346-200q23-16%2040-41%22%2F%3E%3C%2Fsvg%3E"></header><section class="social-embed-text" itemprop="articleBody">If you've got the new iOS, I'd love to know how our new Unicode Power Symbols render.<br>⏻ ⏼ ⏽ ⭘ ⏾<br><a href="http://UnicodePowerSymbol.com">UnicodePowerSymbol.com</a> <br>THANKS GANG!</section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/edent/status/775939341252038656"><span aria-label="4 likes" class="social-embed-meta">❤️ 4</span><span aria-label="0 replies" class="social-embed-meta">💬 0</span><span aria-label="2 reposts" class="social-embed-meta">🔁 2</span><time datetime="2016-09-14T06:08:49.000Z" itemprop="datePublished">06:08 - Wed 14 September 2016</time></a></footer></blockquote></section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/edent/status/1306350111224725504"><span aria-label="4 likes" class="social-embed-meta">❤️ 4</span><span aria-label="0 replies" class="social-embed-meta">💬 0</span><span aria-label="0 reposts" class="social-embed-meta">🔁 0</span><time datetime="2020-09-16T21:51:51.000Z" itemprop="datePublished">21:51 - Wed 16 September 2020</time></a></footer></blockquote><header class="social-embed-header" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><a href="https://twitter.com/Mark_Baker_UK" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRiADAABXRUJQVlA4IBQDAADQDgCdASowADAAPrVGmUonI6IhsdmaAOAWiWwArDMquS/IeYHYH94q/95ArEHNeEJcJ9aA1i0bMmVZ93XGpBOJ/bRvQ+P0i5wuDfUuFHudgB5NSF8o4XyN1DU+mteqC0QNsS8NyPw5DR5y+JHegVKTiXYJqg+mRXPuHJ9+O/gAAP72OOjkOjCeSPzPctjxCaXuludGn98wD7qVF5xl/mw4Xi4Q9EyAEelLK4yLtuBfdz67S87TeTtBgDf9EY94rGNF51xKwsi6VoTar/D59f2/Lz43i2ss79zT0Jl8qA0C8UXeuPxFwTLH8hLCFTJz2krr0J/2nk5ktXSLENeCrKPUlDWeMBey0W8mBQYvJ/4LxCr4funlI1G3ECRH3kxAz/gI4e0FExsiPfgwsQZ4jkNr0XWpChy+7BB3H9ixHYYjtLY/PfrR133z02m/b2eFdw51f69gtyiosgufZh6Tg8zvulHgQ4suSwfW9W5flvQPigNSFcVDu0WlHVAI8PpDqU+Ulmhd8LjrBWjA7H/S9NDgqNypXsy0D3V0zg6mgVGxzkAdGal32wf6QYbAbLyQ2iCCq+edtkGa+Up9rNeQ8iAoqrBBGz0nqV35mNzJDDL07MfxeK43F/245kQ6q4VL3fqByRD/G+U4ZhcZzehjEbWWR45d7C3kFk/vizfpa9Ah5LJEW4PXL/ZkANQPP9WNmqeo2XPybmir7hyNDSGC2Vk8T0HgxoTyTwxtHTvH+Sm3arBlCoBfay2FFC+FH6O8FIp3rO0Q6GP6rbLVkzzuwKAwMWB/OlQLwmh8dCXQQNkQNOhd3JzGnf88QO4lXlsGWZTzfd9D+by1WN1xdMgrra3+UKbk9evy+9iyUafdHQ/n9zxR9SGupeez25yPmegHaDcPRtr+PtXfD78GnKau1deuZp6UGZOkjghMtdR4ZMiw8JJdLW3qr2kTwD5VCdGd+uGEhytzsVpaGIlrPbq68CndY56CCHDgL+bvwqvYwULGDZIc0nYu69B5N16UqIIADu46J+/3DmtOjdk1sTSsX3EsWoiQAA==" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">Mark Baker</p>@Mark_Baker_UK</div></a><img class="social-embed-logo" alt="Twitter" src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0Aaria-label%3D%22Twitter%22%20role%3D%22img%22%0AviewBox%3D%220%200%20512%20512%22%3E%3Cpath%0Ad%3D%22m0%200H512V512H0%22%0Afill%3D%22%23fff%22%2F%3E%3Cpath%20fill%3D%22%231d9bf0%22%20d%3D%22m458%20140q-23%2010-45%2012%2025-15%2034-43-24%2014-50%2019a79%2079%200%2000-135%2072q-101-7-163-83a80%2080%200%200024%20106q-17%200-36-10s-3%2062%2064%2079q-19%205-36%201s15%2053%2074%2055q-50%2040-117%2033a224%20224%200%2000346-200q23-16%2040-41%22%2F%3E%3C%2Fsvg%3E"></header><section class="social-embed-text" itemprop="articleBody"><small class="social-embed-reply"><a href="https://twitter.com/edent/status/1306350111224725504">Replying to @edent</a></small><a href="https://twitter.com/edent">@edent</a> Yup can see them on iOS 14 👍 <a href="https://twitter.com/Mark_Baker_UK/status/1306350650196926465/photo/1">pic.x.com/hpue9dgaku</a><div class="social-embed-media-grid"><a href="https://pbs.twimg.com/media/EiEW_Y9XgAAOAs5.jpg" class="social-embed-media-link"><img class="social-embed-media" alt="" src="data:image/webp;base64,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"></a></div></section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/Mark_Baker_UK/status/1306350650196926465"><span aria-label="0 likes" class="social-embed-meta">❤️ 0</span><span aria-label="1 replies" class="social-embed-meta">💬 1</span><span aria-label="0 reposts" class="social-embed-meta">🔁 0</span><time datetime="2020-09-16T21:54:00.000Z" itemprop="datePublished">21:54 - Wed 16 September 2020</time></a></footer></blockquote>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2020/09/ios.jpeg" alt="Power symbols displayed on the screen." width="900" height="462" class="aligncenter size-full wp-image-36756">

<p>Sadly, Android users still can’t take advantage of these new symbols. Although <a href="https://github.com/googlefonts/noto-fonts/issues/689">Google have added them to their Noto fonts</a> – they show a curious reluctance in rolling them out to Android. Hopefully this new iOS availability will help them reconsider.</p>

<p>If you’d like to add these symbols to your computer or your website, you can <a href="https://unicodepowersymbol.com/font/">download the Power Symbols font</a> or Google's <a href="https://fonts.google.com/noto/specimen/Noto+Sans+Symbols+2">Noto Sans Symbols 2</a>.</p>

<p>Huge thanks to the gang at Apple for helping bring these characters to millions of users. It's fantastic to see a tiny proposal to a standard suddenly be made available world-wide.  Although it isn't <em>technically</em> an emoji, I'm excited to see people using it for all sorts of things.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=36753&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2020/09/ios-14-gets-support-for-the-power-symbol/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Bitly Emoji Links]]></title>
		<link>https://shkspr.mobi/blog/2020/02/bitly-emoji-links/</link>
					<comments>https://shkspr.mobi/blog/2020/02/bitly-emoji-links/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Thu, 06 Feb 2020 07:06:32 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[bit.ly]]></category>
		<category><![CDATA[emoji]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=33947</guid>

					<description><![CDATA[Popular URl shortner Bitly allows users to customise its links.  This means you can have all sorty of weird and wonderful character in there.  For example:   bit.ly/ó¾°ó¾°   You can also use Emoji!   bit.ly/☹ bit.ly/♐   Well, OK, not all Emoji. If you try to use most of them, the Bitly system craps out and generates broken URls, like so:    But you can use most Unicode Miscellaneous symbols - so…]]></description>
										<content:encoded><![CDATA[<p>Popular URl shortner Bitly allows users to customise its links.  This means you can have all sorty of weird and wonderful character in there.  For example:</p>

<ul>
<li><a href="https://bit.ly/ó¾°ó¾°">bit.ly/ó¾°ó¾°</a></li>
</ul>

<p>You can also use Emoji!</p>

<ul>
<li><a href="https://bit.ly/☹">bit.ly/☹</a></li>
<li><a href="https://bit.ly/♐">bit.ly/♐</a></li>
</ul>

<p>Well, OK, not <em>all</em> Emoji. If you try to use most of them, the Bitly system craps out and generates broken URls, like so:</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2020/01/bitly-fs8.png" alt="Weird symbols in the bitly dashboard." width="289" height="311" class="aligncenter size-full wp-image-33951">

<p>But you can use most <a href="https://en.wikipedia.org/wiki/Miscellaneous_Symbols">Unicode Miscellaneous symbols</a> - some of which <em>may</em> have Emoji style representations on your system.</p>

<ul>
<li><a href="http://bit.ly/♔♕♖♗♘♙♚♛♜♝♞♟">bit.ly/♔♕♖♗♘♙♚♛♜♝♞♟</a></li>
</ul>

<p>Please use this forbidden knowledge wisely.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=33947&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2020/02/bitly-emoji-links/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Quirks and Limitations of Emoji Flags]]></title>
		<link>https://shkspr.mobi/blog/2019/06/quirks-and-limitations-of-emoji-flags/</link>
					<comments>https://shkspr.mobi/blog/2019/06/quirks-and-limitations-of-emoji-flags/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Wed, 26 Jun 2019 11:32:26 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[emoji]]></category>
		<category><![CDATA[flags]]></category>
		<category><![CDATA[unicode]]></category>
		<category><![CDATA[🏳️‍⚧️]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=32374</guid>

					<description><![CDATA[This blog post contains emoji which your system may not be able to display.  You may see broken text, weird symbols, or other buggy rendering.  The Transgender Flag is a draft candidate for Emoji 13.0 under the name Blue, Pink, and White Flag. A number of platforms include an image for this emoji, but do not show it on the emoji keyboard. As of June 2019 this is now supported on Twitter platforms …]]></description>
										<content:encoded><![CDATA[<p>This blog post contains emoji which your system may not be able to display.  You may see broken text, weird symbols, or other buggy rendering.</p>

<blockquote><p>The Transgender Flag is a draft candidate for Emoji 13.0 under the name Blue, Pink, and White Flag.
A number of platforms include an image for this emoji, but do not show it on the emoji keyboard. As of June 2019 this is now supported on Twitter platforms that use Twemoji.
<a href="https://emojipedia.org/transgender-flag/">Emojipedia</a></p></blockquote>

<p>The (proposed) Transgender Flag looks like this <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36" style="width: 2em; border-radius:0;"><path fill="#5BCEFA" d="M0 27c0 2.209 1.791 4 4 4h28c2.209 0 4-1.791 4-4v-1.2H0V27zM36 9c0-2.209-1.791-4-4-4H4C1.791 5 0 6.791 0 9v1.2h36V9z"></path><path fill="#F5A9B8" d="M.026 10.1L0 15.4h36v-5.2l-20.5-.1zm0 10.4L0 25.8h36v-5.2l-20.5-.1z"></path><path fill="#EEE" d="M.026 15.3L0 20.6h36v-5.2l-20.5-.1z"></path></svg> (image) or like this <span style="font-size:2em;background:#fff;border-radius: 0;line-height: 2em; padding: .1em;">🏳️‍⚧️</span> (emoji).  It is a composite character consisting of four elements:</p>

<ul>
<li><span style="font-size:2em;background:#fff;border-radius: 0;line-height: 2em; padding: .1em;">🏳️</span>  waving white flag (U+1F3F3)</li>
<li>Variation selector-16  (U+FE0F)</li>
<li><span style="font-size:2em;background:#fff;border-radius: 0;line-height: 2em; padding: .1em;">⚧️</span>  male with stroke and male and female sign (U+26A7)</li>
<li>Variation selector-16  (U+FE0F)</li>
</ul>

<p>The Variation Selector basically says, "treat the preceding character as a colourful emoji rather than a normal character."</p>

<p>So, how do emoji flags work? There are, broadly speaking, 4 types of emoji flags.</p>

<h2 id="natural-flags"><a href="https://shkspr.mobi/blog/2019/06/quirks-and-limitations-of-emoji-flags/#natural-flags">Natural Flags</a></h2>

<p>There are seven flag characters in Unicode:</p>

<p><span style="font-size:2em;background:#fff;border-radius: 0;line-height: 2em; padding: .1em;">🏁🎌🏳️🏴⛳🚩</span><span style="font-size:2em;border-radius: 0;line-height: 2em; padding: .1em;">⛿</span></p>

<p>They are independent characters. Use them however you like.</p>

<h2 id="country-flags"><a href="https://shkspr.mobi/blog/2019/06/quirks-and-limitations-of-emoji-flags/#country-flags">Country Flags</a></h2>

<p>(Almost) every country has an emoji flag in Unicode.  Here's the UK's <span style="font-size:2em;background:#fff;border-radius: 0;line-height: 2em; padding: .1em;">🇬🇧</span>
Rather than take up loads of space in the spec with each flag, Unicode uses "Regional Identifier Letters."  Take the country's two letter ISO 3166-1 alpha-2 code, place them next to each other with no spaces, and a flag will magically appear.</p>

<p>The flag of "United Kingdom of Great Britain and Northern Ireland" is the symbol 🇬 and 🇧 placed together. Not 🇺 and 🇰 - because that would make life too easy!</p>

<h2 id="regional-flags"><a href="https://shkspr.mobi/blog/2019/06/quirks-and-limitations-of-emoji-flags/#regional-flags">Regional Flags</a></h2>

<p>Wales is a country within the UK. It has its own flag <span style="font-size:2em;background:#fff;border-radius: 0;line-height: 2em; padding: .1em;">🏴󠁧󠁢󠁷󠁬󠁳󠁿</span>.
Texas is a state within the USA. It has its own flag <span style="font-size:2em;background:#fff;border-radius: 0;line-height: 2em; padding: .1em;">🏴󠁵󠁳󠁴󠁸󠁿</span>.</p>

<p>The way these flags are constructed is different from the country flags.</p>

<p>Wales is 🏴 (Waving Black Flag) then the "Tag Latin Small" letters G, B, W, L, S, then the "Cancel Tag" symbol.</p>

<p>Texas uses Tag Latin Small Letters U, S, T, X, and then the Cancel Tag.</p>

<p>The "Tag Latin" block was <a href="https://en.wikipedia.org/wiki/Tags_(Unicode_block)">originally intended for the invisible mark-up of documents</a> - that's no longer recommended. They are now only used for modifying emoji.</p>

<p>Most systems do not support regional flags other than England, Scotland, and Wales.</p>

<h2 id="symbolic-flags"><a href="https://shkspr.mobi/blog/2019/06/quirks-and-limitations-of-emoji-flags/#symbolic-flags">Symbolic Flags</a></h2>

<p>Finally, we get on to flags which are in widespread use, but don't belong to geographical or regional identities.</p>

<ul>
<li>The Pirate Flag <span style="font-size:2em;background:#fff;border-radius: 0;line-height: 2em; padding: .1em;">🏴‍☠️</span> is <span style="font-size:2em;background:#fff;border-radius: 0;line-height: 2em; padding: .1em;">🏴</span>, variation selector-16, and <span style="font-size:2em;">☠</span> (Skull and Crossbones)</li>
<li>The Pride / Rainbow Flag is <span style="font-size:2em;background:#fff;border-radius: 0;line-height: 2em; padding: .1em;">🏳️‍🌈</span> - this uses the white <span style="font-size:2em;border-radius: 0;line-height: 2em; padding: .1em;">🏳</span> flag, variation selector-16, and <span style="font-size:2em;background:#fff;border-radius: 0;line-height: 2em; padding: .1em;">🌈</span> (Rainbow).</li>
</ul>

<p>So, there are <strong>six</strong> possible ways to write a flag in Unicode:</p>

<ol>
<li>a unique character,</li>
<li>a pair of letters,</li>
<li>a black flag and tag characters,</li>
<li>a black flag with a variation and an emoji</li>
<li>a white flag with a variation and an emoji</li>
<li>a white flag with a variation and a character with a variation</li>
</ol>

<h2 id="limitations"><a href="https://shkspr.mobi/blog/2019/06/quirks-and-limitations-of-emoji-flags/#limitations">Limitations</a></h2>

<p>No historic flags.  The flag of the USA has changed several times over the country's history - more recently <a href="https://en.wikipedia.org/wiki/Flag_of_Afghanistan#Historical_flags">the flag of Afghanistan has changed</a>. The emoji flag is always the most recent version.</p>

<p>Flags of countries which no longer exist. Countries change, merge, and collapse. There's <a href="https://github.com/Crissov/unicode-proposals/issues/204">no flag for the Soviet Union</a> or Yugoslavia for example.</p>

<p>Contentious flags. The <a href="https://www.taiwannews.com.tw/en/news/3404781">emoji flag of Taiwan <span style="font-size:2em;background:#fff;border-radius: 0;line-height: 2em; padding: .1em;">🇹🇼</span> is banned in China</a>.  There are regions around the world which have their own flag, but aren't always recognised as distinct countries.</p>

<p>Counting is hard. To a human, a single flag looks like one character 🇬🇧. But to a computer, it could look like several. On a service like Twitter which has a 280 character limitation that can cause confusion for the user. The number of characters a user thinks they've written may be at odds with what the computer says.</p>

<p>The biggest limitation is the time it takes for emoji to filter their way down to every computer.  Hopefully you'll soon see 🏳️‍⚧️ as a flag, rather than an odd looking emoji sequence.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=32374&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2019/06/quirks-and-limitations-of-emoji-flags/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Invisible Pink Unicorns - a Firefox emoji rendering bug]]></title>
		<link>https://shkspr.mobi/blog/2019/05/invisible-pink-unicorns-a-firefox-emoji-rendering-bug/</link>
					<comments>https://shkspr.mobi/blog/2019/05/invisible-pink-unicorns-a-firefox-emoji-rendering-bug/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Mon, 27 May 2019 18:42:32 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[emoji]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[unicode]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=32176</guid>

					<description><![CDATA[Here&#039;s a curious bug I just discovered in Firefox 67 for Linux.  Can you see this unicorn: →🦄 ←  What happens if you use CSS to change the opacity of an emoji?  Here&#039;s a unicorn, with a pink font colour:  🦄 Unicorn  Let&#039;s wrap that in this scrap of CSS to make it 50% opaque.  color: rgba(255, 105, 180, 0.5);   🦄 Unicorn  Hopefully, you see a semi-transparent philosophical argument. What if we set …]]></description>
										<content:encoded><![CDATA[<p>Here's a curious bug I just discovered in Firefox 67 for Linux.  Can you see this unicorn: <br>→<span style="font-size:1em;color: rgba(255, 105, 180, 0); text-shadow: .2em .2em .2em rgba(255, 105, 180, 0);
">🦄</span> ←</p>

<p>What happens if you use CSS to change the opacity of an emoji?</p>

<p>Here's a unicorn, with a pink font colour:</p>

<p><span style="font-size:3em;color: rgba(255, 105, 180);">🦄 Unicorn</span></p>

<p>Let's wrap that in this scrap of CSS to make it 50% opaque.</p>

<pre><code class="language-_">color: rgba(255, 105, 180, 0.5);
</code></pre>

<p><span style="font-size:3em;color: rgba(255, 105, 180, 0.5);">🦄 Unicorn</span></p>

<p>Hopefully, you see a semi-transparent <a href="https://en.wikipedia.org/wiki/Invisible_Pink_Unicorn">philosophical argument</a>. What if we set the opacity to <code>0.0</code> - that is, completely transparent?</p>

<p><span style="font-size:3em;color: rgba(255, 105, 180, 0.0);">🦄 Unicorn</span></p>

<p>There's a shunicorn there. If you don't believe me, try highlighting it!</p>

<p>Now, let's try a see-though beastie, but this time adding a drop-shadow:</p>

<pre><code class="language-_">color: rgba(255, 105, 180, 0.5); text-shadow: .2em .2em .2em #000;
</code></pre>

<p><span style="font-size:3em;color: rgba(255, 105, 180, 0.5); text-shadow: .2em .2em .2em #000;
">🦄 Unicorn</span></p>

<p>Good!  And now <em>fully</em> transparent text plus a drop-shadow:</p>

<pre><code class="language-_">color: rgba(255, 105, 180, 0); text-shadow: .2em .2em .2em #000;
</code></pre>

<p><span style="font-size:3em;color: rgba(255, 105, 180, 0); text-shadow: .2em .2em .2em #000;
">🦄 Unicorn</span></p>

<p>On Firefox, the text is invisible, but the emoji is completely visible - like this...</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2019/05/Screenshot_2019-05-27-Invisible-Pink-Unicorns-a-Firefox-rendering-bug.png" alt="The upper image is partially transparent. The lower image is completely opaque." width="604" height="239" class="aligncenter size-full wp-image-32189">

<p>This bug is not present on Firefox for Android, nor Chromium for Linux.</p>

<p>The only way on Firefox, to get a completely invisible pink unicorn plus a drop shadow is to use:</p>

<pre><code class="language-_">color: rgba(255, 105, 180, 0.002); text-shadow: .2em .2em .2em #000;
</code></pre>

<p><span style="font-size:3em;color: rgba(255, 105, 180, 0.002); text-shadow: .2em .2em .2em #000;
">🦄 Unicorn</span></p>

<pre><code class="language-_">color: rgba(255, 105, 180, 0.001); text-shadow: .2em .2em .2em #000;
</code></pre>

<p><span style="font-size:3em;color: rgba(255, 105, 180, 0.001); text-shadow: .2em .2em .2em #000;
">🦄 Unicorn</span></p>

<p><code>0.002</code> is invisible, but <code>0.001</code> is visible.</p>

<p>I've <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1554753">raised this as a bug on Mozilla's Bugzilla</a>.</p>

<p>In the meantime, if you can see the invisible pink unicorn, please let me know. Or contact a theologian.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=32176&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2019/05/invisible-pink-unicorns-a-firefox-emoji-rendering-bug/feed/</wfw:commentRss>
			<slash:comments>7</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Emoji Alchemy]]></title>
		<link>https://shkspr.mobi/blog/2019/03/emoji-alchemy/</link>
					<comments>https://shkspr.mobi/blog/2019/03/emoji-alchemy/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Sat, 02 Mar 2019 12:41:13 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[emoji]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=31606</guid>

					<description><![CDATA[I&#039;m a fan of the Little Alchemy series of games.  Combine earth and fire to get lava. Combine fire and water to get steam. Steam and lava combined makes... You get the picture.  I&#039;ve been toying around with making a version which only uses emoji.  Here&#039;s what me and my friends have come up with so far. Feel free to add others.  ❄+⛄=☃ 🌧️+☂=☔ 🌦️+🌱=🌳 🔥+💧=♨️ 🚰+🦠=🚱 🐟+🍚=🍣 🥕+🥬+🥒+🍅=🥗 🔒+🔑=🔓 🌌+🔭=☄️ 🧔+💈=👨 🚬+…]]></description>
										<content:encoded><![CDATA[<p>I'm a fan of the <a href="https://littlealchemy.com/">Little Alchemy series of games</a>.  Combine earth and fire to get lava. Combine fire and water to get steam. Steam and lava combined makes... You get the picture.</p>

<p>I've been toying around with making a version which <em>only</em> uses emoji.  Here's what me and my friends have come up with so far. Feel free to add others.</p>

<p><span style="background:#fff; font-size:2em;line-height: 1.5em;">❄+⛄=☃
<br>🌧️+☂=☔
<br>🌦️+🌱=🌳
<br>🔥+💧=♨️
<br>🚰+🦠=🚱
<br>🐟+🍚=🍣
<br>🥕+🥬+🥒+🍅=🥗
<br>🔒+🔑=🔓
<br>🌌+🔭=☄️
<br>🧔+💈=👨
<br>🚬+🚫=🚭
<br>🧬+🧫+🧪=☣️
<br>🦘+🐨=🇦🇺
<br>🥝+🧝+🐉=🇳🇿
<br>🐄+🔪+🧀=🍔
<br>🌽+🔥+🧂=🍿
<br>👩+🎬+🎥+🎞️=📽️
<br>🖌️+🎨=🖼️
</span></p>

<p><a href="https://web.archive.org/web/20200924201610/https://twitter.com/ayymanduh/status/1101777744269062144">From Amanda</a></p>

<p><span style="background:#fff; font-size:2em;line-height: 1.5em;;">🥖+🧂+🔥=🥨
<br>🦅+🌭+🏉+🗽=🇺🇸
<br>☀️+💧=🌈
<br>💁🏼‍♀️+🏺=🧞‍♂️
<br>⏳+⏰=⌛️
<br>🔨+🔧=🛠
<br>👩🏽‍⚖️+🏛=⚖️
<br>🦄+🥃=🏴󠁧󠁢󠁳󠁣󠁴󠁿
<br>🐉+🌼=🏴󠁧󠁢󠁷󠁬󠁳󠁿
<br>🦁+🌹=🏴󠁧󠁢󠁥󠁮󠁧󠁿
</span></p>

<p>From <a href="https://web.archive.org/web/20200924201609/https://twitter.com/moominlounge/status/1101795017415368704">Linda</a></p>

<p><span style="background:#fff; font-size:2em;line-height: 1.5em;">🎸+🥁+🎤=💃
<br>🌼+🐝=🍯
<br>🤡+🎈=😱
<br>👓+🌞=🕶
<br>🦕+☄=☠
<br>🐛+🌿+⏱=🦋
</span></p>

<p>From <a href="https://web.archive.org/web/20200924201608/https://twitter.com/ade/status/1101923311725015042">Ade</a></p>

<p><span style="background:#fff; font-size:2em;line-height: 1.5em;">🦏+🌈=🦄</span></p>

<p>From <a href="https://web.archive.org/web/20200924201610/https://twitter.com/Thayer/status/1101826959934480384">Thayer</a></p>

<p><span style="background:#fff; font-size:2em;line-height: 1.5em;">👉+👌+🎊=🤱</span></p>

<p>If you have any good combinations - stick them in the comments. If you've any idea how I can turn this into a game - do let me know.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=31606&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2019/03/emoji-alchemy/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Obsolete Technology in Unicode]]></title>
		<link>https://shkspr.mobi/blog/2018/03/obsolete-technology-in-unicode/</link>
					<comments>https://shkspr.mobi/blog/2018/03/obsolete-technology-in-unicode/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Wed, 28 Mar 2018 11:17:39 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[emoji]]></category>
		<category><![CDATA[skeuomorph]]></category>
		<category><![CDATA[unicode]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=29218</guid>

					<description><![CDATA[A short meander through some of the more obscure miscellany within Unicode.  Languages hang around far longer than there are native speakers, and symbols get reused and repurposed (🍆).  Here are some of the delightfully old-fashioned symbols hidden in your thoroughly modern smartphone.  Tapes  Long before solid-state drives, we used to record data on long thin strips of magnetic tape. 🖭 📼 I&#039;m sure…]]></description>
										<content:encoded><![CDATA[<p>A short meander through some of the more obscure miscellany within Unicode.  Languages hang around far longer than there are native speakers, and symbols get reused and repurposed (🍆).  Here are some of the delightfully old-fashioned symbols hidden in your thoroughly modern smartphone.</p>

<h2 id="tapes"><a href="https://shkspr.mobi/blog/2018/03/obsolete-technology-in-unicode/#tapes">Tapes</a></h2>

<p>Long before solid-state drives, we used to record data on long thin strips of magnetic tape.
<span style="font-size:3em;line-height:1em;">🖭 📼</span>
I'm sure there's a hipster somewhere who only listens to Kraftwerk on C90 cassettes, and claims that the image quality on Twin Peaks is superior on NTSC VHS tapes - but these have all-but died out now.</p>

<p>If you've ever watched an old episode of the original Star Trek, you'll be familiar with this, the Tape Drive:
<span style="font-size:2em;line-height:1em;">✇</span>
I'll bet there's a 3D printed one you can hook up to the GPIO pins of your Raspberry Pi - but tape has bitten the dust.  Much like...</p>

<h2 id="floppy-disks"><a href="https://shkspr.mobi/blog/2018/03/obsolete-technology-in-unicode/#floppy-disks">Floppy Disks</a></h2>

<p>One is an emoji, the others are mere symbols.
<span style="font-size:3em;line-height:1em;">💾 🖫 🖪 🖬</span>
Commonly used as a "save" icon, even though the iMac first killed off the disk drive in 1998.</p>

<p>You get white and black "hard shell" disks - more commonly known as 3½-inch disks.  There's also a "soft shell" disk - which could be a 5¼-inch or the even older 8-inch.</p>

<h2 id="cd-and-dvd"><a href="https://shkspr.mobi/blog/2018/03/obsolete-technology-in-unicode/#cd-and-dvd">CD and DVD</a></h2>

<p><span style="font-size:3em;line-height:1em;">💿 📀</span></p>

<p>Not quite as obsolete as the magnetic tape - but not far off. <code>1F4BF</code> is supposed to be a generic "optical disc" but is usually depicted as a CD. Just for fun, there's a separate Optical Disc Icon which is not an emoji:
<span style="font-size:3em;line-height:1em;">🖸</span></p>

<p>I suppose we should be grateful that HD-DVD and LaserDisc didn't make the standard.  Which brings us on to...</p>

<h2 id="minidisc"><a href="https://shkspr.mobi/blog/2018/03/obsolete-technology-in-unicode/#minidisc">MiniDisc!</a></h2>

<p><span style="font-size:3em;line-height:1em;">💽</span>
Some people charitably call this a disc-cartridge. But, no, <a href="http://www.unicode.org/charts/PDF/Unicode-6.0/U60-1F300.pdf">the official name is MINIDISC</a>.  For those too young to remember, Sony's MiniDisc was a proprietary, and inconsequential foray into digital music delivery.</p>

<p>If you are that young, you may be blissfully unaware of these two pieces of technology:</p>

<h2 id="pager-and-fax-machines"><a href="https://shkspr.mobi/blog/2018/03/obsolete-technology-in-unicode/#pager-and-fax-machines">Pager and Fax Machines</a></h2>

<p><span style="font-size:3em;line-height:1em;">📟 📠 🖷</span></p>

<p>The pager was never really a consumer item in the UK - not the way it was in the USA.</p>

<p>The fax machine is sort of a Shibboleth for everything wrong with an organisation. If you want to be scathing, <a href="http://www.nationalhealthexecutive.com/Health-Care-News/digital-doldrums-nhs-remains-worlds-largest-purchaser-of-fax-machines">insinuate that their company still relies on fax machines</a>.</p>

<p>Fax also retains the rare distinction of being one of the few Unicode symbols which is represented by a whole word.</p>

<p><span style="font-size:3em">℻</span></p>

<p>We're getting more modern...</p>

<h2 id="telephones"><a href="https://shkspr.mobi/blog/2018/03/obsolete-technology-in-unicode/#telephones">Telephones</a></h2>

<p><span style="font-size:3em;line-height:1em;">🕾 🕿 ☏ ☎</span>
To most people, telephones aren't a handset which rest atop of a base with touch-tone buttons. Rotary dial is extinct. For extra archaic points, there's also a telephone perched atop a modem.</p>

<p><span style="font-size:3em;line-height:1em;">🖀</span></p>

<p>As for that receiver... There's FIVE of them!</p>

<p><span style="font-size:3em;line-height:1em;">📞 🕻 🕽 ✆ 🕼</span></p>

<p>An emoji receiver, two regular receivers in different direction, a symbol to say there's a phone nearby and, of course, a receiver with a page coming out of it. Back to bloody fax machines!</p>

<p>Finally, not quite obsolete yet, but there is a"clamshell" style flip-phone:</p>

<p><span style="font-size:3em;line-height:1em;">🖁</span></p>

<p>As a special bonus for making is this far through my digital spelunking, here's the symbol for "telephone recorder"</p>

<p><span style="font-size:3em;line-height:1em;">⌕</span></p>

<p>No... I don't know either...</p>

<h2 id="nothing-is-lost-forever"><a href="https://shkspr.mobi/blog/2018/03/obsolete-technology-in-unicode/#nothing-is-lost-forever">Nothing is lost forever</a></h2>

<p>Unicode is a repository for human communications. Some of the letters, languages, and scripts are going to die out.  We still have Roman Numerals -Ⅷ - despite that empire crumbling hundreds of years ago.</p>

<p>The <a href="https://en.wikipedia.org/wiki/Kharosthi">Kharosthi script</a> vanished in the 6th century.
<span style="font-size:3em;line-height:1em;">𐩔 𐩕 𐩖 𐩗 𐩘</span></p>

<p>But it is still there, in countless books, inscribed on coins, hewn into the living rock. And now preserved in Unicode.</p>

<p>Our toys and fads and emoji will fade away.  This is not a cause for sadness, but rather joy. Joy that someone in millennia hence will be able to feel slightly closer to their ancestors by understanding our primitive pictorial language.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=29218&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2018/03/obsolete-technology-in-unicode/feed/</wfw:commentRss>
			<slash:comments>15</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[An Animation of Every Emoji]]></title>
		<link>https://shkspr.mobi/blog/2017/10/an-animation-of-every-emoji/</link>
					<comments>https://shkspr.mobi/blog/2017/10/an-animation-of-every-emoji/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Tue, 24 Oct 2017 20:49:38 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[emoji]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[png]]></category>
		<category><![CDATA[svg]]></category>
		<category><![CDATA[twitter]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=28761</guid>

					<description><![CDATA[The Video  Terence Eden is on Mastodon@edentEVERY EMOJI! pic.x.com/2fcuqwu67c❤️ 1,306💬 54🔁 020:09 - Tue 24 October 2017  Download the WEBM version (19MB).  The Process  Mostly notes to myself, but I thought you lot might be interested 🙂  Get Every Emoji from Twemoji  Twitter maintain the Twemoji Project - it contains high quality SVGs of every emoji. They generously make them available under CC-BY…]]></description>
										<content:encoded><![CDATA[<h2 id="the-video"><a href="https://shkspr.mobi/blog/2017/10/an-animation-of-every-emoji/#the-video">The Video</a></h2>

<blockquote class="social-embed" id="social-embed-922918030715248642" lang="en" itemscope="" itemtype="https://schema.org/SocialMediaPosting"><header class="social-embed-header" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><a href="https://twitter.com/edent" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRkgBAABXRUJQVlA4IDwBAACQCACdASowADAAPrVQn0ynJCKiJyto4BaJaQAIIsx4Au9dhDqVA1i1RoRTO7nbdyy03nM5FhvV62goUj37tuxqpfpPeTBZvrJ78w0qAAD+/hVyFHvYXIrMCjny0z7wqsB9/QE08xls/AQdXJFX0adG9lISsm6kV96J5FINBFXzHwfzMCr4N6r3z5/Aa/wfEoVGX3H976she3jyS8RqJv7Jw7bOxoTSPlu4gNbfXYZ9TnbdQ0MNnMObyaRQLIu556jIj03zfJrVgqRM8GPwRoWb1M9AfzFe6Mtg13uEIqrTHmiuBpH+bTVB5EEQ3uby0C//XOAPJOFv4QV8RZDPQd517Khyba8Jlr97j2kIBJD9K3mbOHSHiQDasj6Y3forATbIg4QZHxWnCeqqMkVYfUAivuL0L/68mMnagAAA" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">Terence Eden is on Mastodon</p>@edent</div></a><img class="social-embed-logo" alt="Twitter" src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0Aaria-label%3D%22Twitter%22%20role%3D%22img%22%0AviewBox%3D%220%200%20512%20512%22%3E%3Cpath%0Ad%3D%22m0%200H512V512H0%22%0Afill%3D%22%23fff%22%2F%3E%3Cpath%20fill%3D%22%231d9bf0%22%20d%3D%22m458%20140q-23%2010-45%2012%2025-15%2034-43-24%2014-50%2019a79%2079%200%2000-135%2072q-101-7-163-83a80%2080%200%200024%20106q-17%200-36-10s-3%2062%2064%2079q-19%205-36%201s15%2053%2074%2055q-50%2040-117%2033a224%20224%200%2000346-200q23-16%2040-41%22%2F%3E%3C%2Fsvg%3E"></header><section class="social-embed-text" itemprop="articleBody">EVERY EMOJI! <a href="https://twitter.com/edent/status/922918030715248642/video/1">pic.x.com/2fcuqwu67c</a><div class="social-embed-media-grid"><video class="social-embed-video" controls="" src="https://video.twimg.com/ext_tw_video/922917878306918401/pu/vid/720x720/Gjmz7Mhp6x72Nr_N.mp4" poster="data:image/webp;base64,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" width="550"></video></div></section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/edent/status/922918030715248642"><span aria-label="1306 likes" class="social-embed-meta">❤️ 1,306</span><span aria-label="54 replies" class="social-embed-meta">💬 54</span><span aria-label="0 reposts" class="social-embed-meta">🔁 0</span><time datetime="2017-10-24T20:09:40.000Z" itemprop="datePublished">20:09 - Tue 24 October 2017</time></a></footer></blockquote>

<p><a href="https://shkspr.mobi/blog/wp-content/uploads/2017/10/EveryEmoji.webm">Download the WEBM version</a> (19MB).</p>

<h2 id="the-process"><a href="https://shkspr.mobi/blog/2017/10/an-animation-of-every-emoji/#the-process">The Process</a></h2>

<p>Mostly notes to myself, but I thought you lot might be interested 🙂</p>

<h3 id="get-every-emoji-from-twemoji"><a href="https://shkspr.mobi/blog/2017/10/an-animation-of-every-emoji/#get-every-emoji-from-twemoji">Get Every Emoji from Twemoji</a></h3>

<p>Twitter maintain the <a href="https://github.com/twitter/twemoji/">Twemoji Project</a> - it contains high quality SVGs of every emoji. They generously make them available under CC-BY.</p>

<p>But grabbing all the SVGs we want is a little tricky. GitHub don't make it easy to download a single directory - you usually have to download the entire repo, or a ZIP of all the files.  I only wanted the SVGs from a specific folder.</p>

<p>What do we do in these situations? <s>HACK THE MAINFRAME</s> Cheat!  Twitter has an SVN interface for compatibility reasons.  We can <code>export</code> a specific directory using:</p>

<p><code>svn export https://github.com/twitter/twemoji/branches/gh-pages/2/svg</code></p>

<h3 id="convert-to-png"><a href="https://shkspr.mobi/blog/2017/10/an-animation-of-every-emoji/#convert-to-png">Convert to PNG</a></h3>

<p>Next, we need to convert to PNG. We also need to resize the images because their default canvas is a miniscule 48x48px. I chose 1024x1024.</p>

<p><code>mogrify -format png -density 1024 -resize 1024x1024 *.svg</code></p>

<p>This may take a while depending on the speed of your machine.</p>

<p>I then moved all the PNGs to a new directory.</p>

<h3 id="rename-the-files"><a href="https://shkspr.mobi/blog/2017/10/an-animation-of-every-emoji/#rename-the-files">Rename the files</a></h3>

<p>In order to turn these images into a movie, it's helpful to have them named sequentially.  This is a simple(ish) one-liner which renames all the files to <code>0001.ext</code>, <code>0002.ext</code>, etc.</p>

<pre><code class="language-_">ls * | cat -n | while read i f; do mv "$f" `printf "%04d.${f#*.}" "$i"`; done
</code></pre>

<h3 id="convert-to-mp4"><a href="https://shkspr.mobi/blog/2017/10/an-animation-of-every-emoji/#convert-to-mp4">Convert to MP4</a></h3>

<p>This takes a sequence of images and turns them into a 25fps MP4.</p>

<p><code>avconv -r 25 -i %04d.png EveryEmoji.mp4</code></p>

<h3 id="fix-the-mp4-and-convert-to-other-formats"><a href="https://shkspr.mobi/blog/2017/10/an-animation-of-every-emoji/#fix-the-mp4-and-convert-to-other-formats">Fix the MP4 and convert to other formats</a></h3>

<p>...or not! For some reason, Twitter and VLC didn't like the MP4 generated by <code>avconv</code> so I used the ever-reliable <a href="https://www.online-convert.com">online-convert.com</a> to regenerate the MP4 and create a WEBM.</p>

<h3 id="and-then-add-sound"><a href="https://shkspr.mobi/blog/2017/10/an-animation-of-every-emoji/#and-then-add-sound">And then add sound</a></h3>

<p>As so many people requested it...</p>

<iframe title="EVERY EMOJI!" width="620" height="465" src="https://www.youtube.com/embed/4XqnI5eSidQ?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen=""></iframe>

<h3 id="the-end"><a href="https://shkspr.mobi/blog/2017/10/an-animation-of-every-emoji/#the-end">The End</a></h3>

<p>You have been visited by the chicken of blogging. May it bring you peace and happiness.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2017/10/0688.png" alt="A friendly looking chicken stares at you" width="1024" height="1024" class="aligncenter size-full wp-image-28764">
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=28761&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2017/10/an-animation-of-every-emoji/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		<enclosure url="https://video.twimg.com/ext_tw_video/922917878306918401/pu/vid/720x720/Gjmz7Mhp6x72Nr_N.mp4" length="8752314" type="video/mp4" />
<enclosure url="https://shkspr.mobi/blog/wp-content/uploads/2017/10/EveryEmoji.webm" length="19780085" type="video/webm" />

			</item>
		<item>
		<title><![CDATA[Where do these arrows point?]]></title>
		<link>https://shkspr.mobi/blog/2017/03/where-do-these-arrows-point/</link>
					<comments>https://shkspr.mobi/blog/2017/03/where-do-these-arrows-point/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Sun, 19 Mar 2017 11:24:58 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[accessibility]]></category>
		<category><![CDATA[emoji]]></category>
		<category><![CDATA[skeuomorph]]></category>
		<category><![CDATA[unicode]]></category>
		<category><![CDATA[usability]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=24873</guid>

					<description><![CDATA[This is a blog post about user interfaces.  I was wandering along the beach one day, when I noticed some clever chap had drawn some arrows in the sand.  Can you guess where they led?    The more astute of you will have realised that these are not human drawn arrows.  They are, of course, footprints left by birds.  A bird&#039;s foot is a &#34;backwards&#34; arrow.  The apex points to the bird&#039;s rear.    It is …]]></description>
										<content:encoded><![CDATA[<p>This is a blog post about user interfaces.</p>

<p>I was wandering along the beach one day, when I noticed some clever chap had drawn some arrows in the sand.  Can you guess where they led?</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2017/03/Arrows-drawn-in-the-sand-1024.jpg" alt="Arrows drawn in the sand" width="1024" height="768" class="aligncenter size-full wp-image-24874">

<p>The more astute of you will have realised that these are not human drawn arrows.  They are, of course, footprints left by birds.</p>

<p>A bird's foot is a "backwards" arrow.  The apex points to the bird's rear.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2017/03/Bird-feet.jpg" alt="Bird feet - they are shaped like inverted arrows" width="1024" height="576" class="aligncenter size-full wp-image-24875">

<p>It is conceivable that had birds evolved greater intelligence and developed a writing system then their <span style="font-size:1.5em">→</span> would be the equivalent of our <span style="font-size:1.5em">←</span>.</p>

<p>All this talk of birds leads, naturally, to <em>Aliens!</em></p>

<p>In the 1970s, the USA launched a pair of space probes - Pioneer 10 and 11 - which contained "<a href="http://www.sciencemag.org/cgi/reprint/175/4024/881.pdf">a message from mankind</a>".  An anodised metal plate designed by Carl Sagan.</p>

<p><a href="https://solarsystem.nasa.gov/galleries/pioneer-plaque"><img src="https://shkspr.mobi/blog/wp-content/uploads/2017/03/Pioneer-Plaque.jpg" alt="Pioneer Plaque" width="1024" height="811" class="aligncenter size-full wp-image-24876"></a></p>

<p>Much has been written about whether the message is appropriate. Not just because of the nudity(!) - but whether the abstract design could <em>ever</em> be successfully deciphered by an alien mind.</p>

<p>At the bottom of the plaque is a diagram which, to our human eyes, shows where the spacecraft has come <em>from</em>.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2017/03/Pioneer-Plaque-extreme-close-up-of-arrow.jpg" alt="Pioneer Plaque - extreme close up of arrow" width="1024" height="474" class="aligncenter size-full wp-image-24879">

<p>A contemporary complaint from an art historian ran:</p>

<blockquote><p>The trajectory, it will be noticed, is endowed with a directional arrowhead; it seems to have escaped the designers that this is a conventional symbol unknown to a race that never had the equivalent of bows and arrows.
</p><p><cite>"<a href="https://www.google.co.uk/books/edition/The_Image_and_the_Eye/indPAAAAMAAJ?hl=en&amp;gbpv=1&amp;printsec=frontcover&amp;bsq=trajectory">The image and the eye</a>" - Ernst Hans Gombrich</cite>
</p></blockquote>

<p>Suppose that the plaque is picked up by <a href="https://www.marvel.com/characters/howard-the-duck">a race of super-intelligent birds</a> - how will they interpret that message?</p>

<p>To them, an arrow points towards its stem. In this case, the Pioneer craft is on a journey <em>to</em> Earth.  Perhaps they will have noticed that our toes are not like theirs - if they even recognise the squiggles as belonging to creatures - but there is nothing fundamental about us which indicates the chirality of our arrows.</p>

<p>Behind the human figures is <em>another</em> arrow. From the Birds' perspective that is <em>also</em> pointing towards the map to our sun.  Is the message on the probe "if lost, please return to..."?</p>

<h2 id="semantic-imagery"><a href="https://shkspr.mobi/blog/2017/03/where-do-these-arrows-point/#semantic-imagery">Semantic Imagery</a></h2>

<p>When you choose an icon - you're inadvertently assuming that everyone has a similar cultural background.</p>

<p>If you are an alien - or perhaps a teenager - many of these symbols are meaningless.</p>

<p>You may already be familiar with <a href="http://www.bbc.co.uk/news/magazine-22840833">skeuomorphism</a> Let's take a few interesting examples.</p>

<h3 id="post"><a href="https://shkspr.mobi/blog/2017/03/where-do-these-arrows-point/#post">Post</a></h3>

<p><span style="font-size:2em">📯</span></p>

<p>For people in two-dozen countries, <a href="https://en.wikipedia.org/wiki/Post_horn#The_post_horn_as_graphical_symbol">the Postal Horn is the symbol of the national post office</a>.  It makes perfect sense to hide messages behind this icon, right?</p>

<p>Of course, if you are in Japan, you'd probable expect the symbol to be:</p>

<p><span style="font-size:2em">〶</span></p>

<p>Do those symbols mean anything to you?</p>

<h3 id="settings"><a href="https://shkspr.mobi/blog/2017/03/where-do-these-arrows-point/#settings">Settings</a></h3>

<p><span style="font-size:2em">🔧 ⚙️</span></p>

<p>When was the last time you used a spanner to adjust something?  On your computer - never! In the physical world, spanners are used mostly for repairing or installing something. What does that have to do with setting your program's preferences?</p>

<p>And cogs? Computers don't have them! I struggle to think of anything I own which has a user replaceable cog which will adjust its function.</p>

<h3 id="save"><a href="https://shkspr.mobi/blog/2017/03/where-do-these-arrows-point/#save">Save</a></h3>

<p><span style="font-size:2em">💾 🖫 🖬 🖪</span></p>

<p>The save icon is, even on the most modern interfaces, <a href="https://twitter.com/search?q=3d%20printed%20save%20icon">an image of an antiquated medium</a>.  Do you have a floppy disk reader on your computer? Would your website even <em>fit</em> in 1.44MB?</p>

<p>What is the message that you're conveying with this icon?</p>

<h3 id="health"><a href="https://shkspr.mobi/blog/2017/03/where-do-these-arrows-point/#health">Health</a></h3>

<p><span style="font-size:2em">⚕️</span></p>

<p>What does <a href="https://en.wikipedia.org/wiki/Rod_of_Asclepius">a snake twisted around a rod</a> have to do with health?  What does this icon say to people without a a detailed knowledge of Greek mythology?</p>

<h3 id="email"><a href="https://shkspr.mobi/blog/2017/03/where-do-these-arrows-point/#email">Email</a></h3>

<p><span style="font-size:2em">📧 📨 ✉️</span></p>

<p>Does email come in an envelope?  How many envelopes do you get which are white squares with elongated lips?  Is the metaphor still relevant?</p>

<h3 id="telephone"><a href="https://shkspr.mobi/blog/2017/03/where-do-these-arrows-point/#telephone">Telephone</a></h3>

<p><span style="font-size:2em">📞 ☎️️</span>
Ask someone under the age of 25 to draw a picture of a telephone. Here's a hint, they're not going to draw either of those two icons!</p>

<p>A few years ago most people would have drawn something like:</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2017/03/Flip-Phone-Clamshell.png" alt="A crudely drawn old style flip phone" width="200" height="252" class="aligncenter size-full wp-image-24926">

<p>Today, telephones are black rectangles.</p>

<h3 id="search"><a href="https://shkspr.mobi/blog/2017/03/where-do-these-arrows-point/#search">Search</a></h3>

<p><span style="font-size:2em">🔍 🔎</span></p>

<p>Unless you are a 19th Century detective, I find it hard to believe that you've ever examined the world with a magnifying glass.  How has this become the default search icon?</p>

<h3 id="please-wait"><a href="https://shkspr.mobi/blog/2017/03/where-do-these-arrows-point/#please-wait">Please Wait</a></h3>

<p><span style="font-size:2em">⌛ ⏳</span></p>

<p>Tell me honestly - when was the last time you used an hourglass?</p>

<p>Perhaps you boil an egg with the precision only sand tumbling to its doom can provide, I certainly don't.  It is interesting that most major Operating Systems have rejected this in favour of a more abstract animation.</p>

<h2 id="responsible-icon-choice"><a href="https://shkspr.mobi/blog/2017/03/where-do-these-arrows-point/#responsible-icon-choice">Responsible Icon Choice</a></h2>

<p>Under some circumstances, it may be sensible to localise an icon based on cultural differences. For example, these could all be substituted depending on the user's demographic:</p>

<p><span style="font-size:2em">🏣 🏤 📮 📩</span></p>

<p>Icons introduce ambiguity. Please remember your cultural biases when you pick a symbol - lest you confuse any of your users who are birds.</p>

<p><span style="font-size:2em">🐦🦆🦃🐤🐓🐥🦅🦉🐧🐔🐣🕊️</span></p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=24873&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2017/03/where-do-these-arrows-point/feed/</wfw:commentRss>
			<slash:comments>7</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Making a Twitter Collage]]></title>
		<link>https://shkspr.mobi/blog/2016/11/making-a-twitter-collage/</link>
					<comments>https://shkspr.mobi/blog/2016/11/making-a-twitter-collage/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Sat, 19 Nov 2016 10:48:50 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[emoji]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[mozfest]]></category>
		<category><![CDATA[NaBloPoMo]]></category>
		<category><![CDATA[twitter]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=23565</guid>

					<description><![CDATA[This is a lazy way of making a collage of Tweets.  I was originally going to use this method:  Terence Eden is on Mastodon@edentReplying to @6byNine@6byNine it is all I&#039;ve got so far!❤️ 1💬 0🔁 019:11 - Sat 29 October 2016Mike@6byNineReplying to @edent@edent No idea about getting urls, but this may or may not be useful (cmd is also in image alt-text) pic.x.com/jh3yh4yki0❤️ 4💬 2🔁 020:01 - Sat 29 Octo…]]></description>
										<content:encoded><![CDATA[<p>This is a lazy way of making a collage of Tweets.</p>

<p>I was originally going to use this method:</p>

<blockquote class="social-embed" id="social-embed-792456454808756228" lang="en" itemscope="" itemtype="https://schema.org/SocialMediaPosting"><blockquote class="social-embed" id="social-embed-792443849129988096" lang="en" itemscope="" itemtype="https://schema.org/SocialMediaPosting"><header class="social-embed-header" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><a href="https://twitter.com/edent" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRkgBAABXRUJQVlA4IDwBAACQCACdASowADAAPrVQn0ynJCKiJyto4BaJaQAIIsx4Au9dhDqVA1i1RoRTO7nbdyy03nM5FhvV62goUj37tuxqpfpPeTBZvrJ78w0qAAD+/hVyFHvYXIrMCjny0z7wqsB9/QE08xls/AQdXJFX0adG9lISsm6kV96J5FINBFXzHwfzMCr4N6r3z5/Aa/wfEoVGX3H976she3jyS8RqJv7Jw7bOxoTSPlu4gNbfXYZ9TnbdQ0MNnMObyaRQLIu556jIj03zfJrVgqRM8GPwRoWb1M9AfzFe6Mtg13uEIqrTHmiuBpH+bTVB5EEQ3uby0C//XOAPJOFv4QV8RZDPQd517Khyba8Jlr97j2kIBJD9K3mbOHSHiQDasj6Y3forATbIg4QZHxWnCeqqMkVYfUAivuL0L/68mMnagAAA" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">Terence Eden is on Mastodon</p>@edent</div></a><img class="social-embed-logo" alt="Twitter" src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0Aaria-label%3D%22Twitter%22%20role%3D%22img%22%0AviewBox%3D%220%200%20512%20512%22%3E%3Cpath%0Ad%3D%22m0%200H512V512H0%22%0Afill%3D%22%23fff%22%2F%3E%3Cpath%20fill%3D%22%231d9bf0%22%20d%3D%22m458%20140q-23%2010-45%2012%2025-15%2034-43-24%2014-50%2019a79%2079%200%2000-135%2072q-101-7-163-83a80%2080%200%200024%20106q-17%200-36-10s-3%2062%2064%2079q-19%205-36%201s15%2053%2074%2055q-50%2040-117%2033a224%20224%200%2000346-200q23-16%2040-41%22%2F%3E%3C%2Fsvg%3E"></header><section class="social-embed-text" itemprop="articleBody"><small class="social-embed-reply"><a href="https://twitter.com/6byNine/status/792443190955704320">Replying to @6byNine</a></small><a href="https://twitter.com/6byNine">@6byNine</a> it is all I've got so far!</section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/edent/status/792443849129988096"><span aria-label="1 likes" class="social-embed-meta">❤️ 1</span><span aria-label="0 replies" class="social-embed-meta">💬 0</span><span aria-label="0 reposts" class="social-embed-meta">🔁 0</span><time datetime="2016-10-29T19:11:51.000Z" itemprop="datePublished">19:11 - Sat 29 October 2016</time></a></footer></blockquote><header class="social-embed-header" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><a href="https://twitter.com/6byNine" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRrQAAABXRUJQVlA4IKgAAABQBwCdASowADAAPp1CmEmlpCKhPHYIALATiWkAAOhV3TPI10vlFNG72nKGhuhDuu3RE0t4s7TEvoBel4kv79CzVcQAAP79UizaUrOaR+dJppBVBTEG9L/TaPgmZ/ngNsmKxabTBloRKVpLfJWOWbYF/Rhq4Ut6XuXW5AiDqJfhbEZzq9z9wdLd1G7BulWJrKAU9JwTbMAEjntbRt2TTf0JEKR7d8AAAAA=" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">Mike</p>@6byNine</div></a><img class="social-embed-logo" alt="Twitter" src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0Aaria-label%3D%22Twitter%22%20role%3D%22img%22%0AviewBox%3D%220%200%20512%20512%22%3E%3Cpath%0Ad%3D%22m0%200H512V512H0%22%0Afill%3D%22%23fff%22%2F%3E%3Cpath%20fill%3D%22%231d9bf0%22%20d%3D%22m458%20140q-23%2010-45%2012%2025-15%2034-43-24%2014-50%2019a79%2079%200%2000-135%2072q-101-7-163-83a80%2080%200%200024%20106q-17%200-36-10s-3%2062%2064%2079q-19%205-36%201s15%2053%2074%2055q-50%2040-117%2033a224%20224%200%2000346-200q23-16%2040-41%22%2F%3E%3C%2Fsvg%3E"></header><section class="social-embed-text" itemprop="articleBody"><small class="social-embed-reply"><a href="https://twitter.com/edent/status/792443849129988096">Replying to @edent</a></small><a href="https://twitter.com/edent">@edent</a> No idea about getting urls, but this may or may not be useful (cmd is also in image alt-text) <a href="https://twitter.com/6byNine/status/792456454808756228/photo/1">pic.x.com/jh3yh4yki0</a><div class="social-embed-media-grid"><a href="https://pbs.twimg.com/media/Cv9ey0SW8AAJ3-G.jpg" class="social-embed-media-link"><img class="social-embed-media" alt="gnome-web-photo https://mobile.twitter.com/jen_h_williams/status/792307698972954628 /dev/stdout | convert - -crop 2000x2000+212+126 +repage -gravity SouthEast -crop 2000x2000+212+195 /tmp/foo2.png" src="data:image/webp;base64,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"></a></div></section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/6byNine/status/792456454808756228"><span aria-label="4 likes" class="social-embed-meta">❤️ 4</span><span aria-label="2 replies" class="social-embed-meta">💬 2</span><span aria-label="0 reposts" class="social-embed-meta">🔁 0</span><time datetime="2016-10-29T20:01:56.000Z" itemprop="datePublished">20:01 - Sat 29 October 2016</time></a></footer></blockquote>

<p>but, sadly, <code>gnome-web-photo</code> crashed repeatedly when I tried to use it. It is a typically unloved Linux program, hundreds of bug reports, but no one looking to fix them.</p>

<p>Instead, I used the <a href="https://screenshotlayer.com/">Scheenshotlayer API</a> - I passed <code>wget</code> the URLs and got back a bunch of full sized screenshots.</p>

<p><code>wget</code> doesn't name the files nicely - so you just get the full URl as the filename.  Here's a quick bash script to rename them all with padded zeroes.</p>

<pre><code class="language-bash">var=1;
for file in *;
do
   printf -v num '%02d' $var ;
   mv ${file} ${num}.png;
   var=$((var+1));
done
</code></pre>

<p>OK, so, how do we grab just the parts that we want? Rather than using any fancy image recognition stuff, I measured the area by hand.</p>

<p>And, to cut the image out? ImageMagick to the rescue! Let's grab a rectangle 624 pixels wide, but 900 tall, starting at 400 pixels from the left and 0 pixels from the top.</p>

<p><code>convert tweet.png -crop 624x900+400+0 +repage cropped.png</code></p>

<p>The <a href="http://www.imagemagick.org/Usage/crop/#crop_repage"><code>+repage</code> is needed to prevent offsetting issues</a>.</p>

<p>And, to do that for all images in a directory:</p>

<p><code>mogrify -crop 624x900+400+0 +repage *.png</code></p>

<p>Right! Let's lay these out.  Without a doubt, the simplest way is using ImageMagick's <code>montage</code> command.</p>

<p><code>montage *.png -tile 4x10 -geometry +0+0 montage.png</code></p>

<p>This lays out all the images on a grid 4 images wide and 10 high. The <code>-geometry</code> ensures there is no border around the image.</p>

<p>I then resized the image suitable for sticking on a web page.</p>

<p>The result?</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2016/10/Poo-Emoji-Montage-of-Tweets.jpg" alt="poo emoji montage of tweets" width="1024" height="3692" class="aligncenter size-full wp-image-23566">

<h2 id="todo"><a href="https://shkspr.mobi/blog/2016/11/making-a-twitter-collage/#todo">TODO</a></h2>

<p>The only rough spot in this process is cropping the images.  At the moment, there's a lot of empty space around the Tweets. Some - with smaller photos - have gaps at the top and bottom.  A more intelligent method of extracting the information is needed!</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=23565&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2016/11/making-a-twitter-collage/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[How to type Emoji in Ubuntu]]></title>
		<link>https://shkspr.mobi/blog/2016/02/how-to-type-emoji-in-ubuntu/</link>
					<comments>https://shkspr.mobi/blog/2016/02/how-to-type-emoji-in-ubuntu/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Mon, 01 Feb 2016 12:22:02 +0000</pubDate>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[emoji]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[unicode]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=22373</guid>

					<description><![CDATA[New tech site Gadgette has a great article on how to type Emoji on Mac and Windows - but they (understandably) didn&#039;t cover Ubuntu.  So here I am to show you how.  Get The Fonts  If your computer doesn&#039;t have the requite font, install the latest version of Symbola.  Simply open up the .zip file, double click on the .ttf font, then choose &#34;Install&#34;.   Find The Character  You almost certainly have…]]></description>
										<content:encoded><![CDATA[<p>New tech site Gadgette has a <a href="https://web.archive.org/web/20160324122443/http://www.gadgette.com/2016/02/01/how-to-type-emojis-on-your-computer/">great article on how to type Emoji on Mac and Windows</a> - but they (understandably) didn't cover Ubuntu.  So here I am to show you how.</p>

<h2 id="get-the-fonts"><a href="https://shkspr.mobi/blog/2016/02/how-to-type-emoji-in-ubuntu/#get-the-fonts">Get The Fonts</a></h2>

<p>If your computer doesn't have the requite font, <a href="http://users.teilar.gr/~g1951d/">install the latest version of Symbola</a>.</p>

<p>Simply open up the .zip file, double click on the .ttf font, then choose "Install".
<img src="https://shkspr.mobi/blog/wp-content/uploads/2016/02/Symbola-Install-fs8.png" alt="Symbola Install-fs8" width="745" height="446" class="aligncenter size-full wp-image-22374"></p>

<h2 id="find-the-character"><a href="https://shkspr.mobi/blog/2016/02/how-to-type-emoji-in-ubuntu/#find-the-character">Find The Character</a></h2>

<p>You almost certainly have the <a href="https://wiki.gnome.org/Apps(2f)Gucharmap.html">GNU CharMap app</a> installed.  If not, run
<code>apt-get install gucharmap</code>.</p>

<p>You'll find it in "Accessories" or by running <code>charmap</code> from the terminal.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2016/02/CharMap-Run-fs8.png" alt="CharMap Run-fs8" width="714" height="195" class="aligncenter size-full wp-image-22375"></p>

<p>On the left hand side, you'll see a list of all the Unicode Block.  Scroll down to "Emoticons":</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2016/02/CharMap-Emoji-fs8.png" alt="CharMap Emoji-fs8" width="1025" height="576" class="aligncenter size-full wp-image-22377">

<p>Or "Miscellaneous Symbols"
<img src="https://shkspr.mobi/blog/wp-content/uploads/2016/02/CharMap-Misc-fs8.png" alt="CharMap Misc-fs8" width="1025" height="576" class="aligncenter size-full wp-image-22376"></p>

<p>Click on the character you want, then press <code>CTRL+C</code> to copy them to your clipboard.</p>

<p>You can also search through all the character names if you're not sure where it lives.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2016/02/CharMap-Search-fs8.png" alt="CharMap Search-fs8" width="1025" height="576" class="aligncenter size-full wp-image-22378"></p>

<p>Enjoy!</p>

<p>😀😁😂😃😄😅😆😇😈😉😊😋😌😍😎😏</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=22373&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2016/02/how-to-type-emoji-in-ubuntu/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
	</channel>
</rss>
