Quote:
Originally Posted by NuPogodi
I guess I've found small, but rather annoying bug. It concerns to the font selection in kindlepdfviewer's crengine, namely, the text of chapter titles: no matter which font i select via fonts menu, the title font (in fb2: everything inside of <title>...</title>) is not changed. It should actually be not a large problem unless the default font does not include cyrillic glyphs (and east european as well) and, hence, displayed as a set of ????????? (please, look at the top of the following screenshot)
http://smotr.im/4Cma
Till now I've found out the only solution: after deleting all cff-fonts, crengine starts to select another font for titles (probably, DroidSans.ttf) which properly display cyrillic and east european characters. Yet, it still remains independent of the font_face selection (just note that the main text is serif, the title is sans serif on the following screenshot).
http://smotr.im/4Cm9
I've tested several epubs & fb2s, cyrillic glyphs and east european ones (polish, czekh). The result remains the same.
1. Could you, please, look at the crengine codes and fix this bug?
2. May somebody answer what the cff-fonts are used for?
PS. To be sure, I inspected the same source files in CoolReader3 for Kindle. So, i may definitely say that the bug is not related to crengine itself (see screenshot)
http://smotr.im/4Cmb
|
Thanks for the report. I think this bug is related to the Chinese support bug in epub previously reported. All of them show "?" because the child node's fontface is not changed when users selects a different font from the font menu. Often, these nodes come up with a invalid default type face, so crengine will try to find a replacement that matches best. So if you delete some fonts, crengine will have less choices and more likely to choose the one that you want.
And yes, upstream cool reader does not have this bug, so it is a bug in kindlepdfviewer's code. But I haven't found the perfect solution yet. Probably, kindlepdfviewer is not calling the right methods in font changing or page rendering. We are only calling public methods now, but I see that CoolReader3 also calls protected methods. I am a terrible CPP programmer, so maybe someone else can find out the right solution.
So far, I only come up with a one line dirty hack as a fix.