summaryrefslogtreecommitdiffstats
path: root/modules/freetype2/include/freetype/internal/cffotypes.h
diff options
context:
space:
mode:
Diffstat (limited to 'modules/freetype2/include/freetype/internal/cffotypes.h')
-rw-r--r--modules/freetype2/include/freetype/internal/cffotypes.h107
1 files changed, 107 insertions, 0 deletions
diff --git a/modules/freetype2/include/freetype/internal/cffotypes.h b/modules/freetype2/include/freetype/internal/cffotypes.h
new file mode 100644
index 0000000000..50d5353849
--- /dev/null
+++ b/modules/freetype2/include/freetype/internal/cffotypes.h
@@ -0,0 +1,107 @@
+/****************************************************************************
+ *
+ * cffotypes.h
+ *
+ * Basic OpenType/CFF object type definitions (specification).
+ *
+ * Copyright (C) 2017-2023 by
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT. By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
+
+
+#ifndef CFFOTYPES_H_
+#define CFFOTYPES_H_
+
+#include <freetype/internal/ftobjs.h>
+#include <freetype/internal/cfftypes.h>
+#include <freetype/internal/tttypes.h>
+#include <freetype/internal/services/svpscmap.h>
+#include <freetype/internal/pshints.h>
+
+
+FT_BEGIN_HEADER
+
+
+ typedef TT_Face CFF_Face;
+
+
+ /**************************************************************************
+ *
+ * @type:
+ * CFF_Size
+ *
+ * @description:
+ * A handle to an OpenType size object.
+ */
+ typedef struct CFF_SizeRec_
+ {
+ FT_SizeRec root;
+ FT_ULong strike_index; /* 0xFFFFFFFF to indicate invalid */
+
+ } CFF_SizeRec, *CFF_Size;
+
+
+ /**************************************************************************
+ *
+ * @type:
+ * CFF_GlyphSlot
+ *
+ * @description:
+ * A handle to an OpenType glyph slot object.
+ */
+ typedef struct CFF_GlyphSlotRec_
+ {
+ FT_GlyphSlotRec root;
+
+ FT_Bool hint;
+ FT_Bool scaled;
+
+ FT_Fixed x_scale;
+ FT_Fixed y_scale;
+
+ } CFF_GlyphSlotRec, *CFF_GlyphSlot;
+
+
+ /**************************************************************************
+ *
+ * @type:
+ * CFF_Internal
+ *
+ * @description:
+ * The interface to the 'internal' field of `FT_Size`.
+ */
+ typedef struct CFF_InternalRec_
+ {
+ PSH_Globals topfont;
+ PSH_Globals subfonts[CFF_MAX_CID_FONTS];
+
+ } CFF_InternalRec, *CFF_Internal;
+
+
+ /**************************************************************************
+ *
+ * Subglyph transformation record.
+ */
+ typedef struct CFF_Transform_
+ {
+ FT_Fixed xx, xy; /* transformation matrix coefficients */
+ FT_Fixed yx, yy;
+ FT_F26Dot6 ox, oy; /* offsets */
+
+ } CFF_Transform;
+
+
+FT_END_HEADER
+
+
+#endif /* CFFOTYPES_H_ */
+
+
+/* END */