Skip to content

A collection of resources & recommendations that are helpful for spacing

Notifications You must be signed in to change notification settings

arrowtype/spacing

Repository files navigation

Spacing Tests!

Some useful strings and tools to use in spacing and kerning type.

Have a resource or spacing method you think is useful, but isn't here? Please suggest it in an Issue or a Pull Request!

Make your own

There are a couple of simple scripts in the scripts folder, which can allow you to quickly generate your own proofing strings. See that readme for more details!

The “International Standard of Spacing Tests”

Paul Barnes said “There should be the international standard of spacing tests,” and recommended (something close to) this.

His suggestion was actually even more brief (nanoao nbnobo ncnoco etc), but the text below includes extra control characters to help judge relative spacing. Try different variations to see what works for you and for each project!

nnononoo nnanoaoo nnbnoboo nncnocoo nndnodoo nnenoeoo nnfnofoo nngnogoo nnhnohoo nninoioo nnjnojoo nnknokoo nnlnoloo nnmnomoo nnpnopoo nnqnoqoo nnrnoroo nnsnosoo nntnotoo nnunouoo nnvnovoo nnwnowoo nnxnoxoo nnynoyoo nnznozoo

HHOHOHOO HHAHOAOO HHBHOBOO HHCHOCOO HHDHODOO HHEHOEOO HHFHOFOO HHGHOGOO HHIHOIOO HHJHOJOO HHKHOKOO HHLHOLOO HHMHOMOO HHNHONOO HHPHOPOO HHQHOQOO HHRHOROO HHSHOSOO HHTHOTOO HHUHOUOO HHVHOVOO HHWHOWOO HHXHOXOO HHYHOYOO HHZHOZOO

00808088 00108188 00208288 00308388 00408488 00508588 00608688 00708788 00908988

The best part is that it's a simple, brief, memorable set of tests.

It is useful to adapt as needed, e.g. sometimes I use nnnannnoooaooo if it seems easier, I set different characters between numerals, etc.

🔥 Hot tip: add newlines instead of spaces for use in GlyphsApp while you’re designing a font.

Latin proofing texts

Hoefler & Co released useful texts they use proofing Latin fonts, plus a helpful write-up of the logic behind it: https://www.typography.com/blog/text-for-proofing-fonts

This is free for non-commercial use. To paraphrase my understanding of the licensing, you can use it for proofing and testing, but you can’t sell posters of this, and you probably shouldn’t publish images of this on GitHub / Instagram / etc.

Multi-lingual sample text sources:

As you design, use Word-o-Mat (available for both RoboFont and GlyphsApp)

Public-domain books across many languages: https://www.gutenberg.org/

EU documents are translated into all European languages. Find them at https://eur-lex.europa.eu. Try the feature that sets different languages side-by-side! Random example: "Agreement between the European Union and the Kingdom of Norway on reciprocal access to fishing in the Skagerrak for vessels flying the flag of Denmark, Norway and Sweden"

Permutations for Kerning

aaabacadaeafagahaiajakalamanaoapaqarasatauavawaxayaza
babbbcbdbebfbgbhbibjbkblbmbnbobpbqbrbsbtbubvbwbxbybzb
cacbcccdcecfcgchcicjckclcmcncocpcqcrcsctcucvcwcxcyczc
dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd
eaebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze
fafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzf
gagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzg
hahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzh
iaibicidieifigihiiijikiliminioipiqirisitiuiviwixiyizi
jajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzj
kakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzk
lalblcldlelflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl
mambmcmdmemfmgmhmimjmkmlmmmnmompmqmrmsmtmumvmwmxmymzm
nanbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynzn
oaobocodoeofogohoiojokolomonooopoqorosotouovowoxoyozo
papbpcpdpepfpgphpipjpkplpmpnpopppqprpsptpupvpwpxpypzp
qaqbqcqdqeqfqgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzq
rarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzr
sasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszs
tatbtctdtetftgthtitjtktltmtntotptqtrtstttutvtwtxtytzt
uaubucudueufuguhuiujukulumunuoupuqurusutuuuvuwuxuyuzu
vavbvcvdvevfvgvhvivjvkvlvmvnvovpvqvrvsvtvuvvvwvxvyvzv
wawbwcwdwewfwgwhwiwjwkwlwmwnwowpwqwrwswtwuwvwwwxwywzw
xaxbxcxdxexfxgxhxixjxkxlxmxnxoxpxqxrxsxtxuxvxwxxxyxzx
yaybycydyeyfygyhyiyjykylymynyoypyqyrysytyuyvywyxyyyzy
zazbzczdzezfzgzhzizjzkzlzmznzozpzqzrzsztzuzvzwzxzyzzz
AAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZA
BABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUBVBWBXBYBZB
CACBCCCDCECFCGCHCICJCKCLCMCNCOCPCQCRCSCTCUCVCWCXCYCZC
DADBDCDDDEDFDGDHDIDJDKDLDMDNDODPDQDRDSDTDUDVDWDXDYDZD
EAEBECEDEEEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEXEYEZE
FAFBFCFDFEFFFGFHFIFJFKFLFMFNFOFPFQFRFSFTFUFVFWFXFYFZF
GAGBGCGDGEGFGGGHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGWGXGYGZG
HAHBHCHDHEHFHGHHHIHJHKHLHMHNHOHPHQHRHSHTHUHVHWHXHYHZH
IAIBICIDIEIFIGIHIIIJIKILIMINIOIPIQIRISITIUIVIWIXIYIZI
JAJBJCJDJEJFJGJHJIJJJKJLJMJNJOJPJQJRJSJTJUJVJWJXJYJZJ
KAKBKCKDKEKFKGKHKIKJKKKLKMKNKOKPKQKRKSKTKUKVKWKXKYKZK
LALBLCLDLELFLGLHLILJLKLLLMLNLOLPLQLRLSLTLULVLWLXLYLZL
MAMBMCMDMEMFMGMHMIMJMKMLMMMNMOMPMQMRMSMTMUMVMWMXMYMZM
NANBNCNDNENFNGNHNINJNKNLNMNNNONPNQNRNSNTNUNVNWNXNYNZN
OAOBOCODOEOFOGOHOIOJOKOLOMONOOOPOQOROSOTOUOVOWOXOYOZO
PAPBPCPDPEPFPGPHPIPJPKPLPMPNPOPPPQPRPSPTPUPVPWPXPYPZP
QAQBQCQDQEQFQGQHQIQJQKQLQMQNQOQPQQQRQSQTQUQVQWQXQYQZQ
RARBRCRDRERFRGRHRIRJRKRLRMRNRORPRQRRRSRTRURVRWRXRYRZR
SASBSCSDSESFSGSHSISJSKSLSMSNSOSPSQSRSSSTSUSVSWSXSYSZS
TATBTCTDTETFTGTHTITJTKTLTMTNTOTPTQTRTSTTTUTVTWTXTYTZT
UAUBUCUDUEUFUGUHUIUJUKULUMUNUOUPUQURUSUTUUUVUWUXUYUZU
VAVBVCVDVEVFVGVHVIVJVKVLVMVNVOVPVQVRVSVTVUVVVWVXVYVZV
WAWBWCWDWEWFWGWHWIWJWKWLWMWNWOWPWQWRWSWTWUWVWWWXWYWZW
XAXBXCXDXEXFXGXHXIXJXKXLXMXNXOXPXQXRXSXTXUXVXWXXXYXZX
YAYBYCYDYEYFYGYHYIYJYKYLYMYNYOYPYQYRYSYTYUYVYWYXYYYZY
ZAZBZCZDZEZFZGZHZIZJZKZLZMZNZOZPZQZRZSZTZUZVZWZXZYZZZ
000102030405060708090
101112131415161718191
202122232425262728292
303132333435363738393
404142434445464748494
505152535455565758595
606162636465666768696
707172737475767778797
808182838485868788898
909192939495969798999

Statistics

Amazing analysis of letter frequency in English: http://norvig.com/mayzner.html

  • Caveat: this ignores capitalization, though that (probably?) doesn't have a huge impact on the lessons you can take from this.
  • Is it useful? Who knows! For certain considerations, I think so.
  • In general – especially early in a design – it can be helpful to remember that the vast majority of text is lowercase. So, it can be sensible to pay more attention to the lowercase, first.

RoboFont extensions

Proof-making tools

Idiot Proofed “was created by Very Cool Studio and Jake Fleming in 2018. It was created so that we'd never need to open InDesign again.” This very cool website makes a bunch of useful proofs when you upload a font file. Nice!

Another handy place for drag-and-drop test specimens: http://www.cyreal.org/Font-Testing-Page/

The JAF Test Text Generator, but Just Another Foundry, is similar to word-o-mat, but it’s a web page. You can generate words from a selected language, or paste in a limited set of characters for it to make sample words from.

Font Proofer, by Peter Nowell, is an excellent macOS app for generating proofs. It is really thoughtfully and well built, and really optimizes the flow of making and saving documents for proofing.

Other tools

Drawbot: an open-source, Python-based design tool which is excellent for testing fonts in a programmatic way. See Python for Designers as an introduction to this.

InDesign can also be helpful, obviously – if you are still exploring what you want a drawbot proof to contain and look like, it can often be handy to explore the ideas first in a more traditional design tool, and then bring things into DrawBot.

Further reading

https://ohnotype.co/blog/spacing

Suggestions below are from an archived blog post by Ultrasparky (Dan Rhatigan): Spacing Tests

1000 digits of Pi - more at https://www.piday.org/million/

3141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148086513282306647093844609550582231725359408128481117450284102701938521105559644622948954930381964428810975665933446128475648233786783165271201909145648566923460348610454326648213393607260249141273724587006606315588174881520920962829254091715364367892590360011330530548820466521384146951941511609433057270365759591953092186117381932611793105118548074462379962749567351885752724891227938183011949129833673362440656643086021394946395224737190702179860943702770539217176293176752384674818467669405132000568127145263560827785771342757789609173637178721468440901224953430146549585371050792279689258923542019956112129021960864034418159813629774771309960518707211349999998372978049951059731732816096318595024459455346908302642522308253344685035261931188171010003137838752886587533208381420617177669147303598253490428755468731159562863882353787593751957781857780532171226806613001927876611195909216420198

Emil Ruder's Spacing Test - top and bottom paragraphs should match in overall color

bibel malhabile modo biegen peuple punibile blind qualifier quindi damals quelle dinamica china quelque analiso schaden salomon macchina schein sellier secondo lager sommier singolo legion unique possibile mime unanime unico mohn usuel legge nagel abonner unione puder agir punizione quälen aiglon dunque huldigen allégir quando geduld alliance uomini

vertrag crainte screw verwalter croyant science verzicht fratricide sketchy vorrede frivolité story yankee instruction take zwetschge lyre treaty zypresse navette tricycle fraktur nocturne typograph kraft pervertir vanity raffeln presto victory reaktion prévoyant vivacity rekord priorité wayward revolte proscrire efficiency tritt raviver without trotzkopf tactilité through tyrann arrêt known

The following is quoted from "Kern King"

Originally devised by Leslie Cabarga

How to Use Kern King

First, complete the spacing of your font in progress, but before adding kerning . . . paste [this text] into a word processing or layout program document, look at the words in lowercase, then as all caps, and see how they set. Make a list of all the problem pairs: those that are too far apart, and those that are too close together. Open up the font again in Fontographer or FontLab, make corrections to spacing and add kerning. Generate the font a second time. Check again. Repeat process until [spacing and] kerning seems perfect.

lynx tuft frogs, dolphins abduct by proxy the ever awkward klutz, dud, dummkopf, jinx snubnose filmgoer, orphan sgt. renfruw grudgek reyfus, md. sikh psych if halt tympany jewelry sri heh! twyer vs jojo pneu fylfot alcaaba son of nonplussed halfbreed bubbly playboy guggenheim daddy coccyx sgraffito effect, vacuum dirndle impossible attempt to disvalue, muzzle the afghan czech czar and exninja, bob bixby dvorak wood dhurrie savvy, dizzy eye aeon circumcision uvula scrungy picnic luxurious special type carbohydrate ovoid adzuki kumquat bomb? afterglows gold girl pygmy gnome lb. ankhs acme aggroupment akmed brouhha tv wt. ujjain ms. oz abacus mnemonics bhikku khaki bwana aorta embolism vivid owls often kvetch otherwise, wysiwyg densfort wright you’ve absorbed rhythm, put obstacle kyaks krieg kern wurst subject enmity equity coquet quorum pique tzetse hepzibah sulfhydryl briefcase ajax ehler kafka fjord elfship halfdressed jugful eggcup hummingbirds swingdevil bagpipe legwork reproachful hunchback archknave baghdad wejh rijswijk rajbansi rajput ajdir okay weekday obfuscate subpoena liebknecht marcgravia ecbolic arcticward dickcissel pincpinc boldface maidkin adjective adcraft adman dwarfness applejack darkbrown kiln palzy always farmland flimflam unbossy nonlineal stepbrother lapdog stopgap sx countdown basketball beaujolais vb. flowchart aztec lazy bozo syrup tarzan annoying dyke yucky hawg gagzhukz cuzco squire when hiho mayhem nietzsche szasz gumdrop milk emplotment ambidextrously lacquer byway ecclesiastes stubchen hobgoblins crabmill aqua hawaii blvd. subquality byzantine empire debt obvious cervantes jekabzeel anecdote flicflac mechanicville bedbug couldn’t i’ve it’s they’ll they’d dpt. headquarter burkhardt xerxes atkins govt. ebenezer lg. lhama amtrak amway fixity axmen quumbabda upjohn hrumpf

LYNX TUFT FROGS, DOLPHINS ABDUCT BY PROXY THE EVER AWKWARD KLUTZ, DUD, DUMMKOPF, JINX SNUBNOSE FILMGOER, ORPHAN SGT. RENFRUW GRUDGEK REYFUS, MD. SIKH PSYCH IF HALT TYMPANY JEWELRY SRI HEH! TWYER VS JOJO PNEU FYLFOT ALCAABA SON OF NONPLUSSED HALFBREED BUBBLY PLAYBOY GUGGENHEIM DADDY COCCYX SGRAFFITO EFFECT, VACUUM DIRNDLE IMPOSSIBLE ATTEMPT TO DISVALUE, MUZZLE THE AFGHAN CZECH CZAR AND EXNINJA, BOB BIXBY DVORAK WOOD DHURRIE SAVVY, DIZZY EYE AEON CIRCUMCISION UVULA SCRUNGY PICNIC LUXURIOUS SPECIAL TYPE CARBOHYDRATE OVOID ADZUKI KUMQUAT BOMB? AFTERGLOWS GOLD GIRL PYGMY GNOME LB. ANKHS ACME AGGROUPMENT AKMED BROUHHA TV WT. UJJAIN MS. OZ ABACUS MNEMONICS BHIKKU KHAKI BWANA AORTA EMBOLISM VIVID OWLS OFTEN KVETCH OTHERWISE, WYSIWYG DENSFORT WRIGHT YOU’VE ABSORBED RHYTHM, PUT OBSTACLE KYAKS KRIEG KERN WURST SUBJECT ENMITY EQUITY COQUET QUORUM PIQUE TZETSE HEPZIBAH SULFHYDRYL BRIEFCASE AJAX EHLER KAFKA FJORD ELFSHIP HALFDRESSED JUGFUL EGGCUP HUMMINGBIRDS SWINGDEVIL BAGPIPE LEGWORK REPROACHFUL HUNCHBACK ARCHKNAVE BAGHDAD WEJH RIJSWIJK RAJBANSI RAJPUT AJDIR OKAY WEEKDAY OBFUSCATE SUBPOENA LIEBKNECHT MARCGRAVIA ECBOLIC ARCTICWARD DICKCISSEL PINCPINC BOLDFACE MAIDKIN ADJECTIVE ADCRAFT ADMAN DWARFNESS APPLEJACK DARKBROWN KILN PALZY ALWAYS FARMLAND FLIMFLAM UNBOSSY NONLINEAL STEPBROTHER LAPDOG STOPGAP SX COUNTDOWN BASKETBALL BEAUJOLAIS VB. FLOWCHART AZTEC LAZY BOZO SYRUP TARZAN ANNOYING DYKE YUCKY HAWG GAGZHUKZ CUZCO SQUIRE WHEN HIHO MAYHEM NIETZSCHE SZASZ GUMDROP MILK EMPLOTMENT AMBIDEXTROUSLY LACQUER BYWAY ECCLESIASTES STUBCHEN HOBGOBLINS CRABMILL AQUA HAWAII BLVD. SUBQUALITY BYZANTINE EMPIRE DEBT OBVIOUS CERVANTES JEKABZEEL ANECDOTE FLICFLAC MECHANICVILLE BEDBUG COULDN’T I’VE IT’S THEY’LL THEY’D DPT. HEADQUARTER BURKHARDT XERXES ATKINS GOVT. EBENEZER LG. LHAMA AMTRAK AMWAY FIXITY AXMEN QUUMBABDA UPJOHN HRUMPF

Aaron Abraham Adam Aeneas Agfa Ahoy Aileen Akbar Alanon Americanism Anglican Aorta April Fool’s Day Aqua Lung (Tm.) Arabic Ash Wednesday Authorized Version Ave Maria Away Axel Ay Aztec Bhutan Bill Bjorn Bk Btu. Bvart Bzonga California Cb Cd Cervantes Chicago Clute City, Tx. Cmdr. Cnossus Coco Cracker State, Georgia Cs Ct. Cwacker Cyrano David Debra Dharma Diane Djakarta Dm Dnepr Doris Dudley Dwayne Dylan Dzerzhinsk Eames Ectomorph Eden Eerie Effingham, Il. Egypt Eiffel Tower Eject Ekland Elmore Entreaty Eolian Epstein Equine Erasmus Eskimo Ethiopia Europe Eva Ewan Exodus Jan van Eyck Ezra Fabian February Fhara Fifi Fjord Florida Fm France Fs Ft. Fury Fyn Gabriel Gc Gdynia Gehrig Ghana Gilligan Karl Gjellerup Gk. Glen Gm Gnosis Gp.E. Gregory Gs Gt. Br. Guinevere Gwathmey Gypsy Gzags Hebrew Hf Hg Hileah Horace Hrdlicka Hsia Hts. Hubert Hwang Hai Hyacinth Hz. Iaccoca Ibsen Iceland Idaho If Iggy Ihre Ijit Ike Iliad Immediate Innocent Ione Ipswitch Iquarus Ireland Island It Iud Ivert Iwerks Ixnay Iy Jasper Jenks Jherry Jill Jm Jn Jorge Jr. Julie Kerry Kharma Kiki Klear Koko Kruse Kusack Kylie Laboe Lb. Leslie Lhihane Llama Lorrie Lt. Lucy Lyle Madeira Mechanic Mg. Minnie Morrie Mr. Ms. Mt. Music My Nanny Nellie Nillie Novocane Null Nyack Oak Oblique Occarina Odd Oedipus Off Ogmane Ohio Oil Oj Oklahoma Olio Omni Only Oops Opera Oqu Order Ostra Ottmar Out Ovum Ow Ox Oyster Oz Parade Pd. Pepe Pfister Pg. Phil Pippi Pj Please Pneumonia Porridge Price Psalm Pt. Purple Pv Pw Pyre Qt. Quincy Radio Rd. Red Rhea Right Rj Roche Rr Rs Rt. Rural Rwanda Ryder Sacrifice Series Sgraffito Shirt Sister Skeet Slow Smore Snoop Soon Special Squire Sr St. Suzy Svelte Swiss Sy Szach Td Teach There Title Total Trust Tsena Tulip Twice Tyler Tzean Ua Udder Ue Uf Ugh Uh Ui Uk Ul Um Unkempt Uo Up Uq Ursula Use Utmost Uvula Uw Uxurious Uzßai Valerie Velour Vh Vicky Volvo Vs Water Were Where With World Wt. Wulk Wyler Xavier Xerox Xi Xylophone Yaboe Year Yipes Yo Ypsilant Ys Yu Zabar’s Zero Zhane Zizi Zorro Zu Zy Don’t I’ll I’m I’se

0010203040500607080900
10112131415116171819100
20212232425226272829200
30313233435336373839300
40414243445446474849400
50515253545556575859500
6061626364656676869600
7071727374757677879700
8081828384858687889800
9091929394959697989900

(1)(2)(3)(4)(5)(6)(7)(8)(9)(0) 

$00 $10 $20 $30 $40 $50 $60 $70 $80 $90

£00 £10 £20 £30 £40 £50 £60 £70 £80 £90

00¢ 11¢ 22¢ 33¢ 44¢ 55¢ 66¢ 77¢ 88¢ 99¢

00% 0‰ 0-0.0,0…0°
11% 1‰ 1-1.1,1…1°
12% 2‰ 2-2.2,2…2°
13% 3‰ 3-3.3,3…3°
14% 4‰ 4-4.4,4…4°
15% 5‰ 5-5.5,5…5°
16% 6‰ 6-6.6,6…6°
17% 7‰ 7-7.7,7…7°
18% 8‰ 8-8.8,8…8°
19% 9‰ 9-9.9,9…9°

Tests for monospace fonts

Collection of code examples in different languages, along with frequently occurring patterns: https://github.com/source-foundry/code-corpora

About

A collection of resources & recommendations that are helpful for spacing

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages