семейство шрифтов в FOP

#xsl-fo #apache-fop

#xsl-fo #apache-fop

Вопрос:

Мне просто интересно, возможно ли назвать несколько альтернативных шрифтов в FO-файле? Я знаю, что это возможно в HTML и CSS, но я ничего не смог найти о XSL-FO.

Вот так:

 h1 {
  font-family: arial, verdana, serif;
}
  

Моя проблема в том, что FOP не может использовать большинство моих шрифтов, поэтому было бы здорово, если бы я мог найти возможность присвоить FOP примерно 3 названия шрифтов, а затем он попытается использовать их все, прежде чем использовать Times New Roman.

Спасибо за вашу помощь.

Комментарии:

1. Привет, у меня наконец-то появилась возможность попробовать это, и да, это работает именно так, как сказал Мадс Хансен, так что спасибо. 😀

Ответ №1:

Это работает как CSS (хотя с FOP он может вести себя не совсем так). Свойство семейства шрифтов XSL-FO задается в виде списка названий шрифтов, разделенных запятыми, в порядке от первого выбора до последнего выбора.

Это свойство определяет приоритетный список названий семейств шрифтов и / или общих названий семейств. Чтобы решить проблему, заключающуюся в том, что один шрифт может не содержать символов для отображения всех символов в документе или что не все шрифты доступны во всех системах, это свойство позволяет авторам указывать список шрифтов, все одинакового стиля и размера, которые последовательно проверяются, чтобы увидеть, содержат ли они символ для определенного символа. Этот список называется набором шрифтов.

FOP можно настроить несколькими способами для загрузки дополнительных шрифтов. Проще всего установить автоматическогоопределения, и FOP просканирует вашу систему на наличие установленных шрифтов.

Когда в конфигурации установлен флаг «автоматическое определение», FOP автоматически выполнит поиск шрифтов в путях по умолчанию для вашей операционной системы.

FOP также автоматически определит шрифты, доступные в classpath, если они описаны как «application / x-font» в файле MANIFEST.MF. Например, если ваш файл .jar содержит font/myfont.ttf:

Версия манифеста: 1.0

       Name: font/myfont.ttf
      Content-Type: application/x-font
  

Эта функция позволяет создавать JAR
файлы, содержащие шрифты. Файлы JAR
могут быть добавлены в fop, предоставив их
в пути к классу, например, копируя их
в каталог lib/.

Комментарии:

1. Существует проблема с FOP и «это работает точно так же, как CSS». FOP не поддерживает свойство FO font-selection-strategy .

2. Достаточно справедливо. Не точно похоже на CSS.

3. Я бы сказал, что это должно работать точно так же, как CSS. Но это не сработает для @Isthatpossible, который использует FOP.

4. Хорошо, если @Isthatpossible говорит, что это работает, то, полагаю, я ошибался. По-видимому, реализована стратегия «слово в слово»: wiki.apache.org/xmlgraphics-fop/FontSelectionStrategy .