July 30, 2017

De-emojify Windows 10

Emoji are a blight on society.1

I’m not going to try to convince anyone of that. It’s unlikely I could sway anyone who doesn’t already agree, and vice versa. And even then, I’m not so inclined—to each his own. If you want to use emoji, go ahead. I won’t begrudge you.

But I’d rather not see them.

I don’t generally have too much trouble ignoring things that are merely popular—I still only vaguely know what a “Kardashian” is. But the emoji fad is not so ephemeral. To the contrary, emoji are formally codified as part of a little international standard known as Unicode, which means they have the backing of a global consortium and several billion-dollar multinational enterprises. So evading this abomination requires a little more effort.

“But if you don’t like emoji, you don’t have to use—”

No. No. Stop.

Emoji visible in Gmail inbox

Not using them isn’t the problem. (Well, it is a problem, but it’s not the main problem—that’s a subject for another post.)

Seeing them is the problem. Emoji defy all reasonable expectations that I’ve ever had about text. They’re indecipherable. They’re not universal. They’ve besmirched the heretofore unassailable reputation of Patrick Stewart.

But more to the point, they’re not textual. They’re graphics posing as text that, even in an otherwise inoffensive sea of grayscale, ASCII-compatible characters, can still inject unwanted color and distraction regardless of context.2

Your inbox isn’t safe. Your plain text files aren’t safe. Your terminal isn’t safe.

“Just don’t use them” all you want. But if you don’t want to be abused by them, the only option is to go nuclear.

Emoji, how do they work?

Emoji are a stubborn beast. It’s not completely intuitive how to get rid of them because, even though they’re “just Unicode characters,”3 they’ve somehow earned this grand mystique that warrants top billing in operating system updates. It’s not enough to use a font that doesn’t include glyphs for a particular (or any) emoji, because many systems will bend over backwards to try to find one that does, or even go to greater lengths to substitute an image in its place. I imagine the goal was to be at least somewhat more successful than the letter J smiley in Outlook, in which case: mission accomplished?

In any event, as far as OS-level shenanigans are concerned, emoji in Windows 10 come in two font files: the imaginatively named “Segoe UI Emoji” and the only slightly more cryptic “Segoe UI Symbol”. Segoe UI Emoji would seem to be the main offender, since it’s using the newest designs and supports things like colors (and, uh, it has “emoji” right there in its name). But Segoe UI Symbol has a number of emoji characters too, and in some places it’s used as a fallback whether or not Segoe UI Emoji is available.

If the thick outlines and splashes of color are what really irk you about emoji in Windows 10, you might be content just getting rid of Segoe UI Emoji and leaving Segoe UI Symbol in place. Depending on how often you come across emoji in the wild, you’ll have a better chance at deciphering what people are… erm, attempting to communicate, you’ll run less of a risk of collateral damage (Segoe UI Symbol also contains other, non-emoji symbols that apps or sites might rely on), and you’ll still eliminate the most garish features.4

Either way, if you’ve wondered what to blame, these files are the main culprits.

Kill them with fire

The only trouble is that deleting them straight away won’t work. They’re “protected system fonts,” so purging them actually requires diving into the registry.

Here’s the magic key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts. Find these entries:

Name Data
Segoe UI Emoji (TrueType) seguiemj.ttf
Segoe UI Symbol (TrueType) seguisym.ttf

and delete them.5 Reboot and things should look a little different:

Emoji not loading in Gmail inbox

Much more palatable.6


As always, it’s possible you’ll encounter unwanted side-effects from mucking with this stuff. You are deleting references to “protected system fonts,” after all. And it’s an incomplete solution, so you don’t quite get to experience the existential bliss that you would if everyone just decided to forget that emoji were ever a thing.

For example, the touch keyboard still has an emoji button, but as expected most of the characters will render as rectangles instead of emoji. (A few still remain—apparently sourced from other fonts—but they’re among the least offensive non-textual glyphs available.) And apps and sites can still use other ways to render emoji, be they with images or webfonts or whatever.

But even if this doesn’t achieve complete emojiless nirvana, it’s a step in the right direction. I’ll take it.

  1. I’m going to abide by the convention that “emoji” is the plural of “emoji,” because even given the subject matter, “emojis” sounds too juvenile.
  2. The fact that the star emoji in particular is way too easy mistaken for an actual starred message in Gmail is especially irksome and distracting. It surprises me both that these kinds of things are possible and that they’re not exploited more than they are.
  3. Quick, what’s the difference between A, M, 8, and “smiling cat face with heart-eyes”? Apparently nothing.
  4. In theory you could even patch the font file to eliminate just the unwanted characters, but I haven’t tried such a thing myself.
  5. On 64-bit versions of Windows, you’ll also find a corresponding key at HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion\Fonts. In my experience this key just mirrors the contents of the primary key, so any changes you make to the first key will be reflected here too.
  6. You’ll note the font files themselves don’t actually get deleted in any of these steps. The fonts won’t appear if you try to take a look at installed fonts in Explorer, but you can see they’re still there (in %WINDIR%\Fonts) if you list the directory’s contents in a command shell.
July 26, 2017

The more things change

Sometime around 1999 I made my first website. I use the term “website” loosely—for one thing, I don’t think it was actually more than a single page. And if was actually ever on the web, I doubt anyone ever looked at it. I used some no name WYSIWYG HTML editor that rather resembled a word processor, page breaks and all. My aspiration was to upload it to Prodigy, my ISP, who offered on the order of an entire megabyte of web storage. (I vaguely remember bumping into this limit by daring to use some kind of textured image as a background image. There was probably a lesson in that.)

Later I ventured onto GeoCities, where you got more like 15 megabytes, and I “upgraded” to FrontPage Express. Creating the site still meant putting together some files on your computer and uploading them to a server somewhere, and when someone went to download a page from your site, they would end up downloading the same file your uploaded. Your site looked the same to everyone all the time, and never changed unless you actually went and updated it. It was static—what you saw was what your visitors got.

But shortly after that I switched to Tripod. Tripod felt like a game changer: 50 MB of space, plus support for more esoteric things like server-side includes (long live .shtml), Perl scripts (long live cgi-bin), and FrontPage extensions. This all presented an intriguing possibility—the server could actually do things dynamically to make my site appear differently, without having to change any of the files that I’d uploaded to the server. So I upgraded to FrontPage proper and really put those FrontPage extensions to good use: I created a lovely form that, given user input, yielded some of the world’s most underwhelming Mad Libs. But no matter. I may not have had much use for dynamic content, but I had the ability to add it—so voilà, there was a page view counter on my site! (For some reason, sharing page views via faux-LCD counters was all the rage at one point. Now they’re more like state secrets.)

Later still I dug into more of what you could do with dynamic sites. I decided to learn PHP (I don’t recommend it) and built some more sites of my own. Whereas GeoCities wouldn’t let you have a page on your site that you hadn’t actually created and uploaded in its entirety in advance, now I was writing scripts that effectively generated new pages on demand as soon as someone tried to access them.

Circa 2003 I created a blog, first with Movable Type and then with WordPress. I wrote entries periodically (as one who has a blog typically does), and occasionally people would even comment. Even so, the content on my blog changed infrequently. But behind the scenes, every “page” was still generated on the fly by a server, even if the same exact page had been generated many times in the past, content unchanged. In a sense, it seemed wasteful for the server to keep repeating all of this work. But dynamic websites were very much in vogue at the time, so even though I still wasn’t doing much that necessitated a dynamic site, my humble creation was so lowly trafficked that there was no reason to consider a different course.

So let’s fast forward.

In 2017, things are different—by which I mean they’re a lot like they were 20 years ago. Static websites are seemingly fashionable again. And lo and behold: I’ve created a new site that’s statically generated. The tools and techniques I’m using now are somewhat more sophisticated than the ones I used in an era of dial-up modems, but the essence is familiar: I write stuff, it ends up in a bunch of files, and those files get dumped on a server. If someone accesses my site, they get a copy of whatever file they requested as it existed when it was created—the server isn’t doing anything special. It can’t tell you how many times this page has been viewed. It can’t greet you by name. It can’t write a Mad Lib.

But what the approach lacks in dynamism it makes up for in understated elegance. I think of it a little like listening to a (proper) 8-bit remix of a song that was written well after video game consoles shed those limitations: it divorces your conception of what the technology was capable of from the quaint, nostalgia-colored novelty of what it was used for. The possibilities expand so much as to seem transformative—yet nothing changed.

Building a site like this harks back to a simpler time. It strips out years of accumulated, superfluous noise and turns back against the creep of gaudiness and distraction. It demands that you focus only on the parts that really matter, because nothing else remains. It’s limiting. But it’s also freeing.

Of course, plenty of things have changed. I have something like 1 GB of space and more bandwidth than I expect I’ll need for a very long time, plus a custom domain with SSL certificates, all for free. (And here seems like a good point to throw in a shoutout to Netlify, the company I’m using to get all of that.) JavaScript, and web browsers more generally, are way more fully featured and capable than they were even a few years ago, which lets you do much more with a “static” website than you could have done in 2000. Various patterns and services have become so commonplace that they’re often abstracted away into separate services, so if you really want a bit of dynamism (for polls, or comments, or sports scores, or any number of other things) you can still cheat and incorporate those things into your “static” site by outsourcing the dynamic parts. And there are other things that I’m glossing over. But it’s still amusing, even if a little fanciful, to think about how I could pretty much do the same things I’m doing now with this site that I could have done with that old Prodigy account.

Except for having that background image on the home page. That would still have to go.