Кіріспе

Microsoft әзірлеген құжат файл форматы. Rich Text Format (жиі қысқартылып RTF деп аталады) – Microsoft Corporation 1987 жылдан 2008 жылға дейін Microsoft өнімдерімен әртүрлі платформаларда құжат алмасу үшін жасаған, спецификациясы жарияланған, эксклюзивті құжат файл форматы. 2008 жылға дейін Microsoft, Microsoft Word және Office нұсқаларының жаңа редакцияларымен RTF спецификациясын жаңартып отырды. Көптеген мәтін өңдегіштер RTF-тің кейбір нұсқаларын оқуға және жазуға қабілетті. RTF спецификациясының бірнеше әртүрлі редакциялары бар; файлдардың үйлесімділігі қолданылған RTF нұсқасына байланысты. RTF-ті байытылған мәтінмен немесе оның алдындағы Rich Text форматымен, сондай-ақ IBM-нің RFT DCA (Revisable Format Text Document Content Architecture) жүйесімен шатастырмау керек, себебі бұл – әртүрлі спецификациялар.

Тарих

Ричард Броди, Чарльз Симонйи және Дэвид Любберт, Microsoft Word әзірлеу тобының мүшелері, 1980 жылдардың ортасынан соңына дейін бастапқы RTF-ті жасады. Алғашқы RTF оқушысы және жазушысы 1987 жылы Macintosh үшін Microsoft Word 3.0 құрамында шығарылды, ол RTF 1.0 нұсқасының сипаттамасын іске асырды. Macintosh үшін Microsoft Word-тің барлық келесі нұсқалары, сондай-ақ Windows-тың барлық нұсқалары RTF форматында оқи және жаза алады. Microsoft RTF-ті күзетеді. Соңғы нұсқасы 2008 жылы 1.9.1 болды, ол Office 2007 мүмкіндіктерін іске асырды. Microsoft RTF сипаттамасына жақсартулар енгізуді тоқтатты, сондықтан Word 2010 немесе одан кейінгі нұсқаларындағы жаңа мүмкіндіктер RTF форматында дұрыс сақталмайды. Microsoft RTF-ке қосымша жаңартулар жасалмайды деп күтеді, бірақ ISO/IEC 29500 дауыс беру кезеңінде RTF сипаттамасының редакциялық және мазмұнына қатысты емес өзгерістерін қарастыруға дайын екенін мәлімдеді. RTF файлдары Windows Help файлдарын жасау үшін пайдаланылды, бірақ олар кейіннен Microsoft Compiled HTML Help файлдарымен алмастырылды.

Microsoft Word RTF нұсқасының 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 құрылғысына тәуелді битмап, Windows құрылғысына тәуелсіз битмап және OS/2 Metafile кескін түрлерін RTF-ке қосуды қолдайды.
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 Metafiles-ке битмаптарды ендіру ұсынылды.
1.4 | қыркүйек 1995 | Microsoft Word 95/Word 7 | 1995 |
1.5 | сәуір 1997 | Microsoft Word 97/Word 8 | 1997 | 16 биттік Unicode таңба кодтау схемасын қолдайтын Unicode RTF енгізілді; RTF файлындағы он алтылық (әдеттегі) немесе екілік форматтағы PNG, JPEG және EMF сурет түрлерін енгізу анықталды.
1.6 | 1999 мамыр | Microsoft Word 2000/Word 9 | 1999 | Pocket Word және Exchange (RTF HTML түрлендіруінде қолданылады) кірді.
1.8 | сәуір 2004 | Microsoft Word 2003/Word 11 | 2003 | 10/2003 – Word 2003 RTF сипаттамасы
| Microsoft Word 2007/Word 12 | 2006 | XML таңбалауына рұқсат етілді – Әдеттегі XML тегтері, SmartTags, RTF құжатындағы математикалық элементтер, парольмен қорғау, Office Open XML Ecma 376 4-бөлігіне сәйкес келетін элементтер.

Нысандар

Microsoft Object Linking and Embedding (OLE) объектілері және Macintosh Edition Manager абоненттік объектілері RTF форматына басқа файлдарды, мысалы электрондық кесте бағдарламаларынан кестелерді немесе диаграммаларды енгізуге мүмкіндік береді. Бірақ, осы объектілер RTF файлдарын қарауға немесе өңдеуге арналған бағдарламаларда кеңінен қолдау табалмағандықтан, RTF форматының өзара үйлесімділігін де шектейді. Егер белгілі бір OLE объектісін түсінетін бағдарламалық құрал болмаса, онда объект оның суреті түрінде көрсетіледі, ол да RTF форматына енгізілген болады.

Суреттер

RTF форматы JPEG, PNG, Enhanced Metafile (EMF), Windows Metafile (WMF), Apple PICT, Windows құрылғысына тәуелді битмап, Windows құрылғысына тәуелсіз битмап және OS/2 Metafile сияқты кескін түрлерін RTF файлына ондық (әдепкі) немесе екілік форматта енгізуді қолдайды. Дегенмен, барлық RTF оқырмандарының барлық кескін түрлерін қолдай бермейтінін ескеру керек. RTF құжаты, енгізілген кескіннің түрін қолдамайтын бағдарламада ашылса, кескін көрсетілмейді. RTF құрастырушылары әдетте қолдаусыз кескін түрін қолдаулы түлге түрлендіреді немесе оны мүлдем қоспайды. Microsoft өнімдерімен жақсы үйлесімділік үшін кейбір RTF құрастырушылары бір RTF файлында бір кескінді екі түрлі форматта сақтайды: біреуі көрсету үшін қолдаулы форматта, екіншісі – Wordpad сияқты кейбір Microsoft бағдарламаларымен үйлесімділікті арттыру үшін сығылмаған WMF көшірмесі. Бұл әдіс RTF файлының көлемін айтарлықтай арттырады. RTF спецификациясы мұндай әдісті міндетті етпейді, ал көптеген жүзеге асырулар WMF көшірмесін қамтымайды (мысалы, Abiword немесе Ted). Microsoft Word үшін, Word-тің WMF көшірмесін сақтауын тоқтату үшін тіркелімде белгілі бір мәнді ("ExportPictureWithMetafile=0") орнатуға болады. RTF сонымен қатар қаріптерді алмастыру үшін қолданылатын келесі жалпы қаріптер отбасы атауларын қолдайды: roman (serif), Swiss (sans serif), modern (monospace), script, decorative және technical (бірақ олар LibreOffice 4.0 және одан кейінгі нұсқаларында немесе Abiword-та қолдауға ие). RTF сурет объектілерін қолдамайтын бағдарламалар пішіндерді көрсетпейді немесе сақтай алмайды. Кейбір жүзеге асырулар сурет объектілерінің ішіндегі мәтінді де көрсетпейді.

Қауіпсіздік мәселелері

Microsoft Word-тің DOC форматынан, сондай-ақ Office Open XML және OpenDocument сияқты жаңа форматтардан өзгеше, RTF макростарды қолдамайды. Осы себепті, компьютерлік вирустар макростар арқылы таралуы мүмкін болған кезде, RTF осы форматтарға қарағанда жиі ұсынылатын. Дегенмен, RTF кеңейтімі файлдің қауіпсіз екендігіне кепілдік бермейді, себебі Microsoft Word стандартты DOC файлдарын RTF кеңейтімімен қайта атап, олардың ішіндегі макростарды әдеттегідей іске қоса береді. Күдікті файлдың шын мәнінде RTF форматында екенін анықтау үшін Notepad сияқты қарапайым мәтіндік редакторда қолмен тексеру немесе UNIX сияқты жүйелердегі `file` командасын пайдалану қажет. Word-тің "Ашу кезінде файл пішімін түрлендіруді растау" опциясын қосу, ашылып жатқан құжаттың файл кеңейтіміне сәйкес келмейтін форматта екендігі туралы ескерту арқылы көмектеседі және осы файлды ашуды тоқтату мүмкіндігін береді. 2015 жылдың сәуір айында Microsoft Word-тегі осалдықты пайдаланатын эксплойт түзетілді. 2014 жылдан бері OpenXML эксплойттарын қамтитын зиянды RTF файлдары пайда болып келеді.

Қолданылу

Әр RTF іске асыру әдетте RTF спецификациясының кейбір нұсқаларын немесе кіші жиынтықтарын ғана қолдайды. Microsoft Windows жүйесіндегі WordPad редакторы әдепкі бойынша RTF файлдарын жасайды. Бұрын ол Microsoft Word 6.0 файл форматын әдепкі ретінде пайдаланған, бірақ Word құжаттарына жазу мүмкіндігі (.doc) қауіпсіздік жаңартуында алынып тасталды. Windows 7-де оқу мүмкіндігі де тоқтатылды. WordPad басқа және аяққы беттер сияқты кейбір RTF мүмкіндіктерін қолдамайды. Дегенмен, WordPad кестелер, сызылған мәтін, үстін сызу, төменгі индекс, "қосымша" түстер, мәтін фондық түстері, нөмірленген тізімдер, оң немесе сол жақтан бастыру, квази гипермәтін және URL сілтемелері, сондай-ақ әртүрлі жол аралықтары сияқты оны жасай алмайтын көптеген RTF мүмкіндіктерін оқи және сақтай алады. RTF сонымен қатар MS Windows API-де "көлемді мәтін басқару элементтері" үшін дерек форматы болып табылады. Оның қарапайымдылығы және процессорды аз жүктеуінің арқасында кеңінен қолданылады.

Кітапханалар мен конвертерлер

Ашық кодты rtf2xml скрипті RTF-ті XML-ге жартылай түрлендіре алады. GNU UnRTF – RTF файлын HTML, LaTeX, troff макростары және басқа форматтарға түрлендіретін ашық бастапқы кодты бағдарлама. pyth – RTF, XHTML және PDF форматтарындағы құжаттарды жасау және түрлендіруге арналған Python кітапханасы. Ruby RTF – Ruby арқылы Rich Text мазмұнын жасау жобасы. RaTFink – Tcl процедураларының кітапханасы, RTF шығысын жасауға арналған тегін бағдарламалық құрал және SGML-ді RTF-ке түрлендіруге арналған Cost скрипті. RTF::Writer – RTF құжаттарын жасауға арналған Perl модулі. PHPRtfLite – әзірлеушілерге PHP арқылы RTF құжаттарын жасауға мүмкіндік беретін API. Pandoc – RTF-ті қоса алғанда, көптеген шығыс форматтары бар ашық бастапқы кодты құжат түрлендіргіш. RTFGen – таза PHP арқылы RTF құжаттарын жасау жобасы. rtf.js – RTF құжаттарын HTML-де көрсетуге арналған JavaScript кітапханасы. macOS командалық жол құралы textutil файлдарды rtf, rtfd, text, doc, docx, wordml, odt және webarchive форматтары арасында түрлендіре алады. Ted редакторы RTF файлдарын HTML және PS форматтарына да түрлендіреді.

Сын

Rich Text Format – Microsoft Windows үшін жасалған бағдарламаларда мәтін негізіндегі құжаттар үшін стандартты файл форматы болды. Microsoft бастапқыда RTF спецификациясын жарияламады, бұл бәсекелестерге өз бағдарламаларында құжаттарды түрлендіру мүмкіндіктерін жасауды қиындатты. Microsoft-тың бағдарламашылары спецификацияға қол жеткізгендіктен, Microsoft-тың бағдарламалары осы форматпен үйлесімділік жағынан артықшылыққа ие болды. Сонымен қатар, Microsoft RTF спецификациясын өзгерткен сайын, олардың өз бағдарламалары нарыққа тезірек шықты, себебі бәсекелестер форматтың жаңа нұсқасын зерттеп болған соң ғана өз бағдарламаларын қайта жасауға мәжбүр болды. Novell компаниясы 2004 жылы Microsoft-қа қарсы антимонополиялық шағымында Microsoft-тың осы әрекеттері бәсекелестікті шектеді деп айыптады.