我在哪里可以获得 Dwrite_1.dll 的副本?

Where can I get a copy of Dwrite_1.dll?

在 Windows 10,我正在尝试编写 VBA 代码来列出字体中的 Unicode 代码点范围。

我能够在 gdi32.dll 中使用 GetFontUnicodeRanges,但它无法处理超出 xFFFF 的代码点。

进一步的研究在 Dwrite_1.dll 中发现了 GetUnicodeRanges(作为 DirectWrite 的一部分),它应该处理所有 Unicode 代码点,但我的系统上没有(尽管我有 Dwrite.dll,它不包含 GetFontUnicodeRanges。

我搜索了 SO、整个 Internet 和 Microsoft 的网站,但找不到该 dll。

问题:有谁知道how/where我可以得到一份Dwrite_1.dll吗?

没有DWrite_1.dll。您将 dll 与头文件混淆了:GetUnicodeRanges 方法在 IDWriteFont1 和 IDWriteFontFace1 接口中实现,DWrite_1.h 头文件支持这些接口。

DWrite 使用 COM。您首先调用 DWriteCreateFactory function 以获取工厂接口——即实现所请求工厂接口的对象。 DWrite有多个工厂接口,对应不同的版本---IDWriteFactory(v1)、IDWriteFactory1(v2)等,每一个都增加了新的功能。

IIRC,VBA 使用 COM,但我从未尝试从 VBA 调用 DWrite.dll。我会搜索有关 VBA 调用 COM 接口的讨论。

您真的需要以编程方式执行此操作吗?您可以使用一些工具来检查字体。我早就用了SIL ViewGlyph; also check out BabelMap