1cf2cfa174ca878c144e17e9fc60ca8e9070d7dededisonn@google.com/*
2cf2cfa174ca878c144e17e9fc60ca8e9070d7dededisonn@google.com * Copyright 2013 Google Inc.
3cf2cfa174ca878c144e17e9fc60ca8e9070d7dededisonn@google.com
4cf2cfa174ca878c144e17e9fc60ca8e9070d7dededisonn@google.com * Use of this source code is governed by a BSD-style license that can be
5cf2cfa174ca878c144e17e9fc60ca8e9070d7dededisonn@google.com * found in the LICENSE file.
6cf2cfa174ca878c144e17e9fc60ca8e9070d7dededisonn@google.com */
7cf2cfa174ca878c144e17e9fc60ca8e9070d7dededisonn@google.com
8cf2cfa174ca878c144e17e9fc60ca8e9070d7dededisonn@google.com#ifndef SkPdfType1FontDictionary_DEFINED
9cf2cfa174ca878c144e17e9fc60ca8e9070d7dededisonn@google.com#define SkPdfType1FontDictionary_DEFINED
108cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com
118cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com#include "SkPdfFontDictionary_autogen.h"
128cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com
138cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com// Entries in a Type 1 font dictionary
148cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.comclass SkPdfType1FontDictionary : public SkPdfFontDictionary {
158cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.compublic:
168cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.compublic:
178cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com   SkPdfType1FontDictionary* asType1FontDictionary() {return this;}
188cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com   const SkPdfType1FontDictionary* asType1FontDictionary() const {return this;}
198cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com
208cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.comprivate:
218cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com   SkPdfType0FontDictionary* asType0FontDictionary() {return (SkPdfType0FontDictionary*)this;}
228cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com   const SkPdfType0FontDictionary* asType0FontDictionary() const {return (const SkPdfType0FontDictionary*)this;}
238cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com
248cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.compublic:
258cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com   bool valid() const {return true;}
268cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com  SkString Type(SkPdfNativeDoc* doc);
278cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com  bool has_Type() const;
288cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com  SkString Subtype(SkPdfNativeDoc* doc);
298cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com  bool has_Subtype() const;
308cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com  SkString Name(SkPdfNativeDoc* doc);
318cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com  bool has_Name() const;
328cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com  SkString BaseFont(SkPdfNativeDoc* doc);
338cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com  bool has_BaseFont() const;
348cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com  int64_t FirstChar(SkPdfNativeDoc* doc);
358cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com  bool has_FirstChar() const;
368cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com  int64_t LastChar(SkPdfNativeDoc* doc);
378cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com  bool has_LastChar() const;
388cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com  SkPdfArray* Widths(SkPdfNativeDoc* doc);
398cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com  bool has_Widths() const;
408cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com  SkPdfFontDescriptorDictionary* FontDescriptor(SkPdfNativeDoc* doc);
418cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com  bool has_FontDescriptor() const;
42cf2cfa174ca878c144e17e9fc60ca8e9070d7dededisonn@google.com
438cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com  bool isEncodingAName(SkPdfNativeDoc* doc);
448cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com  SkString getEncodingAsName(SkPdfNativeDoc* doc);
45cf2cfa174ca878c144e17e9fc60ca8e9070d7dededisonn@google.com
468cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com  bool isEncodingADictionary(SkPdfNativeDoc* doc);
478cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com  SkPdfDictionary* getEncodingAsDictionary(SkPdfNativeDoc* doc);
488cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com  bool has_Encoding() const;
498cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com  SkPdfStream* ToUnicode(SkPdfNativeDoc* doc);
508cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com  bool has_ToUnicode() const;
518cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com};
528cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com
53cf2cfa174ca878c144e17e9fc60ca8e9070d7dededisonn@google.com#endif  // SkPdfType1FontDictionary_DEFINED
54