Измените шрифт только для конкретных символов Юникода при сохранении в PDF с помощью Golang через C++

Пример

На следующем скриншоте сравниваются два выходных PDF-файла, сгенерированных примерным кодом ниже.

Один файл генерируется без установки свойства PdfSaveOptions.IsFontSubstitutionCharGranularity, а другой — после установки этого свойства в true.

Как видно на первом PDF, шрифт всего предложения изменился с Times New Roman на Arial Unicode MS из-за тире без разрывов. Во втором PDF изменился только шрифт тире без разрывов.

Первый PDF файл
todo:image_alt_text
Второй PDF файл
todo:image_alt_text

Образец кода