Jeśli dziwi Cię, koderze, ten temat i uznajesz, że nie są Ci potrzebne odpowiednie czcionki - przeczytaj tego posta i zmień zdanie.

Jaki powinien być font dla programisty?

Fikuśność jest tutaj sprawą zupełnie nieistotną. Estetyka schodzi na drugi plan, czytelność to za mało powiedziane. Font kodera musi spełnić dość długą listę wymagań:

  • jest nieproporcjonalny (ang: monospaced) - każdy znak ma tę samą szerokość
  • znaki Il1 są łatwo rozróżnialne
  • podobnie z O i 0; zero powinno być specjalnie oznaczone
  • czytelne whitespace'y
  • czytelne znaki interpunkcyjne
  • rozróżnialne znaki cudzysłowia
  • ergonomia - programista nie może czuć się zmęczony kodem po paru godzinach pracy
  • obsługa znaków diaktrycznych różnych języków
  • czytelność również w zwykłym tekście (komentarze!)
  • estetyka - programista musi lubić swoją czcionkę ;-)

Przyjrzyjmy się bliżej fontom, które zwróciły moją szczególną uwagę podczas poszukiwań.

Courier New

ConsolasWszystkim (szczególnie użytkownikom systemu Windows) doskonale znany Courier ma już swoje lata, a nadal wielu programistów używa go domyślnie. Okazuje się, że nieprawdą jest stwierdzenie, że sprawdzone = dobre. Courier New nie powala ergonomią (potrafi zmęczyć już po paru godzinach siedzenia nad kodem), a duże "i" jest niemal nierozróżnialne od małego "L" czy jedynki. Microsoft to zauważył i wraz z Vistą wprowadza serię nowych fontów, wśród których jest...

Consolas

ConsolasFont ten został od razu polubiony przez sporą grupę programistów. Microsoft pokazał, że wie czego potrzebują koderzy i spełnił dokładnie wszystkie ich oczekiwania.

Użytkownicy systemu Windows Vista mają Consolas od początku, programiści korzystający z MS Visual Studio mogą go pobrać ze strony Microsoftu, my natomiast możemy z bardziej tajnych źródeł ;-).

Monaco

MonacoMój faworyt. Jak na produkt związany z Apple'm przystało, font jest równie czytelny co estetyczny: miażdżąco. Jeśli Tobie również się podoba - pobierz.

Anonymous

AnonymousZaprojektowany jako bardziej czytelna alternatywa dla Monaco. Uwielbiany przez wielu koderów, posiada jednak przeciwników, zarzucających mu artystyczne zbędniki. Font na pewno śliczny i na pewno spełnia wszystkie stawiane mu wymagania. Nie wiem jak inni - ale ja polecam.

Więcej info na oficjalnej stronie Anonymousa.

Dina

DinaBazuje na Proggy. Autor dołożył wszelkich starań, by jego dzieło pozwoliło pomieścić w szerokości więcej kodu, zachowując jednocześnie czytelność. Dodatkowym atutem jest poprawna obsługa wytłuszczonych i pochylonych elementów składni (linie kodu się nie rozjeżdzają), czym spora część fontów nie może się, niestety, pochwalić.

Więcej info na stronie twórcy.

Programmer's font

ProgFontNazwa mówi sama za siebie: ta czcionka jest dla programistów - łączy w sobie czytelność i spryt. Przeznaczona dla koderów, którzy nie mają czasu na sporty ekstremalne. Podobno font dobrze się spisuje w wysokich rozdzielczościach.

Na stronie projektu znajdziesz więcej informacji na jej temat. Ja polecam. Tyle, że jeszcze nie wiem do czego... ;-).

Podsumowanie

Użytkownicy systemów innych niż Windows mogli mieć sprawę ułatwioną - tam bardzo często domyślnym fontem edytorów kodu jest dużo zdrowsza propozycja. Jeśli jednak nadal męczysz się z Courierem - nie sądzisz, że czas zrewidować swoje poglądy?

Komentarze: Skocz na dół, na górę

  1. Bardzo dobry artykuł, dzięki :)

  2. Dla mnie nieużywalna jest każda inna czcionka niż LatArCyrHeb, alternatywnie standardowa FreeDOS-owa też jest niczego sobie.

  3. Ja ze swojej strony bardzo lubię Lucidę Console, standardowo w Windows XP, aczkolwiek widzę, że Consolas jest całkiem przyjemna. Może się przesiądę.

  4. Dobry jest jeszcze font Terminus, dostępny np. w wielu dystrybucjach Linuksa.

    Poza tym lubię też klony oryginalnego fonta DOS-owego.

  5. Monaco wygląda dla mnie bardzo zacnie. Nie wiem, czy słusznie, ale przypomina mi ulubionego Comica.

  6. Ja używam od jakiegoś czasu DejaVu Sans Mono Book, choć jak patrze na Monaco to chyba sobie wymienie, wygląda bardzo ładnie.

  7. Ciekawy temat. Chyba przerzucę się na Monaco, bo różnica jest znaczna.

  8. Faktycznie, Monaco zamiata. ;]
    Dzięki za wpis, wykopię. :)

  9. Wypróbowałem programmers, monaco i wróciłem do monospace
    http://satfilm.pl/~saper/fonts.png
    1-10 programmers
    11-20 monaco
    21 – 30 oryginalne monospace
    Widać, że w textmake fonty wyglądaja atrakcyjniej niż w gedit :)

  10. Oryginalne monospace faktycznie ładne. :)

    Tym nie mniej – screenshoty zrobione są na Windowsie XP, w RadRails [EDIT: W zasadzie to w Aptanie - ale na jedno wychodzi :)]. Chciałbym mieć TextMate’a :).

  11. Aha to niezłe pudło :). Człowiek uczy się całe życie

  12. Consolas? Przecież to w rozmiarach 8-12 wyglada… w ogóle nie wygląda, a chyba takich rozmiarów używa programista?

  13. Jakiś czas temu zrobiłem małą modyfikację Proggy (Dina) – poprawiłem pod siebie niektóre glify, dorobiłem pliterki, bolda i takie tam. Jak ktoś ma ochotę się pobawić, to zapraszam:

    Podgląd | Ściągnij

    Niestety tylko jeden rozmiar 12pt, brakuje niektórych rozszerzonych znaczków i pewnie trochę błędów jest… ale u mnie działa :)

  14. Pamietajcie tylko, ze fontow dotycza prawa autorskie tak samo jak np. utworow muzycznych, wiec rozpowszechnianie ich i sciaganie bez nabywania licencji na korzystanie z nich jest lamaniem prawa…

  15. Nigdznie nie widzę Fixedsys :-(

  16. Na twoim przykladzie nie ma kropek i przecinkow – a jest to bardzo wazne – moj poprzedni faworyt Andale Mono – mimo ze wyglada bardzo przejrzyscie ma bardzo poodbne kropke i przecinek. Consolas jest pod tym wzgledem wspanialy

  17. Ostatnio szukałem sobie jakiejś dobrej czcionki dla mojego terminala i edytora kodu. Schumacher Clean, którego do niedawna używałem był bardzo mało ergonomiczny, szczególnie doskwierał mi brak antialiasingu. W poszukiwaniach dotarłem do Consolas, od tej pory nawet w swoich cssach font-family: Consolas, "Schumacher Clean", monospace; ;)

  18. Wie ktoś czy ta czcionka Dina obsługuje kodowanie cp1250? Nie mogłem znaleźć takiej informacji na stronie autora.
    W systemach GNU/Linux mi najbardziej pasuje czcionka Terminus.

  19. Właśnie, soomal dobrze mówi. W kryteriach zapomniałeś o tym, że wszystkie one powinny być spełnione przy możliwie małej wielkości znaków…

  20. pozwoliłem sobie zrobić ankietę. Może wybierzemy najlepszy font :-)
    http://webankieta.pl/ankieta/w37xtix4g48

  21. Mój typ: Consolas. Pozostałe, które mi się podobają (Monaco, Anonymous) w moim ukochanym PsPadzie wyglądają co najmniej dziwnie ;)

  22. To ważny io faktycznie często niedoceniany problem. A z fontem nie jest łatwo, bo … no właśnie, nie dość, że musi być to musi zawierać polskjie diakrytyki które wyprodukował ktoś kto wiedział jak to się robi, i tu okazuje się, że podlinkowane wyżej mimo, że ładne nie dają rady. A monospace tak ;-)

  23. Sprawdziłem wszystkie i po zastanowieniu spróbuję zaprzyjaźnić się z Proggy przerobioną przez noizz’a. Dino jakie ściągnąłem było prawie idealne, ale nie wyświetlało mi polskich znaków, a reszta jakoś nie podeszła.

    Pixel, a jak wygląda sprawa użytkowania nielegalnie przerobionej czcionki:P Rozpatrując czysto teoretycznie: nie złamałem prawa, bo nie przerobiłem jej, a użytkując nie łamię praw osoby przerabiającej.

  24. Super przydatny tekst
    Pozdrowionka Henry

  25. IMHO najlepszym wyborem jest Proggy/Dina tym bardziej, ze nie lubię AA w czcionkach, bardzo nie lubię nie mniej jednak faktem pozostaje to iż nie font jest ważny, a chęci bo jak będziesz chciał coś napisać to i tak to napiszesz nie zwracając uwagi na czcionkę.

  26. Od lipca 2006 jadę na Proggy Clean. Czcionka dosyć mała, ale ostra, wyraźna i bardzo wygodna w pracy.

    Swoją drogą polecam wyłączyć wygładzanie w edytorze i korzystać z czcionek bardziej wyrazistych niz Monaco i Consolas (nie powiem, ładne). Po paru godzinach gapienia się w rozmazane fonty oczy mi zaiwaniały że brak słów.

  27. CONSOLAS można używać nie łamiąc lincji M$. Wystarczy zainstalować PowerPoint Viewer 2007

  28. Zgadzam się, do tego w PowerPoint Viewer 2007 jest nowszy o rok zestaw czcionek (inne daty,w ieksze rozmiary). Na wykopie byl tez art o tym swego czasu.

  29. Dodam jeszcze jednen font. Mowa o Inconsolata. Używam go pod Windowsem w Visual Studio 2005 w rozmiarze 13. Wygląda rewelacyjnie. Tutaj przykład jego użycia.

  30. Na maku Monaco i od kilku dni Panic Sans („przyszła” z edytorkiem Coda firmy Panic). Pod windowsem – tylko i wyłącznie Consolas. W obu przypadkach z AA, nie lubię „ostrych” literek :)

  31. taa, ja od kilku miesięcy mam Consolas w gvimie i muszę powiedzieć, że czcionka uprzyjemnia pracę programisty.

  32. A ja uzywam Andale Mono i tez jest ok, poza tym ma polskie litery w przeciwienstwie do wiekszosci czcionek tutaj opisywanych ;)

  33. Przed migracją na GNU/Linux używałem tylko i wyłącznie Courier (New), może za wyjątkiem pisania pism. Teraz używam czcionek z rodziny courier, które są jakby ulepszoną wersją ;)

  34. [...] a u mnie wszędzie Verdana i nie potrafię tego wytłumaczyć

  35. @jouki: nawet w terminalu? :o

  36. ech… windziarz… klikacz w myszę :)

  37. Monospace, czy – jak kto woli – DejaVu LGC Sans Mono. Z antialiasem, bo „ostre” fonty wydają mi się jakieś takie… staromodne.

  38. Monaco – jest ładny ale jak dla mnie odpada. A to z tego powodu, że jeśli wyświetlany jest pochyły (italic) czyli np. (w zależności od konfiguracji IDE) np. w komentarzach, ciągach znakowych itp. to nie widać poprawnie ostatniej litery w linii. I tak np. małe d wygląda wtedy dokładne jak małe a

  39. Wyniki ankiety: http://bmalkow.malkowscy.net/2007/05/06/czcionki-dla-programisty/

  40. Bigelow & Holmes Lucida Sans Typewriter. Rozprowadzana z JRE Suna.

  41. Fajne :-) Anonymous przypadł mi do gustu. Ja używam windowsa i np. w notepad++ monaco wygląda fatalnie…
    No a co z polskimi znakami? :-o

  42. Monaco używałem od lat na maku, jeszcze pod systemami klasycznymi, ale od niedawna używam właśnie DejaVuSansMono, o którym nie wspomina Razor. Jest nowocześniejszy i chyba lepiej spełnia kryteria wymienione w artykule niż Monaco.

  43. a co z niesmiertelnym fixedsys’em ? IMO best ever :)

  44. Ble, ble… i do tego nieskalowalny. Na 21 cali jak znalazł :>

  45. noizz – dzięki :). Czcionka przypadła mi do gustu, tylko za małe mam odstępy między wierszami ;]

  46. Czy czarne tło jest lepsze do programowania? I jaki rozmiar ma consolas na obrazku? Prosiłbym o odpowiedź :D

  47. O ile dobrze pamiętam, Consolas ma rozmiar 11px. Jeśli chodzi o czarne tło (nie jest to #000, tylko coś między #333 a #444 – to ważne!), to moim zdaniem jest to dużo bardziej ergonomiczna opcja, jeśli mamy perspektywy siedzieć nad kodem przez wiele godzin. Nie ma białego tła, które niemiłosiernie wypala oczy programiście ;). Oczywiście jeśli mamy ciemne tło, to elementy GUI od IDE i systemu operacyjnego nie mogą być jaskrawe, bo jeśli nie dopadnie nas oczopląs, to na pewno trafi szlag.

    Ale to kwestia gustu, kombinuj z kolorami i szukaj perfekcyjnych kombinacji. Kto wie, może będzie ona nawet z jasnym tłem ;).

  48. Ja w pracy uzywam Consolas ale ostatnio znalazlem czcionke z Linuksa Deja vu:
    http://dejavu.sourceforge.net/wiki/index.php/Main_Page
    fajna jest

  49. Consolas okazuje się być jedyną czcionką czytelną w wielkości 8px na 1600×1200 na 17” – reszta się chowa. Do tego nie trzeba nic instalować (domyślnie z Vistą) i bardzo ładnie wygląda po włączeniu ClearType. Jak dla mnie ideał, szczególnie na białe tło :)

  50. Diano jest the best. Piękna. Jedyna wada – brak polskich liter.

  51. Jeśli ktoś korzysta z Programmer’s font to naprawde to chyba tylko z przymusu.

Dodaj komentarz na temat

Zanim skomentujesz...

W komentarzach działają znaczniki Textile.
Zastrzegam sobie prawo do edycji Twojego komentarza tylko i wyłącznie w celach estetycznych (naprawienie źle wstawionego kodu, itp). Nie zmieniam ich treści, ortografii, interpunkcji. Jeśli odczuwasz potrzebę edycji swojego komentarza, skontaktuj się ze mną, a zdziałamy co trzeba.