/* Copyright (C) 2016-2020, Dirk Krause SPDX-License-Identifier: BSD-3-Clause */ /* WARNING: This file was generated by the dkct program (see http://dktools.sourceforge.net/ for details). Changes you make here will be lost if dkct is run again! You should modify the original source and run dkct on it. Original source: dk4font.ctr */ /** @file dk4font.h Header file for the dk4font module. */ #ifndef DK4FONT_H_INCLUDED /** Avoid multiple inclusions. */ #define DK4FONT_H_INCLUDED 1 #line 9 "dk4font.ctr" #ifndef DK4CONF_H_INCLUDED #if DK4_BUILDING_DKTOOLS4 #include "dk4conf.h" #else #include #endif #endif /** Font numbers the module can handle. */ typedef enum { DK4_FONT_TIMES_ROMAN = 0, DK4_FONT_TIMES_ITALIC , DK4_FONT_TIMES_BOLD , DK4_FONT_TIMES_BOLD_ITALIC , DK4_FONT_AVANTGARDE_BOOK , DK4_FONT_AVANTGARDE_BOOK_OBLIQUE , DK4_FONT_AVANTGARDE_DEMI , DK4_FONT_AVANTGARDE_DEMI_OBLIQUE , DK4_FONT_BOOKMAN_LIGHT , DK4_FONT_BOOKMAN_LIGHT_ITALIC , DK4_FONT_BOOKMAN_DEMI , DK4_FONT_BOOKMAN_DEMI_ITALIC , DK4_FONT_COURIER , DK4_FONT_COURIER_OBLIQUE , DK4_FONT_COURIER_BOLD , DK4_FONT_COURIER_BOLD_OBLIQUE , DK4_FONT_HELVETICA , DK4_FONT_HELVETICA_OBLIQUE , DK4_FONT_HELVETICA_BOLD , DK4_FONT_HELVETICA_BOLD_OBLIQUE , DK4_FONT_HELVETICA_NARROW , DK4_FONT_HELVETICA_NARROW_OBLIQUE , DK4_FONT_HELVETICA_NARROW_BOLD , DK4_FONT_HELVETICA_NARROW_BOLD_OBLIQUE , DK4_FONT_NEW_CENTURY_SCHOOLBOOK_ROMAN , DK4_FONT_NEW_CENTURY_SCHOOLBOOK_ITALIC , DK4_FONT_NEW_CENTURY_SCHOOLBOOK_BOLD , DK4_FONT_NEW_CENTURY_SCHOOLBOOK_BOLD_ITALIC , DK4_FONT_PALATINO_ROMAN , DK4_FONT_PALATINO_ITALIC , DK4_FONT_PALATINO_BOLD , DK4_FONT_PALATINO_BOLD_ITALIC , DK4_FONT_SYMBOL , DK4_FONT_ZAPF_CHANCERY , DK4_FONT_ZAPF_DINGBATS , /* We might want to add further LaTeX fonts here but no PS font name is available for fonts after this point. Remember to add corresponding entries to the dk4font_tex_family_names, dk4font_tex_names and dk4font_features arrays in the module section. Order of fonts here must correspond to the order of information in these arrays! */ /* Finally we set some constants for comparisons. */ DK4_FONT_PS_MAX = DK4_FONT_ZAPF_DINGBATS, /**< Maximum for PS. */ DK4_FONT_MAX = DK4_FONT_ZAPF_DINGBATS /**< Maximum value. */ } dk4_font_number_t; /** Font features. */ enum { /* Font families. */ DK4_FONT_FEATURE_ROMAN = 0, /**< Roman font. */ DK4_FONT_FEATURE_SANS_SERIF = 1, /**< Sans-serif font. */ DK4_FONT_FEATURE_TTY = 2, /**< Typewriter style font. */ DK4_FONT_FEATURE_SYMBOL = 3, /**< Symbol font. */ DK4_FONT_FEATURE_SCRIPT = 4, /**< Script, imitating hand writing. */ /* Font modifications. */ DK4_FONT_FEATURE_BOLD = 8, /**< Bold font. */ DK4_FONT_FEATURE_ITALIC = 16, /**< Italic font. */ DK4_FONT_FEATURE_OBLIQUE = 32, /**< Oblique font. */ DK4_FONT_FEATURE_NARROW = 64, /**< Narrow or condensed font. */ /* Masks to retrieve family or certain features. */ DK4_FONT_FEATURE_FT_MASK = 7, /**< Mask to retrieve sf or tty. */ DK4_FONT_FEATURE_ITOB_MASK = 48, /**< Mask for italic or oblique. */ }; #ifdef __cplusplus extern "C" { #endif /** Retrieve font name (without leading slash) for a PS font. @param fno Font number. @return Valid pointer on success (fno refers to a PS font), NULL otherwise. */ const char * dk4font_get_ps_name(dk4_font_number_t fno); /** Retrieve LaTeX font family name for a font. @param fno Font number. @return Valid pointer on success, NULL on error. */ const char * dk4font_get_latex_family_name(dk4_font_number_t fno); /** Retrieve LaTeX font name for a font. @param fno Font number. @return Valid pointer on success, NULL on error. */ const char * dk4font_get_latex_font_name(dk4_font_number_t fno); /** Retrieve font feature set for a font. @param fno Font number. @return Font feature set. */ int dk4font_get_features(dk4_font_number_t fno); /** Get font number for integer number. @param fno Font number as int. @return Font number as dk4_font_number_t. */ dk4_font_number_t dk4font_number_from_int(int fno); /** Retrieve font family. @param fno Font number. @return Font family. */ int dk4font_get_family(dk4_font_number_t fno); #ifdef __cplusplus } #endif /* vim: set ai sw=4 ts=4 : */ #endif