piątek, 30 sierpnia 2013

[K] Czcionka dla programisty

Musiałem ostatnio zmierzyć się z pewnym problemem, gdyż oprócz Eclipse'a zacząłem do programowania używać IntelliJ-a. A jako że polubiłem strasznie sposób wyświetlania czcionek stosowany przez SublimeText, z coraz większą niechęcią patrzyłem na to, co wyświetla IntelliJ. Po zmianie kroju z domyślnego Courier New na Consolas było lepiej, ale nadal "dziwnie". Także Lucida Console, której czasem używałem jako zamiennika Consolas, nie poprawiła znacząco sytuacji. Zacząłem zatem szukać przyjemnie wyglądającej czcionki o stałej szerokości (tzw. monospace), która wreszcie spełniłaby wszystkie wymagania.

Po co programiście dobra czcionka?

Czy czcionka ma znaczenie podczas programowania? Okazuje się, że tak, a wie o tym każdy, kto miał wątpliwą przyjemność czytać kody źródłowe, opublikowane w książce Andrzeja Marciniaka pt. "Borland Delphi 5 Professional. Object Pascal", gdzie postanowiono zastosować krój Times New Roman - spójrzcie zresztą na porównanie:

  • Tekst pisany czcionką o stałej szerokości (Courier New):
  • Tekst pisany czcionką proporcjonalną (Times New Roman):

Istotne zalety dobrej czcionki programistycznej:

  • stała szerokość znaków (ułatwia formatowanie kodu, porównywanie ciągów tekstowych)
  • rozróżnialność znaków (np. l i 1, O i 0, 8 i B)
  • większa czytelność znaków "programistycznych": kropki, nawiasów każdego typu, średnika, pionowej kreski, ampersanda, wykrzyknika
  • wyraźne granice między poszczególnymi znakami
  • wyraźne rozróżnienie między krojem normalnym, pogrubionym i pochylonym (ma to znaczenie w edytorach formatujących i kolorujących składnię)
  • prostota kroju, bez niepotrzebnych "upiększeń"

Trzeba brać pod uwagę, że programista często patrzy na ekran przez wiele godzin dziennie, dlatego czytelna, wyraźna czcionka bardzo pomaga w pracy, zwłaszcza przy zmęczonym wzroku (tak, wiem, że wtedy lepiej pójść na spacer, ale wiadomo, że nie zawsze się da...)

Poszukiwania i wrażenia

Szybkie, pobieżne przejrzenie zasobów Internetu ujawniło, że nie jestem pierwszą osobą, która próbuje znaleźć dobrą, czytelną czcionkę. Co ciekawe, dość szybko wyłoniła się grupa czcionek, które powtarzały się we wszystkich niemal rankingach. Od nich rozpocząłem poszukiwania i rzeczywiście, nie zawiodłem się. Najbardziej uniwersalną i najlepiej wyglądającą we wszystkich dostępnych mi edytorach jest Liberation Mono, a zaraz po niej - Envy Code R (jako że lubię raczej węższe, bardziej "skondensowane" kroje). Niewątpliwie świetną czcionką jest też Droid Sans Mono, choć przed używaniem powstrzymuje nieco cena. Poniżej znajdziecie listę krojów, które wywarły na mnie najlepsze wrażenie i większość z nich zostanie na dysku. Stanowi to zresztą pewien kłopot, gdyż trudno później jest się zdecydować tylko na jedną z nich...

Przeszukałem też sporo stron z darmowymi czcionkami - naprawdę jest tego dużo, choć naturalnie kroje zazwyczaj powtarzają się w poszczególnych serwisach. Wiele znalazłem czcionek "ozdobnych", np. naśladujących stare maszyny do pisania - te naturalnie do programowania nadają się raczej średnio. Trzeba mieć też świadomość, że większość spotykanych w internecie czcionek jest dość uboga w zdefiniowane znaki. Najczęściej są to tylko duże i małe litery alfabetu łacińskiego, cyfry oraz garść najpopularniejszych symboli. Oznacza to nie tylko, że zamiast polskich znaków zobaczymy dziwne "krzaki", ale czasem brakuje tak podstawowych w programowaniu znaków, jak nawiasy kwadratowe czy klamrowe!

Dla chorobliwie ambitnych jest rozwiązanie tego problemu - na stronie http://www.high-logic.com/font-editor/fontcreator.html można zakupić za 79$ aplikację FontCreator, dzięki której sprawnie i szybko uzupełni się wszelkie potrzebne znaki (aczkolwiek należy mieć przynajmniej cień zmysłu artystycznego, by efekt działań nie był gorszy niż materiał wyjściowy...)

Prywatny ranking

Oto obiecana lista czcionek, które najbardziej przypadły mi do gustu. Brałem pod uwagę tylko kroje posiadające zdefiniowane polskie znaki, więc można ich używać bez obaw o wyświetlanie "krzaków".

Głupoty

Być może komuś wyda się śmieszne dobieranie czcionki do środowiska programistycznego, jednak uważam, że warto przynajmniej te darmowe czcionki wypróbować - a nuż zacznie się programować dużo przyjemniej? Poza tym zauważyłem, że na laptopie niektóre czcionki wyglądają dużo czytelniej niż inne, więc jeśli nie zmiana kroju, to może chociaż poprawa ergonomii kogoś przekona?

2 komentarze:

  1. Ja jestem fanką czcionek, chociaż nie używam ich do programowania :D Ale w mojej pracy bardzo przydają się różnorodne kroje czcionek :D Na szczęście, coraz częściej udaje mi się znajdować czcionki z polskimi znakami :)

    OdpowiedzUsuń
  2. Na ogół o czcionce nikt nie myśli. Owszem, są lepsze i gorsze, w tym takie, których nie użyjesz na pewno. Ale na ogół wystarcza to, co daje system.

    Sytuacja mi się zmieniła, gdy coś się zaczęło dziać ze wzrokiem. Wtedy zacząłem odkrywać ergonomię różnych fontów.

    OdpowiedzUsuń