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 SkPdfType1FontDictionary_DEFINED
9#define SkPdfType1FontDictionary_DEFINED
10
11#include "SkPdfFontDictionary_autogen.h"
12
13// Entries in a Type 1 font dictionary
14class SkPdfType1FontDictionary : public SkPdfFontDictionary {
15public:
16public:
17   SkPdfType1FontDictionary* asType1FontDictionary() {return this;}
18   const SkPdfType1FontDictionary* asType1FontDictionary() const {return this;}
19
20private:
21   SkPdfType0FontDictionary* asType0FontDictionary() {return (SkPdfType0FontDictionary*)this;}
22   const SkPdfType0FontDictionary* asType0FontDictionary() const {return (const SkPdfType0FontDictionary*)this;}
23
24public:
25   bool valid() const {return true;}
26  SkString Type(SkPdfNativeDoc* doc);
27  bool has_Type() const;
28  SkString Subtype(SkPdfNativeDoc* doc);
29  bool has_Subtype() const;
30  SkString Name(SkPdfNativeDoc* doc);
31  bool has_Name() const;
32  SkString BaseFont(SkPdfNativeDoc* doc);
33  bool has_BaseFont() const;
34  int64_t FirstChar(SkPdfNativeDoc* doc);
35  bool has_FirstChar() const;
36  int64_t LastChar(SkPdfNativeDoc* doc);
37  bool has_LastChar() const;
38  SkPdfArray* Widths(SkPdfNativeDoc* doc);
39  bool has_Widths() const;
40  SkPdfFontDescriptorDictionary* FontDescriptor(SkPdfNativeDoc* doc);
41  bool has_FontDescriptor() const;
42
43  bool isEncodingAName(SkPdfNativeDoc* doc);
44  SkString getEncodingAsName(SkPdfNativeDoc* doc);
45
46  bool isEncodingADictionary(SkPdfNativeDoc* doc);
47  SkPdfDictionary* getEncodingAsDictionary(SkPdfNativeDoc* doc);
48  bool has_Encoding() const;
49  SkPdfStream* ToUnicode(SkPdfNativeDoc* doc);
50  bool has_ToUnicode() const;
51};
52
53#endif  // SkPdfType1FontDictionary_DEFINED
54