“If the Republicans replace RBG’s seat, we will shut down this country… oh wait. Uh… we’ll set fires and riot and… Oh, already doing that too. Um, we’ll screech really loud… Oh yeah, never stopped that since 2016. We’ll think of something new to do, and you won’t like it!”

— Frank J. Fleming, September 19, 2020

More fun with programming fonts

After working with SomeType Mono for a little while, I decided to quantify my font ratings.

I started by dusting off my old fontforge svg2ttf script, since I knew its Python API exposed everything I needed. Then I discovered that I can’t get that API to work any more. Somewhere between the Python 2->3 updates and Homebrew’s descent into madness, it done broke.

I know how to extract metrics and outlines using Font::FreeType and Cairo in Perl, and most of what I need is already exposed in my PDF::Cairo module, but I’d have had to do some mucking about with internals to get it all, and it would have added a messy dependency should I decide to share the script.

So I switched to Adobe Font Toolkit, which cleanly installs into a Python virtualenv without any issues. Its tx utility can both extract metadata and calculate precise bounding boxes for every glyph, which allows me to measure many of my concerns:

FONT OfficeCodePro-Regular.otf
x-height 69.012% of ascender height
relative width 100.000%
vertical centering offset from '=':
! greater -3.79%
! less -3.79%
! parenleft -7.04%
! parenright -7.04%
! bracketleft -7.04%
! bracketright -7.04%
! braceleft -7.04%
! braceright -7.04%
! bar -10.83%
width compared to '=':
! asciitilde +4.19%

This tells me that Office Code Pro has a standard typewriter width (Courier, Prestige Elite, etc), a decent x-height, equal widths for -=+, a slightly-wide ~, common vertical centering for =-+~*&#%/\ and digits, a very small vertical offset for <>, a bigger one for ()[]{}, and an annoyingly large one for |. Since I’m not analyzing the glyph outlines yet, I can’t tell that it has a five-lobed asterisk and a slashed zero.

For comparison, here’s the latest release of Iosevka Fixed SS02 Regular:

FONT iosevka-fixed-ss02-regular.ttf
x-height 69.829% of ascender height
relative width 83.333%
vertical centering offset from '=':
! asciitilde -2.11%
! ampersand +3.62%
! percent +3.62%
! zero +3.62%
! X +3.62%
width compared to '=':
! asciitilde +19.47%

Similar x-height, much narrower, &% aligned with caps/numerals, and twiddle a hair low and extra-wide.

The last time I looked at Iosevka, all the “SSnn” variants were built with the same family name, so you couldn’t tell which of the sixteen variations you’d downloaded except by the file name. They’ve cleaned things up quite a bit, and now it’s fully scriptable so you can roll your own variation and Have It Your Way. The downside is that the repo is over 5 gigabytes. The other downside is that it uses npm.

Other fonts I’ve tried recently? IBM Plex Mono (painfully short hyphen, dotted zero, goofy #), Cascadia Mono (the dotted zero and goofy alphabet clobber its otherwise perfect score, although I’d use Light rather than Regular), Go Mono (five-lobed goofy asterisk, serifs, and inconsistent punctuation weight), JetBrains Mono NL (dotted zero, five-lobed asterisk, small-but-consistent vertical offsets for ()[]{}/\|~*), and Code Saver (short hyphen, high /\, low |).

Oh, and the name of my script? Termanal. If I ever roll my own custom font, obviously I’ll call it Termanal Regular. 😁


Just found the current much-expanded version of the Inconsolata family. Slashed zero, ligatures off by default, five-lobed asterisk, annoyingly short hyphen, slightly-low [], annoyingly low |, eight weights, and nine widths (166%, 125%, 100%, 92%, 83%, 75%, 67%, 58%, and 42% for when you need all the columns).

If the shoe fits…

[Okay, since the brand new MacBook Pro they sent me just arrived, I think I can officially believe that I start on Monday…]

My first job in Silicon Valley was at Synopsys, where the (tone-deaf) collective term for employees was (and still is) synopsoids.

My new job is at Pure Storage, where, according to my welcome letter, the equivalent term is apparently puritans.

I think this makes me a Puranoid.

Fair enough.

Related, long ago and far away I delivered pizza for Dominos during the 30-minutes-or-free era, which overlapped with the infamous Avoid The Noid ad campaign that inspired a real-life Noid to show up with a .357 magnum and prove he was correctly named.

Unrelated, LinkedIn recently popped up a “congratulate (redacted) for 14 years at Ooma!”​. Apparently his widow wasn’t able to disable all of his online accounts.

Related to a picture I used recently, I was disappointed to discover that there are almost no online references to the term “mobile grounding units”, the item responsible for most of the campus power outages when I was at OSU. Also known as “squirrels”.

PS: the instructions for my new-hire orientation Zoom session included the words “wear something orange”. I was surprised to discover that there actually was one item of orange clothing in my house. It’s a George Of The Jungle t-shirt that I’ve never worn, and that’s probably been in a box for over 20 years. I’m not even sure who gave it to me; sometimes whimsical t-shirts just appear in my life.

Technically, the shirt is light brown, but even without partial color-blindness, the border between “dark orange” and “light brown” is pretty fuzzy.

[I can’t do anything with the new laptop until they send me the temporary login password early Monday morning, but it’s certainly shiny.]

Sometype Mono

I’m trying out a programming font, the free Sometype Mono. It avoids almost everything I hate about coding fonts, and beats out the previous champ Office Code Pro by not having an italic $ or five-lobed *. Set width is a bit narrower, but not as condensed as the same designer’s non-free Code Saver ($25 for 3 weights and matching italics, if you like squeezing a few extra columns into your windows). Specifically, an 80-column window of Office Code Pro will fit 83 of Sometype Mono, 86 of Code Saver, or 88 of my former standard Anonymous Pro.

I can get Code Saver through my Adobe CC subscription, but I’m going to start with the free one, since I’m setting up a new work laptop this weekend, and it won’t have an Adobe license.


The Programming Fonts web site, which I hadn’t visited for a few years, includes Sometype Mono in its live previews, as well as an increasing number of cleanups of existing fonts to fix many of my complaints. The least-unreadable preview setting at the bottom is the base16-light color scheme and the None syntax coloring.

Wildfire update

The SCU Complex and CZU Complex fires continue to threaten Silicon Valley from both sides, but while the evacuation zones have advanced, they still haven’t crossed 101 or 280 yet, and the fires were not visible from 101 when I drove up to San Jose yesterday (needed to show ID to prove I’m legally eligible for employment; the company’s using a remote service, but their location in Salinas was booked past my start date).

On the way home, I stopped off in Morgan Hill for Boar’s Head lunchmeat and a car wash, and not only was the car still clean today (apart from the paw-prints), late this afternoon the air quality index was back to a safe-and-healthy 25, so I was able to open up all the windows and air the place out.

According to AirNow, the sensor nearest to my house peaked at just over 200 on Saturday, but is down to 8 right now. By comparison, Mountain View was over 150 today, and is currently down to 62.

Clown fonts go poof

Adobe CC periodically removes downloaded fonts that it decides you’re not using… in Adobe CC. Using them in other applications doesn’t count, apparently. To get them back from the Clown, you can either completely deactivate the family, switch menus, and reactivate, or click the Clown-down icon for each and every font file that’s been removed.

In other news, Adobe will finally be abandoning support for Type 1 fonts in their product line in an upcoming release. In J-specific news, Adobe doesn’t include my go-to poster font Barmeno in their Clown, and it’s $300 from Berthold. I think I’ll try converting it with Fontforge first…

(Adobe disguises the location of their Clown font files, so to use them in my PDF::Cairo scripts, I have a Perl script that symlinks them into directories scanned by Fontconfig)

Fires gone Wild

Yes, California is on fire. Mostly in the mountains right now, but the mandatory evacuation zones cover a lot of the highways leading out of the affected areas, so, y’know, leave now while you still can. The LA Times has a useful but graphically muddy map covering all the active fires.

The one nearest me, the River Fire, is mostly working its way through mountain areas that are very sparsely populated, with the exception of Carmel Valley. The perimeter doesn’t seem to have shifted much in that direction, so presumably that’s part of the ~10% they have contained. It’s not a threat to me at this time, apart from the smoke and ash; it would have to go through a lot of irrigated fields and the entire city of Salinas, which would admittedly suck.

The SCU Complex Fire (East Bay) is huge, prompting evacuations in parts of Fremont, Milpitas, Morgan Hill, Gilroy, etc, and is getting close to I-5 near Patterson. The evacuations are only advisory for Morgan Hill and Gilroy at the moment, according to this map. While the northwest edge is getting close to I-680, the southwest edge is still comfortably far from Highway 101.

The CZU Complex Fire (Santa Cruz Mountains) is currently completely uncontained and the mandatory evacuation zone now includes parts of Santa Cruz and all of Scotts Valley, as well as Highways 1, 9, and 17.

North of the Bay Area, Napa and Sonoma are threatened by the LNU Complex Fire, and west of that, the 13-4 Fire stretches from Highway 101 to the ocean, northwest of Santa Rosa. And there are a lot of smaller fires scattered around the state.

On the bright side, the heat wave that had the utilities threatening rolling outages has subsided somewhat, although the advice to open your windows at night when it’s cool is probably not being followed in most areas (coughcough).

The right to arm bears

After being exposed to the trailer, I skimmed the fan translations of the original web-novels of Kuma Kuma Kuma Bear, the upcoming isekai series about a girl and her bear suit. The web-novels were written chapter by chapter with no plan, which I presume was cleaned up for the print edition, currently up to 16 books. The author’s notes are sometimes more amusing than the story, which is the over-familiar “Japanese teen becomes ridiculously overpowered in a fantasy world”.

Judging by the book covers, Our Heroine’s hobby is loli-collecting.

Monster Of The Week

Afternoon Update

At the present time, my neighborhood is not on fire, and is not predicted to be on fire any time soon. The wildfire that’s south of town is apparently moving further southeast into the mountains. This would be a good day to wear real masks, though, rather than the mandated sneezeguards.

Just Say No

MoveOn just spam-texted me to ask if I’ll be supporting Joe Biden, because (no shit, it really says this) “we deserve real leaders who govern for all of us – not just the wealthy few”.

Related, did anyone ask Billy Porter why he borrowed his DNC wardrobe from the set of The Hunger Games? Is he working on a Broadway musical version of it?

When October Goes

As I continue casting about for things to watch, I tried out Netflix’s October Faction. It’s a one-a-day sort of series that doesn’t binge well, and so far Deloris is the only character I find interesting. Also, while the twins are delivering lines written in comprehensible Japanese, the actors obviously don’t speak it. Their phonetic delivery reminds me a lot of Jack in Asobi Ni Iku Yo!. At least it didn’t remind me of this (Not Safe For Sanity).

This discussion of its non-renewal pretty much nailed it:

“For fans of the monster-of-the-week genre, you can think of it like Supernatural with a more stagnant setting and less charismatic leads.”

This rare moment of clarity doesn’t mean that every other article on Looper isn’t completely full of shit, of course.

Amusing connection: the actress playing mystery gal Alice was on an episode of Forever Knight.

Bullfight of Love

Completely unrelated, I happened to be listening to a mix of the top 100 songs in Japan from 1981, and Ai no Corrida is on it. I’m inclined to think that Quincy Jones kind of missed the point of the original movie.

Amusing note: one of the short pieces we went through in my Japanese group reading class mentioned filmmaker Ōshima and this film, and the teacher realized for the first time that the title included the Spanish word for “bullfight”. Difficulty: she has a PhD in Spanish literature.

By the way, that top-100 list also included Fame and Morning Train. And, yes, City Connection.

“Need a clue, take a clue,
 got a clue, leave a clue”