Makrá v OpenOffice.org 4/VI. – Pružná nezalomiteľná medzera 1.

Július Pastierik  /  15. 06. 2006, 00:00

V dnešnom dieli seriálu o programovaní makier v prostredí OpenOffice.org začneme pracovať na makrách, ktoré sú už veľmi dlhý čas očakávané veľkou skupinou používateľov – tzv. pružnou nezalomiteľnou medzerou.

Hneď na úvod si zopakujme, čo to vlastne nezalomiteľná medzera je. Podľa slovenských a českých typografických pravidiel sa na konci riadku nemajú vyskytovať jednoznakové predložky a spojky (a, i, k, o, s, u, v, z). Z hľadiska práce na počítači je preto potrebné za ne vložiť vhodný znak (nezalomiteľnú medzeru), ktorá zabezpečí, že ak sa vyskytnú ma konci riadku, tak sa automaticky zaradia na riadok nový.

Pokiaľ používame zarovnanie textu do bloku (a toto zarovnanie sa používa veľmi často), textový editor musí dosiahnuť, že slová budú spolu a zároveň roztiahnuté na celý riadok. To sa dá dosiahnuť iba jedným spôsobom – „roztiahnutím“ medzier. Pravdaže, každý textový editor, ktorý umožňuje zarovnávať text do bloku to aj robí. Jedná sa vlastne o veľmi jednoduchú „matematiku“ stačí zistiť, koľko voľného priestoru medzi slovami máme a vydeliť ho počtom medzier. Pravdaže, v praxi sa stane, že toto číslo nebude celé, tak program potom upraví jednotlivé medzery tak, že niektoré urobí o jeden bod väčšie.

Matematicky vynikajúce riešenie… pokiaľ však nepoužijeme nezalomiteľné medzery. Pokiaľ si dobre všimnete, žiadny z textových editorov tieto medzery nezväčšuje, t. j. ponecháva im konštantnú veľkosť a zväčšuje iba „obyčajné“ medzery. Týmto spôsobom sa však text značne deformuje a mnohokrát pôsobí opticky veľmi disharmonicky. Pravdaže, mnohým to nevadí, ale ak budete čítať desiatky strán textu, oči sa omnoho skôr unavia pri nerovnomernom rozloženom texte. Na nasledujúcom obrázku je použitý príklad, kde v prvom riadku vidíte obyčajné medzery, v druhom nezalomiteľné a v treťom pružne roztiahnuté nezalomiteľné medzery. Na tomto mieste upozorňujem, že sa nejedná o vymyslený text, ale o príklad z rukopisu románu s presne nastavenými okrajmi, ktorý spolu s manželkou vydávame ku koncu tohto roku. Myslím si, že farebné rozdiely vyjadrujúce veľkosť príslušných medzier sú dostatočne výrazné.

nezalomiteľná medzera

Dosť však bolo teórie, ale pozrime sa na to, ako sa dá dosiahnuť „pružná nezalomiteľná“ medzera. Po dlhom hľadaní som v zozname unikódov (verzia 4.1) našiel znak, ktorý umožnil do textu vkladať takéto medzery. Prísne vzaté, nejedná sa o žiadnu medzeru, ale o znak „Word Joiner“ (hexadecimálny kód 2060 – v prípade kódov budeme väčšinou používať iba hexadecimálne kódy), ktorý vlastne do textu vkladá nezalomiteľnú medzeru nulovej veľkosti, čím dokáže spojiť dve za sebou idúce slová. Žiaľ, mnoho programov nedokáže dobre zobrazovať tieto unikódy. Medzi tie, ktoré ho zobrazujú správne patrí okrem OpenOffice.org napr. Adobe Reader, Foxit Reader, Tomahawk, Mozilla Firefox, GSView a pod. Medzi tie, ktoré ho správne nezobrazujú patria programy MS Office, Opera a pod. Aby ste si mohli odskúšať, ako sa zobrazuje tento znak vo vami obľúbených (či neobľúbených) programoch vrátane internetového prehliadača, prikladám teraz tri riadky textu. V prvom sú použité iba obyčajné medzery, v druhom iba nezalomiteľné a v treťom znak „Word Joiner“ spolu s obyčajnou medzerou za ním.

V tomto riadku sú všetky medzery obyčajné.

V tomto riadku sú všetky medzery nedeliteľné.

V⁠ tomto⁠ riadku⁠ je⁠ pred⁠ každou⁠ medzerou⁠ znak⁠ „Word⁠ Joiner“.

Na budúce: Navrhujeme vlastný dialóg, alebo pridávame položky prepínacích volieb.




Neprehliadnite: