From ad547a6b5986815fda458221149728d9d9ab1d87 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 25 Feb 2021 19:22:25 +0000 Subject: restore Build,TODO from r57911 git-svn-id: svn://tug.org/texlive/trunk@57915 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/texk/xdvik/font-open.h | 95 +++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 Build/source/texk/xdvik/font-open.h (limited to 'Build/source/texk/xdvik/font-open.h') diff --git a/Build/source/texk/xdvik/font-open.h b/Build/source/texk/xdvik/font-open.h new file mode 100644 index 00000000000..236ee6d7192 --- /dev/null +++ b/Build/source/texk/xdvik/font-open.h @@ -0,0 +1,95 @@ +/* + * Copyright (c) 2002-2013 the xdvik development team + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * PAUL VOJTA OR ANY OTHER AUTHOR OF THIS SOFTWARE BE LIABLE FOR ANY CLAIM, + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +#ifndef FONT_OPEN_H_ +#define FONT_OPEN_H_ + + +#if FREETYPE || PS + +#include "util.h" /* get AVL basics */ + +#if FREETYPE +# include +# include FT_FREETYPE_H +#endif + + +/* + * AVL tree structures. + */ + + /* Data structure for Type 1 fonts -- contents of psfonts.map */ +struct avl_t1 { + AVL_COMMON; + const char *psname; /* PS name of font */ + const char *fontfile; /* (short) name of pfa/pfb file */ + const char *encname; /* (short) name of encoding file */ + const char *addinfo; /* additional PS instructions */ +# if FREETYPE + Boolean bad; /* if later found to be unloadable */ + struct ftfont *ft; /* pointer to FreeType record */ +# endif +}; + + +# if FREETYPE + +struct ftfont { /* info for FreeType font (Type 1 or TrueType) */ + FT_Face face; /* NULL means not loaded yet */ + struct font *first_size; + struct avl_t1 *t1; + /* struct avl_tt *tt; */ + struct FT_StreamRec_ stream; + struct avl_enc *enc; /* pointer to encoding record */ + double expn; /* expansion factor */ +}; + +struct avl_enc { + AVL_COMMON; + Boolean valid; + const char *vec[256]; +}; + +# endif /* FREETYPE */ + +extern Boolean init_t1_lookup(void); +extern Boolean lookup_t1_font(struct font *fontp, const char *fontname); +extern FILE *open_t1_font (struct avl_t1 *t1p, const char **path_ret); +extern void read_encoding(struct avl_enc *encp); + +#endif /* FREETYPE || PS */ + + +extern FILE *font_open( +#if DELAYED_MKTEXPK + Boolean load_font_now, +#endif + struct font *fontp, + const char **font_ret, + int *dpi_ret); + +#if DELAYED_MKTEXPK +void reset_missing_font_count(void); +#endif + +#endif /* FONT_OPEN_H_ */ -- cgit v1.2.3