Wiszący spójnik, zawieszka, sierota – nazwa błędu składu tekstu polegającego na pozostawieniu na końcu wersu osamotnionego jednoliterowego słowa (najczęściej spójnika lub przyimka, np. “a”, “i”, “o”, “u”, “w”, “z”). Reguła zabraniająca wiszących spójników dotyczy zarówno tekstów ciągłych, jak i pojedynczych napisów wielowierszowych (np. tytuły, podpisy). Zgodnie z Polską Normą pozostawianie wiszących spójników jest dopuszczalne tylko przy bardzo wąskim łamie (np. gazetowym). [..] (Wikipedia).
Problem sierotek przewija się przy pracy nad stronami internetowymi od bardzo dawna. Jest wiele rozwiązań tego problemu w php (skrypty, pluginy WordPress, itp.), natomiast nie spotkałem się jeszcze z rozwiązaniem dla ActionScript (3.0). Okazało się ono stosunkowo proste, jednak nie możliwe do zastosowania we wszystkich przypadkach. Podobnie jak w html, wstawiamy pomiędzy spójniki a następujące po nich wyrazy, znaki twardej spacji ( ) w miejsce spacji miękkich. Pole tekstowe musimy wypełniać jako pole html (htmlText), gdyż inaczej ciąg nie zostanie potraktowany jako twarda spacja. Wystarczy do tego proste wyrażenie regularne w AS3:
poletekstowe.htmlText = str.replace(/\s+([aiouwzAIOUWZ])\s+/g, ” $1 ”);
Wszystko działa znakomicie w przypadku korzystania z fontów systemowych (use device fonts). Niestety Flash nie embeduje znaku twardej spacji w przypadku pól z antyaliasem. Być może dało by się ten problem jakoś rozwiązać, np. łamiąc automatycznie w odpowiednich miejscach wiersze znakiem końca linii, jednak uniemożliwiło by to justowanie tekstu. Tak więc jeżeli przewidujemy w naszej flashowej aplikacji problem wiszących spójników, od razu nastawiajmy się na korzystanie z fontów systemowych.
Aby uniknąć konieczności zapamiętywania czy też szukania powyższego wyrażenia regularnego, napisałem prostą klasę w AS3. Klasa przenosi do nowej linii litery a, i, o, u, w, z. Oto przykład uzycia.
import com.woszkowski.tools.StringTool;
poletekstowe.htmlText = StringTool.suppressSingleLetters(str);
Pliki do pobrania:
StringTool - klasa do usuwania wiszących spójników oraz przykład uzycia
Linki:
skaldy.com - pomoc w rozwiązaniu problemu
sierotki wordpress plugin - plugin do wordpressa autorstwa Artura Kępy
Ostatnie komentarze