Excuse me if I'm going further afield from this topic, but when I've seen this issue in the past, admittedly not specifically in Calibre, it was related to the order in which embedded font info was presented in css. If the italic style for a given font was listed before the normal one, I could get the inappropriate display of italicized text when it should have been normal. Reversing that order so that the @font-face selector with the font-style:normal is listed before font-style:italic often solved the problem. Whether that's the issue for @Ghitulescu or not, I can't say. But it may be worth a try.
Code:
/* incorrect order */
@font-face {
font-family: "Janson Text LT Std";
font-style: italic;
font-weight: normal;
src: url(../font/JansonTextLTStd-Italic.otf);
}
@font-face {
font-family: "Janson Text LT Std";
font-style: normal;
font-weight: normal;
src: url(../font/JansonTextLTStd-Roman.otf);
}
/* correct order */
@font-face {
font-family: "Janson Text LT Std";
font-style: normal;
font-weight: normal;
src: url(../font/JansonTextLTStd-Roman.otf);
}
@font-face {
font-family: "Janson Text LT Std";
font-style: italic;
font-weight: normal;
src: url(../font/JansonTextLTStd-Italic.otf);
}