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.
No Tag