summaryrefslogtreecommitdiff
path: root/Build/source/texk/ps2pk/ffilest.h
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/ps2pk/ffilest.h')
-rw-r--r--Build/source/texk/ps2pk/ffilest.h153
1 files changed, 153 insertions, 0 deletions
diff --git a/Build/source/texk/ps2pk/ffilest.h b/Build/source/texk/ps2pk/ffilest.h
new file mode 100644
index 00000000000..006e5fa0423
--- /dev/null
+++ b/Build/source/texk/ps2pk/ffilest.h
@@ -0,0 +1,153 @@
+/*
+ * $XConsortium: fontfilest.h,v 1.3 91/07/16 20:15:16 keith Exp $
+ *
+ * Copyright 1991 Massachusetts Institute of Technology
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of M.I.T. not be used in advertising or
+ * publicity pertaining to distribution of the software without specific,
+ * written prior permission. M.I.T. makes no representations about the
+ * suitability of this software for any purpose. It is provided "as is"
+ * without express or implied warranty.
+ *
+ * M.I.T. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL M.I.T.
+ * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+ * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * Author: Keith Packard, MIT X Consortium
+ */
+
+#ifndef _FONTFILEST_H_
+#define _FONTFILEST_H_
+
+#ifdef XSERVER
+#include <X11/Xos.h>
+#else
+#include "types.h"
+#include "Xstuff.h"
+#endif
+
+#include "fontmisc.h"
+#include "fontstruct.h"
+#include "fontfile.h"
+#include "fontxlfd.h"
+
+typedef struct _FontName {
+ const char *name;
+ short length;
+ short ndashes;
+} FontNameRec;
+
+typedef struct _FontScaled {
+ FontScalableRec vals;
+ FontEntryPtr bitmap;
+ FontPtr pFont;
+} FontScaledRec;
+
+typedef struct _FontScalableExtra {
+ FontScalableRec defaults;
+ int numScaled;
+ int sizeScaled;
+ FontScaledPtr scaled;
+ pointer private;
+} FontScalableExtraRec;
+
+typedef struct _FontScalableEntry {
+ FontRendererPtr renderer;
+ char *fileName;
+ FontScalableExtraPtr extra;
+} FontScalableEntryRec;
+
+/*
+ * This "can't" work yet - the returned alias string must be permanent,
+ * but this layer would need to generate the appropriate name from the
+ * resolved scalable + the XLFD values passed in. XXX
+ */
+
+typedef struct _FontScaleAliasEntry {
+ char *resolved;
+} FontScaleAliasEntryRec;
+
+typedef struct _FontBitmapEntry {
+ FontRendererPtr renderer;
+ char *fileName;
+ FontPtr pFont;
+} FontBitmapEntryRec;
+
+typedef struct _FontAliasEntry {
+ char *resolved;
+} FontAliasEntryRec;
+
+typedef struct _FontBCEntry {
+ FontScalableRec vals;
+ FontEntryPtr entry;
+} FontBCEntryRec;
+
+typedef struct _FontEntry {
+ FontNameRec name;
+ int type;
+ union _FontEntryParts {
+ FontScalableEntryRec scalable;
+ FontBitmapEntryRec bitmap;
+ FontAliasEntryRec alias;
+ FontBCEntryRec bc;
+ } u;
+} FontEntryRec;
+
+typedef struct _FontTable {
+ int used;
+ int size;
+ FontEntryPtr entries;
+ Bool sorted;
+} FontTableRec;
+
+typedef struct _FontDirectory {
+ char *directory;
+ uint32_t dir_mtime;
+ uint32_t alias_mtime;
+ FontTableRec scalable;
+ FontTableRec nonScalable;
+} FontDirectoryRec;
+
+typedef struct _FontRenderer {
+ const char *fileSuffix;
+ int fileSuffixLen;
+ int (*OpenBitmap)(/* fpe, pFont, flags, entry, fileName, format, fmask */);
+ int (*OpenScalable)(/* fpe, pFont, flags, entry, fileName, vals, format, fmask */);
+ int (*GetInfoBitmap)(/* fpe, pFontInfo, entry, fileName */);
+ int (*GetInfoScalable)(/* fpe, pFontInfo, entry, fileName, vals */);
+ int number;
+} FontRendererRec;
+
+typedef struct _FontRenders {
+ int number;
+ FontRendererPtr *renderers;
+} FontRenderersRec, *FontRenderersPtr;
+
+typedef struct _BitmapInstance {
+ FontScalableRec vals;
+ FontBitmapEntryPtr bitmap;
+} BitmapInstanceRec, *BitmapInstancePtr;
+
+typedef struct _BitmapScalablePrivate {
+ int numInstances;
+ BitmapInstancePtr instances;
+} BitmapScalablePrivateRec, *BitmapScalablePrivatePtr;
+
+typedef struct _BitmapSources {
+ FontPathElementPtr *fpe;
+ int size;
+ int count;
+} BitmapSourcesRec, *BitmapSourcesPtr;
+
+extern BitmapSourcesRec FontFileBitmapSources;
+
+extern void Type1CloseFont(FontPtr);
+
+#endif /* _FONTFILEST_H_ */