Я экспериментировал с XPS на C# и использовал этот пример в качестве отправной точки: https://code.msdn.microsoft.com/windowsdesktop/How-to-Edit-XPS-file-in-WPF-724ef6fb
Я немного изменил пример и создал приложение для поиска и замены документов XPS.
Вывод выглядит не очень хорошо:
Скопируйте и вставьте вопросительные знаки в редактор, который работает хорошо и дает мне правильные символы.
Теперь я обнаружил, что когда символы отсутствуют в исходном XPS, а новые символы находятся в целевом XPS, их нельзя найти в шрифте (нашел это объяснение здесь: https://stackoverflow.com)./a/28236296/2058139).
Суть проблемы заключается в использовании шрифтов ODTTF в документе XPS. ODTTF — это запутанный подмножественный шрифт, основанный на шрифтах, используемых в исходном документе. Это означает, что вы не можете использовать для замены любой символ, которого не было в исходном документе.
Любое решение для этого?