RTF (Rich Text Format)
Rich Text Format (RTF) – otwarty format plików tekstowych opracowany przez firmę Microsoft w czwartym połowie 1985 roku. Jego głównym celem było umożliwienie wymiany sformatowanego tekstu pomiędzy różnymi edytorami tekstu oraz systemami operacyjnymi, w tym Windows, Mac OS i Unix.
Historia
Pierwsza wersja RTF pojawiła się w pakiecie Microsoft Word 1.0, wydanym w 1987 roku. W kolejnych latach format był regularnie rozwijany – najważniejsze zmiany wprowadzono w wersjach RTF 1.5 (1992), 1.7 (1995), 1.8 (1998) oraz 1.9 (2001). Dzięki otwartości specyfikacji, którą Microsoft udostępnił publicznie, powstały niezależne implementacje w programach takich jak WordPad, LibreOffice, OpenOffice czy AbiWord.
Struktura i składnia
Plik RTF jest tekstem ASCII (lub Unicode w nowych wersjach) składającym się z komend kontrolnych rozpoczynających się od znaku odwrotnego ukośnika (\). Przykładowa struktura:
\rtf1\ansi\deff0
{\fonttbl{\f0\fnil\fcharset0 Arial;}}
{\colortbl;\red255\green0\blue0;}
\pard\sa200\sl276\slmult1\fs24\f0\lang1045 To jest \b pogrubiony\b0 tekst.\par
Kluczowe elementy:
\rtfN– wersja specyfikacji (np.\rtf1).\ansi,\mac,\pc– zestaw znaków.\fonttbl– tabela czcionek.\colortbl– tabela kolorów.\b,\i,\ul– style tekstu (pogrubienie, kursywa, podkreślenie).\par– koniec akapitu.
Zastosowanie
RTF jest wykorzystywany w następujących obszarach:
- Eksport i import dokumentów w programach biurowych (Word, LibreOffice Writer).
- Tworzenie szablonów e‑maili w klientach pocztowych.
- Przechowywanie notatek w aplikacjach typu Evernote (w trybie eksportu).
- Wymiana dokumentów w systemach zarządzania treścią (CMS).
Kompatybilność
Większość współczesnych edytorów tekstu obsługuje format RTF w pewnym stopniu, choć niektóre zaawansowane funkcje (tabele, formuły, makra) mogą nie być w pełni zachowane przy konwersji. Najlepszą praktyką jest używanie najnowszej wersji specyfikacji (RTF 1.9.1), ponieważ zapewnia ona wsparcie dla:
- Unicode (
\ucN,\uN?). - Obiektów graficznych w postaci
\pngblip,\jpegblip. - Stylów list i wcięć.
Alternatywy i powiązane formaty
W przestrzeni wymiany sformatowanego tekstu istnieją liczne alternatywy:
- HTML – język znaczników używany głównie w sieci.
- OpenDocument Text (ODT) – otwarty format opracowany przez OASIS.
- LaTeX – system składu tekstu popularny w środowiskach akademickich.
Przykładowe użycie w kodzie
Poniżej przedstawiono prosty przykład generowania pliku RTF w języku Python przy użyciu wbudowanego stringa:
rtf_content = r"""\rtf1\ansi
{\fonttbl{\f0\fnil\fcharset0 Calibri;}}
\fs24\pard This is \b bold\b0 text.\par
"""
with open("example.rtf", "w", encoding="utf-8") as f:
f.write(rtf_content)
Ograniczenia
Mimo swojej popularności, RTF posiada pewne wady:
- Brak wsparcia dla zaawansowanej typografii (np. kerning, OpenType).
- Ograniczona obsługa elementów multimedialnych w porównaniu do PDF.
- Rozmiar pliku może być większy niż w porównywalnych formatach tekstowych.
Patenty i licencje
Format RTF pozostaje domeną publiczną. Specyfikacja jest udostępniana na licencji Microsoft Public License, co umożliwia swobodne implementowanie czytników i edytorów bez opłat licencyjnych.