Определение и выбор шрифта полностью зависит от вас и от того, как вы их определяете.В XSL FO вы можете сделать то же самое, что и для CSS, например:
<fo:block font-family="Helvetica, Arial, Arial Unicode"> ... </fo:block>
Это буквально означает выбор шрифта Helvetica
первый, Arial
второй и Arial Unicode
третий для отображения моего текста.
Вы можете объединить это с общим определением или унаследованным определением того, как вы хотите, чтобы механизм форматирования выбирал используемый шрифт.Вы можете использовать «auto», который используется по умолчанию (другими словами, не определено) и выбирает первый шрифт из списка шрифтов, которые могут отображать наибольшее количество символов.Или вы можете установить font-selection-strategy
на character-by-character
, чтобы механизм форматирования выбрал первый шрифт в списке, который содержит символы для каждого символа.
Неясно, что FOP поддерживает посимвольныйхарактер и это редко используется.Пока ваш список содержит шрифт, который может отображать каждый символ, он всегда будет использоваться слово за словом в любом тексте для вывода.
Тот факт, что вы можете использовать список шрифтов, а также установитьстратегия того, как вы хотите, чтобы обработанные должны получить именно то, что вам нужно.Поместите каждый шрифт в свой список в порядке убывания важности, и пусть механизм форматирования сделает работу, чтобы убедиться, что все ваши символы отображаются.
Вам также нужно настроить все эти шрифты в конфигурации FOP.