Struktura RTF dokumentu – Řídicí slova – Skupiny a rozsah platnosti řídicích slov – Příklady řídicích slov – Jednotky
Každý RTF soubor má hlavičku a tělo. Celý je uzavřený ve složených závorkách {}.
Hlavička povinně obsahuje informace o verzi RTF, kódování a fontech. Může obsahovat mnohem víc údajů, např. tabulku barev, stylů, seznamů, informace o autoru a času vytvoření dokumentu, celkové formátování dokumentu atd. Tyto všechny informace se zapisují pomocí tzv. řídicích slov. Za hlavičkou následuje textový obsah dokumentu, který se prolíná s dalšími řídicími slovy na řízení formátování.
Příklad jednoduchého RTF souboru:
{\rtf1 \ansi \ansicpg1250 \deff0 \deflang1029 {\fonttbl{\f0 \fswiss \fcharset238{\*\fname Arial;}Arial CE;}} {\colortbl;\red0 \green0 \blue0;\red255 \green255 \blue255;} {Hello world\par }}
Příklad si můžete stáhnout přímo ve formátu RTF.
Na prvním řádku se definuje verze a typ RTF, kódová tabulka a defaultní jazyk. Druhý řádek je tabulka fontů, zde s jedinou položkou. Následuje tabulka barev, v níž jsou pomocí RGB zápisu definovány dvě barvy + jedna barva defaultní (to je ten středník za \colortbl). A pak už je text „Hello world“ ukončený znakem konce odstavce.
Jelikož se v textu nepoužívá přepínání barev, bylo by možné vynechat tabulku barev, tedy celý třetí řádek.
Každé řídicí slovo začíná zpětným lomítkem (\). Text, který nezačíná lomítkem, se interpretuje jako textový obsah (je několik výjimek, např. název fontu).
Některá řídicí slova jsou bez parametru, např. \plain. Jiná mohou nebo dokonce musejí obsahovat číselný parametr, např. \fs20. Číselné parametry se píší dohromady s řídicím slovem.
Za každým řídicím slovem (resp. za hodnotou parametru) by měl být jeden oddělovací znak. Tím může být mezera, tabulátor nebo odřádkování. Mezera je vždy bez problémů, odřádkování se v některých případech může chápat i jako odřádkování ve formátovaném textu, proto opatrně. Podle mých zkušeností lze vložit odřádkování mezi skupiny uzavřené do složených závorek. Tabulátor nedoporučuji, je na nic. Wordpad i Word v mnoha případech zvládnou i posloupnost řídicích slov bez oddělovače – dá se tak ušetřit trochu místa, ale jinak to nemá smysl.
Pozor, na rozdíl od HTML se zde víc mezer a odřádkování v textovém obsahu chápe opravdu jako víc mezer a odřádkování!
Když je jedno řídicí slovo před textem a druhé za textem, musí být na začátku textu mezera (jinak se nepozná, co je ještě řídicí slovo) a za textem mezera být nemá (je-li tam, bude se vypisovat ve výsledku). Tedy takto:
\fs24 toto je text o velikosti 12pt\par
Text dokumentu se dá členit do skupin pomocí složených závorek {}. Každý úsek, který je ve složených závorkách, se chápe jako jedna skupina. Pokud na konci skupiny není příkaz odřádkování (\par), automaticky se mezi skupinami odřádkuje.
Řídicí slovo platí, dokud při čtení dokumentu nenastane některá z těchto událostí:
Skupiny lze do sebe vnořovat a řídicí slovo platí i ve vnořené skupině.
Častou chybou např. je, že se na začátku nového odstavce nenadefinuje velikost písma, takže se použije ta z předchozího odstavce. Proto se hojně používají slova \pard (vrátí všechny vlastnosti odstavce na defaultní) a \plain (totéž pro vlastnosti písma).
\fsN | Nastavuje velikost textu na N půlbodů (12pt je tedy 24 půlbodů). |
\b | Zapíná tučné písmo. Zpět na normální se přepíná pomocí \b0. |
\i | Zapíná kurzívu. Zpět na normální se přepíná pomocí \i0. |
\cfN | Barva popředí nebo písma. N je číslo barvy v tabulce barev. |
\fN | Font. N je číslo fontu v tabulce fontů. |
\par | Znak konce odstavce. |
\liN | Levé odsazení odstavce. N je počet tzv. twips, což je 1/20 bodu. |
\sbN | Velikost mezery před odstavcem v twips. |
\qr | Zarovná text odstavce vpravo. |
\plain | Vrací všechny vlastnosti písma na defaultní. |
\pard | Vrací všechny vlastnosti odstavce na defaultní. |
RTF je formát na formátování textu, tedy určuje jeho přesné zobrazení. Proto se téměř výhradně používají absolutní jednotky. Údajně se u něčeho dají použít i procenta, ale tam jsem ještě nedošel.
Základní délkovou jednotkou je twip. Znamená dvacetinu typografického bodu. Jeden typografický bod je asi 0,35 mm, tudíž jeden twip je asi 0,0175 mm. Jeden centimetr je 567 twipů.
Velikost písma se určuje v půlbodech. Tedy 10 bodů je 20 půlbodů a pomocí řídicího slova by se to zapsalo jako \fs20. Pokud se neurčí velikost písma (resp. zruší se pomocí \plain), použije se defaultní velikost, která u Wordu bývá 12 bodů.
Tento návod vznikl pro mou osobní potřebu. Je neúplný a může obsahovat chyby.
Vytvořil Honza Hučín 7. 2. 2005, poslední aktualizace 12. 2. 2005