Sync-to-go: update copyright for 2015
[s-roff.git] / src / lib-roff / fontfile.cpp
blob7d43731fb364a805512170b5b38c2df5b40c1df6
1 /*@
2 * Copyright (c) 2014 - 2015 Steffen (Daode) Nurpmeso <sdaoden@users.sf.net>.
4 * Copyright (C) 1989 - 1992, 2000 - 2002, 2004, 2006
5 * Free Software Foundation, Inc.
6 * Written by James Clark (jjc@jclark.com)
8 * This is free software; you can redistribute it and/or modify it under
9 * the terms of the GNU General Public License as published by the Free
10 * Software Foundation; either version 2, or (at your option) any later
11 * version.
13 * This is distributed in the hope that it will be useful, but WITHOUT ANY
14 * WARRANTY; without even the implied warranty of MERCHANTABILITY or
15 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
16 * for more details.
18 * You should have received a copy of the GNU General Public License along
19 * with groff; see the file COPYING. If not, write to the Free Software
20 * Foundation, 51 Franklin St - Fifth Floor, Boston, MA 02110-1301, USA.
23 #include "config.h"
24 #include "lib.h"
26 #include <assert.h>
27 #include <errno.h>
28 #include <stdlib.h>
30 #include "defs.h"
31 #include "device.h"
32 #include "file_case.h"
33 #include "font.h"
34 #include "searchpath.h"
36 const char * const FONT_ENV_VAR = U_ROFF_FONT_PATH;
38 static search_path font_path(FONT_ENV_VAR, FONTPATH, 0, 0);
40 int font::res = 0;
41 int font::hor = 1;
42 int font::vert = 1;
43 int font::unitwidth = 0;
44 int font::paperwidth = 0;
45 int font::paperlength = 0;
46 const char *font::papersize = 0;
47 int font::biggestfont = 0;
48 int font::spare2 = 0;
49 int font::sizescale = 1;
50 int font::tcommand = 0;
51 int font::pass_filenames = 0;
52 int font::unscaled_charwidths = 0;
53 int font::use_charnames_in_special = 0;
54 int font::is_unicode = 0;
55 const char *font::image_generator = NULL;
56 const char **font::font_name_table = 0;
57 int *font::sizes = 0;
58 const char *font::family = 0;
59 const char **font::style_table = 0;
60 FONT_COMMAND_HANDLER font::unknown_desc_command_handler = 0;
62 void font::command_line_font_dir(const char *dir)
64 font_path.command_line_dir(dir);
67 file_case *font::open_file(const char *name, uint32_t flags)
69 assert(!(flags & ~file_case::mux_mask));
71 char *filename = new char[strlen(name) + strlen(device) + 5];
72 sprintf(filename, "dev-%s/%s", device, name);
73 return font_path.open_file(filename, flags | file_case::fc_take_path);
76 // s-it2-mode