1/*
2 * Copyright 2013 Google Inc.
3
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7
8#ifndef SkPdfType0FontDictionary_DEFINED
9#define SkPdfType0FontDictionary_DEFINED
10
11#include "SkPdfFontDictionary_autogen.h"
12
13// Entries in a Type 0 font dictionary
14class SkPdfType0FontDictionary : public SkPdfFontDictionary {
15public:
16public:
17   SkPdfType0FontDictionary* asType0FontDictionary() {return this;}
18   const SkPdfType0FontDictionary* asType0FontDictionary() const {return this;}
19
20private:
21   SkPdfType1FontDictionary* asType1FontDictionary() {return (SkPdfType1FontDictionary*)this;}
22   const SkPdfType1FontDictionary* asType1FontDictionary() const {return (const SkPdfType1FontDictionary*)this;}
23
24   SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return (SkPdfMultiMasterFontDictionary*)this;}
25   const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return (const SkPdfMultiMasterFontDictionary*)this;}
26
27   SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return (SkPdfTrueTypeFontDictionary*)this;}
28   const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return (const SkPdfTrueTypeFontDictionary*)this;}
29
30   SkPdfType3FontDictionary* asType3FontDictionary() {return (SkPdfType3FontDictionary*)this;}
31   const SkPdfType3FontDictionary* asType3FontDictionary() const {return (const SkPdfType3FontDictionary*)this;}
32
33public:
34   bool valid() const {return true;}
35  SkString Type(SkPdfNativeDoc* doc);
36  bool has_Type() const;
37  SkString Subtype(SkPdfNativeDoc* doc);
38  bool has_Subtype() const;
39  SkString BaseFont(SkPdfNativeDoc* doc);
40  bool has_BaseFont() const;
41
42  bool isEncodingAName(SkPdfNativeDoc* doc);
43  SkString getEncodingAsName(SkPdfNativeDoc* doc);
44
45  bool isEncodingAStream(SkPdfNativeDoc* doc);
46  SkPdfStream* getEncodingAsStream(SkPdfNativeDoc* doc);
47  bool has_Encoding() const;
48  SkPdfArray* DescendantFonts(SkPdfNativeDoc* doc);
49  bool has_DescendantFonts() const;
50  SkPdfStream* ToUnicode(SkPdfNativeDoc* doc);
51  bool has_ToUnicode() const;
52};
53
54#endif  // SkPdfType0FontDictionary_DEFINED
55