Best practice for kerning?

The biggest issue in font design seems to be kerning. I spend about eight times longer messing around with kerning than I do with actually making the design.  Kerning is always the first thing that gets criticised; and the inevitability of 'missing one' is a huge frustration. 

What's the best way to ensure decent kerning? FontLab's automatic kerning of certain pairs (but not all pairs) is 'non-optimal' – but it strikes me that kerning is exactly the sort of thing that computers ought to be doing for us, yet neither FontLab nor Glyphs do this well, if at all, without third-party python scripts, etc. 

Currently, I'm just setting large swathes of text in my font, or creating random combinations of glyphs, looking through it, and then manually adjusting by eye in FontLab when I see something that looks wrong. 

Am I missing something? Thanks.
«1

Comments

  • John Hudson
    John Hudson Posts: 3,692
    Obviously, there’s a lot of stuff in that list that doesn’t require kerning, or that will be covered by class kerning. I still find it useful to see everything, and to see combinations popping up in different contexts, because I find it helps to ireratively review and refine.
  • benwiggy
    benwiggy Posts: 9
    edited June 20
    That's a great list, thanks -- though you've still got to go through it 3 times: for lowercase-lowercase, uppercase-uppercase, and then uppercase-lowercase. (And possibly even lowercase-uppercase, if you want to make sure that Wifi passwords look right..)

    And even so, I'm still just eyeballing the 'correct' value. 
  • benwiggy
    benwiggy Posts: 9
    edited June 20
    In fact, you'll need different words for Uppercase-lowercase (e.g. capped first letter)...!

    That's where I tend to get most of my issues, e.g. Washington, Vancouver, etc. 
  • James Puckett
    James Puckett Posts: 2,050
    2 - Make that that you have the spacing right. Review the spacing with your kerning proofs before you actually start anything. If you have thousands of kerns piling up in a Latin font your spacing probably sucks.
    3 - Don’t try to kern every possible edge case. If you really must kern every possible edge case use Kern On.
  • John Hudson
    John Hudson Posts: 3,692
    Uppercase-to-lowercase:

    Aardvark 
    Ablution 
    Acrimonious 
    Adventures 
    Aeolian 
    Africa 
    Agamemnon 
    Ahoy 
    Aileron 
    Ajax 
    Akimbo 
    Altruism 
    America 
    Anecdote 
    Aorta 
    Aptitude 
    Aquarium 
    Arcade 
    Aspartame 
    Attrition 
    Aurelius 
    Avuncular 
    Awning 
    Axminster 
    Ayers 
    Azure 
    Banishment 
    Bbooggoo 
    Bcue’ 
    Bdellium
    Benighted 
    *Bf*
    Bgheri
    Bhagavad 
    Biblical 
    Bjorn 
    Bkeluy 
    Blancmange 
    *Bm*
    Bniedem 
    Bolton 
    *Bp*
    Bqija 
    Brusque 
    Bsaten 
    Btajjel 
    Burnish 
    Bvadr 
    Bwana 
    Bxara 
    Byzantium 
    Bzenec 
    Cabbala 
    Cbuking 
    Ccane 
    *Cd*
    Cetacean 
    *Cf*
    *Cg*
    Charlemagne 
    Cicero 
    Cjelinu 
    Ckoor’neh 
    Clamorous 
    Cmavo
    Cnidarian 
    Conifer 
    Cpáti 
    *Cq*
    Crustacean 
    Csoma
    Ctenoid 
    Culled 
    Cvetanje
    Cwblhau 
    Cxevalo
    Cynosure 
    Czarina 
    Dalmatian 
    Dbalý 
    Dcera 
    Ddibenion 
    Delphi 
    *Df*
    Dgetteux 
    Dhurrie 
    Dinner 
    Djinn 
    *Dk*
    Dlaha 
    Dmychadlo 
    Dnes 
    Document 
    *Dp*
    Dqiq 
    Drill 
    Dschungel
    *Dt*
    Dunleary 
    Dvorana  
    Dwindle 
    *Dx*
    Dynamo 
    Dzieje
    Eames 
    Ebullient 
    Echo 
    Edify 
    Eels 
    Eftsoons 
    Egress 
    Ehrlich 
    Eindhoven 
    Eject 
    Ekistics 
    Elzevir 
    Eminence 
    Ennoble 
    Eocene 
    Ephemeral 
    Equator 
    Erstwhile 
    Estienne 
    Etiquette 
    Eucalyptus 
    Everyman 
    Ewen 
    Exeter 
    Eyelet 
    Ezekiel 
    Fanfare 
    *Fb*
    Fcuyu 
    Fdalijiet 
    Ferocious 
    Ffestiniog 
    *Fg*
    Fhéile
    Finicky 
    Fjord 
    Fkieren 
    Flanders 
    *Fm*
    Fniezen 
    Forestry 
    *Fp*
    Fqinj 
    Frills 
    Fsied 
    Ftonj 
    Furniture 
    Fvxarume 
    Fwltur 
    *Fx*
    Fylfot 
    *Fz*
    Garrulous 
    Gbanu
    *Gc*
    Gdansk 
    Generous 
    Gföhl
    Ggverna 
    Ghastly 
    Gimlet 
    Gjetost 
    Gkrille 
    Glorious 
    Gmina 
    Gnomon 
    Golfer 
    *Gp*
    Gqom 
    Grizzled 
    Gspusi 
    *Gt*
    Gumption 
    Gvozd 
    Gwendolyn 
    Gxentila 
    Gymkhana 
    Gzyms 
    Harrow 
    Hbitost 
    *Hc*
    *Hd*
    Heifer 
    *Hf*
    *Hg*
    Hhayi 
    Hindemith 
    Hjalli 
    Hkaq 
    Hlaford
    Hmelj
    Hnidopich 
    Horace 
    Hpawtni 
    *Hq*
    Hrothgar
    Hsien 
    Htoo
    Hubris 
    Hvala 
    Hwei 
    Hxomero 
    Hybrid 
    *Hz*
    Iambic 
    Ibarra 
    Ichthyology 
    Identity 
    Ievgeny 
    Ifrit 
    Ignite 
    Ihre 
    Iiliskotti 
    Ijedan 
    Ikon 
    Iliad 
    Imminent 
    Innovation 
    Iolanthe 
    Ipanema 
    Iqarqu 
    Irascible 
    Island 
    Italic 
    Iuchair
    Ivory 
    Iwis 
    Ixtapa 
    Iyar 
    Izzard 
    Jacquard 
    Jbiegħu 
    *Jc*
    Jdeme 
    Jenson 
    *Jf*
    Jgheab 
    Jharkhand
    Jitter 
    Jjigae 
    *Jk*
    Jlum 
    Jmeniny 
    Jnana 
    Joinery 
    *Jp*
    Jqaddes 
    Jrushchov 
    Jsoucno 
    Jtul 
    Jungian 
    Jveizän 
    Jwala 
    Jxarrab 
    Jynx 
    *Jz*
    Kaiser
    Kbira 
    Kciuk 
    Kdoule 
    Kenilworth 
    Kfarfakoud 
    Kgalagadi
    Khaki 
    Kindred 
    Kjeld
    Kkoktu 
    Klondike 
    Kminek 
    Knowledge 
    Kohlrabi 
    Kpelle 
    *Kq*
    Kraken 
    Ksenya 
    Kterak 
    Kudzu 
    Kvetch 
    Kwacha 
    *Kx*
    Kyrie 
    Kzinti
    Labrador 
    Lbies 
    *Lc*
    Ldirri 
    Lent 
    *Lf*
    Lgħab 
    Lhasa 
    Liniment 
    Ljubljana 
    *Lk*
    Llama 
    Lmed 
    Lniane 
    Longboat 
    *Lp*
    Lqires
    *Lr*
    Lsien 
    Ltim 
    Luddite 
    Lvice 
    Lwytho
    *Lx*
    Lyceum 
    Lze 
    Mandarin 
    Mbandaka 
    Mcintyre 
    Mdina 
    Mendacious 
    Mfumte 
    Mgabe  
    Mhamid 
    Millinery 
    Mjehuri 
    Mkuzu 
    Mladenka 
    Mmarekani 
    Mnemonic 
    Moribund 
    Mpozaitika 
    Mqabba 
    Mravinac 
    Mshamshono 
    Mtsensk 
    Munitions
    Mvouni 
    Mwgwd 
    Myra 
    Mzungu 
    Narragansett 
    Nbid 
    Nchelenge 
    Ndengereko 
    Nefarious 
    Nfalume 
    Nguyen 
    Nho
    Nile 
    Njima 
    Nkoso 
    Nloto 
    Nmu’ji’j
    Nnenna 
    Nonsense 
    Npelehees 
    Nqaij 
    Nrityagram 
    Nsirimo 
    Ntenjeru 
    Nunnery 
    Nvula 
    Nwydd 
    Nxjerr 
    Nyack 
    Nzima 
    Oarsman 
    Oblate 
    Ocular 
    Odessa 
    Oedipus 
    Often 
    Ogre 
    Ohms 
    Oilers 
    Ojibwa 
    Okra 
    Olfactory 
    Ominous 
    Onerous 
    Oogamous 
    Opine 
    Oquassa 
    Ornate 
    Ossified 
    Othello 
    Oubliette 
    Ovens 
    Owlish 
    Oxen 
    Oyster 
    Ozymandias 
    Parisian 
    *Pb*
    Pcion 
    *Pd* 
    Penrose 
    Pfennig 
    *Pg* 
    Pharmacy 
    Pirouette 
    Pjeniti
    Pkieł 
    Pleistocene 
    *Pm*
    Pneumatic 
    Porridge 
    Ppakkjati 
    Pqus 
    Principle 
    Psaltery 
    Ptarmigan 
    Pundit 
    *Pv*
    Pwll 
    Pxaahom 
    Pyrrhic 
    Pziko 
    Qaid 
    *Qb*
    Qcurux 
    Qdusija 
    Qepiq 
    *Qf*
    Qgħadt 
    Qhov 
    Qibris 
    *Qj*
    *Qk*
    Qliphoth 
    Qmura 
    Qnatar 
    Qom 
    *Qp*
    *Qq*
    Qrammatika 
    Qsiya 
    Qtates 
    Quill 
    Qvikker 
    Qwît 
    *Qx*
    Qyamta 
    Qżieqeż 
    Ransom 
    Rbeḥ 
    Rċieva 
    Rdestowiec 
    Renfield 
    *Rf*
    *Rg*
    Rheumatic 
    Ringlet 
    Rjukan 
    Rkatsiteli 
    Rle 
    Rmut 
    Rnestène 
    Ronsard 
    *Rp*
    Rqiq 
    Rsar 
    Rty 
    Runcible 
    Rvát 
    Rwanda 
    *Rx*
    Rye 
    Rzivá 
    Salacious 
    Sbeitla 
    Scherzo 
    Sdostatek 
    Serpentine 
    Sforza 
    Sgraffito 
    Shackles 
    Sinful 
    Sjahati 
    Skull 
    Slalom 
    Smelting 
    Snipe 
    Sorbonne 
    Spartan 
    Squire 
    Sri 
    Ssanie 
    Stultified 
    Summoner 
    Svelte 
    Swarthy 
    Sxajni 
    Sykes 
    Szentendre 
    Tarragon 
    Tblisi 
    Tcherny 
    Tdish 
    Tennyson 
    Tfajjel 
    Tgapitala 
    Thaumaturge 
    Tincture 
    Tjelesni 
    Tkachenko 
    Tlaloc 
    Tmesis 
    Tnihaia 
    Toreador 
    Tpinġija
    Tqemali 
    Treacherous 
    Tsunami 
    Tteok-bokki 
    Turkey 
    Tvedestrand 
    Twine 
    Txorierri
    Tyrolean 
    Tzara 
    Uakari 
    Ubiquitous 
    Ucello 
    Udder 
    Uematsu 
    Ufology 
    Ugric 
    Uhlan 
    Uitlander 
    Ujigami 
    Ukulele 
    Ulster 
    Umber 
    Unguent 
    Uomo 
    Uplift 
    Uqqummiut 
    Ursine 
    Usurious 
    Utrecht 
    Uusikaupunki 
    Uvula 
    Uwharrie 
    Uxorious 
    Uyghur 
    Uzbek 
    Vanished 
    *Vb*
    Vchod 
    Vdova 
    Venomous 
    *Vf*
    Vgapuwvn 
    Vhavenda 
    Vindicate 
    Vjetrenica 
    Vkhutemas 
    Vlaches 
    Vmotat 
    Vnitro 
    Voracious 
    Vpravo 
    *Vq*
    Vrillier 
    Vsevolozhsky 
    Vtahovat 
    Vulnerable 
    Vvjola 
    Vwayaj 
    Vxirvn 
    Vying 
    Vzhled 
    Washington 
    Wbijanie 
    Wcráin
    Wdowiec 
    Wendell 
    Wfftian 
    Wganda 
    Wharf 
    Window 
    Wjechanie 
    Wkra 
    Wltimatwm 
    Wmawianie 
    Wneud 
    Worth 
    Wpadka 
    *Wq*
    Wrung 
    Wsbecistan 
    Wtorek 
    Wunderman 
    Wvywvn 
    Wwiercisz 
    *Wx*
    Wyes 
    Wzajemnie 
    Xanthan 
    Xbejba 
    Xcocha 
    Xdid 
    Xenon
    Xfar  
    Xgħara 
    Xhosa 
    Xiphoid 
    Xjentifika 
    Xkupilja 
    Xlokk 
    Xmara
    Xnien 
    Xorob
    Xpujil  
    Xqaq 
    Xray 
    Xsaqarik 
    Xtara 
    Xuxa 
    Xvarshi 
    Xwiek 
    Xxurtjati
    Xylem 
    *Xz*
    Yarrow 
    Ybarra 
    Ycair 
    Ydol 
    Yellowstone 
    Yfadwy
    Yggdrasil
    Yhyakh 
    Yin 
    Yjet 
    Yksisarvinen 
    Ylang 
    Ymadael
    Ynghyd
    Yours 
    Ypsilanti 
    Yquem 
    Yrast 
    Ysgallen 
    Ytterbium 
    Yunnan 
    Yvonne 
    Ywis 
    Yytoo 
    Yzaguirre 
    Zanzibar 
    Zbraslav 
    Zcizit 
    Zdzieszowice 
    Zero 
    Zfalšovat 
    Zghurivka 
    Zhora 
    Zinfandel 
    Zjapljenje 
    Zkontrolovat 
    Zloty 
    Zmeinogorsk 
    Znamensky 
    Zone 
    Zplodit 
    Żquq 
    Zrenjanin 
    Zselickisfalud 
    Ztlumit 
    Zuni 
    Zvedat 
    Zwieback 
    *Zx*
    Zygote 
    Zzituna
    Þakhæð 
    Þemba 
    Þilja 
    Þjarka 
    Þokkaður 
    Þramma 
    Þungaður 
    Þvergirða 
    Þyrma 
    Ħabbret 
    Ħela 
    Ħġieġ 
    Ħielsa 
    Ħjara 
    Ħlasijiet 
    Ħmira 
    Ħniena 
    Ħolqien 
    Ħruq 
    Ħsejjes 
    Ħtija 
    Ħurrieqa 
    Ħwawar 
    Ładnie 
    Łeb 
    Łgarz 
    Łkanie 
    Łobuziak 
    Łucja 
    Łydka 
    Łza 

  • John Hudson
    John Hudson Posts: 3,692
    Uppercase-to-uppercase

    AA BAZAAR 
    AB HABITS 
    AC BACK 
    AD HADRIAN 
    AE ACHAEA 
    AF CAFETERIA 
    AG HAGGARD 
    AH MAHARAJA 
    AI SAID 
    AJ MAJOR 
    AK MAKE 
    AL CALIPH 
    AM SAME 
    AN RANDOM 
    AO EXTRAORDINARY 
    AP PERHAPS 
    AQ RADIOPAQUE 
    AR SHARE 
    AS CHASE 
    AT HATE 
    AU BECAUSE 
    AV HAVE 
    AW HAWK 
    AX TAXMAN 
    AY MAYPOLE 
    AZ MAGAZINE 

    BA LAMBADA 
    BB LOBBY 
    BC SUBCOMMITTEE 
    BD SUBDIVIDE 
    BE AMBER 
    BF CLUBFOOT 
    BG SUBGROUP 
    BH CLUBHOUSE 
    BI AMBIVALENT 
    BJ SUBJECT 
    BK SUBKINGDOM 
    BL PUBLIC 
    BM SUBMARINE 
    BN OBNOXIOUS 
    BO ABOUT 
    BP BOMBPROOF 
    BQ SUBQUALITY 
    BR AMBROSIA 
    BS OBSERVED 
    BT OBTAINED 
    BU AMBULANCE 
    BV OBVIOUSLY 
    BW SUBWAY 
    BX SUBXEROPHILOUS 
    BY CUBBYHOLE 
    BZ SUBZONE 

    CA INCAN 
    CB ECBOLIC 
    CC ACCORDING 
    CD ANECDOTE 
    CE SINCERE 
    CF FLICFLAC 
    CG ECGONINE 
    CH ANCHOVIES 
    CI RECITE 
    CJ ARCJET 
    CK RECKLESS 
    CL DISCLOSE 
    CM ACME 
    CN PICNIC 
    CO BEACHCOMBER 
    CP ECPHONESIS 
    CQ ACQUIRE 
    CR ACROSS 
    CS POLITICS 
    CT FACTUAL 
    CU HAIRCUT 
    CV MECHANICVILLE 
    CW CWM 
    CX ACXOYATL 
    CY ADIPOCYTE 
    CZ ECZEMA 

    DA PENDANT 
    DB GOODBYE 
    DC BROADCAST 
    DD ADDED 
    DE MADDER 
    DF GRANDFATHER 
    DG KNOWLEDGE 
    DH CHILDHOOD 
    DI UNDID 
    DJ ADJUSTMENT 
    DK HANDKERCHIEF 
    DL HARDLY 
    DM ADMINISTRATION 
    DN DIDNT 
    DO UNDONE 
    DP STANDPOINT 
    DQ HEADQUARTERS 
    DR CHILDREN 
    DS HANDS 
    DT WIDTH 
    DU ENDURE 
    DV ADVANTAGE 
    DW EDWIN 
    DX TOLODXI 
    DY BODYBUILDER 
    DZ ADZE 

    EA YEAR 
    EB BASEBALL 
    EC BECAUSE 
    ED REDDEN 
    EE BEEN 
    EF BEFORE 
    EG BEGAN 
    EH BEHIND 
    EI THEIR 
    EJ REJECTED 
    EK WEEKLY 
    EL WELL 
    EM HEMLOCK 
    EN UNENDING 
    EO PEOPLE 
    EP REPERTORY 
    EQ REQUIRED 
    ER WERE 
    ES THESE 
    ET METHYL 
    EU NEUTRAL 
    EV SEVEN 
    EW NEWER 
    EX NEXT 
    EY THEYRE 
    EZ SQUEEZE 

    FA DEFAME 
    FB HALFBACK 
    FC BRIEFCASE 
    FD SERFDOM 
    FE LIFERS 
    FF OFFICE 
    FG AFGHAN 
    FH OFFHAND 
    FI DEFILE 
    FJ HALFJE 
    FK CALFKILL 
    FL INFLUX 
    FM FEOFFMENT 
    FN ALOOFNESS 
    FO CALIFORNIA 
    FP OFFPRINT 
    FQ FUTALAUFQUEN 
    FR ALFRED 
    FS BELIEFS 
    FT AFTER 
    FU AWFUL 
    FV ARFVEDSONITE 
    FW HALFWAY 
    FX AFXENTIOU 
    FY ACIDIFYING 
    FZ STYFZIEKTE 

    GA AGAINST 
    GB PEGBOARD 
    GC DOGCART 
    GD KINGDOM 
    GE FORGET 
    GF MEANINGFUL 
    GG SUGGESTED 
    GH HIGHER 
    GI FORGIVE 
    GJ LOGJAM 
    GK GINGKO 
    GL ENGLISH 
    GM JUDGMENT 
    GN FOREIGNER 
    GO UNGODLY 
    GP BAGPIPE 
    GQ NGQIKA 
    GR UNGRATEFUL 
    GS THINGS 
    GT WASHINGTON 
    GU FIGURE 
    GV DOGVANE 
    GW DOGWOOD 
    GX LONGXUYEN 
    GY ANDROGYNE 
    GZ ZIGZAG 

    HA THAT 
    HB NEIGHBORHOOD 
    HC FORTHCOMING 
    HD BIRTHDAY 
    HE THEM 
    HF YOUTHFUL 
    HG CHURCHGOING 
    HH WITHHELD 
    HI SHIRE 
    HJ HIGHJACKER 
    HK LATCHKEY 
    HL HIGHLY 
    HM ESTABLISHMENT 
    HN TECHNICAL 
    HO WHORE 
    HP BIRTHPLACE 
    HQ EARTHQUAKE 
    HR THROUGH 
    HS MONTHS 
    HT EIGHTH 
    HU CHURCH 
    HV BOSCHVARK 
    HW HIGHWAY 
    HX MEOHX 
    HY ANHYDROUS 
    HZ MAHZOR 

    IA SOCIAL 
    IB POSSIBLE 
    IC WHICH 
    ID SIDE 
    IE EXPERIENCE 
    IF RIFE 
    IG MIGHT 
    IH LIKELIHOOD 
    II SKIING 
    IJ MARIJUANA 
    IK LIKE 
    IL WILL 
    IM DIME 
    IN SHINE 
    IO NATIONAL 
    IP EQUIPMENT 
    IQ TECHNIQUE 
    IR THEIRS 
    IS CHISEL 
    IT CHITIN 
    IU MEDIUM 
    IV GIVE 
    IW HANDIWORK 
    IX SIXES 
    IY BIYEARLY 
    IZ SIZE 

    JA AJAR 
    JB RAJBANSI 
    JC WOJCIK 
    JD OUJDA 
    JE SUBJECT 
    JF FAJFER 
    JG BAJGIER 
    JH BIJHALEN 
    JI DJINN 
    JJ HAJJI 
    JK RIJKSDAALDER 
    JL MAJLIS 
    JM JAJMAN 
    JN JNANA 
    JO MAJOR 
    JP RAJPRAMUKH 
    JQ FEJQIEN 
    JR BAJRA 
    JS WIJSMETHOD 
    JT MUJTAHID 
    JU ADJUST 
    JV BLIJVER 
    JW BIJWONER 
    JX DIJXHOORN 
    JY JYNGINE 
    JZ GIJZEGM 

    KA REMARKABLE 
    KB WORKBENCH 
    KC BOOKCASE 
    KD BREAKDOWN 
    KE QUICKEN 
    KF BREAKFAST 
    KG BACKGROUND 
    KH STOCKHOLDER 
    KI UNKIND 
    KJ BLACKJACK 
    KK BOOKKEEPING 
    KL QUICKLY 
    KM WORKMEN 
    KN UNKNOWN 
    KO RECKON 
    KP COCKPIT 
    KQ CUCKQUEAN 
    KR BANKRUPTCY 
    KS WEEKS 
    KT COCKTAIL 
    KU PICKUP 
    KV LEKVAR 
    KW BACKWARD 
    KX KICKXIA 
    KY VALKYRIE 
    KZ ACHAKZAI 

    LA ELASTIC 
    LB ELBOW 
    LC WELCOME 
    LD COLDER 
    LE PEOPLED 
    LF SULFIDE 
    LG PILGRIM 
    LH SCHOOLHOUSE 
    LI UNLIKE 
    LJ KILLJOY 
    LK WALKED 
    LL ALLERGY 
    LM ALMOST 
    LN ILLNESS 
    LO ELOPE 
    LP HELPER 
    LQ CATAFALQUE 
    LR ALREADY 
    LS ALSO 
    LT CULTURE 
    LU VALUE 
    LV THEMSELVES 
    LW ALWAYS 
    LX CALXES 
    LY FLYLEAF 
    LZ COLZA 

    MA UNMARKED 
    MB NUMBER 
    MC ARMCHAIR 
    MD FILMDOM 
    ME SUMMER 
    MF COMFORT 
    MG SLUMGULLION 
    MH FARMHOUSE 
    MI DIMINISH 
    MJ JIMJAM 
    MK GYMKHANA 
    ML FIRMLY 
    MM COMMUNITY 
    MN COLUMNS 
    MO REMORSE 
    MP IMPORTANT 
    MQ KUMQUAT 
    MR COMRADE 
    MS HIMSELF 
    MT WARMTH 
    MU TUMULT 
    MV CIRCUMVENT 
    MW TEAMWORK 
    MX XEMXIJA 
    MY DAIMYOS 
    MZ HAMZA 

    NA RENAME 
    NB UNBROKEN 
    NC SINCE 
    ND ANDOVER 
    NE SHINER 
    NF INFORMATION 
    NG LONGHORN 
    NH INHERIT 
    NI UNITED 
    NJ ENJOYED 
    NK THINKER 
    NL ONLY 
    NM GOVERNMENT 
    NN CANNOT 
    NO CANNOT 
    NP INPUT 
    NQ INQUIRY 
    NR SUNRISE 
    NS AGAINST 
    NT INTO 
    NU INNUMERABLE 
    NV INVOLVED 
    NW MEANWHILE 
    NX ANXIETY 
    NY ANYONE 
    NZ BRONZE 

    OA BOARD 
    OB PROBLEM 
    OC SOCIAL 
    OD GOODNESS 
    OE DOES 
    OF PROFESS 
    OG PROGRAM 
    OH COHERENT 
    OI GOING 
    OJ PROJECT 
    OK LOOKER 
    OL HOLD 
    OM HOME 
    ON HONEST 
    OO TOOL 
    OP PEOPLE 
    OQ ELOQUENT 
    OR FOR 
    OS MOST 
    OT MOTH 
    OU YOUR 
    OV HOVER 
    OW BLOWHARD 
    OX BOXER 
    OY BOYHOOD 
    OZ DOZEN 

    PA DEPART 
    PB SHIPBUILDING 
    PC TOPCOAT 
    PD UPDATED 
    PE SPENT 
    PF HELPFUL 
    PG CAMPGROUND 
    PH EPHEMERA 
    PI SPIRIT 
    PJ SKIPJACK 
    PK UPKEEP 
    PL PEOPLE 
    PM DEVELOPMENT 
    PN DAMPNESS 
    PO UPON 
    PP SUPPORT 
    PQ POPQUIZ 
    PR REPROVE 
    PS PERHAPS 
    PT SCEPTER 
    PU REPUBLIC 
    PV HOPVINE 
    PW UPWARD 
    PX QAOPX 
    PY ANTIPYRINE 
    PZ LEIPZIG 

    QA AQABA 
    QB SHUQBA 
    QC QCEPO 
    QD TALUQDAR 
    QE ASHQELON 
    QF CINQFOIL 
    QG IRAQGATE 
    QH FIQH 
    QI IRAQIS 
    QJ FEQJAKUQE 
    QK AQKIYENIK 
    QL TAQLID 
    QM LUQMAN 
    QN QNAITRA 
    QO QOPH 
    QP MAQPIATO 
    QQ ZAQQUM 
    QR MIQRA 
    QS BUQSHA 
    QT QTRAH 
    QU REQUITE 
    QV QVINT 
    QW ACQWYTE 
    QX CLERQX 
    QY QYRGHYZ 
    QZ AHMAQZAI 

    RA GENERAL 
    RB URBAN 
    RC CHURCH 
    RD WARDEN 
    RE DARED 
    RF SURFACE 
    RG LARGE 
    RH PERHAPS 
    RI SHRILL 
    RJ PERJURY 
    RK FIRKIN 
    RL WORLD 
    RM FORMER 
    RN GOVERNMENT 
    RO FROM 
    RP PURPOSE 
    RQ TORQUE 
    RR CARRIED 
    RS FIRST 
    RT PARTNER 
    RU TRUE 
    RV SERVICE 
    RW FORWARD 
    RX MARXIST 
    RY ACRYLIC 
    RZ SCHERZO 

    SA UNSAFE 
    SB HUSBAND 
    SC SCHOOL 
    SD TUESDAY 
    SE CHOSEN 
    SF SUCCESSFUL 
    SG DISGUISED 
    SH FISHES 
    SI RISING 
    SJ MISJUDGED 
    SK ASKED 
    SL ISLAND 
    SM UNSMOOTH 
    SN WASNT 
    SO ENSOR 
    SP INSPIRE 
    SQ DISQUIET 
    SR CLASSROOM 
    SS LESS 
    ST SISTER 
    SU RESULT 
    SV TRANSVERSE 
    SW ANSWER 
    SX MESX 
    SY ASSYRIA 
    SZ JANSZOON 

    TA STATE 
    TB FOOTBALL 
    TC KITCHEN 
    TD OUTDOOR 
    TE AFTER 
    TF PLATFORM 
    TG OUTGOING 
    TH OTHER 
    TI NOTING 
    TJ BOOTJACK 
    TK CATKIN 
    TL LITTLE 
    TM DEPARTMENT 
    TN WITNESS 
    TO MOTOR 
    TP OUTPUT 
    TQ COTQUEAN 
    TR COUNTRY 
    TS ITS 
    TT BETTER 
    TU RETURN 
    TV POSTVOCALIC 
    TW ANTWERP 
    TX POSTXYPHOID 
    TY STYLE 
    TZ BLITZED 

    UA INDIVIDUAL 
    UB PUBLIC 
    UC SUCH 
    UD STUDY 
    UE QUESTION 
    UF SUFFICIENT 
    UG THROUGH 
    UH BROUHAHA 
    UI QUITE 
    UJ HALLELUJAH 
    UK DUKE 
    UL WOULD 
    UM NUMBER 
    UN SUNDRY 
    UO CONTINUOUS 
    UP DUPED 
    UQ BOUQUET 
    UR OUR 
    US MUST 
    UT BUTCH 
    UU VACUUM 
    UV JUVENILE 
    UW RAUWOLFIA 
    UX BAUXITE 
    UY PUZZLE 

    VA AVAILABLE 
    VB VBERTE 
    VC NOVCIC 
    VD PLOVDIV 
    VE SAVED 
    VF THRAVFFE 
    VG AVGAS 
    VH GIVHANS 
    VI SERVICE 
    VJ EVJE 
    VK SOVKHOZ 
    VL PAVLOV 
    VM TRADEVMAN 
    VN CZAREVNA 
    VO REVOKE 
    VP SOVPRENE 
    VQ SOVQUINET 
    VR CHEVRON 
    VS REVS 
    VT POLOVTSIANS 
    VU REVUE 
    VV FLIVVER 
    VW VWANG 
    VX MOLYNEVX 
    VY ENVYING 
    VZ EVZONE 

    WA PREWAR 
    WB COWBOY 
    WC NEWCOMER 
    WD CHOWDER 
    WE POWER 
    WF AWFUL 
    WG BLOWGUN 
    WH ARROWHEAD 
    WI SHOWING 
    WJ PLOWJOGGER 
    WK HAWKEN 
    WL KNOWLEDGE 
    WM SHOWMANSHIP 
    WN DOWNER 
    WO UNWOUND 
    WP VIEWPOINT 
    WQ CAWQUAW 
    WR REWRITE 
    WS NEWS 
    WT GROWTH 
    WU SWUNG 
    WV LOWVELD 
    WW GLOWWORM 
    WX HAWXHURST 
    WY LAWYER 
    WZ FROWZY 

    XA EXAMPLE 
    XB OXBOW 
    XC EXCEPT 
    XD SEXDECILLION 
    XE FIXED 
    XF OXFORD 
    XG FOXGLOVE 
    XH EXHIBIT 
    XI EXISTENCE 
    XJ VAXJO 
    XK BOXKEEPER 
    XL AXLE 
    XM AXMINSTER 
    XN LAXNESS 
    XO EXOTIC 
    XP EXPERIENCE 
    XQ EXQUISITE 
    XR BANXRING 
    XS COXSWAIN 
    XT DEXTROSE 
    XU SEXUAL 
    XV POXVIRUS 
    XW BOXWOOD 
    XX WAXXENN 
    XY OXYGEN 
    XZ EXZODIACAL 

    YA BANYAN 
    YB MAYBE 
    YC CYCLE 
    YD HYDROGEN 
    YE HYENA 
    YF PLAYFUL 
    YG OXYGEN 
    YH ANYHOW 
    YI TRYING 
    YJ PYJAMAS 
    YK TYKE 
    YL STYLE 
    YM SYMBOL 
    YN POLYNOMIAL 
    YO ANYONE 
    YP TYPE 
    YQ TRIPTYQUE 
    YR THYROID 
    YS ANEURYSM 
    YT ANYTHING 
    YU PICAYUNE 
    YV POLYVINYL 
    YW ANYWAY 
    YX ASPHYXIATE 
    YY GAYYOU 
    YZ ANALYZED 

    ZA ORGANIZATION 
    ZB WHIZBANG 
    ZC MEZCAL 
    ZD MAZDAISM 
    ZE SIZED 
    ZF TOPAZFELS 
    ZG WHIZGIG 
    ZH MUZHIK 
    ZI AMAZING 
    ZJ MUZJIK 
    ZK BLITZKRIEG 
    ZL PUZZLE 
    ZM MIZMAZE 
    ZN GHAZNEVID 
    ZO HORIZON 
    ZP MIZPAH 
    ZQ MEZQUIT 
    ZR ARZRUNITE 
    ZS VAMMAZSA 
    ZT AZTEC 
    ZU SEIZURE 
    ZV RENDEZVOUS 
    ZW BUZZWORD 
    ZX NAZXUL
    ZY ENZYME 
    ZZ PIZZLE 
  • John Hudson
    John Hudson Posts: 3,692
    Don’t forget punctuation, proportionally spaced numerals, diacritic letters that might need exception kerning, superscripts, subscripts....
  • benwiggy
    benwiggy Posts: 9
    edited June 21
    ... and so it goes on! 

    I had a quandary in one font I made: should I set lowercase f with a negative right-hand side-bearing, so that most lowercase letters need no kerning, but which then needs kerning set for things like quotemarks, brackets, exclamation marks, etc — or do the reverse: set a positive sidebearing so that nothing collides, and then adjust all the extra space? (The same with j.)

    I shall treasure these lists; thank you. I did create my own with python that just put each pair amongst a bunch of ns (or Ns), but this is much better.

    Still, I've yet to find a book titled The Joy of Kerning. It's some comfort to know that I'm not missing a trick to make it easy and effortless. 

    EDIT: Just seen James's post. I'll have a look at those utilities. Thanks.

    Thanks

    PS. Why are some pairs in asterisks? Are they assumed non-existent in the wild?


  • John Hudson
    John Hudson Posts: 3,692
    PS. Why are some pairs in asterisks? Are they assumed non-existent in the wild?
    They are pairs for which I have not found examples. Probably they don’t occur, but I assume nothing.

  • benwiggy
    benwiggy Posts: 9
    edited June 21
    Indeed. I've always wondered about the lack of kerning in traditional type, and I've tried to start with a decent spacing to start with. 

    Here's what I have now: the text from these columns comes from Designing Type by Karen Cheng. 
    (I haven't added the ligatures to classes, yet.)
  • Jens Kutilek
    Jens Kutilek Posts: 391
    should I set lowercase f with a negative right-hand side-bearing, so that most lowercase letters need no kerning,

    I guess spacing an f against quotes will require kerning against anything that sits around the x height (all punctuation, hyphens, all lowercase). It doesn’t feel like a good idea to me but I can’t say it’s wrong. And I will think that the most common error would be missing exceptions. What’s worse to miss? An f parenthesis clash or an fa looking far apart and breaking words?
    This dilemma exactly is the reason why the design of the outlines and the spacing are not really separate steps.
    In the days of hot metal typesetting, this was solved by designing the letters so they didn't overhang their sidebearings at all (it wouldn't have been possible). This is especially noticeable in the Italic f, which had to be restricted both on the left and the right side.

    I guess what I'm trying to say is that you can also solve those situations by changing the design of your letters. You could also make a version of the f with a longer swash that is automatically swapped in when there isn't a critical glyph next to it. The spacing would then work on all systems, and look nicer on systems that support contextual alternates. In web design, this is called progressive enhancement.
  • Chris Lozos
    Chris Lozos Posts: 1,489
    edited June 22
    But then we have the real fun stuff to kern ;-):

    ďàďâďãďäďāďăďåďďďčďèďêěëēďğďìďíďîďĩďïďīďĭďįďňďñďòďôďõďöďōďďőďřďŝďšďùďûďũďüďūďŭďůďűďỳďŷďÿďžď
    ľàľâľãľïľāľăľåľľľčľèľêěëēľğľìľíľîľĩľïľīľĭľįľňľñľòľôľõľöľōľľőľřľŝľšľùľûľũľüľūľŭľůľűľỳľŷľÿľžľ
    ťàťâťãťäťāťăťåťťťčťèťêěëēťğťìťíťîťĩťïťīťĭťįťňťñťòťôťõťöťōťťőťřťŝťšťùťûťũťüťūťŭťůťűťỳťŷťÿťžť ïìîĩīĭĵħłďiďįďïďìďîďĩďīďĭďĵďħďłďľiľįľïľìľîľĩľīľĭľĵľħľłľťiťįťïťìťîťĩťīťĭťĵťħťłťđiđįđïđìđîđĩđīđĭđĵđħđłđħiħįħïħìħîħĩħīħĭħĵħħħłħłiłįłïłìłîłĩłīłĭłĵłħł

    PS. Do these after all else is done and do your classes with care.
  • Chris Lozos
    Chris Lozos Posts: 1,489
    edited June 22
    Kent, I remember (in the 1960s) hand-setting ATF Baskerville italic with similar overhangs that you show.
  • SCarewe
    SCarewe Posts: 54
    edited June 22
    ďàďâďãďäďāďăďåďďďčďèďêěëēďğďìďíďîďĩďïďīďĭďįďňďñďòďôďõďöďōďďőďřďŝďšďùďûďũďüďūďŭďůďűďỳďŷďÿďžď
    ľàľâľãľïľāľăľåľľľčľèľêěëēľğľìľíľîľĩľïľīľĭľįľňľñľòľôľõľöľōľľőľřľŝľšľùľûľũľüľūľŭľůľűľỳľŷľÿľžľ
    ťàťâťãťäťāťăťåťťťčťèťêěëēťğťìťíťîťĩťïťīťĭťįťňťñťòťôťõťöťōťťőťřťŝťšťùťûťũťüťūťŭťůťűťỳťŷťÿťžť ïìîĩīĭĵħłďiďįďïďìďîďĩďīďĭďĵďħďłďľiľįľïľìľîľĩľīľĭľĵľħľłľťiťįťïťìťîťĩťīťĭťĵťħťłťđiđįđïđìđîđĩđīđĭđĵđħđłđħiħįħïħìħîħĩħīħĭħĵħħħłħłiłįłïłìłîłĩłīłĭłĵłħł

    I’m not sure whether this is a serious suggestion or not, but in case it is: Which of these combinations actually exist in the languages of the world?

    ď, ľ and ť only occur in Czech and Slovak, while ő and ű only occur in Hungarian. ğ only occurs in Turkish, Azery and (geographically) adjacent languages. The list goes on.

    Point being: kerning these among each other is pointless and, objectively, a waste of time and font size.

    Sorry if I misunderstood the joke!

  • Chris Lozos
    Chris Lozos Posts: 1,489
    @SCarewe Sorry, I was partially joking, but sometimes it is easier to put potential hazard glyphs together via search-and-replace than it is to investigate every true language situation possible. That would also be a waste of time. You certainly are not required to use this string ;-)
  • benwiggy
    benwiggy Posts: 9
    I should add that a fairly comprehensive Latin kerning proof is included in my proofing files on Github.
    Ooh. Thanks for these. 
  • Kent Lew
    Kent Lew Posts: 1,042
    SCarewe said:

    I’m not sure whether this is a serious suggestion or not, but in case it is: Which of these combinations actually exist in the languages of the world?

    I think there are two general approaches, both with their merits and potential pitfalls. One is the what I think of as the “kitchen sink” approach. John Hudson has voiced the rationale for this: “Probably they don’t occur, but I assume nothing.” One risks overkill, but you’re covered for the “unknown unknowns” of historical use or extreme minority cases.

    If one is systematic, this approach doesn’t necessarily need to take a whole lot more time or energy. But it requires a certain discipline in order not to become a time sink. And with a really large glyph set, especially multi-script, you can encounter compilation problems with table overflow. Especially if many exceptions are required. Not always insurmountable, but a potential complication.

    The other approach is what I call the “polar bears & penguins” approach. This is what Sebastian alludes to — if characters only occur in distinctly different languages, what are the likelihood that they will ever be found in conjunction and require consideration for their interaction?

    The risk of this approach is in the depth of one’s knowledge of the world’s languages and orthographies (and consequently one’s proofing set). And, to turn John’s phrase around, it necessarily makes certain assumptions that may not be borne out.

    Personally, I have tended toward the latter, partly due to the particular path of my evolution as a type designer (and an amateur interest in languages). But I recognize the merits of the “assume nothing” philosophy and have incorporated some of this perspective in recent years.
  • Kent Lew
    Kent Lew Posts: 1,042
    P.S. for those looking for “polar bears & penguins” reference material, I’ll note the Context of Diacritics project that Ondrej Jób undertook many years ago and is still available online: https://www.setuptype.com/x/cod/

  • Chris Lozos
    Chris Lozos Posts: 1,489
    @Kent Lew
    That is a pretty wonderful set of test words in that link, Kent! Thanks!
  • benwiggy
    benwiggy Posts: 9
    Kent Lew said: But I recognize the merits of the “assume nothing” philosophy and have incorporated some of this perspective in recent years.
    When text could be used for Passwords, data sequences, rock bands who like diacritics, etc, assuming nothing is the best policy!
  • Qwerasd
    Qwerasd Posts: 5
    edited June 23
    benwiggy said:
    And possibly even lowercase-uppercase, if you want to make sure that Wifi passwords look right..
    Lowercase-uppercase pairs appear frequently in names styled with InterCaps, which, beyond brand names (eBay, PayPal, TypeDrawers...) includes the names of some countries, and also many real (famous, even) people's names (Conor McGregor, George MacDonald, LeBron James...).

    If your font is meant for serious purposes and you neglect spacing and kerning of lowercase-uppercase pairs then it's guaranteed to look at least a little bad eventually if enough people use it and someone comes along and wants to write about, say, YouTube or TrueType, and the /T gains an unsightly gap before it which gives the impression of a half space between the words.

    Ironically, the wonderful Oculi - which this forum is set in - seems to neglect the uT pair entirely, and the eT pair in the italic, creating (to my eye) exactly that problem! (Non-italicized for comparison: YouTube, TrueType - as you can see, YouTube still has the problem but at least TrueType looks good. eTe / eTe -- if you look at the upright eTe and then back to the italic the problem becomes very clear.)
  • Erik
    Erik Posts: 14
    PS. Why are some pairs in asterisks? Are they assumed non-existent in the wild?
    They are pairs for which I have not found examples. Probably they don’t occur, but I assume nothing.
    Some of those asterisked pairs are the examples, i.e., are used on their own.  ⟨Hg⟩ and ⟨Pb⟩, for instance, are the chemical symbols for mercury and lead respectively (of course, they can also be used in longer sequences such as HgCl₂ for mercuric chloride).  ⟨Hz⟩ is the frequency unit the hertz (which likewise may occur in sequences such as kHz and MHz).  ⟨Rx⟩, based on the symbol ⟨℞⟩ (U+211E), sometimes occurs in pharmaceutical contexts, including brand names (e.g., the ballyhooed TrumpRx[.gov]).  ⟨Qb⟩ — apparently pronounced like the English names of those two letters — is the name of a video game I happen to own a copy of (not to be confused with Q*bert, officially spelled with that asterisk, which nevertheless often gets omitted anyway).

    Iʼm not aware of real‐life usage of ⟨Qp⟩ on its own, but it does appear at the beginning of the punny title of a Star Trek: The Next Generation episode, “Qpid”, in which the recurring character Q (by character I mean a dramatis persona, not the letter itself) plays matchmaker in over‐the‐top fashion.

    And Star Trek opens up some further instances from the Klingon language; in its Latin orthography, letter casing is used distinctively, and some of the asterisked sequences can be found mid‐word, for example:
     • ⟨Dp⟩: HoDpuʼ (“captains”)
     • ⟨Dt⟩: naDtaʼ (“commended, praised”)
     • ⟨Hc⟩: HeghmoHchuʼ (“is/​are perfectly fatal”)
     • ⟨Hg⟩: loʼlaHghach (“value, usefulness”)
     • ⟨Hq⟩: taHqeq (a crass insult)
     • ⟨Qb⟩: taQbeʼ (“isnʼt/​arenʼt weird”)
     • ⟨Qj⟩: yuQjIjQaʼ (“United Federation of Planets”)
     • ⟨Qp⟩: DuQpuʼ (“stabbed”)
     • ⟨Qq⟩: ʼoyʼnaQqoq (“so‐called painstick”)
    Of course, perhaps such vocabulary is not typically foremost in mind in designing a font…​I suppose it depends on just how, er, universal the font is to be.
  • Kent Lew
    Kent Lew Posts: 1,042
    benwiggy said:

    When text could be used for Passwords, data sequences, 
    Undeniably true. On the other hand, one might argue these are not typographically critical or sensitive circumstances. There can clearly be diminishing returns to the kitchen sink approach. Each type designer will decide where they personally choose to draw the line.

  • Mark Simonson
    Mark Simonson Posts: 1,796
    I generally kern more pairs than strictly necessary in real-world use, but I find it’s easier than evaluating the usage likelihood of every pair. However, I rarely kern math characters or most symbols, and never tabular figures. I also never kern against the space character, as much as it may make sense, since it’s inconsistently supported by apps and operating systems (at least it was at one time—not sure if it’s still true).
  • benwiggy
    benwiggy Posts: 9
    However, I rarely kern math characters or most symbols, and never tabular figures. 
    Some font checkers require that maths symbols are all the same width, so I guess they fall into the same category as tabular figures: they are expected to have a fixed width and not be adjusted.