summaryrefslogtreecommitdiff
path: root/Build/source/libs/poppler/poppler-src/fofi/FoFiTrueType.h
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/poppler/poppler-src/fofi/FoFiTrueType.h')
-rw-r--r--Build/source/libs/poppler/poppler-src/fofi/FoFiTrueType.h213
1 files changed, 0 insertions, 213 deletions
diff --git a/Build/source/libs/poppler/poppler-src/fofi/FoFiTrueType.h b/Build/source/libs/poppler/poppler-src/fofi/FoFiTrueType.h
deleted file mode 100644
index 6bc4022f7db..00000000000
--- a/Build/source/libs/poppler/poppler-src/fofi/FoFiTrueType.h
+++ /dev/null
@@ -1,213 +0,0 @@
-//========================================================================
-//
-// FoFiTrueType.h
-//
-// Copyright 1999-2003 Glyph & Cog, LLC
-//
-//========================================================================
-
-//========================================================================
-//
-// Modified under the Poppler project - http://poppler.freedesktop.org
-//
-// All changes made under the Poppler project to this file are licensed
-// under GPL version 2 or later
-//
-// Copyright (C) 2006 Takashi Iwai <tiwai@suse.de>
-// Copyright (C) 2007 Koji Otani <sho@bbr.jp>
-// Copyright (C) 2011, 2012 Albert Astals Cid <aacid@kde.org>
-// Copyright (C) 2012 Suzuki Toshiya <mpsuzuki@hiroshima-u.ac.jp>
-// Copyright (C) 2016 William Bader <williambader@hotmail.com>
-// Copyright (C) 2018 Adam Reichold <adam.reichold@t-online.de>
-//
-// To see a description of the changes please see the Changelog file that
-// came with your tarball or type make ChangeLog if you are building from git
-//
-//========================================================================
-
-#ifndef FOFITRUETYPE_H
-#define FOFITRUETYPE_H
-
-#ifdef USE_GCC_PRAGMAS
-#pragma interface
-#endif
-
-#include "stddef.h"
-#include <unordered_map>
-#include <string>
-#include "goo/gtypes.h"
-#include "FoFiBase.h"
-
-class GooString;
-struct TrueTypeTable;
-struct TrueTypeCmap;
-
-//------------------------------------------------------------------------
-// FoFiTrueType
-//------------------------------------------------------------------------
-
-class FoFiTrueType: public FoFiBase {
-public:
-
- // Create a FoFiTrueType object from a memory buffer.
- static FoFiTrueType *make(char *fileA, int lenA, int faceIndexA=0);
-
- // Create a FoFiTrueType object from a file on disk.
- static FoFiTrueType *load(char *fileName, int faceIndexA=0);
-
- ~FoFiTrueType();
-
- // Returns true if this an OpenType font containing CFF data, false
- // if it's a TrueType font (or OpenType font with TrueType data).
- GBool isOpenTypeCFF() { return openTypeCFF; }
-
- // Return the number of cmaps defined by this font.
- int getNumCmaps();
-
- // Return the platform ID of the <i>th cmap.
- int getCmapPlatform(int i);
-
- // Return the encoding ID of the <i>th cmap.
- int getCmapEncoding(int i);
-
- // Return the index of the cmap for <platform>, <encoding>. Returns
- // -1 if there is no corresponding cmap.
- int findCmap(int platform, int encoding);
-
- // Return the GID corresponding to <c> according to the <i>th cmap.
- int mapCodeToGID(int i, Guint c);
-
- // map gid to vertical glyph gid if exist.
- // if not exist return original gid
- Guint mapToVertGID(Guint orgGID);
-
- // Returns the GID corresponding to <name> according to the post
- // table. Returns 0 if there is no mapping for <name> or if the
- // font does not have a post table.
- int mapNameToGID(char *name) const;
-
- // Return the mapping from CIDs to GIDs, and return the number of
- // CIDs in *<nCIDs>. This is only useful for CID fonts. (Only
- // useful for OpenType CFF fonts.)
- int *getCIDToGIDMap(int *nCIDs);
-
- // Returns the least restrictive embedding licensing right (as
- // defined by the TrueType spec):
- // * 4: OS/2 table is missing or invalid
- // * 3: installable embedding
- // * 2: editable embedding
- // * 1: preview & print embedding
- // * 0: restricted license embedding
- int getEmbeddingRights();
-
- // Return the font matrix as an array of six numbers. (Only useful
- // for OpenType CFF fonts.)
- void getFontMatrix(double *mat);
-
- // Convert to a Type 42 font, suitable for embedding in a PostScript
- // file. <psName> will be used as the PostScript font name (so we
- // don't need to depend on the 'name' table in the font). The
- // <encoding> array specifies the mapping from char codes to names.
- // If <encoding> is NULL, the encoding is unknown or undefined. The
- // <codeToGID> array specifies the mapping from char codes to GIDs.
- // (Not useful for OpenType CFF fonts.)
- void convertToType42(char *psName, char **encoding,
- int *codeToGID,
- FoFiOutputFunc outputFunc, void *outputStream);
-
- // Convert to a Type 1 font, suitable for embedding in a PostScript
- // file. This is only useful with 8-bit fonts. If <newEncoding> is
- // not NULL, it will be used in place of the encoding in the Type 1C
- // font. If <ascii> is true the eexec section will be hex-encoded,
- // otherwise it will be left as binary data. If <psName> is
- // non-NULL, it will be used as the PostScript font name. (Only
- // useful for OpenType CFF fonts.)
- void convertToType1(char *psName, const char **newEncoding, GBool ascii,
- FoFiOutputFunc outputFunc, void *outputStream);
-
- // Convert to a Type 2 CIDFont, suitable for embedding in a
- // PostScript file. <psName> will be used as the PostScript font
- // name (so we don't need to depend on the 'name' table in the
- // font). The <cidMap> array maps CIDs to GIDs; it has <nCIDs>
- // entries. (Not useful for OpenType CFF fonts.)
- void convertToCIDType2(char *psName, int *cidMap, int nCIDs,
- GBool needVerticalMetrics,
- FoFiOutputFunc outputFunc, void *outputStream);
-
- // Convert to a Type 0 CIDFont, suitable for embedding in a
- // PostScript file. <psName> will be used as the PostScript font
- // name. (Only useful for OpenType CFF fonts.)
- void convertToCIDType0(char *psName, int *cidMap, int nCIDs,
- FoFiOutputFunc outputFunc, void *outputStream);
-
- // Convert to a Type 0 (but non-CID) composite font, suitable for
- // embedding in a PostScript file. <psName> will be used as the
- // PostScript font name (so we don't need to depend on the 'name'
- // table in the font). The <cidMap> array maps CIDs to GIDs; it has
- // <nCIDs> entries. (Not useful for OpenType CFF fonts.)
- void convertToType0(char *psName, int *cidMap, int nCIDs,
- GBool needVerticalMetrics,
- int *maxValidGlyph,
- FoFiOutputFunc outputFunc, void *outputStream);
-
- // Convert to a Type 0 (but non-CID) composite font, suitable for
- // embedding in a PostScript file. <psName> will be used as the
- // PostScript font name. (Only useful for OpenType CFF fonts.)
- void convertToType0(char *psName, int *cidMap, int nCIDs,
- FoFiOutputFunc outputFunc, void *outputStream);
-
- // Returns a pointer to the CFF font embedded in this OpenType font.
- // If successful, sets *<start> and *<length>, and returns true.
- // Otherwise returns false. (Only useful for OpenType CFF fonts).
- GBool getCFFBlock(char **start, int *length);
-
- // setup vert/vrt2 GSUB for default lang
- int setupGSUB(const char *scriptName);
-
- // setup vert/vrt2 GSUB for specified lang
- int setupGSUB(const char *scriptName, const char* languageName);
-
-private:
-
- FoFiTrueType(char *fileA, int lenA, GBool freeFileDataA, int faceIndexA);
- void cvtEncoding(char **encoding,
- FoFiOutputFunc outputFunc,
- void *outputStream);
- void cvtCharStrings(char **encoding,
- int *codeToGID,
- FoFiOutputFunc outputFunc,
- void *outputStream);
- void cvtSfnts(FoFiOutputFunc outputFunc,
- void *outputStream, GooString *name,
- GBool needVerticalMetrics,
- int *maxUsedGlyph);
- void dumpString(Guchar *s, int length,
- FoFiOutputFunc outputFunc,
- void *outputStream);
- Guint computeTableChecksum(Guchar *data, int length);
- void parse();
- void readPostTable();
- int seekTable(const char *tag);
- Guint charToTag(const char *tagName);
- Guint doMapToVertGID(Guint orgGID);
- Guint scanLookupList(Guint listIndex, Guint orgGID);
- Guint scanLookupSubTable(Guint subTable, Guint orgGID);
- int checkGIDInCoverage(Guint coverage, Guint orgGID);
-
- TrueTypeTable *tables;
- int nTables;
- TrueTypeCmap *cmaps;
- int nCmaps;
- int nGlyphs;
- int locaFmt;
- int bbox[4];
- std::unordered_map<std::string,int> nameToGID;
- GBool openTypeCFF;
-
- GBool parsedOk;
- int faceIndex;
- Guint gsubFeatureTable;
- Guint gsubLookupList;
-};
-
-#endif