Где я могу получить копию Dwrite_1.dll? - PullRequest
0 голосов
/ 22 марта 2020

В Windows 10 я пытаюсь написать код VBA для перечисления диапазонов кодовых точек Unicode в шрифте.

Мне удалось использовать GetFontUnicodeRanges в gdi32.dll, но он не обрабатывает код за xFFFF.

Дальнейшее исследование обнаружило GetUnicodeRanges (как часть DirectWrite) в Dwrite_1.dll, который должен обрабатывать все кодовые точки Unicode, но это не в моей системе (хотя у меня есть Dwrite.dll, которая делает НЕ содержит GetFontUnicodeRanges.

Я искал SO, inte rnet в целом и веб-сайты Microsoft, но не смог найти эту dll.

Вопрос: Кто-нибудь знает, как / где я могу получить копия Dwrite_1.dll?

1 Ответ

0 голосов
/ 27 марта 2020

Нет DWrite_1.dll. Вы смешиваете dll с файлом заголовка: метод GetUnicodeRanges реализован в интерфейсах IDWriteFont1 и IDWriteFontFace1, которые поддерживаются в заголовочном файле DWrite_1.h .

DWrite использует COM. Вы начинаете с вызова функции DWriteCreateFactory , чтобы получить фабричный интерфейс, то есть объект, который реализует запрошенный фабричный интерфейс. DWrite имеет несколько заводских интерфейсов, которые соответствуют различным версиям - IDWriteFactory (v1), IDWriteFactory1 (v2) и т. Д. c., Каждая из которых добавляет новые функции.

IIR C, VBA использует COM , но я никогда не пытался позвонить в DWrite.dll из VBA. Я бы искал дискуссии о вызовах VBA в COM-интерфейсы.

Вам действительно нужно делать это программно? Есть инструменты, которые вы можете использовать для проверки шрифтов. Я давно использовал SIL ViewGlyph ; также проверьте BabelMap .

...