koreader / crengine

This is the KOReader CREngine fork. It cross-pollinates with the official CoolReader repository at https://github.com/buggins/coolreader, in case you were looking for that one.
70 stars 45 forks source link

lvfntman: add error traces for some freetype calls #573

Closed benoit-pierre closed 2 months ago

benoit-pierre commented 2 months ago

This change is Reviewable

poire-z commented 2 months ago

Why did you need that, and what do you/we can expect to see? And how often may we see them? For CRE explicite high-level-business warn/error that may matter to the user and us, I added some printf with some "CRE" prefix so they stand out. So may be a hardcoded CRE_FT prefix would be nice. crengine has its own CRLOG stuff (that I rarely need to enable) - dunno if it uses stdout or stderr; it feels odd to add a third system of logging.

benoit-pierre commented 2 months ago

Why did you need that, and what do you/we can expect to see? And how often may we see them?

When some obfuscated fonts can be loaded for example :P. So not often. But since an ebook might still appear to render fine, I think it's a good idea to have something in the log warning us about it.

For CRE explicite high-level-business warn/error that may matter to the user and us, I added some printf with some "CRE" prefix so they stand out. So may be a hardcoded CRE_FT prefix would be nice.

I'll add a prefix.

crengine has its own CRLOG stuff (that I rarely need to enable) - dunno if it uses stdout or stderr; it feels odd to add a third system of logging.

Yeah, but that's a lot of baggage, and it's not enabled by default (even in debug mode). We already have some fprintf(…) calls sprinkled here and there.

benoit-pierre commented 2 months ago

The font related errors I would get rid of are about already registered fonts (06/24/24-00:56:38 ERROR failed to register crengine font: cannot register font <[…]>): my log is littered with those (including when running the test suite).

poire-z commented 2 months ago

my log is littered with those

So, why does this happen ? Why do you keep these fonts that crengine can't use ? :) I think it's good to let the user know some won't be used (happened to me I think when playing with multi-weighted font, it's good to see which aren't used).