This is font-open.c in view mode; [Download] [Up]
/* font-open.c: find font filenames. This bears no relation (but the
interface) to the original font_open.c, so I renamed it. */
#include "config.h"
#include <kpathsea/c-fopen.h>
#include <kpathsea/tex-glyph.h>
/* We try for a VF first because that's what dvips does. Also, it's
easier to avoid running MakeTeXPK if we have a VF this way. */
FILE *
font_open (font, font_ret, dpi, dpi_ret, dummy, filename_ret)
_Xconst char *font;
char **font_ret;
double dpi;
int *dpi_ret;
int dummy;
char **filename_ret;
{
FILE *ret;
char *name = kpse_find_vf (font);
if (name)
{
/* VF fonts don't have a resolution, but loadfont will complain if
we don't return what it asked for. */
*dpi_ret = dpi;
*font_ret = NULL;
}
else
{
kpse_glyph_file_type file_ret;
name = kpse_find_glyph (font, (unsigned) (dpi + .5),
kpse_any_glyph_format, &file_ret);
if (name)
{
/* If we got it normally, from an alias, or from MakeTeXPK,
don't fill in FONT_RET. That tells load_font to complain. */
*font_ret
= file_ret.source == kpse_glyph_source_fallback ? file_ret.name
: NULL; /* tell load_font we found something good */
*dpi_ret = file_ret.dpi;
}
/* If no VF and no PK, FONT_RET is irrelevant? */
}
/* If we found a name, return the stream. */
ret = name ? xfopen (name, FOPEN_R_MODE) : NULL;
*filename_ret = name;
return ret;
}
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.