Rich Text Format (часто скорочено RTF) — це власницький формат файлу документа з опублікованою специфікацією, розроблений корпорацією Microsoft з 1987 по 2008 рік для міжплатформного обміну документами з продуктами Microsoft. До 2008 року корпорація Майкрософт публікувала оновлені специфікації RTF разом зі значними змінами версій Microsoft Word і Microsoft Office.
Більшість текстових процесорів можуть читати та записувати деякі версії RTF. Існує кілька різних версій специфікації RTF; переносимість файлів залежатиме від того, яка версія RTF використовується.
RTF не слід плутати зі збагаченим текстом або його попередником Rich Text, ані з RFT-DCA (Revisable Format Text-Document Content Architecture) від IBM, оскільки це різні специфікації.
Історія Річард Броді, Чарльз Сімоні та Девід Любберт, члени групи розробників Microsoft Word, розробили оригінальний RTF у середині-кінці 1980-х років. Перший переглядач та редактор RTF був надісланий у 1987 році як частина Microsoft Word 3.0 для Macintosh, який реалізував специфікацію RTF версії 1.0. Усі наступні випуски Microsoft Word для Macintosh, а також усі версії Windows можуть читати та записувати у форматі RTF.
Microsoft підтримує RTF. Остаточна версія була 1.9.1 у 2008 році, яка реалізувала функції Office 2007. Корпорація Майкрософт припинила вдосконалення специфікації RTF, тому нові функції Word 2010 або новішої версії не зберігатимуться належним чином у RTF. Корпорація Майкрософт не очікує подальших оновлень RTF, але заявила про готовність розглянути редакційні та інші несуттєві зміни специфікації RTF під час відповідного періоду голосування за ISO/IEC 29500.
Файли RTF використовувалися для створення файлів довідки Windows, хоча з тих пір вони були замінені файлами Microsoft Compiled HTML Help . +Специфікації RTF для Microsoft Word Версія RTF Дата публікації Версія Microsoft Word Дата випуску MS Word Примітки 1.0 1987 рік Microsoft Word 3 1987 рік Остання редакція відбулася в червні 1992 року. Редакція 1992 року визначила підтримку для об'єктів Microsoft Object Linking and Embedding (OLE) і об'єктів передплатника Macintosh Edition Manager. Він також підтримував включення типів зображень Windows Metafile, PICT, Windows device-dependent bitmap, Windows device-dependent bitmap і OS/2 Metafile Metafile. 1.1 Microsoft Word 4 1989 рік Дозволено вбудовування шрифтів, що дозволяє розташовувати дані шрифту у файлі. 1.2 1993 рік Microsoft Word 5 1991 рік 1.3 Січень 1994 року Microsoft Word 6 1993 рік 1/94 GC0165; для незалежності від пристрою та сумісності заохочується вбудовування растрових зображень у метафайли Windows замість використання незалежних від пристрою растрових зображень Windows або залежних від пристрою растрових зображень Windows. 1.4 Вересень 1995 року Microsoft Word 95/Word 7 1995 рік 1.5 Квітень 1997 року Microsoft Word 97/Word 8 1997 рік Представлено Unicode RTF, який підтримує 16-бітну схему кодування символів Unicode; визначено включення типів зображень PNG, JPEG і EMF у шістнадцятковому (за замовчуванням) або двійковому форматі до файлу RTF. Також містить японську локальну специфікацію RTF під назвою RTF-J для японської версії Word; RTF-J дещо відрізняється від стандартної специфікації RTF. 1.6 Травень 1999 року Microsoft Word 2000/Word 9 1999 рік Включено Pocket Word і Exchange (використовується для перетворення RTF-HTML). 1.7 Серпень 2001 року Microsoft Word 2002/Word 10 2001 рік 8/2001– Специфікація Word 2002 RTF 1.8 Квітень 2004 року Microsoft Word 2003/Word 11 2003 рік 10/2003– Специфікація Word 2003 RTF 1.9.1 19 березня 2008 року (RTF 1.9 – опубліковано в січні 2007 р.) Microsoft Word 2007/Word 12 2006 рік Дозволена розмітка XML – Спеціальні теги XML, SmartTags, математичні елементи в документі RTF, захист паролем, елементи, що відповідають Office Open XML Ecma-376, частина 4
Синтаксис коду Він програмується за допомогою груп, зворотної косої риски, контрольного слова та розділювача. Групи містяться у фігурних дужках ({}) і вказують, які атрибути слід застосувати до певного тексту.
Зворотний слеш (\) вводить керуюче слово, яке є спеціально запрограмованою командою для RTF. Керуючі слова можуть мати певні стани, в яких вони активні. Ці стани представлені цифрами. Наприклад,
indicates that the Bold text is off
indicates that the Bold text is on
Роздільник — це одна з трьох речей:
Пробіл Цифра або дефіс (наприклад, -23, 23, 275) Символ, відмінний від цифри або літери (наприклад, \, /, })
Як приклад, наступний код RTF {\rtf1\ansi{\fonttbl\f0\fswiss Helvetica;}\f0\pard Це якийсь {\b жирний} текст.\par }буде представлено таким чином:Це якийсь жирний текст.
Кодування символів Стандартний файл RTF може складатися лише з 7-розрядних символів ASCII, але може використовувати escape-послідовності для кодування інших символів. Двома екранованими символами є екрановані символи кодової сторінки та, починаючи з RTF 1.5, екрановані символи Unicode. У вихідній кодовій сторінці дві шістнадцяткові цифри після зворотної косої риски й апостроф друкарської машини позначають символ, узятий із кодової сторінки Windows. Наприклад, якщо для кодової сторінки встановлено Windows-1256, послідовність \'c8 кодуватиме арабську літеру bāʼ ب. Також можна вказати «Набір символів» у преамбулі документа RTF і пов'язати його з заголовком. Наприклад, у преамбулі є текст \f3\fnil\fcharset128, тоді в тілі документа текст \f3\'bd\'f0 представлятиме кодову точку 0xbd 0xf0 із набору символів 128 (що відповідає кодовій сторінці Shift-JIS), яка кодує «金». Набір символів RTF Кодова сторінка Опис 0 Windows-1252 Латинський алфавіт, Західна Європа / Америка 1 0 Стандартна кодова сторінка Windows API для локалі системи 2 42 Символ (PUA-mapped) набір символів 77 2 Кодова сторінка сумісності з Macintosh за умовчанням для локалі системи 128 Windows-932 Японська, Shift JIS (версія для Windows) 129 Windows-949 Корейська, уніфікований код хангиль (розширений Wansung) 130 Windows-1361 Корейська, Johab (версія на основі ASCII) 134 Windows-936 Китайська, GBK (розширений GB 2312) 136 Windows-950 Китайська, Big5 161 Windows-1253 Грецька 163 Windows-1254 Латинський алфавіт, турецька 177 Windows-1258 Латинський алфавіт, в'єтнамська 178 Windows-1255 Іврит 186 Windows-1256 Арабська 204 Windows-1257 Балтійський 222 Windows-1251 Кирилиця 238 Windows-1250 Латинський алфавіт, Східна Європа 255 1 Кодова сторінка OEM за умовчанням для локалі системи Для вихідного коду Unicode використовується контрольне слово \u, за яким слідує 16-розрядне ціле число зі знаком, яке відповідає номеру одиниці коду Unicode UTF-16. Для програм, які не підтримують Unicode, це має супроводжуватися найближчим представленням цього символу на вказаній кодовій сторінці. Наприклад, \u1576? дасть арабську літеру bāʼ ب, але вказує на те, що старіші програми, які не підтримують Unicode, мають відображати її як знак питання.
Керуюче слово \uc0 можна використовувати, щоб вказати, що наступні керуючі послідовності Юнікоду в межах поточної групи не вказують символ підстановки.
До версії 1.5 специфікації RTF у 1997 році RTF обробляв лише 7-бітові символи безпосередньо та 8-бітові символи, закодовані як шістнадцяткові (з використанням \'xx). Однак, починаючи з RTF 1.5, керуючі слова RTF зазвичай приймають 16-бітні числа зі знаком як аргументи. Значення Unicode, що перевищують 32767, мають бути виражені від'ємними числами. Якщо символ Unicode знаходиться за межами BMP, він кодується сурогатною парою. Підтримка Unicode була здійснена через зміни обробки тексту в Microsoft Word — Microsoft Word 97 частково підтримує Unicode і обробляє текст за допомогою 16-бітної схеми кодування символів Unicode. Microsoft Word 2000 і новіші версії є програмами з підтримкою Unicode, які обробляють текст за допомогою 16-бітної схеми кодування символів Unicode.
Оскільки файли RTF зазвичай являють собою 7-розрядний простий текст ASCII, їх можна легко передавати між операційними системами ПК. Конвертери, які спілкуються з Microsoft Word для MS Windows або Macintosh, зазвичай очікують передачі даних у вигляді 8-бітних символів і двійкових даних, які можуть містити будь-які 8-бітні значення.
Читабельність людиною RTF — це формат даних для збереження та спільного використання документів, а не мова розмітки; він не призначений для інтуїтивно зрозумілого та легкого введення. Тим не менш, на відміну від багатьох форматів обробки тексту, код RTF може читатися людиною . Коли RTF-файл, який містить переважно латинські символи без діакритики, переглядається як звичайний текстовий файл, основний текст ASCII читається за умови, що автор зберіг стисле форматування.
Коли було випущено RTF, більшість текстових процесорів використовували двійкові формати файлів; Microsoft Word, наприклад, використовував формат файлу DOC. RTF був унікальним своїм простим керуванням форматуванням, яке дозволяло програмам, які не підтримують RTF, наприклад Microsoft Notepad, відкривати та надавати читабельні файли. Сьогодні більшість текстових процесорів перейшли на формати файлів на основі XML (Word перейшов на формат файлів .docx). Незважаючи на це, ці файли містять велику кількість коду форматування, тому вони часто в десять або більше разів більші за відповідний звичайний текст.
Щоб RTF відповідав стандартам, символи, відмінні від ASCII, повинні бути екрановані. Таким чином, навіть за стислого форматування текст, у якому використовуються певні тире та лапки, є менш читабельним. Латинські мови з великою кількістю діакритичних знаків особливо важко читати в RTF, оскільки вони призводять до замін на \'f1 замість ñ і \'e9 замість é . Нелатинські шрифти нерозбірливі в RTF — \u21563, наприклад, використовується для吻. З самого початку RTF також підтримував вбудовані об'єкти Microsoft OLE та об'єкти передплатників Macintosh Edition Manager, які не читаються людиною.
Загальне використання та сумісність Більшість програмного забезпечення для обробки текстів підтримує імпорт і експорт у форматі RTF для певної специфікації RTF або пряме редагування, що робить його «загальним» форматом між інакше не сумісним програмним забезпеченням для обробки текстів та операційними системами. Більшість програм, які читають файли RTF, мовчки ігнорують невідомі керуючі слова RTF. Ці фактори сприяють його сумісності, хоча це все ще залежить від конкретної версії RTF, яка використовується. Існує кілька свідомо створених або випадково народжених діалектів RTF.
RTF — це внутрішня мова розмітки, яка використовується Microsoft Word. З 1987 року файли RTF можна передавати туди-сюди між багатьма старими та новими комп'ютерними системами (а тепер і через Інтернет), незважаючи на відмінності між операційними системами та їх версіями. Це робить його корисним форматом для базових форматованих текстових документів, таких як інструкції з експлуатації, резюме, листи та скромні інформаційні документи. Ці документи, як мінімум, підтримують форматування тексту жирним шрифтом, курсивом і підкресленням. Також зазвичай підтримуються вирівняний за лівим, центральним і правим краєм текст, специфікацію шрифту та поля документа.
Типові параметри шрифту та полів, стилі та інші функції залежать від типових параметрів програми. Також може бути несумісність між різними версіями RTF, наприклад між специфікаціями RTF 1.0 1987 і пізнішими, або між RTF 1.0-1.4 і RTF 1.5+ у використанні символів Unicode. І хоча RTF підтримує такі метадані, як назва та автор, не всі реалізації підтримують це. Незважаючи на це, формат RTF є достатньо послідовним, щоб вважатися високопортативним і прийнятним для кросплатформного використання.
Об'єкти