我想了解有关Rich文本格式的一些有趣细节 以下是在记事本中打开的富文本格式内容示例
{\rtf1\mac\deff2 {\fonttbl{\f0\fswiss Chicago;}{\f2\froman New York;}{\f3\fswiss Geneva;}{\f4\fmodern Monaco;}{\f11\fnil Cairo;}{\f13\fnil Zapf Dingbats;}{\f16\fnil Palatino;}{\f18\fnil Zapf Chancery;}{\f20\froman Times;}{\f21\fswiss Helvetica;}
{\f22\fmodern Courier;}{\f23\ftech Symbol;}{\f24\fnil Mobile;}{\f100\fnil FoxFont;}{\f107\fnil MathMeteor;}{\f164\fnil Futura;}{\f1024\fnil American Heritage;}{\f2001\fnil Arial;}{\f2005\fnil Courier New;}{\f2010\fnil Times New Roman;}
{\f2011\fnil Wingdings;}{\f2515\fnil MT Extra;}{\f3409\fnil FoxPrint;}{\f11132\fnil InsigniaLQmono;}{\f11133\fnil InsigniaLQprop;}{\f14974\fnil LB Helvetica Black;}{\f14976\fnil L Helvetica Light;}}{\colortbl\red0\green0\blue0;\red0\green0\blue255;
\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;}{\stylesheet{\f4\fs18 \sbasedon222\snext0 Normal;}}{\info{\title samplepostscript.msw}{\author
Computer Science Department}}\widowctrl\ftnbj \sectd \sbknone\linemod0\linex0\cols1\endnhere \pard\plain \qc \f4\fs18 {\plain \b\f21 Sample Rich Text Format Document\par
}\pard {\plain \f20 \par
}\pard \ri-80\sl-720\keep\keepn\absw570 {\caps\f20\fs92\dn6 T}{\plain \f20 \par
}\pard \qj {\plain \f20 his is a sample rich text format (RTF), document. This document was created using Microsoft Word and then printing the document to a RTF file. It illustrates the very basic text formatting effects that can be achieved using RTF.
\par
\par
}\pard \qj\li1440\ri1440\box\brdrs \shading1000 {\plain \f20 RTF }{\plain \b\f20 contains codes for producing advanced editing effects. Such as this indented, boxed, grayed background, entirely boldfaced paragraph.\par
}\pard \qj {\plain \f20 \par
Microsoft Word developed RTF for document transportability and gives a user access to the complete set of the effects that can be achieved using RTF. \par
}}
在MS字中编辑此文件后,它会发生很大的变化。我没有删除或添加任何内容,在MS中打开我删除了“说明”一词(可以在上面的rtf文件中看到)和然后再将这个词添加回同一位置。所以文件内容没有任何改变。但是在保存文件之后,我在文本编辑器中打开了它并进行了大量的更改
\par }\pard \ltrpar\ql \li0\ri-80\sl-720\slmult0\keep\keepn\widctlpar\absw570\wrapdefault\faauto\rin-80\lin0\itap0 {\rtlch\fcs1 \af46\afs92 \ltrch\fcs0 \caps\f46\fs92\dn6\insrsid1866410 \hich\af46\dbch\af31505\loch\f46 T}{\rtlch\fcs1 \af46\afs24 \ltrch\fcs0
\f46\fs24\insrsid1866410
\par }\pard \ltrpar\qj \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af46\afs24 \ltrch\fcs0 \f46\fs24\insrsid1866410 \hich\af46\dbch\af31505\loch\f46
his is a sample rich text format (RTF), document. This document was created using Microsoft Word and then printing the document to a RTF file. It }{\rtlch\fcs1 \af46\afs24 \ltrch\fcs0 \f46\fs24\insrsid1866410 \hich\af46\dbch\af31505\loch\f46 illustrates }
{\rtlch\fcs1 \af46\afs24 \ltrch\fcs0 \f46\fs24\insrsid1866410 \hich\af46\dbch\af31505\loch\f46 the very basic text formatting effects that can be achieved using RTF.
\par
\par }\pard \ltrpar\qj \li1440\ri1440\widctlpar\brdrt\brdrs\brdrw15 \brdrl\brdrs\brdrw15 \brdrb\brdrs\brdrw15 \brdrr\brdrs\brdrw15 \wrapdefault\faauto\rin1440\lin1440\itap0 \shading1000 {\rtlch\fcs1 \af46\afs24 \ltrch\fcs0 \f46\fs24\insrsid1866410
\hich\af46\dbch\af31505\loch\f46 RTF }{\rtlch\fcs1 \ab\af46\afs24 \ltrch\fcs0 \b\f46\fs24\insrsid1866410 \hich\af46\dbch\af31505\loch\f46 contains codes for pr\hich\af46\dbch\af31505\loch\f46
oducing advanced editing effects. Such as this indented, boxed, grayed background, entirely boldfaced paragraph.
\par }\pard \ltrpar\qj \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af46\afs24 \ltrch\fcs0 \f46\fs24\insrsid1866410
主要变化是以下行
}\pard \qj {\plain \f20 his is a sample rich text format (RTF), document. This document was created using Microsoft Word and then printing the document to a RTF file. It illustrates the very basic text formatting effects that can be achieved using RTF.
替换为
\par }\pard \ltrpar\qj \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af46\afs24 \ltrch\fcs0 \f46\fs24\insrsid1866410 \hich\af46\dbch\af31505\loch\f46
his is a sample rich text format (RTF), document. This document was created using Microsoft Word and then printing the document to a RTF file. It }{\rtlch\fcs1 \af46\afs24 \ltrch\fcs0 \f46\fs24\insrsid1866410 \hich\af46\dbch\af31505\loch\f46 illustrates }
{\rtlch\fcs1 \af46\afs24 \ltrch\fcs0 \f46\fs24\insrsid1866410 \hich\af46\dbch\af31505\loch\f46 the very basic text formatting effects that can be achieved using RTF.
您可以在我剪切的部分中看到更改并将“说明”一词粘贴到文件中。在那部分中添加了一些内容,如
illustrates }
{\rtlch\fcs1 \af46\afs24 \ltrch\fcs0 \f46\fs24\insrsid1866410 \hich\af46\dbch\af31505\loch\f46 the very basic text formatting effects that can be achieved using RTF. "
那么为什么会发生这种变化?
更新 通过以下回答我发现它是由于ms字添加了一些自己的风格等等 现在我的问题是我可以从rtf文件中删除这个附加的源或代码(例如{\ rtlch \ fcs1 \ af46 \ afs24 \ ltrch \ fcs0 \ f46 \ fs24 \ insrsid1866410 \ hich \ af46 \ dbch \ af31505 \ loch \ f46)手动使用二进制工具?如果删除它会出现任何错误吗? (对于一个文件,我通过手动删除它进行了更改,当我检查内容时没有删除任何数据)。但我想知道是否可以删除它?
答案 0 :(得分:0)
部分原因是因为每个版本的Word都引入了新功能,这些功能需要RTF标准中的新功能来代表它们。特别是,Word中针对不同的非Unicode字符编码标准和混合脚本(LTR和LTR scrips和“东亚”脚本)提供的支持意味着很多rtf代码与编码和文本方向有关,即使你有一个除LTR文本和Unicode编码之外什么都没有的文档。 (这就是所有ltrpar,hich,dbch,ltrch的全部内容。
许多程序产生RTF,旧代码通常会产生与旧版本标准相对应的RTF。如果您在新版本的Word中打开此类文档并重新保存为RTF,则通常会使用新标准保存。
答案 1 :(得分:0)
今天,我们收到了broken encoding (screenshot done after repair) 的文件,并且是修复的最佳方法:寻找specs。您需要知道的第一件事是在哪里找到字符串-使用rtf conftol单词作为“ \ rtlch” “ \ ltrch” 或smthn像“ \ loch \ “ 和” \ hich \“ 参数。在这种情况下,我们已将所有“ \ loch \ f616 ”,“ \ hich \ f616 ”和其他 fxxx 匹配项更改为 f0 。
fN 是字体编号( afN 关联的字体编号)。 N 是指字体表中的一项。 fsN 或 afsN 表示字体大小。
例如:
此文本看起来像abrakadabra — ÀðáèòðàæíûéñóäãîðîäàÌîñêâû Äåëî¹À40-63383/ 2018
我们可以使用 ctrl + f “ 63383/2018 ”找到该字符串,现在我们在Sublime raw .rtf中看到了
@angular-devkit
如果我们将所有 “ \ af793” 和 “ \ f793” 更改为 < em>“ af0” 和 “ f0” :
{\rtlch\fcs1 \af793\afs24 \ltrch\fcs0 \b\f793\fs24\lang1033\langfe1033\langnp1033\insrsid7292261\charrsid9138747 \'c0\'f0\'e1\'e8\'f2\'f0
\'e0\'e6\'ed\'fb\'e9 \'f1\'f3\'e4 \'e3\'ee\'f0\'ee\'e4\'e0 \'cc\'ee\'f1\'ea\'e2\'fb}{\rtlch\fcs1 \af0\afs24 \ltrch\fcs0 \b\f0\fs24\lang1033\langfe1033\langnp1033\insrsid15809263\charrsid9138747
\par }{\rtlch\fcs1 \af793\afs24 \ltrch\fcs0 \f793\fs24\lang1033\langfe1033\langnp1033\insrsid9842406\charrsid9138747 \'c4\'e5\'eb\'ee \'b9 \'c040-63383/2018}
利润!-АрбитражныйсудгородаМосквы Дело№А40-63383/ 2018
如您所见,字符前面的\ b \表示粗体文本。 Here您会看到其他字符仍然具有“ af739”和“ f793” ,我们无法用俄语阅读它们,但是我们的示例中有af0-因此MS Word实际上向我们显示了正确的文本。