Add a --list-fonts option, since getting PostScript names out of TrueType
[sgt/halibut] / halibut.h
index 3cb1ed7..183a0cb 100644 (file)
--- a/halibut.h
+++ b/halibut.h
@@ -185,6 +185,7 @@ enum {
     quote_Close = 0x0020,
     quote_mask  = 0x0030
 };
+#define isvis(x) ( ( (x) >= word_Normal && (x) <= word_LowerXref ) )
 #define isattr(x) ( ( (x) > word_Normal && (x) < word_WhiteSpace ) || \
                     ( (x) > word_WhiteSpace && (x) < word_internal_endattrs ) )
 #define sameattr(x,y) ( (((x)-(y)) & 3) == 0 )
@@ -252,6 +253,13 @@ enum {
     err_pfhead,                               /* bad Type 1 header line */
     err_pfbad,                        /* otherwise invalide Type 1 font */
     err_pfnoafm,                      /* Type 1 font but no AFM */
+    err_chmnames,                     /* need both or neither of hhp+chm */
+    err_sfntnotable,                  /* required sfnt table missing */
+    err_sfntnopsname,                 /* sfnt has no PostScript name */
+    err_sfntbadtable,                 /* sfnt table not valid */
+    err_sfntnounicmap,                /* sfnt has no UCS-2 cmap */
+    err_sfnttablevers,                /* sfnt table version unknown */
+    err_sfntbadhdr,                   /* sfnt has bad header */
     err_whatever                       /* random error of another type */
 };
 
@@ -273,7 +281,7 @@ void sfree(void *p);
 void free_word_list(word *w);
 void free_para_list(paragraph *p);
 word *dup_word_list(word *w);
-char *dupstr(char *s);
+char *dupstr(char const *s);
 
 #define snew(type) ( (type *) smalloc (sizeof (type)) )
 #define snewn(number, type) ( (type *) smalloc ((number) * sizeof (type)) )
@@ -399,6 +407,12 @@ void read_afm_file(input *in);
  * in_pf.c
  */
 void read_pfa_file(input *in);
+void read_pfb_file(input *in);
+
+/*
+ * in_sfnt.c
+ */
+void read_sfnt_file(input *in);
 
 /*
  * keywords.c
@@ -513,6 +527,7 @@ paragraph *info_config_filename(char *filename);
  * bk_paper.c
  */
 void *paper_pre_backend(paragraph *, keywordlist *, indexdata *);
+void listfonts(void);
 
 /*
  * bk_ps.c