1

我试图解决这个问题几个星期,我想我可能已经把问题归结为

目前问题仅在希伯来语文本中(尽管为简单起见,我不使用拉丁字符)

如果我有一个 wpf 富文本框

p*q*(q 为斜体)

然后将其复制到 ms word,我将两个字符都视为非斜体

现在这里有什么好笑的:

  1. 在 ms 字中,两个字符都正常显示
  2. 当我点击“q”时,文字功能区中的“I”(斜体按钮)会亮起,表示这个字符是斜体,它在主窗口中并不明显
  3. 在写字板中它显示得很好

所以下一个合乎逻辑的步骤是传播 rtf,所以这是 wpf 发送到剪贴板的原始 rtf

{\rtf1\ansi\ansicpg1252\uc1\htmautsp\deff2{\fonttbl{\f0\fcharset0 Times New Roman;}{\f2\fcharset0 Segoe UI;}}{\colortbl\red0\green0\blue0;\red255\green255\blue255;}\loch\hich\dbch\pard\plain\ltrpar\itap0{\lang1033\rtlpar\fs24\f2\cf0 \cf0\qr{\f2 \rtlpar{\lang1037\rtlch \u1488?}{\lang1037\i\rtlch \u1489?}\li0\ri0\sa0\sb0\fi0\qr\sl454\slmult0\par}}} 

在 msword 中打开它会产生有问题的结果

如果我删除第一个“rtlch”,则进行一个小改动可以解决问题,如下所示:

{\rtf1\ansi\ansicpg1252\uc1\htmautsp\deff2{\fonttbl{\f0\fcharset0 Times New Roman;}{\f2\fcharset0 Segoe UI;}}{\colortbl\red0\green0\blue0;\red255\green255\blue255;}\loch\hich\dbch\pard\plain\ltrpar\itap0{\lang1033\rtlpar\fs24\f2\cf0 \cf0\qr{\f2 \rtlpar{\lang1037 \u1488?}{\lang1037\i\rtlch \u1489?}\li0\ri0\sa0\sb0\fi0\qr\sl454\slmult0\par}}}

那么这里发生了什么?更重要的是,我该如何修复它?我可以手动从 rtf 中删除所有“rtlch”吗?我不确定这意味着什么

谢谢你 !!

4

0 回答 0