Glyph not found error on different linux kernel version

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Glyph not found error on different linux kernel version

Yogesh Bhosale
I am using apache fop 2.0 for document generation. I was using auto-detect feature to detect fonts from the specified directory. This directory contained two font files (.ttf, .pfb) for a same font; earlier this setting used to work for me. Until I upgraded my linux kernel version and It started picking wrong font file, so while generating PNG document I am getting error "Glyph not found" for some characters and document generated is garbled. To fix this error, I added the manual font mapping to .ttf file along with auto-detect. This fix worked but it caused latency to increase. Any clue on this behaviour?
Reply | Threaded
Open this post in threaded view
|

Re: Glyph not found error on different linux kernel version

Chris Bowditch
Hi,

Auto-detect is fairly unreliable, and listing the specific fonts you
need is recommended. What do you mean by latency increased?

Thanks,

Chris

On 19/02/2019 08:58, Yogesh Bhosale wrote:

> I am using apache fop 2.0 for document generation. I was using
> auto-detect feature to detect fonts from the specified directory. This
> directory contained two font files (.ttf, .pfb) for a same font;
> earlier this setting used to work for me. Until I upgraded my linux
> kernel version and It started picking wrong font file, so while
> generating PNG document I am getting error "Glyph not found" for some
> characters and document generated is garbled. To fix this error, I
> added the manual font mapping to .ttf file along with auto-detect.
> This fix worked but it caused latency to increase. Any clue on this
> behaviour?



---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: Glyph not found error on different linux kernel version

Yogesh Bhosale
Hi,

I figured out the issue. Auto detect relies on "File.listFiles()" java method to get list of font files. This method returns list of files present in specified autodetect directory. But the ordering of files is system dependent, so if you have two files for same font which one will be picked depends on order. Therefore with underlying kernel update, application started picking wrong font file and henve the issue. I tackled this issue with specifying correct font files.

Comming to latency issue, I had metrics which showed me the increase avg latency for the application. I figured out reason for this also. FOP creates "FontInfo" object for each renderer, it contains glyph data for the fonts. With configuration containing both manual and autodetect font mapping, each font file started loading up twice hence the increase in latency.

Regards,
Yogesh

On Mon, Mar 4, 2019, 17:47 Chris <[hidden email]> wrote:
Hi,

Auto-detect is fairly unreliable, and listing the specific fonts you
need is recommended. What do you mean by latency increased?

Thanks,

Chris

On 19/02/2019 08:58, Yogesh Bhosale wrote:
> I am using apache fop 2.0 for document generation. I was using
> auto-detect feature to detect fonts from the specified directory. This
> directory contained two font files (.ttf, .pfb) for a same font;
> earlier this setting used to work for me. Until I upgraded my linux
> kernel version and It started picking wrong font file, so while
> generating PNG document I am getting error "Glyph not found" for some
> characters and document generated is garbled. To fix this error, I
> added the manual font mapping to .ttf file along with auto-detect.
> This fix worked but it caused latency to increase. Any clue on this
> behaviour?