encyklopedia.space

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.

Zobacz także