source: trunk/poppler/mypoppler/poppler/FontInfo.h @ 257

Last change on this file since 257 was 257, checked in by Eugene Romanenko, 13 years ago

PDF plugin: Poppler library updated to version 0.10.0

File size: 2.1 KB
Line 
1//========================================================================
2//
3// FontInfo.h
4//
5// Copyright (C) 2005 Kristian HÞgsberg <krh@redhat.com>
6// Copyright (C) 2005-2008 Albert Astals Cid <aacid@kde.org>
7// Copyright (C) 2005 Brad Hards <bradh@frogmouth.net>
8//
9// To see a description of the changes please see the Changelog file that
10// came with your tarball or type make ChangeLog if you are building from git
11//
12//========================================================================
13
14//========================================================================
15//
16// Based on code from pdffonts.cc
17//
18// Copyright 2001-2007 Glyph & Cog, LLC
19//
20//========================================================================
21
22#ifndef FONT_INFO_H
23#define FONT_INFO_H
24
25#include "goo/gtypes.h"
26#include "goo/GooList.h"
27
28class FontInfo {
29public:
30  enum Type {
31    unknown,
32    Type1,
33    Type1C,
34    Type1COT,
35    Type3,
36    TrueType,
37    TrueTypeOT,
38    CIDType0,
39    CIDType0C,
40    CIDType0COT,
41    CIDTrueType,
42    CIDTrueTypeOT
43  };
44   
45  // Constructor.
46  FontInfo(GfxFont *fontA, PDFDoc *doc);
47  // Copy constructor
48  FontInfo(FontInfo& f);
49  // Destructor.
50  ~FontInfo();
51
52  GooString *getName()      { return name; };
53  GooString *getFile()      { return file; };
54  Type       getType()      { return type; };
55  GBool      getEmbedded()  { return emb; };
56  GBool      getSubset()    { return subset; };
57  GBool      getToUnicode() { return hasToUnicode; };
58  Ref        getRef()       { return fontRef; };
59  Ref        getEmbRef()    { return embRef; };
60
61private:
62  GooString *name;
63  GooString *file;
64  Type type;
65  GBool emb;
66  GBool subset;
67  GBool hasToUnicode;
68  Ref fontRef;
69  Ref embRef;
70};
71
72class FontInfoScanner {
73public:
74
75  // Constructor.
76  FontInfoScanner(PDFDoc *doc);
77  // Destructor.
78  ~FontInfoScanner();
79
80  GooList *scan(int nPages);
81
82private:
83
84  PDFDoc *doc;
85  int currentPage;
86  Ref *fonts;
87  int fontsLen;
88  int fontsSize;
89
90  Ref *visitedXObjects;
91  int visitedXObjectsLen;
92  int visitedXObjectsSize;
93
94  void scanFonts(Dict *resDict, GooList *fontsList);
95};
96
97#endif
Note: See TracBrowser for help on using the repository browser.