|
From: | Jason Rumney |
Subject: | bug#3208: 23.0.93; Memory full / crash when displaying lots of characters from a large font (like Arial Unicode or Code2000) which is not explicitly selected (on Win32) |
Date: | Thu, 18 Jun 2009 13:29:48 +0800 |
User-agent: | Thunderbird 2.0.0.21 (Windows/20090302) |
Kenichi Handa wrote:
Anyway, font_sort_entities is called from font_find_for_lface (via font_select_entity). Could you please find why font_find_for_lface is called so releatedly by setting breakpoint in fontset_find_font (with condition "c == 0x2203)?
I am still investigating this, but I've found that the problem is specific to the uniscribe font backend on Windows. I couldn't find the root cause by debugging, so I am now trying profiling to narrow the search.
With uniscribe font backend enabled, font_load_for_lface gets called 124k times from 165k calls to fontset_find_font before the memory overflow. The glyph that gets displayed is a double-width katakana YO from MS Mincho font (it seems the font defines the same glyph to be used for mathematical THERE EXISTS).
With only the gdi font backend enabled, font_load_for_lface gets called only once from 399k calls to fontset_find_font, but the default Courier New font is used to display the characters even though it does not contain a glyph (so the default empty box glyph is displayed).
[Prev in Thread] | Current Thread | [Next in Thread] |