second gate studio blog

Autorem tego bloga jest zx. Na stronie zajmuję się szeroko pojętym user-experience i takoż pojętym designem. Piszę o technologii, pokazuję rzeczy zaprojektowane z wyczuciem, dbałością o szczegóły i szukam inspiracji w każdej możliwej dziedzinie. Kontakt.

Wpis dodany roku w kategoriach HTML, CSS, JS, Techblog, Typografia i otagowany słowami: css, css3, dzielenie, justowanie, tekst, typografia, wyrównanie, Trackback.

Typografia w sieci: Wyrównanie tekstu

W większości papierowych dokumentów, gazet czy książek tekst jest wyjustowany. Nasz mózg lubi symetrię, więc lepsze wrażenie robi na nim blok tekstu, który nie jest poszarpany. Niemniej jednak, justowanie odrobinę utrudnia czytanie. Trudniej jest zaczepić wzrok na ostatnim słowie w wierszu, ponieważ wszystkie linie mają jednakową długość. Czasami przez to potrafimy zgubić linijkę w trakcie schodzenia do kolejnej. Staramy się temu zapobiec stosując odpowiednią długość wiersza, jednak zawsze odpowiednia długość plus niejustowany tekst da lepsze rezultaty niż tylko odpowiednia długość. Jest to jedno z ustępstw jakie popełnia się by tekst wyglądał dobrze.

Justowanie wymaga precyzji. Nie wystarczy samo porozsuwanie wyrazów tak, aby wypełniły całą długość wiersza, ponieważ zdarzyć się może, że odstępy między nimi staną się okrutnie duże. Typografowie, oprócz manipulowania odstępami międzywyrazowymi, starają się również odpowiednio dobierać odstępy między znakami jak również przenosić niektóre wyrazy do kolejnej linii. W dzisiejszych czasach to żmudne zajęcie wspomagane jest przez profesjonalne oprogramowanie do składu tekstu.

Różnica między justowaniem tekstu za pomocą odstępów międzywyrazowych, a połączenia odstępów między znakami, wyrazami i przenoszenia wyrazów do nowej linii

Do tej pory nie radzą sobie z tym przeglądarki. Przy wyrównywaniu tekstu do obu stron manipulują tylko odstępami międzywyrazowymi, co często daje efekt bardzo rozstrzelonych wyrazów. Jest kilka metod pozwalających zadbać o ten aspekt przy odrobinie wysiłku, jednak część z nich obciąża zasoby komputera, a druga część wymaga bardzo dużej pracy przy ręcznej edycji tekstu. Dlatego też, mówiąc ogólnie, nie poleca się justowania tekstu na stronach internetowych.

p { text-align: justify; } /* justowanie */

p { text-align: left; } /* wyrównanie do lewej */

p { text-align: right; } /* wyrównanie do prawej */

W krótszych tekstach możemy ręcznie pokazać przeglądarce w którym miejscu można podzielić wyraz. Robi się to za pomocą ­. Kiedy przeglądarka uzna, że podzielenie wyrazu w tym miejscu będzie korzystne dla czytelnika, przeniesie jego część do kolejnej linii.

Ręczne dba­nie o typografię.

Na horyzoncie pojawia się CSS3 z nowym modułem tekstu. Twórcy przewidują w nim wsparcie dla automatycznego przenoszenia wyrazów do nowej linii (ang. hyphenation) jak również wsparcia dla justowania z prawdziwego zdarzenia. W tej chwili przeglądarki dopiero starają się zadbać o ten aspekt i prawdopodobnie przyjdzie nam jeszcze trochę poczekać.

Automatyczne dzielenie wyrazów

Nowy CSS przewiduje kontrolę nad automatycznym dzieleniem wyrazów za pomocą własności hyphens:

Pamiętajmy, że sposób dzielenia wyrazów zależny jest od języka tekstu. Specyfikacja CSS mówi, że możliwe będzie zaimportowanie własnego „słownika podziału wyrazu” za pomocą @hyphenation-resource. Jednak można się spodziewać, że przeglądarki same będą radziły sobie z określaniem tegoż jeśli w znaczniku <html> określimy wartość lang. Przeglądarki i tak posiadają już słowniki ortograficzne, więc logicznym następstwem wydaje się być dodanie w nich wsparcia dla podziału wyrazów. Specyfikacja oddaje nam też w ręce pełną kontrolę nad różnymi aspektami, jednak póki całość jest tylko szkicem, nie ma sensu się w nie zagłębiać.

Lepsze justowanie tekstu

W CSS3 znajdziemy również kilka przydatnych opcji jeśli chodzi o dokładniejsze justowanie. Szczególnie jedna z możliwości text-justify wydaje się interesująca: distribute powinno wyjustować tekst używając zarówno odstępów między wyrazami jak i między znakami.

Specyfikacja nie jest jednak jasna. W tej chwili brzmi nawet dość dziwnie, więc musimy poczekać dłuższą chwilę aż ustalone zostaną konkretny.

Komentarze

Kret 11:17:39 | 05 września 2011

Na dzień dzisiejszy: http://code.google.com/p/hyphenator/
Obsługuje język polski.

zx 11:27:14 | 05 września 2011

Kret: Ale właśnie taki dodatkowy JS to IMO nie jest dobre rozwiązanie. Uruchom to na jakimś netbooku.

Szymon 13:00:39 | 05 września 2011

stare ;) napisałem sobie hyphenatora w etytorze i testowałem shy na moim poprzednim joggu ;) były czasy że tylko opera to porządnie obsługiwała, za to nie obsługiwała ZWNBSP.

btw, dobrze widzę że używasz radzieckiego fonta ? skoro już to pisz w cyrylicy, będzie lepiej wyglądać :) ktoś kiedyś nawet o tym na joggerze pisał: http://pawel-ciupak.jogger.pl/id/145357

całkem btw: jestem nieco zdziwiony że żaden z joggerowych pr0siaków nie raczy nas swoimi spostrzeżeniami na temat chrome os (a nie mogli się doczekać), oraz rewelacji na temat CSS4.

jam łasica 14:17:21 | 05 września 2011

Warto również zadbać o NIE dzielenie niektórych wyrazów. Np. 30&nbsp;MB, 10&nbsp;zł, itp.

@Szymon: to prawda, cyrylica z tym fontem wygląda dużo lepiej

prezes 16:59:39 | 05 września 2011

Przecież zasady "usability" mówią, że tekstu w Internecie się nie justuje....

zx 17:01:21 | 05 września 2011

prezes: Z powodów, które wymieniłem w tekście, a które powoli znikają. Znasz jakieś inne?

Remigiusz 'lRem' Modrzejewski 17:53:15 | 05 września 2011

Justowanie bez dzielenia wyrazów to zło. Wstawianie &shy; ręcznie to też zło. Trzeba się zastanowić nad tym js ;)

SebaS86 19:12:05 | 05 września 2011

Prezes, a ja z chęcią zobaczę justowanie z prawdziwego zdarzenia w przeglądarkach. Może WikiBooks będą wreszcie normalnie wyglądać po wydrukowaniu. ;)

Remigiusz 'lRem' Modrzejewski 19:15:16 | 05 września 2011

WikiBooks nie dawały normalnie wyglądających pdf-ów?

SebaS86 19:15:51 | 05 września 2011

Kiedyś próbowałem jeden wydrukować i wersja w PDF-ie była niedostępna.

Remigiusz 'lRem' Modrzejewski 19:18:26 | 05 września 2011

Dziwne, to się tworzy na żywo jakimś dziwnym softem. Wystarczy chwilę poczekać, żeby się wyrenderowało...

SebaS86 19:41:57 | 05 września 2011

Rzeczywiście działa, niemniej kiedyś coś tam szwankowało. A skoro już tak offtopuje, do listy życzeń dorzuciłbym jeszcze łamanie tekstu na kolumny. Może rzadko używane ale również przydatne.

Remigiusz 'lRem' Modrzejewski 19:47:02 | 05 września 2011

Kolumny na stronach to zło jeszcze gorsze niz justowanie...

SebaS86 19:55:48 | 05 września 2011

Oj tam, oj tam. ;)

Grzegorz 15:47:39 | 06 września 2011

W tym :lepszym" wyrównaniu tekstu, tj. z podziałem wyrazów, i tak masz sierotki ;)

zx 16:02:57 | 06 września 2011

Grzegorz: O których miejscach mówisz? Ogólnie to miał być prosty przykład, robiłem to ręcznie.

Remigiusz 'lRem' Modrzejewski 16:09:42 | 06 września 2011

Jak robisz podział ręcznie, to i sierotki możesz też wyciąć, nie?

zx 16:31:04 | 06 września 2011

Aaaa, mówicie o 'i', tak? Mógłbym faktycznie. ;)

Grzegorz 19:01:27 | 06 września 2011

O "i", a w porywach nawet o "po" :) Pod Worpdressem można skorzystać z rewelacyjnej wtyczki polskiego pochodzenia Wiszące Spójniki Wordpress Plugin.

Ciekawi mnie czy jest jakieś zaklęcie w CSS3 pozwalające osiągnąć taki efekt...

RMW 12:02:44 | 07 września 2011

Z tego, co pamiętam, wikibooks, wikipedia i wiktionary korzystają z wewnętrznego kompilatora LaTeXa.