⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fofitruetype.h

📁 swf文件查看工具,能够看flash文件的格式
💻 H
字号:
//========================================================================//// FoFiTrueType.h//// Copyright 1999-2003 Glyph & Cog, LLC////========================================================================#ifndef FOFITRUETYPE_H#define FOFITRUETYPE_H#include <aconf.h>#ifdef USE_GCC_PRAGMAS#pragma interface#endif#include "gtypes.h"#include "FoFiBase.h"class GString;class GHash;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);  // Create a FoFiTrueType object from a file on disk.  static FoFiTrueType *load(char *fileName);  virtual ~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.  Gushort mapCodeToGID(int i, int c);  // 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);  // 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.)  Gushort *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();  // 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,		       Gushort *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, 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, Gushort *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,			 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, Gushort *cidMap, int nCIDs,		      GBool needVerticalMetrics,		      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,		      FoFiOutputFunc outputFunc, void *outputStream);  // Write a clean TTF file, filling in missing tables and correcting  // various other errors.  If <name> is non-NULL, the font is renamed  // to <name>.  If <codeToGID> is non-NULL, the font is re-encoded,  // using a Windows Unicode cmap.  If <name> is NULL and the font is  // complete and correct, it will be written unmodified.  (Not useful  // for OpenType CFF fonts.)  void writeTTF(FoFiOutputFunc outputFunc, void *outputStream,		char *name = NULL, Gushort *codeToGID = NULL);private:  FoFiTrueType(char *fileA, int lenA, GBool freeFileDataA);  void cvtEncoding(char **encoding,		   FoFiOutputFunc outputFunc,		   void *outputStream);  void cvtCharStrings(char **encoding,		      Gushort *codeToGID,		      FoFiOutputFunc outputFunc,		      void *outputStream);  void cvtSfnts(FoFiOutputFunc outputFunc,		void *outputStream, GString *name,		GBool needVerticalMetrics);  void dumpString(Guchar *s, int length,		  FoFiOutputFunc outputFunc,		  void *outputStream);  Guint computeTableChecksum(Guchar *data, int length);  void parse();  void readPostTable();  int seekTable(char *tag);  TrueTypeTable *tables;  int nTables;  TrueTypeCmap *cmaps;  int nCmaps;  int nGlyphs;  int locaFmt;  int bbox[4];  GHash *nameToGID;  GBool openTypeCFF;  GBool parsedOk;};#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -