ReportLab: работа с китайскими / юникод-символами

TL; DR:Есть ли какой-нибудь способ указать ReportLab использовать определенный шрифт и перейти к другому, если глифы для некоторых символов отсутствуют? С другой стороны,Знаете ли вы сжатый шрифт TrueType, содержащий глифы для всех европейских языков, иврита, русского, китайского, японского и арабского?

Я создавал отчеты с помощью ReportLab и столкнулся с проблемами при отображении строк, содержащих китайские символы. Я использовал шрифт DejaVu Sans Condensed, который не содержит глифов для китайского языка (однако, он содержит кириллицу, иврит, арабский и все виды умлаутов для поддержки европейского языка - что делает его довольно универсальным, и мне нужно их все время от времени)

Китайский, однако, не поддерживается со шрифтом, и я не смог найти шрифт TrueType, который поддерживает ВСЕ языки и отвечает нашим требованиям графического дизайна. В качестве временного решения я сделал так, чтобы в отчетах для китайских клиентов использовался совершенно другой шрифт, содержащий только английские и китайские глифы, надеясь, что символы в других языках не будут присутствовать в строках. Однако это по понятным причинам неуклюже и нарушает графический дизайн, поскольку это не DejaVu Sans, вокруг которого был разработан весь внешний вид.

Так что вопросКак бы вы справились с необходимостью поддерживать несколько языков в одном документе и поддерживать использование определенного шрифта для каждого языка. Это усложняется из-за того факта, что иногда строки содержат смесь языков, поэтому определение, какой ОДИН шрифт следует использовать для каждой строки, не вариант.

Есть ли какой-нибудь способ указать ReportLab использовать определенный шрифт и перейти к другому, если глифы для некоторых символов отсутствуют? Я нашел в документах смутные намеки на то, что это должно быть возможно, хотя я могу неправильно это понять.

Кроме того, знаете ли вы сжатый шрифт TrueType, который содержит глифы для всех европейских языков, иврита, русского, китайского, японского и арабского?

Благодарю.

Ответы на вопрос(2)

Ваш ответ на вопрос