SmartPDF - lightweight pdf viewer app for rosapps
[reactos.git] / rosapps / smartpdf / poppler / poppler / FontInfo.h
1 #ifndef FONT_INFO_H
2 #define FONT_INFO_H
3
4 #include "goo/gtypes.h"
5 #include "goo/GooList.h"
6
7 class FontInfo {
8 public:
9 enum Type {
10 unknown,
11 Type1,
12 Type1C,
13 Type3,
14 TrueType,
15 CIDType0,
16 CIDType0C,
17 CIDTrueType
18 };
19
20 // Constructor.
21 FontInfo(GfxFont *fontA, PDFDoc *doc);
22 // Copy constructor
23 FontInfo(FontInfo& f);
24 // Destructor.
25 ~FontInfo();
26
27 GooString *getName() { return name; };
28 GooString *getFile() { return file; };
29 Type getType() { return type; };
30 GBool getEmbedded() { return emb; };
31 GBool getSubset() { return subset; };
32 GBool getToUnicode() { return hasToUnicode; };
33
34 private:
35 GooString *name;
36 GooString *file;
37 Type type;
38 GBool emb;
39 GBool subset;
40 GBool hasToUnicode;
41 Ref fontRef;
42 };
43
44 class FontInfoScanner {
45 public:
46
47 // Constructor.
48 FontInfoScanner(PDFDoc *doc);
49 // Destructor.
50 ~FontInfoScanner();
51
52 GooList *scan(int nPages);
53
54 private:
55
56 PDFDoc *doc;
57 int currentPage;
58 Ref *fonts;
59 int fontsLen;
60 int fontsSize;
61
62 void scanFonts(Dict *resDict, GooList *fontsList);
63 };
64
65 #endif