Niełamiąca spacja we Flashu, czyli tęsknota za
Tu uśmiechną się wszyscy, którzy flasha uważają głównie za przyczynę buszujących po stronach www reklam. Nie wiem jak tam nowe narzędzia w FP10, ale dotąd rzeczywiście o obsłudze (non-breaking space) w polu tekstowym deweloper Flash mógł pomarzyć. Nadal może, ale okazało się (Marcin okazał), że ów deweloper może skorzystać z fantastycznej możliwości wstawienia   zamiast niezłomnej spacji. Co to jest  ? Ano też spacja i też niezłomna. Tylko taka z czcionki – wystarczy otworzyć w windowsie Tablicę Znaków, piąty znak za małym “z”. Jeden kruczek, o którym trzeba pamiętać przy zaszywaniu podzestawu znaków, to że ten znak trzeba dołączyć. Kopiuj-wklej z Tablicy Znaków zadziała tu doskonale, bo z klawiatury ten akurat glif nie jest łatwy do wywołania.
Potem, żeby oszczędzić ręcznej redakcji tekstów, przyda się wyrażenie regularne do automatycznej podmiany zawieszek. O tym, w jakim języku zawieszki są błędem, a w jakim nie, nie będę tu pisał. Brzydkie są i z puchy im wali. A oto lekarstwo:
// zakładam, że oryginalny tekst do wstawienia mamy w zmiennej tekst1 var tekst1:String = 'wąska kolumna przeniesie o do następnej linii'; // ewentualna eksterminacja htmlowych marzeń, czyli zamiana na spacje var tekst2:String = tekst1.replace(' ', " "); // do rzeczy, czyli zamiana spacji po pojedynczych znakach otoczonych odstępami na niezłomną spację var tekst3:String = tekst2.replace(/\s+(\S)\s+(\S)/g, " $1 $2"); // w tekst3 pojawi się: 'wąska kolumna przeniesie o do następnej linii' // a na ekranie, zamiast   — niełamiąca spacja.