Hacker News new | past | comments | ask | show | jobs | submit login
Text for Proofing Fonts (2020) (typography.com)
79 points by ColinWright 7 months ago | hide | past | favorite | 7 comments



I wonder what could be some good test sequences for monospaced programming fonts, like:

  ,.:;!? 1234567890 {}[]()@#$%^&*-=_+\/<> Common issues: lLiI1oO0
(maybe throw in some ligature related stuff for those who enjoy those in their fonts)

I made a super basic site like that for some fonts that I enjoy, but never really put that many in there: https://fonts.kronis.dev/

Surprisingly Ubuntu Mono is also pretty good in most respects, maybe I should add it, currently it's a split for either Liberation Mono/Cousine or PT Mono for my programming font of choice, here's a nice font chooser, tournament style: https://www.codingfont.com/ or just a look at bunch of fonts https://www.programmingfonts.org/

Not to detract from the article itself, I just stare a lot at fonts while doing programming.


[Repeating a comment from a few years ago:]

When I developed my own coding font (Luculent), the compact sample that I ultimately came up with was:

    //  The five boxing wizards jump
    #include <stdio.h> // <= quickly.
    int main(int argc, char **argv) {
      float il1[]={1-2/3.4,5+6==7/8};
      int OxFaced=0xBAD||"[{(CQUINE";
      unsigned O0,l1,Z2,S5,G6,B8__XY;
      printf("@$Hamburgefo%c`",'\n');
      return ~7&8^9?0:l1|!"j->k+=*w";
    }
It has a pangram, lots of confusable pairs of characters adjacent to each other, opening brackets next to each other and near a pipe character, quotes and commas next to each other, lining operators (i.e., ->, += and <=), and every normal punctuation character on a US keyboard. It also happens to be a valid, though useless, C or C++ program.


Lovely little programmatical 'quick brown fox'!


oO08 iIlL1| g9qCGQ ~-+=>

I use it here: https://alexey-milovidov.github.io/font-selector/ (in the "Textarea" examples).


I guess proper words for proofing cover most use cases, but you just don't know how a font might be used; what sequence of characters it will be exposed to. I found it useful in my proofing to run every character between every pair in the character set like this

for a:

aabcdefgh

aabcdefgh

abacdefgh

abcadefgh

abcdaefgh

abcdeafgh

abcdefagh

abcdefgah

abcdefgha

If there is a problem with kerning for %a or a% pairs, it will stick out in this list.


This reminds me of the difference between micro-benchmarks vs real programs. I would always include extracts from real texts of a few different types (novels, lists, technical writing, short paragraphs like in a playscript). But a test text like these are also helpful in exercising a few rare cases, like z, q, and certain ligatures.


It's too much work to go through the paragraph; it needs automation.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: