+/*
+ * Format of the Unicode information:
+ *
+ * For each font position <uc>*<seq>*<term>
+ * where <uc> is a 2-byte little endian Unicode value (PSF1)
+ * or an UTF-8 coded value (PSF2),
+ * <seq> = <ss><uc><uc>*, <ss> = psf1 ? 0xFFFE : 0xFE,
+ * <term> = psf1 ? 0xFFFF : 0xFF.
+ * and * denotes zero or more occurrences of the preceding item.
+ *
+ * Semantics:
+ * The leading <uc>* part gives Unicode symbols that are all
+ * represented by this font position. The following sequences
+ * are sequences of Unicode symbols - probably a symbol
+ * together with combining accents - also represented by
+ * this font position.
+ *
+ * Example:
+ * At the font position for a capital A-ring glyph, we
+ * may have:
+ * 00C5,212B,FFFE,0041,030A,FFFF
+ * Some font positions may be described by sequences only,
+ * namely when there is no precomposed Unicode value for the glyph.
+ */
+#if !ENABLE_FEATURE_LOADFONT_PSF2
+#define do_loadtable(fd, inbuf, tailsz, fontsize, psf2) \
+ do_loadtable(fd, inbuf, tailsz, fontsize)
+#endif
+static void do_loadtable(int fd, unsigned char *inbuf, int tailsz, int fontsize, int psf2)