31 #define finfo search.info
32 #define TYPENAME(font) \
33 ((font)->finfo ? (font)->finfo->name : "none")
38 fseek(font->
in, (
long)0, SEEK_SET);
39 else if((font->
in = fopen(font->
filename,
"rb")) == NULL) {
60 status = font->finfo->load(params, font);
69 font->
fontname, status < 0 ?
"Error" :
"Ok"));
84 if(--font->
links == 0) {
108 for(; (ptr = head); ) {
120 for(font = (
DviFont *)fontlist.
head; font; font = next) {
140 if(font->finfo->freedata)
141 font->finfo->freedata(font);
170 if(strcmp(name, font->
fontname) == 0
172 && font->
hdpi == hdpi
173 && font->
vdpi == vdpi
174 && font->
scale == scale)
192 for(subfont_ref = font->
subfonts; subfont_ref; subfont_ref = subfont_ref->
next) {
281 if(font->finfo->getglyph == NULL) {
286 status = font->finfo->getglyph(&dvi->
params, font, code);
295 "%s: new %s bitmap for character %d:\n",
304 if(!font->finfo->scalable && font->
hdpi != font->
vdpi) {
311 if(ch->
width && ch->
height && (hs > 1 || vs > 1)) {
316 "%s: scaling glyph %d to resolution %dx%d\n",
325 font->finfo->shrink0(dvi, font, ch, &glyph);
360 if(font->
chars == NULL) {
371 font->finfo->getglyph == NULL ||
392 font->finfo->shrink1(dvi, font, ch, &ch->
grey);
394 font->finfo->shrink0(dvi, font, ch, &ch->
shrunk);
441 if(font->finfo->getglyph == NULL)
444 for(ch = font->
chars, i = font->
loc; i <= font->hic; ch++, i++) {
448 if((what & MDVI_FONTSEL_GLYPH) && font->finfo->reset)
449 font->finfo->reset(font);
456 for(ref = head; ref; ref = ref->
next)
473 if(dvi->
fonts == NULL) {
478 for(count = 0, ref = dvi->
fonts; ref; ref = ref->
next)
489 for(ref = dvi->
fonts; ref; ref = ref->
next)
507 sign = (map[n]->
fontid - id);