1

在 6 月 12 日 2-4 次 Microsoft 更新之后,MS Word 2010 中 devEMF(用于 EMF/EMF+ 文件的 R 打印设备)输出的显示已损坏。

该问题发生在安装了最新 Microsoft 更新的计算机上,而未安装KB890830KB4503292KB4503286KB4461619的计算机上则不会出现此问题。我在 Windows 10 和 Windows 7 上进行了尝试。所有有问题的更新我都认为是安全更新,所以我猜 devEMF 文件在更新之后对 MS Word 来说看起来很可疑,但之前不是。使用其他程序创建的 EMF 正确显示。我尝试使用 EMF 和 EMF+,它们都显示已损坏。

以下 R 代码生成一个文件,该文件在 libreOffice 中正确显示,但在 MS Word 2010 中已损坏,并带有最新的 MS 更新

require(devEMF)
emf("test.emf")
  plot(x=c(0,2),y=c(0,2))
  text(x=1,y=1,"This is a test figure")
dev.off()

一些(比如这个测试图像)根本不显示(我只是得到一个非常浅的图像大小的框架),在另一些中只显示很少的元素(/layers?),通常带有红十字和一些关于的元信息文件(如以下屏幕截图所示)。

这是典型的图像损坏显示。 轴没有标记或根本不显示,元信息在左上角是可读的 我的问题是......(除此之外,我真的希望这些 emfs 能够在我的数百页和数字长文档中正确显示): Word 现在是否过于担心,或者 devEMF 包是否需要进行(希望很小)更正它更安全吗?

4

2 回答 2

1

与此同时,我与 devEMF 的开发人员取得了联系,解决方案(目前)是生成一个“完整”的 emfPlus 文件

emf( ... , emfPlus=TRUE, emfPlusFont=TRUE, emfPlusRaster =TRUE)

使用这些标签生成的文件可以正确显示。

编辑:微软宣布发布有罪安全补丁的补丁: https ://social.msdn.microsoft.com/Forums/en-US/a0af7c55-7f13-4a6a-ac41-3c7a2a09d8f5/emf-graphics-specification-amp-安全补丁

于 2019-06-20T10:10:11.373 回答
1

正如我在德国的 answers.microsoft.com 上已经提到的:似乎 KB4503292 禁用了 EMR_EXTCREATEFONTINDIRECTW 类型的 EMF 记录,它只包含一个 LogFont 结构而不是一个 LogFontExDv,尽管这仍然被记录为受支持:

https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-emf/7e266b6d-32e5-4201-b687-8ec40c24cd73

elw(变量):一个 LogFontExDv 对象(第 2.2.15 节),它指定逻辑字体。一个 LogFont 对象(第 2.2.13 节)可能<74> 会出现。下面描述在该字段中确定对象类型的过程。

到目前为止,我发现这个解释的唯一地方是

https://social.msdn.microsoft.com/Forums/en-US/a0af7c55-7f13-4a6a-ac41-3c7a2a09d8f5/emf-graphics-specification-amp-security-patch?forum=os_specifications

于 2019-07-06T10:18:34.943 回答