/*
 * $Id: font.h,v 1.6 2000/08/10 21:02:50 danny Exp $
 *
 * Copyright © 1992, 1993 Free Software Foundation, Inc.
 * 
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2, or (at your option)
 * any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this software; see the file COPYING.  If not, write to
 * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
 */

#ifndef FONTH
#define FONTH

#include "global.h"
#include "line.h"


/* Oleo' concept of a font family: */
struct font_names
{
  struct font_names * next;

  char * oleo_name;		/* like `times' */
  char * x_name;		/* like `*times-medium-r-*'.  In particular,
				 * the defintion will only scale properly
				 * if the point size is wild-carded.
				 */
  char * ps_name;		/* like `Times-Roman'. */
};

/* Oleo's concept of a particular set of glyphs (specified as a family + a 
 * point size (relative to the default).
 */
struct font_memo
{
  struct font_memo * next;
  struct font_names * names;
  double scale;			/* ratio of def pt. size to this */
  int id_memo;			/* This is used by oleofile. */
};

extern struct font_memo *font_list;

extern void define_font (char * oleo_name, char * x_name, char * ps_name);
extern struct font_memo * intern_font (char * oleo_name, double scale);
extern struct font_memo * default_font (void);
extern struct font_memo * matching_font (char * x_name, char * ps_name, double scale);
extern struct font_memo * parsed_matching_font (char * fullname);
extern void set_region_font (struct rng *rng, char * oleo_name, double scale);
extern void flush_fonts (void);
extern void set_x_default_font (char * str);
extern void set_ps_font_cmd (char * ps_name);
extern void set_default_font (char * name, double scale);
extern void init_fonts (void);

#endif


syntax highlighted by Code2HTML, v. 0.9.1