Использование шрифта CJK в PDFsharp / Telerik RadPdfViewer

Немного фона:

Я разрабатываю приложение WPF, используемое для измерения и сравнения данных, поступающих от привязанного к нему баланса. Он будет установлен в системе Windows 10, поставляемой вместе с весами. В настоящее время приложение должно поддерживать одиннадцать языков, включая японский и китайский. Одной из особенностей приложения является то, что измеренные значения могут отображаться в виде отчета в формате PDF. Для создания PDF мы используем библиотеку PDFsharp, для отображения Telerik RadPdfViewer. Как упоминалось ранее, приложение поддерживает японский и китайский языки, поэтому PDF-файл также должен иметь возможность отображать японские и китайские буквы. Более ранние версии приложения поставлялись для более старых версий Windows, что означало, что в данном случае мы могли использовать шрифт Microsoft YaHei или Arial Unicode MS. К сожалению, PDFsharp не поддерживает коллекции шрифтов TrueType, что означает, что я не могу использовать версию Microsoft Yahei, установленную в системе, а Arial Unicode MS больше не доступен.

Проблема:

Поскольку эти два варианта больше не подходят, я искал в Интернете альтернативу. После быстрого поиска я заметил, что Noto Sans от Google может быть тем, что мне нужно, поэтому я попытался использовать его. К сожалению, это привело к множеству исключений IndexOutOfRange из Telerik.Windows.Documents.Fixed.dll (все они были обнаружены библиотекой внутри) и не отображало никаких букв в сгенерированном PDF-файле. Он показывает PDF и строки сгенерированной таблицы, поэтому я предполагаю, что это какая-то проблема со шрифтом. Я использовал «Noto Sans CJK SC Regular» для китайского и «Noto Sans CJK JP Regular» для японского. После долгих поисков я так и не нашел другого подходящего шрифта для китайского языка. Для японского я мог бы использовать «Gen Shin Gothic», но я бы предпочел использовать шрифт с одинаковым стилем для обоих языков. Существует дополнительная проблема, заключающаяся в том, что шрифт можно использовать без дополнительной лицензии.

К сожалению, я не могу добавить код, так как это работающий проект моего работодателя.

Вопросы:

  • Есть ли что-то, что мне нужно установить/настроить, чтобы шрифты Noto работали правильно?
  • Есть ли другой пригодный для использования шрифт без засечек для китайского языка, где не требуется дополнительное лицензирование? (Он также должен отображать латинские буквы, так как некоторые вещи, например, название продукта, пишутся таким образом)

В качестве альтернативы:

  • Есть ли настройка библиотеки PDFsharp, чтобы она могла использовать шрифты TTC?
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
460
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Пользователь опубликовал свои изменения для поддержки TTC на форуме PDFsharp:
. https://forum.pdfsharp.net/viewtopic.php?p=9039#p9039

Другой пользователь нашел подходящий файл TTF, который работает с PDFsharp:
. https://forum.pdfsharp.net/viewtopic.php?p=11874#p11874

There is one TTF and its font name is "標楷體".

Другие вопросы по теме