【问题标题】:devEMF output display problems in MS Word 2010 after Microsoft updateMicrosoft 更新后 MS Word 2010 中的 devEMF 输出显示问题
【发布时间】:2019-10-31 04:08:41
【问题描述】:

在 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 更新的 MS Word 2010 中损坏

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 包是否需要进行(希望很小)更正更安全?

【问题讨论】:

    标签: r ms-word vector-graphics metafile .emf


    【解决方案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 节)可能 会出现。下面介绍确定该字段中对象类型的过程。

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

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

    【讨论】:

      【解决方案2】:

      与此同时,我联系了 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-security-patch

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-04-13
        • 2021-05-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多