Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-12-11 10:26:09

0001 //========================================================================
0002 //
0003 // FoFiType1.h
0004 //
0005 // Copyright 1999-2003 Glyph & Cog, LLC
0006 //
0007 //========================================================================
0008 
0009 //========================================================================
0010 //
0011 // Modified under the Poppler project - http://poppler.freedesktop.org
0012 //
0013 // All changes made under the Poppler project to this file are licensed
0014 // under GPL version 2 or later
0015 //
0016 // Copyright (C) 2018, 2022 Albert Astals Cid <aacid@kde.org>
0017 // Copyright (C) 2022 Oliver Sander <oliver.sander@tu-dresden.de>
0018 //
0019 // To see a description of the changes please see the Changelog file that
0020 // came with your tarball or type make ChangeLog if you are building from git
0021 //
0022 //========================================================================
0023 
0024 #ifndef FOFITYPE1_H
0025 #define FOFITYPE1_H
0026 
0027 #include "FoFiBase.h"
0028 
0029 //------------------------------------------------------------------------
0030 // FoFiType1
0031 //------------------------------------------------------------------------
0032 
0033 class FoFiType1 : public FoFiBase
0034 {
0035 public:
0036     // Create a FoFiType1 object from a memory buffer.
0037     static FoFiType1 *make(const unsigned char *fileA, int lenA);
0038 
0039     ~FoFiType1() override;
0040 
0041     // Return the font name.
0042     const char *getName();
0043 
0044     // Return the encoding, as an array of 256 names (any of which may
0045     // be NULL).
0046     char **getEncoding();
0047 
0048     // Return the font matrix as an array of six numbers.
0049     void getFontMatrix(double *mat);
0050 
0051     // Write a version of the Type 1 font file with a new encoding.
0052     void writeEncoded(const char **newEncoding, FoFiOutputFunc outputFunc, void *outputStream) const;
0053 
0054 private:
0055     FoFiType1(const unsigned char *fileA, int lenA, bool freeFileDataA);
0056 
0057     char *getNextLine(char *line) const;
0058     void parse();
0059     void undoPFB();
0060 
0061     char *name;
0062     char **encoding;
0063     double fontMatrix[6];
0064     bool parsed;
0065 };
0066 
0067 #endif