История изменений
Исправление
Einstok_Fair,
(текущая версия)
:
При сборке PDF/A выдаётся сообщение
«For PDF/A-1b, all fonts, even the base 14 fonts, have to be embedded! Offending font: /Helvetica»
На эту тему есть пара ссылок из гугла:
https://stackoverflow.com/questions/45435698/fo-to-pdf-a-conversion-with-apache-fop-java-library
http://apache-fop.1065347.n5.nabble.com/To-PDF-a-Conversion-without-licensed-fonts-java-td45365.html
Мне непонятно, почему на stackoverflow пишут что «FOP defaults to using Helvetica when no font-family is set», в то время как в документации написано, что в этом случае используется Times.
When FOP does not have a specific font at its disposal (because it's not installed in the operating system or set up in FOP's configuration), the font is replaced with «any». «any» is internally mapped to the Base-14 font «Times» (see above).
http://apache-fop.1065347.n5.nabble.com/Font-substitution-td11238.html
Are you sure you have specified the font family for the entire document? If you forget to specify the font-family then it defaults to «sans-serif,Symbol,ZapfDingbats» By default sans-serif maps to Helvetica, so that may be how it ends being used in your case.
А как указать шрифт всего документа?
Теперь дальше, почему нет шрифта Гельветика? Потому что он проприетарный. В википедии есть по этому поводу специальный раздел: Helvetica -> Nimbus Sans L
Есть ли такой? Да:
$ fc-list | grep "Nimbus Sans L" | sort
/usr/share/fonts/urw-fonts/n019003l.pfb: Nimbus Sans L:style=Regular
/usr/share/fonts/urw-fonts/n019004l.pfb: Nimbus Sans L:style=Bold
/usr/share/fonts/urw-fonts/n019023l.pfb: Nimbus Sans L:style=Regular Italic
/usr/share/fonts/urw-fonts/n019024l.pfb: Nimbus Sans L:style=Bold Italic
/usr/share/fonts/urw-fonts/n019043l.pfb: Nimbus Sans L:style=Regular Condensed
/usr/share/fonts/urw-fonts/n019044l.pfb: Nimbus Sans L:style=Bold Condensed
/usr/share/fonts/urw-fonts/n019063l.pfb: Nimbus Sans L:style=Regular Condensed Italic
/usr/share/fonts/urw-fonts/n019064l.pfb: Nimbus Sans L:style=Bold Condensed Italic
$ qfile /usr/share/fonts/urw-fonts/n019003l.pfb
media-fonts/urw-fonts: /usr/share/fonts/urw-fonts/n019003l.pfb
У fop есть разные параметры командной строки, и если я запускаю его таким образом:
#!/bin/bash
FONT="Nimbus Sans L"
/usr/bin/fop \
-xml mybook.xml \
-xsl /usr/share/sgml/docbook/xsl-stylesheets/fo/docbook.xsl \
-param body.font.family "${FONT}" \
-param title.font.family "${FONT}" \
-param monospace.font.family "${FONT}" \
-param symbol.font.family "${FONT}" \
-pdfa1b mybook.pdf
WARNING: Font «Nimbus Sans L,normal,400» not found. Substituting with «any,normal,400».
Исправление
Einstok_Fair,
:
При сборке PDF/A выдаётся сообщение
«For PDF/A-1b, all fonts, even the base 14 fonts, have to be embedded! Offending font: /Helvetica»
На эту тему есть пара ссылок из гугла:
https://stackoverflow.com/questions/45435698/fo-to-pdf-a-conversion-with-apache-fop-java-library
http://apache-fop.1065347.n5.nabble.com/To-PDF-a-Conversion-without-licensed-fonts-java-td45365.html
Мне непонятно, почему на stackoverflow пишут что «FOP defaults to using Helvetica when no font-family is set», в то время как в документации написано, что в этом случае используется Times.
When FOP does not have a specific font at its disposal (because it's not installed in the operating system or set up in FOP's configuration), the font is replaced with «any». «any» is internally mapped to the Base-14 font «Times» (see above).
http://apache-fop.1065347.n5.nabble.com/Font-substitution-td11238.html
Are you sure you have specified the font family for the entire document? If you forget to specify the font-family then it defaults to «sans-serif,Symbol,ZapfDingbats» By default sans-serif maps to Helvetica, so that may be how it ends being used in your case.
А как указать шрифт всего документа?
Теперь дальше, почему нет шрифта Гельветика? Потому что он проприетарный. В википедии есть по этому поводу специальный раздел: Helvetica -> Nimbus Sans L
Есть ли такой? Да:
$ fc-list | grep "Nimbus Sans L" | sort
/usr/share/fonts/urw-fonts/n019003l.pfb: Nimbus Sans L:style=Regular
/usr/share/fonts/urw-fonts/n019004l.pfb: Nimbus Sans L:style=Bold
/usr/share/fonts/urw-fonts/n019023l.pfb: Nimbus Sans L:style=Regular Italic
/usr/share/fonts/urw-fonts/n019024l.pfb: Nimbus Sans L:style=Bold Italic
/usr/share/fonts/urw-fonts/n019043l.pfb: Nimbus Sans L:style=Regular Condensed
/usr/share/fonts/urw-fonts/n019044l.pfb: Nimbus Sans L:style=Bold Condensed
/usr/share/fonts/urw-fonts/n019063l.pfb: Nimbus Sans L:style=Regular Condensed Italic
/usr/share/fonts/urw-fonts/n019064l.pfb: Nimbus Sans L:style=Bold Condensed Italic
FONT="Nimbus Sans L"
$ qfile /usr/share/fonts/urw-fonts/n019003l.pfb
media-fonts/urw-fonts: /usr/share/fonts/urw-fonts/n019003l.pfb
У fop есть разные параметры командной строки, и если я запускаю его таким образом:
#!/bin/bash
/usr/bin/fop \
-xml mybook.xml \
-xsl /usr/share/sgml/docbook/xsl-stylesheets/fo/docbook.xsl \
-param body.font.family "${FONT}" \
-param title.font.family "${FONT}" \
-param monospace.font.family "${FONT}" \
-param symbol.font.family "${FONT}" \
-pdfa1b mybook.pdf
WARNING: Font «Nimbus Sans L,normal,400» not found. Substituting with «any,normal,400».
Исправление
Einstok_Fair,
:
При сборке PDF/A выдаётся сообщение
«For PDF/A-1b, all fonts, even the base 14 fonts, have to be embedded! Offending font: /Helvetica»
На эту тему есть пара ссылок из гугла:
https://stackoverflow.com/questions/45435698/fo-to-pdf-a-conversion-with-apache-fop-java-library
http://apache-fop.1065347.n5.nabble.com/To-PDF-a-Conversion-without-licensed-fonts-java-td45365.html
Мне непонятно, почему на stackoverflow пишут что «FOP defaults to using Helvetica when no font-family is set», в то время как в документации написано, что в этом случае используется Times.
When FOP does not have a specific font at its disposal (because it's not installed in the operating system or set up in FOP's configuration), the font is replaced with «any». «any» is internally mapped to the Base-14 font «Times» (see above).
http://apache-fop.1065347.n5.nabble.com/Font-substitution-td11238.html
Are you sure you have specified the font family for the entire document? If you forget to specify the font-family then it defaults to «sans-serif,Symbol,ZapfDingbats» By default sans-serif maps to Helvetica, so that may be how it ends being used in your case.
А как указать шрифт всего документа?
Теперь дальше, почему нет шрифта Гельветика? Потому что он проприетарный. В википедии есть по этому поводу специальный раздел: Helvetica -> Nimbus Sans L
Есть ли такой? Да:
$ fc-list | grep "Nimbus Sans L" | sort
/usr/share/fonts/urw-fonts/n019003l.pfb: Nimbus Sans L:style=Regular
/usr/share/fonts/urw-fonts/n019004l.pfb: Nimbus Sans L:style=Bold
/usr/share/fonts/urw-fonts/n019023l.pfb: Nimbus Sans L:style=Regular Italic
/usr/share/fonts/urw-fonts/n019024l.pfb: Nimbus Sans L:style=Bold Italic
/usr/share/fonts/urw-fonts/n019043l.pfb: Nimbus Sans L:style=Regular Condensed
/usr/share/fonts/urw-fonts/n019044l.pfb: Nimbus Sans L:style=Bold Condensed
/usr/share/fonts/urw-fonts/n019063l.pfb: Nimbus Sans L:style=Regular Condensed Italic
/usr/share/fonts/urw-fonts/n019064l.pfb: Nimbus Sans L:style=Bold Condensed Italic
$ qfile /usr/share/fonts/urw-fonts/n019003l.pfb
media-fonts/urw-fonts: /usr/share/fonts/urw-fonts/n019003l.pfb
Исходная версия
Einstok_Fair,
:
При сборке PDF/A выдаётся сообщение
«For PDF/A-1b, all fonts, even the base 14 fonts, have to be embedded! Offending font: /Helvetica»
На эту тему есть пара ссылок из гугла:
https://stackoverflow.com/questions/45435698/fo-to-pdf-a-conversion-with-apache-fop-java-library
http://apache-fop.1065347.n5.nabble.com/To-PDF-a-Conversion-without-licensed-fonts-java-td45365.html
Мне непонятно, почему на stackoverflow пишут что «FOP defaults to using Helvetica when no font-family is set», в то время как в документации написано, что в этом случае используется Times.
When FOP does not have a specific font at its disposal (because it's not installed in the operating system or set up in FOP's configuration), the font is replaced with «any». «any» is internally mapped to the Base-14 font «Times» (see above).
Теперь дальше, почему нет шрифта Гельветика? Потому что он проприетарный. В википедии есть по этому поводу специальный раздел: Helvetica -> Nimbus Sans L
Есть ли такой? Да:
$ fc-list | grep "Nimbus Sans L" | sort
/usr/share/fonts/urw-fonts/n019003l.pfb: Nimbus Sans L:style=Regular
/usr/share/fonts/urw-fonts/n019004l.pfb: Nimbus Sans L:style=Bold
/usr/share/fonts/urw-fonts/n019023l.pfb: Nimbus Sans L:style=Regular Italic
/usr/share/fonts/urw-fonts/n019024l.pfb: Nimbus Sans L:style=Bold Italic
/usr/share/fonts/urw-fonts/n019043l.pfb: Nimbus Sans L:style=Regular Condensed
/usr/share/fonts/urw-fonts/n019044l.pfb: Nimbus Sans L:style=Bold Condensed
/usr/share/fonts/urw-fonts/n019063l.pfb: Nimbus Sans L:style=Regular Condensed Italic
/usr/share/fonts/urw-fonts/n019064l.pfb: Nimbus Sans L:style=Bold Condensed Italic
$ qfile /usr/share/fonts/urw-fonts/n019003l.pfb
media-fonts/urw-fonts: /usr/share/fonts/urw-fonts/n019003l.pfb