| //======================================================================== |
| // |
| // FoFiType1.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) 2018 Albert Astals Cid <aacid@kde.org> |
| // |
| // 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 FOFITYPE1_H |
| #define FOFITYPE1_H |
| |
| #include "FoFiBase.h" |
| |
| //------------------------------------------------------------------------ |
| // FoFiType1 |
| //------------------------------------------------------------------------ |
| |
| class FoFiType1: public FoFiBase { |
| public: |
| |
| // Create a FoFiType1 object from a memory buffer. |
| static FoFiType1 *make(const char *fileA, int lenA); |
| |
| // Create a FoFiType1 object from a file on disk. |
| static FoFiType1 *load(const char *fileName); |
| |
| ~FoFiType1(); |
| |
| // Return the font name. |
| const char *getName(); |
| |
| // Return the encoding, as an array of 256 names (any of which may |
| // be NULL). |
| char **getEncoding(); |
| |
| // Return the font matrix as an array of six numbers. |
| void getFontMatrix(double *mat); |
| |
| // Write a version of the Type 1 font file with a new encoding. |
| void writeEncoded(const char **newEncoding, |
| FoFiOutputFunc outputFunc, void *outputStream) const; |
| |
| private: |
| |
| FoFiType1(const char *fileA, int lenA, bool freeFileDataA); |
| |
| char *getNextLine(char *line) const; |
| void parse(); |
| void undoPFB(); |
| |
| char *name; |
| char **encoding; |
| double fontMatrix[6]; |
| bool parsed; |
| }; |
| |
| #endif |