我工作的德尔福2009年,这使得RTF的大量使用的应用程序,使用TRichEdit和TLMDRichEdit编辑。谁进入这些RTF控件日本文字用户已经提交有关日本的文本间歇报告重装安装的内容,无论是在Win XP和Vista,与东方语言支持时显示为乱码。如何正确地显示日本RTF字体
通常,英语和日语的混合没有问题大多显示,例如:
Inventory turns partnerships. 在庫回転率の
(我的道歉,如果日本的文字被错误地打破 - 我不说话或阅读的语言)。
相当频繁然而,只有文本的日本部分将杂乱,例如:
ŒÉñ?“]-¦Œüã‚Ì·•Ê‰?-vˆö‚ðŽû‰v‚ÉŒø‰?“I‚ÉŒ‹‚т‚¯‚é’mŽ¯‚ª‘÷Ý‚·‚é?(マーケットセクター、
見込み客の優 先順位と彼らに販売する知識)
从广泛的在线搜索,它出现的问题是因为保存的部分字体的结果RTF。日文版Windows上的字体不一定与美国英文版相同。它可以通过编程方式替换字体,其中产生一个几乎可以接受的结果的RTF文件,即
-D‚‚スƒIƒyƒŒ[ƒVƒ・“‚ニƒƒWƒXƒeƒBƒbƒN‚フƒpƒtƒH[ƒ}ƒ“ƒX‚-˜‰v‚ノŒ‹‚ム‚ツ‚ッ‚ネ‚「‚±ニ‚ヘ?A‘‚「‚ノ-ウ‘ハ‚ナ‚ ‚驕B‚サ‚‚ヘAl“セ‚オ‚ス・‘P‚フˆロ‚ƒƒXƒN‚ノ‚ウ‚‚キB
然而,仍然有存在不少“垃圾”字符,则不能正确识别的日本文字。纵观原料RTF,你会看到以下内容:
-D\'82\'82\u65405?\'83I\'83y\'83\'8c[\'83V\'83\u12539?\ldblquote\'82\u65414?
显然,Unicode字符被正确渲染,但例如\ '82 \ '82对字符应是别的东西?我的猜测是,它实际上代表了某种双字节字符,这是由于一些神秘原因编码为两个单独的字符,而不是一个Unicode字符。
是否有一个通用的,(相对)万无一失采取RTF包含东方语言和可靠地再次显示它的方式?
为了完整性起见,我更新RTF字体表以如下方式:
- 替换的字体名称 “L R■解读V B n的;???????”用 “\ '82 \ '6C \ '82 \ '72 \ '82 \' 1207 \ '83 \ '53 \ '83 \ '56 \ '83 \ '62 \ '83 \'4E;”
- 通过更换更新的字体名称 “\弗罗曼\ fprq1 \ fcharset0” 与 “\ fnil \ fprq1 \ fcharset128”
- 更新的字体替换名 “\弗罗曼\ fprq1 \ fcharset238” 与 “\ fnil \ fprq1 \ fcharset128”
- 将“\ froman \ fprq1”替换为“\ fnil \ fprq1 \ fcharset128”更新的字体名称
- 替换字体名称“?? ?????;”用 “\ '82 \ '6C \ '82 \ '72 \ '82 \' 1207 \ '83 \ '53 \ '83 \ '56 \ '83 \ '62 \ '83 \'4E;”
更新:更新单独的字体名称不会有所作为。现场似乎是一个大问题。我看到了几个网站讨论围绕日本RTF的显示转换的东西大多数读者会处理的方式,但我还没有找到一个解决办法,例如参见: here和here。
如果涉及多个RTF库,则从/到RTF的不同转换是潜在的原因。如果RTF编写器发出读者不理解的代码,那么一切都是可能的。 – mjn 2017-06-02 18:48:16
当在Windows 10上用写字板打开时,字体名称'82l''82r''82o''83S''83V''83b''83N显示为'MS PGothic'。用LibreOffice打开或用写字板Win 7,它显示为“MS Pゴシック”。 – mjn 2017-06-02 18:52:43
请注意,字体名称?l?r?o?S?V?b?N;在你的提问中似乎已经是腐败了,我想在文件的前一个状态中它是'82''82''83''83''83b''83 N. – mjn 2017-06-02 18:53:58