*************** *** 96,101 **** { struct font *f; struct glyph *g; for (f = font_head; f != NULL; f = f->next) if ((f->flags & FONT_LOADED) && !(f->flags & FONT_VIRTUAL)) --- 108,136 ---- { struct font *f; struct glyph *g; + #if defined(KANJI) && !defined(ASCIIDNP) + int n, maxchar; + + for (f = font_head; f != NULL; f = f->next) + if ((f->flags & FONT_LOADED) && !(f->flags & FONT_VIRTUAL)) { + maxchar = (f->flags & FONT_KANJI) ? KTABLESIZE : f->maxchar + 1; + for (n = 0; n < maxchar; ++n) { + g = (f->flags & FONT_KANJI) ? f->kglyph[n] : &f->glyph[n]; + if (g != NULL) { + if (g->bitmap2.bits) { + free(g->bitmap2.bits); + g->bitmap2.bits = NULL; + } + #ifdef GREY + if (g->pixmap2) { + XDestroyImage(g->image2); + g->pixmap2 = NULL; + } + #endif + } + } + } + #else /* KANJI && !ASCIIDNP */ for (f = font_head; f != NULL; f = f->next) if ((f->flags & FONT_LOADED) && !(f->flags & FONT_VIRTUAL)) *************** *** 115,120 **** } #endif } } /* --- 150,156 ---- } #endif } + #endif /* KANJI && !ASCIIDNP */ } /*