Top
Best
New

Posted by m_walden 4/12/2025

Why is there a “small house” in IBM's Code page 437?(blog.glyphdrawing.club)
227 points | 51 comments
layer8 4/12/2025|
My first association for this symbol isn’t a house, but an indent marker, like here (“Right Indent Box” in particular): https://www.atlantiswordprocessor.com/en/help/images/ruler.p...

Or here as a tab stop in GeoWrite (in the top left, below the “file” menu): https://static.wikia.nocookie.net/commodore64/images/6/68/Ge...

Some mechanical typewriters had physical markers/stops that looked similar. The best I could find in a hurry: https://www.mrmrsvintagetypewriters.com/cdn/shop/files/DSC_7...

crazygringo 4/13/2025||
That's what I thought too. And WordStar and WordPerfect predated this character set by a couple of years, and then MultiMate and Word after.

But googling screenshots of all of them, I can't find any use of this character in their rulers. It's all dots, numbers, and bracket symbols.

So I think the end of the article is right -- it's a delta triangle that, for various reasons, got corrupted into that shape:

> If even the actual Greek uppercase delta is, quite unmistakenly, rendered as a house, then the theory that DEL is just a badly formed uppercase Greek delta character with the bottom corners cut off (due to a lack of horizontal pixels) starts to seem more and more convincing.

reddalo 4/13/2025||
DEL = DELta

I think this explains why they chose to put it there, instead of one of the other free spaces. It's just too smart not to do it.

crazygringo 4/13/2025|||
Yup. There are also a ton of other Greek letters in row E used in math... and no uppercase delta, which you'd obviously want, even more than many of the others. The only reason they wouldn't have included it down there was because they already included it above, exactly because it's DELta.

It still doesn't answer why it's a short uppercase delta though... I can only guess there was a failure of communication somewhere between who chose the character set and who drew the pixels...

neuroelectron 4/13/2025|||
Along with the rectangular pixels of the resolutions of the time, I think this makes sense.
tdeck 4/13/2025|||
I agree; I always thought of it as a kind of cursor / pointer symbol. I used to do high ASCII art (nothing to write home about) and became pretty familiar with CP437, so I was wracking my brain trying to figure out what the "little house" was going to be.
ratmice 4/13/2025||
I notice that cp437 has enspace, so I wonder if enspace combined with the "small house", is used to indicate the insertion point, or position between two characters when producing error messages.
cratermoon 4/13/2025||
These are physical tab placement markers for IBM Selectric typewriters.

https://www.ebay.com/itm/176048131446

susam 4/12/2025||
Linked in this article is VileR's excellent website <https://int10h.org/>. In fact, it is linked 8 times in this article. If this kind of thing interests you, I highly recommend following those links. VileR's site is probably the best resource we have today that preserves the various PC OEM fonts from a bygone technological era -- an era that lives on in the memories of those of us who first encountered these machines early in life.

I'm genuinely in awe of the time and effort VileR has poured into recovering each font, and their countless variants, from a wide range of ROMs. The site not only archives them all with incredible attention to detail, but also offers live previews, aspect ratio correction, and other thoughtful features that make exploring it a joy. I've spent countless hours there comparing different OEM fonts, and hunting down the best ones to use in my own work!

darkwater 4/12/2025||
Wow, it really goes in depth on the topic, in the beginning I was like "wtf am I even reading this" and after a while I was hooked by the writing style, the depth of the research and also the design of the website. Really, really cool.
travisgriggs 4/13/2025|
Exactly this. Kept thinking, “you’re not getting this time back” … but kept reading anyway. And wasn’t disappointed by the lack of closure either. An essay worth the journey despite the end.
keepamovin 4/13/2025||
Wow this is a beautiful article. I love Code page 437 - my first experiences with computers used it. I made two little things that are a homage to the pixelated and "cyberpunk" "screaming electron" "information superhighway" glory that is IBM Code Page 437:

1. Endless scrolling random Code Page 437 text: https://o0101.github.io/random/ (but it seems to be broken indicated by an overabundance of the non-existent "block question mark". Code here in case anyone wants to submit a fix :) : https://github.com/o0101/random)

2. Base-437 - a way to encode any binary file into faithful-to-code-page-437-glyphs that you can nevertheless throw into HTML no problemo: https://browserbox.github.io/Base437/ This means, for instance, you can have a "data:image/png;base437,ëPNG♪◙→◙ ♪IHDR ◘♠ \r¿f ♦gAMA Åⁿa♣ cHRM z& Çä · ÇΦ u..." URI for an image. I just think it looks cool being able to see the content rather than base64 which hides it. Code: https://github.com/BrowserBox/Base437

trollbridge 4/13/2025|
I still have most of the 437 code points memorised. At one point, I made a simple program similar to xxd or od but which would dump the binary code ones in (Unicode) 437 representation instead of just dots. (NUL, space, and 0xFF are all blanks, so I used other Unicode code points for those.) A little bit similar to Base-437 above.
keepamovin 4/14/2025||
Hey I love the sound of that! Please publish it on GitHub so I can build it in C or whatever. I think it was the blanks in xxd that gave me the idea for how good it would be to just display them - Unicode!
trollbridge 4/17/2025||
I’ll have to dig it up and put it out there for you. It’s actually already on GitHub but buried in another completely unrelated repo (networking tools where I was looking at undecoded binary dumps of network traffic).
ndiddy 4/12/2025||
Really good article! Personally it has me convinced that the 0x7F character was originally meant to be a delta, but whoever drew it did a poor enough job that it made other teams at IBM think it was supposed to be a house. As the article says, when you look in the PC BIOS source listing, there's a comment saying "DELTA" next to where the bitmap for the 0x7F character is defined. https://github.com/philspil66/IBM-PC-BIOS/blob/main/PCBIOS.A...
fredoralive 4/12/2025||
I seem to recall whether 0xE1 in codepage 437 is supposed to be a Greek lowercase beta (β) or a German sharp s (ẞ) is intentionally a bit fuzzy, so its perhaps they intended it to be both a delta and a dingbat.

I'm not really sure if a house fits it that much, wouldn't a generic "house" symbol have a chimney (although obviously, it's hard to fit one in with such a low resolution).

II2II 4/13/2025||
It's most likely meant to be Delta, as used in mathematics and science (which is typically smaller than the Greek letter). Not only is the Delta in the Greek character similarly shaped, but Lambda is similarly distorted in the greek character set. Likewise, A, N, V, Y, K (arguably), and W (arguably) are distorted.
dhosek 4/13/2025|||
Although originally the character Δ began life as 𐤃 (named dalet, meaning door) so it should be a door, not a house (he says with a wink) and that β should be the house (from 𐤁‎, bet, meaning house).
gpvos 4/23/2025|||
But then, why is it one pixel above the baseline?
trollbridge 4/13/2025||
437 had quite a few “dual use” characters which were drawn to be mathematical symbols, but could be used to render (some) Greek text (poorly). It’s also notorious for having some accent marks, but not enough to fully represent most Western European languages; basically just German and Swedish.

Rather amusingly it had a Pesetas symbol for Spanish currency and numero signs an and o for abbreviations… but not a full enough set of accented characters to write everyday Spanish.

trollbridge 4/13/2025||
Back in the 1990s, my best friend at the time and I embarked on making computer games. He decided to make one for his dad, who was a baseball fan, including keying in statistics for all the players you could choose.

His computer was a PC-1 (5150) with CGA and 320K RAM (and a Microsoft mouse with green buttons and a steel ball, oddly enough), so he wrote the program in text mode. His dad used that computer to get through law school.

CHR$(127), as we called it, was used for home plate. He’s a doctor now.

johndoe0815 4/12/2025||
One more theory - it could be a tabulator or cursor symbol (for word processing applications).
smcameron 4/12/2025||
I am pretty sure IBM's "DisplayWriter" word processor used the "small house" char for some kind of an indicator in the status line, maybe something to do with tabs. Here's a screenshot I found of DisplayWriter using that char: https://darrengoossens.wordpress.com/wp-content/uploads/2020...

https://en.wikipedia.org/wiki/IBM_Displaywriter_System

california-og 4/14/2025||
I did consider that, but the 1980 IBM Displaywriter uses a filled downwards triangle, not a house character, to indicate the center line [0].

But you're right that the Displaywriter inspited 1984 DisplayWrite DOS program [1] did use the house character for the same purpose. (Although, CP437 also included a filled downwards triangle character at 0x1F.)

[0]: https://youtu.be/YnU_woucebE?t=169

[1]: https://www.dosdays.co.uk/topics/Software/ibm_displaywrite.p...

raverbashing 4/12/2025|||
Yup. That's what it looks like to me as well
polpo 4/12/2025||
That's what I always assumed it was, too.
dhosek 4/13/2025||
There’s a certain amount of “it just is” when it comes to non-textual characters. I remember being interviewed by a reporter from The Wall Street Journal about the claim that Wingdings had an antisemitic message secretly encoded in it because NYC output as the sequence skull and crossbones-star of David-thumbs up, but the choice of where those characters were encoded is purely a consequence of grouping similarly themed characters together (so, e.g., the star of David comes in the midst of a sequence of religious symbols).
bitwize 4/13/2025|
In a future font (Webdings?) Microsoft deliberately set the letters NYC to be an eye, a heart, and a city skyline, in response to this kerfuffle.
masswerk 4/12/2025|
My guess: it's the "mode change" code found in various IBM punchcard encodings, punch 11-8-7, canonically represented by an upper-case delta.

It would make sense to render this somewhat differently from the regular Greek character. This may also explain why it's rendered differently in various manuals: once, as commonly represented in EBCDIC charts, as a delta, once, as it's actually represented in the on-screen character set.

More comments...