Forum How do I...?

Extra Italics with Prince 7

somnath
Hi,

I am using custom OTF fonts for a Project which uses styles Cursive & Bold Cursive instead of Italic & Bold Italic. The problem is in output PDF (using Prince 7.0) which shows extra or double italics for italicized text.

Has anybody come across this? Is this because Prince 7.0 synthesizes bold and italic fonts in the PDF output when a true bold or italic font is not available?



Thanks,
Somnath
mikeday
That sounds like the problem. Do you want italic text to use a different font, or just display the same as non-italic text?
mikeday
The problem is that the font is claiming not to be italic, even though it clearly is.

For now, you will need to call it a normal font, to make sure that Prince doesn't attempt to artifically slant it.

In the future we plan to change the way @font-face rules work, so that you can say this is an italic font and Prince will believe you, even if the font file itself claims not to be italic. At the moment Prince listens to the font, and the font is lying. :)
somnath
Hi Mike,

Can we have a Prince extension or anything that could stop artificial font emboldening & slanting?

Regards,
Somnath
mikeday
Okay, we'll add a secret command-line option, --no-artificial-fonts, which will disable synthesis of bold and italic fonts when none are found. This will be in Prince 7.1, hopefully to be released this month. It's a workaround until we can fix the underlying issue with @font-face.
mikeday
Prince 7.1 is out -- finally -- and includes the new experimental command-line option. :)
oscherler
What if I want to use a light font for normal text and a regular one for bold? The regular won’t say it’s bold but it won’t be lying. What business is it of Prince to add faux bold on top of it without me specifically asking?

What about making Prince believe me, instead of still having to rely on an undocumented command-line option? What about AT THE VERY LEAST documenting that option?
mikeday
If you want a light font, you can ask for a light font. Or you can create a CSS class called "bold" and map it to a light font:
.bold { font-weight: 200 }

But we should definitely document the --no-artificial-fonts option; it's been nearly four years, so it's not experimental any more. :)
dauwhe
Just found another italic font claiming not to be italic: "Celeste OT Italic." If only we had a license for FontLab I could fix it...



  1. Celeste-Italic.png145.7 kB
mikeday
Maybe FontForge can do it? Either that or whip up a quick C program. :D
mikeday
It took longer than I had hoped, but the latest builds finally fix this issue and a @font-face rule with font-weight: bold or font-style: italic will now not be artificially emboldened or slanted, as appropriate. Thanks for your patience! :D