Show HN: A custom font that displays Cistercian numerals using ligatures
158 points by bobbiechen 2 days ago | 37 comments

psychoslave 13 hours ago
Excellent, I’ll look back at it when I find time to progress on my own pet project of custom numeral notation.

Specification: each cipher from 0 to 9 is using n+1 stroke, using only horizontal, vertical or left-bottom to right-top orientations. They also have distinctive traits that let them be identified even with only the very top or very bottom part. So 0 looks like / for example.

I also went above base 10 and made enough glyph to cover a sexagesimal base. The constraints on the drawing are then looser, so to go up to 20 we had a single "\". Incidentally and funnily enough that makes the 10th glyph look like a X. Then to get up to 40 glyphs, we simply square the 20 previous ones. And the plan to reach the 60 glyphs is to have a circled variation.

I’m not versed in the art of font crafting, but I would love to find someone to work in common on that one.

Here is a draft with the first steps for those interested:

https://commons.wikimedia.org/wiki/File:Alternative_cipher_n...

reply
Nevermark 13 hours ago
So interesting and clever.

Hexadecimal can be done with 4 bars, representing 4 bits, on the top right = one hexadecimal digit.

For four quadrants, we get 4 x 4 bits = 16 bits = 2 byte digit.

0-65,535 in one digit. A digit reduction by a factor of 4.

Just a byte could be represented by a half-height vertical line, with only left and right "quadrants". A lower case number!

And a 4 byte = 32 bit number could be represented with one digit, with vertical and horizontal main bars. I.e. 8 quadrants. One "digit", 0-4,294,967,295.

reply
bux93 10 hours ago
You could also present 4 hexadecimal digits in a rectangle to represent values from 0000-FFFF. Currently used to display unicode characters for which your font has no glyph (the kind of tofu known as hexagana - on the wikipedia page on .notdef firefox on windows displays one with a 6-digit hex number 􏿮 )
reply
carlob 11 hours ago
add some error correcting codes and you have invented some sort of qr code
reply
Thorrez 11 hours ago
Hmm, did the monks have no concept of 0? 0 doesn't exist in this font. However, their system can very easily support 0: just a vertical line.
reply
layer8 10 hours ago
Roman numerals also don’t have a zero. In Europe, use of zero only became predominant in the 16th century
reply
cvoss 8 hours ago
Indeed, it was a hot topic for Shakespeare.

https://theconversation.com/shakespeare-by-numbers-how-mathe...

reply
garciansmith 8 hours ago
Sometimes they would write "nil."
reply
lysp 8 hours ago
So the concept of null?
reply
kreelman 13 hours ago
This is so neat. Thanks for putting it together. A strange number system, but interesting. It would be great if it could be done in Unicode. I'm intrigued to know what it was used for.
reply
RobotToaster 13 hours ago
Until relatively recently the western world didn't really agree on a numeral system.

(As an aside, the western Arabic numerals we use today are quite different to the eastern Arabic numerals used in Arabic writing)

reply
thih9 17 hours ago
> Sometimes (not always), this makes addition visual

I guess this would always work with tally marks. Is there a more complex number system where visual feedback like this always works?

For a taste of this in Arabic numerals consider a 7 segment font, with 1 aligned to the left; we’d have “5+1=6”.

reply
fluoridation 16 hours ago
They're not tally marks, it's just a different way of encoding a positional number system representation. You would get the same effect if instead of writing zeroes you left empty spaces. 2_4 + 1_3_ = 1234. If you were writing in columns you would not need the additional glyph.
reply
bobbiechen 9 hours ago
(creator here) +1, the different digits add trivially as you say.

I also thought it was fun that when you overlay digits, you do get 1+4=5, 1+6=7, 1+8=9, 2+6=8, and 2+7=9 . That one I only found accidentally after a bit of playing, so the demo note is more of a fun side note than a really useful property.

reply
Someone 16 hours ago
> I guess this would always work with tally marks.

This script overlays the marks, it doesn’t put them side by side. So, in the strict sense, this does not work with tally marks. If you write a tally mark on top of another tally mark, you won’t get two tally marks.

> Is there a more complex number system where visual feedback like this always works?

No. The “+1” operator would have to add the encoding for the number one to whatever number you apply it to, so starting at 1, the numbers would have to grow larger every time.

(Similarly, since “+2” must be identical to applying “+1” twice, it must add whatever “+1” adds twice, “+3” must do that thrice, etc)

reply
mmooss 18 hours ago
I've thought, in other contexts too, how much easier innovation in script (in writing, glyphs, etc.) is when handwriting instead of printing text. Anyone could create their own Cistercian shorthand - and Medieval writers did use all sorts of shorthand.

Print requires a pre-composed set of glyphs with exceptions that are, I suppose, expensive (i.e., custom made by the printer). Typing right now on your computer, how easily can you create a custom glyph and share it? Look what the OP must do - stretch the bounds of typeface function, something few people are equipped to do.

If HN comments were hand written, each commenter could create custom glyphs on the fly. We could also draw diagrams and pictures, musical notation, draw lines pointing to different taxt from others - gloss each others comments.

Thinking about it (and wandering onto a tangent): If computers could process handwriting the same way as text encodings, would that be preferrable? I can't type as fast as I write but partly because I type far more. I could do so much more with a pen; it would be interesting to try. How well do LLMs handle handwriting recognition?

reply
RobotToaster 12 hours ago
English dropped some interesting characters and ligatures because of the limitations of the printing press and typewriter. With modern typing systems it would be nice to bring back things like the thorn, eth, æ, &c.
reply
mmooss 7 hours ago
> thorn, eth, æ, &c.

Those are in Unicode, fwiw.

reply
voidUpdate 14 hours ago
You could just provide a canvas to draw on and share images instead of strings of characters. If you restrict it to just black and white, and crop to only the used area, it would probably compress reasonably well, but then you'd also have to deal with the fact that some people have awful handwriting, writing with a mouse is hard (I'm particularly awful at it, being a left-handed person who uses a mouse with my right hand. If I need to draw into a computer, I have to get my drawing tablet out of a drawer), you can't paste into google translate for people writing in foreign languages etc
reply
fluoridation 14 hours ago
How many times in your life have you needed to create a new a glyph? Would the added expressive power make up for the inconvenience of having to explain the meaning of the novel symbols?
reply
psychoslave 13 hours ago
Before you can evaluate if it’s convenient to communicate better with others, you need some room to explore if it helps better grab something by yourself.

Also sometime it’s nice to express something for your own private enjoyment. Maybe it can spit also to something useful for the rest of the world here and there. But making this "predicted usefulness for the common" a requirement is depriving humanity of all this intimate joys and everything that can emerge from it.

reply
fluoridation 12 hours ago
I guess I forgot to quote. I'm responding to the hypothetical of an online forum supporting handwriting. Communication is kinda the whole point.
reply
mmooss 6 hours ago
In handwritten notes I've done it many times. Mathematicians seem to create them.

On computers I haven't had the opportunity. When adopting new technology people commonly don't imagine the applications - even expert technologists, even those who developed the technology, often don't know.

> Would the added expressive power make up for the inconvenience of having to explain the meaning of the novel symbols?

It's a good question, but I could see definitions working efficiently in many situations. If the symbol is shorthand, it's easy to say 'the population of Hacker News P(H) ...', and it works well in mathematics, 'let Q be _____'. (These are imperfect examples because I can't create new symbols.)

reply
ileonichwiesz 14 hours ago
> How well do LLMs handle handwriting recognition?

Pretty well for neat modern handwriting, but much worse for cursive or messier writing. They also really struggle if the text is at an angle. I have some recent experience with a project where we tried to use LLMs to digitise handwritten specimen labels from the 19th and early 20th century, and the success rate was far too low to proceed with that approach.

Hallucination was also a common problem, with the output often replaced by a similar (but more common) name or word.

I’d assume you could improve the results by using a model trained specifically on handwriting data sets, grounding the model, or using existing purpose-built OCR tools - but frankly that’s above my pay grade.

reply
mmooss 19 hours ago
The glyphs are really facinating; thank you. Has anyone proposed Unicode code points for them?

Are there more efficient representations of numbers - or anything else - in terms of bits per glyph? The Cistercian numarals encode a bit over 13 bits per glyph, of course. Maybe forms of Chinese - though I think most words require 2 characters - or another ideographic language? But also is there anything with Cistercian cognitive efficiency? You can learn it in minutes.

I wonder why the didn't make 3 into F. They follow two other patterns for 3 then 4 glyphs: 3,4,5 have hypotenuses and 6,7,9 have the short parallel line. Also, they use other glyphs that approximately match Latin letters - e.g. 9 (P), 100 (L), 900 (b), 9000 (d) - so that wouldn't deter them.

reply
mkotowski 18 hours ago
> Has anyone proposed Unicode code points for them?

There is "Background for Unicode consideration of Cistercian numerals" (https://www.unicode.org/L2/L2020/20290-cistercian-digits.pdf)

And also one in the Under-ConScript Unicode Registry for the Private Use Area (https://www.kreativekorp.com/ucsur/) (https://www.kreativekorp.com/ucsur/charts/cistercian.html)

reply
mmooss 7 hours ago
Thank you.

> There is "Background for Unicode consideration of Cistercian numerals" (https://www.unicode.org/L2/L2020/20290-cistercian-digits.pdf)

That's the most complete summary I've seen so far, though I don't know if the author, Kirk Miller, has expertise in the area.

reply
readthenotes1 21 hours ago
In a high trust environment, I suppose easy addition is helpful. Probably not best used in loan agreements.
reply
crazygringo 21 hours ago
Fun fact: Chinese has separate "financial numerals" precisely to prevent one digit being changed to another, the way that could be easily done with regular numerals like turning 一 (1) into 三 (3) or 十 (10). A lot harder when they look like 壹, 叁, and 拾 instead.

https://en.wikipedia.org/wiki/Chinese_numerals#Financial_num...

reply
spragl 16 hours ago
Another fun fact: German registration plates use a font for which it is difficult to change one digit to another, for example by adding a bit of tape. The font is called FE-Schrift. https://en.wikipedia.org/wiki/FE-Schrift
reply
drfuchs 9 hours ago
But they left S, X, and Z rotationally symmetric, so if you choose a non-palindrome vanity plate with only those characters, you can mount it upside-down and fool plate-readers.
reply
askl 9 hours ago
But at least in Germany the plates always start with some letters and end in numbers. So mounting it upside down can't result in a valid plate.
reply
inanutshellus 5 hours ago
Custom ("vanity") plates aren't allowed in Germany?
reply
RobotToaster 13 hours ago
Interesting, is there a background to how they created the financial numerals? The standard ones seem obvious.
reply
lovich 18 hours ago
Neat, you made me one of the 10 thousand today.
reply
ted_bunny 11 hours ago
Aaand you broke it
reply
froh42 15 hours ago
scnr 9900
reply
builderhq_io 15 hours ago
[dead]
reply