如何更改RTF文档中特定字符的背景颜色?

Rob*_*nes 4 ruby rtf

我正在尝试从Ruby程序输出RTF(富文本格式) - 我更喜欢直接发出RTF而不使用RTF gem,因为我做的很简单.

我想强调DNA序列比对中的特定字符,从文档中我可以使用\ highlightN ...\highlight0或\ cbN ...\cb1

问题是我不能让\ cb在Word:Mac 2008或Mac TextEdit中工作(\ cf工作正常所以我知道它不是颜色表问题)

\ highlight确实有效,但看似只有两种可能的颜色(黑色和红色)和\ highlight不使用自定义颜色表.

通过在Word中创建带有字符着色的简单文档并保存为RTF,我可以看到大概冗长的RTF代码块,大概可以做我想要的,但它是如此难以理解,我没有看到树木.

部分问题可能是Mac Word没有正确实现RTF.我没有Windows版本的Word方便.

有人知道正确的方法来遮挡文本块吗?

谢谢 - 罗布

joa*_*ast 5

RTF Pocket Guide中有一条说明,说MS Word没有实现\ cb命令.它说MS Word使用\ chshdng0\chcbpatN(其中"N"是与\ cb一起使用的颜色编号).本书建议使用类似下面的内容来实现与实现\ cbN和/或\ chshdng0\chcbpatN:{\ chshdng0\chcbpat5\cb5 text}的程序的兼容性.

注意:我所拥有的书的副本于2003年出版,因此可能有点过时了.


Jac*_*ter 5

支持 RTF 的应用程序似乎最普遍支持的 RTF 命令序列是:

\chshdng10000\chcbpatN\chcfpatN\cbN

这些命令:

  1. 将阴影设置为 100%
  2. 将图案前景色和背景色设置为颜色表中的颜色(我们实际上并未指定着色图案)
  3. 将字符背景设置为颜色表中的颜色

Word 是正确渲染背景颜色最困难的应用程序:

不管最新 (1.9.1) RTF 规范如何规定,Word 2013 无法\highlightN解析\colortbl. 相反,\highlightN映射到预定义的颜色列表。看起来这些颜色来自RTF 规范的 1.5 版本

关于,1.9.1 规范在颜色表\cb部分的末尾包含这个有用的指针:

注意: Windows 版本的 Word 从未支持\cb N,但可以通过控制字序列\chshdng0\chcbpat N来模拟。

几乎是一个有用的建议,除非您阅读以下文档\chshdngN

字符底纹。N 参数是一个值,表示文本的阴影程度(以百分之一为单位)。

所以,0事实证明这不是一个非常有用的值;100 / 0.01给我们10000我们在上面的序列中使用的。