Add support for PFB files. This seems to have caused me to completely
[sgt/halibut] / halibut.h
index eb62b9e..51c6dd4 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 )
@@ -248,6 +249,11 @@ enum {
     err_afmkey,                       /* missing expected keyword in AFM */
     err_afmvers,                      /* unsupported AFM version */
     err_afmval,                       /* missing value(s) for AFM key */
+    err_pfeof,                        /* eof in Type 1 font file */
+    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_whatever                       /* random error of another type */
 };
 
@@ -361,6 +367,7 @@ void rdadds(rdstring *rs, wchar_t const *p);
 wchar_t *rdtrim(rdstring *rs);
 void rdaddc(rdstringc *rs, char c);
 void rdaddsc(rdstringc *rs, char const *p);
+void rdaddsn(rdstringc *rc, char const *p, int len);
 char *rdtrimc(rdstringc *rs);
 
 int compare_wordlists(word *a, word *b);
@@ -391,6 +398,12 @@ paragraph *read_input(input *in, indexdata *idx);
 void read_afm_file(input *in);
 
 /*
+ * in_pf.c
+ */
+void read_pfa_file(input *in);
+void read_pfb_file(input *in);
+
+/*
  * keywords.c
  */
 struct keywordlist_Tag {