aboutsummaryrefslogtreecommitdiffhomepage
path: root/experimental/PdfViewer
diff options
context:
space:
mode:
authorGravatar edisonn@google.com <edisonn@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-07-10 17:44:55 +0000
committerGravatar edisonn@google.com <edisonn@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-07-10 17:44:55 +0000
commit596d2e26cdaa80f8721ba6b6eedf09227524f5d1 (patch)
tree2797ff1f1270e47121bad055990fc0aa362553b8 /experimental/PdfViewer
parent3e7399fe28321f6910481c9c2cb270d2d3c32895 (diff)
pdf viewer: fix a few warnings, and enable warning as errors
Review URL: https://codereview.chromium.org/18293012 git-svn-id: http://skia.googlecode.com/svn/trunk@9966 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'experimental/PdfViewer')
-rw-r--r--experimental/PdfViewer/SkPdfFont.cpp142
-rw-r--r--experimental/PdfViewer/SkPdfFont.h11
-rw-r--r--experimental/PdfViewer/SkPdfParser.cpp4
-rw-r--r--experimental/PdfViewer/pdf_viewer_main.cpp10
-rw-r--r--experimental/PdfViewer/pdfparser/native/SkPdfNativeTokenizer.cpp4
5 files changed, 93 insertions, 78 deletions
diff --git a/experimental/PdfViewer/SkPdfFont.cpp b/experimental/PdfViewer/SkPdfFont.cpp
index 2309f541af..4f2b27986c 100644
--- a/experimental/PdfViewer/SkPdfFont.cpp
+++ b/experimental/PdfViewer/SkPdfFont.cpp
@@ -11,83 +11,83 @@ std::map<std::string, SkPdfStandardFontEntry>& getStandardFonts() {
// TODO (edisonn): , vs - ? what does it mean?
// TODO (edisonn): MT, PS, Oblique=italic?, ... what does it mean?
if (gPdfStandardFonts.empty()) {
- gPdfStandardFonts["Arial"] = {"Arial", false, false};
- gPdfStandardFonts["Arial,Bold"] = {"Arial", true, false};
- gPdfStandardFonts["Arial,BoldItalic"] = {"Arial", true, true};
- gPdfStandardFonts["Arial,Italic"] = {"Arial", false, true};
- gPdfStandardFonts["Arial-Bold"] = {"Arial", true, false};
- gPdfStandardFonts["Arial-BoldItalic"] = {"Arial", true, true};
- gPdfStandardFonts["Arial-BoldItalicMT"] = {"Arial", true, true};
- gPdfStandardFonts["Arial-BoldMT"] = {"Arial", true, false};
- gPdfStandardFonts["Arial-Italic"] = {"Arial", false, true};
- gPdfStandardFonts["Arial-ItalicMT"] = {"Arial", false, true};
- gPdfStandardFonts["ArialMT"] = {"Arial", false, false};
- gPdfStandardFonts["Courier"] = {"Courier New", false, false};
- gPdfStandardFonts["Courier,Bold"] = {"Courier New", true, false};
- gPdfStandardFonts["Courier,BoldItalic"] = {"Courier New", true, true};
- gPdfStandardFonts["Courier,Italic"] = {"Courier New", false, true};
- gPdfStandardFonts["Courier-Bold"] = {"Courier New", true, false};
- gPdfStandardFonts["Courier-BoldOblique"] = {"Courier New", true, true};
- gPdfStandardFonts["Courier-Oblique"] = {"Courier New", false, true};
- gPdfStandardFonts["CourierNew"] = {"Courier New", false, false};
- gPdfStandardFonts["CourierNew,Bold"] = {"Courier New", true, false};
- gPdfStandardFonts["CourierNew,BoldItalic"] = {"Courier New", true, true};
- gPdfStandardFonts["CourierNew,Italic"] = {"Courier New", false, true};
- gPdfStandardFonts["CourierNew-Bold"] = {"Courier New", true, false};
- gPdfStandardFonts["CourierNew-BoldItalic"] = {"Courier New", true, true};
- gPdfStandardFonts["CourierNew-Italic"] = {"Courier New", false, true};
- gPdfStandardFonts["CourierNewPS-BoldItalicMT"] = {"Courier New", true, true};
- gPdfStandardFonts["CourierNewPS-BoldMT"] = {"Courier New", true, false};
- gPdfStandardFonts["CourierNewPS-ItalicMT"] = {"Courier New", false, true};
- gPdfStandardFonts["CourierNewPSMT"] = {"Courier New", false, false};
- gPdfStandardFonts["Helvetica"] = {"Helvetica", false, false};
- gPdfStandardFonts["Helvetica,Bold"] = {"Helvetica", true, false};
- gPdfStandardFonts["Helvetica,BoldItalic"] = {"Helvetica", true, true};
- gPdfStandardFonts["Helvetica,Italic"] = {"Helvetica", false, true};
- gPdfStandardFonts["Helvetica-Bold"] = {"Helvetica", true, false};
- gPdfStandardFonts["Helvetica-BoldItalic"] = {"Helvetica", true, true};
- gPdfStandardFonts["Helvetica-BoldOblique"] = {"Helvetica", true, true};
- gPdfStandardFonts["Helvetica-Italic"] = {"Helvetica", false, true};
- gPdfStandardFonts["Helvetica-Oblique"] = {"Helvetica", false, true};
- gPdfStandardFonts["Times-Bold"] = {"Times New Roman", true, false};
- gPdfStandardFonts["Times-BoldItalic"] = {"Times New Roman", true, true};
- gPdfStandardFonts["Times-Italic"] = {"Times New Roman", false, true};
- gPdfStandardFonts["Times-Roman"] = {"Times New Roman", false, false};
- gPdfStandardFonts["TimesNewRoman"] = {"Times New Roman", false, false};
- gPdfStandardFonts["TimesNewRoman,Bold"] = {"Times New Roman", true, false};
- gPdfStandardFonts["TimesNewRoman,BoldItalic"] = {"Times New Roman", true, true};
- gPdfStandardFonts["TimesNewRoman,Italic"] = {"Times New Roman", false, true};
- gPdfStandardFonts["TimesNewRoman-Bold"] = {"Times New Roman", true, false};
- gPdfStandardFonts["TimesNewRoman-BoldItalic"] = {"Times New Roman", true, true};
- gPdfStandardFonts["TimesNewRoman-Italic"] = {"Times New Roman", false, true};
- gPdfStandardFonts["TimesNewRomanPS"] = {"Times New Roman", false, false};
- gPdfStandardFonts["TimesNewRomanPS-Bold"] = {"Times New Roman", true, false};
- gPdfStandardFonts["TimesNewRomanPS-BoldItalic"] = {"Times New Roman", true, true};
- gPdfStandardFonts["TimesNewRomanPS-BoldItalicMT"] = {"Times New Roman", true, true};
- gPdfStandardFonts["TimesNewRomanPS-BoldMT"] = {"Times New Roman", true, false};
- gPdfStandardFonts["TimesNewRomanPS-Italic"] = {"Times New Roman", false, true};
- gPdfStandardFonts["TimesNewRomanPS-ItalicMT"] = {"Times New Roman", false, true};
- gPdfStandardFonts["TimesNewRomanPSMT"] = {"Times New Roman", false, false};
- gPdfStandardFonts["Symbol"] = {"Symbol", false, false};
- gPdfStandardFonts["ZapfDingbats"] = {"ZapfDingbats", false, false};
+ gPdfStandardFonts["Arial"] = SkPdfStandardFontEntry("Arial", false, false);
+ gPdfStandardFonts["Arial,Bold"] = SkPdfStandardFontEntry("Arial", true, false);
+ gPdfStandardFonts["Arial,BoldItalic"] = SkPdfStandardFontEntry("Arial", true, true);
+ gPdfStandardFonts["Arial,Italic"] = SkPdfStandardFontEntry("Arial", false, true);
+ gPdfStandardFonts["Arial-Bold"] = SkPdfStandardFontEntry("Arial", true, false);
+ gPdfStandardFonts["Arial-BoldItalic"] = SkPdfStandardFontEntry("Arial", true, true);
+ gPdfStandardFonts["Arial-BoldItalicMT"] = SkPdfStandardFontEntry("Arial", true, true);
+ gPdfStandardFonts["Arial-BoldMT"] = SkPdfStandardFontEntry("Arial", true, false);
+ gPdfStandardFonts["Arial-Italic"] = SkPdfStandardFontEntry("Arial", false, true);
+ gPdfStandardFonts["Arial-ItalicMT"] = SkPdfStandardFontEntry("Arial", false, true);
+ gPdfStandardFonts["ArialMT"] = SkPdfStandardFontEntry("Arial", false, false);
+ gPdfStandardFonts["Courier"] = SkPdfStandardFontEntry("Courier New", false, false);
+ gPdfStandardFonts["Courier,Bold"] = SkPdfStandardFontEntry("Courier New", true, false);
+ gPdfStandardFonts["Courier,BoldItalic"] = SkPdfStandardFontEntry("Courier New", true, true);
+ gPdfStandardFonts["Courier,Italic"] = SkPdfStandardFontEntry("Courier New", false, true);
+ gPdfStandardFonts["Courier-Bold"] = SkPdfStandardFontEntry("Courier New", true, false);
+ gPdfStandardFonts["Courier-BoldOblique"] = SkPdfStandardFontEntry("Courier New", true, true);
+ gPdfStandardFonts["Courier-Oblique"] = SkPdfStandardFontEntry("Courier New", false, true);
+ gPdfStandardFonts["CourierNew"] = SkPdfStandardFontEntry("Courier New", false, false);
+ gPdfStandardFonts["CourierNew,Bold"] = SkPdfStandardFontEntry("Courier New", true, false);
+ gPdfStandardFonts["CourierNew,BoldItalic"] = SkPdfStandardFontEntry("Courier New", true, true);
+ gPdfStandardFonts["CourierNew,Italic"] = SkPdfStandardFontEntry("Courier New", false, true);
+ gPdfStandardFonts["CourierNew-Bold"] = SkPdfStandardFontEntry("Courier New", true, false);
+ gPdfStandardFonts["CourierNew-BoldItalic"] = SkPdfStandardFontEntry("Courier New", true, true);
+ gPdfStandardFonts["CourierNew-Italic"] = SkPdfStandardFontEntry("Courier New", false, true);
+ gPdfStandardFonts["CourierNewPS-BoldItalicMT"] = SkPdfStandardFontEntry("Courier New", true, true);
+ gPdfStandardFonts["CourierNewPS-BoldMT"] = SkPdfStandardFontEntry("Courier New", true, false);
+ gPdfStandardFonts["CourierNewPS-ItalicMT"] = SkPdfStandardFontEntry("Courier New", false, true);
+ gPdfStandardFonts["CourierNewPSMT"] = SkPdfStandardFontEntry("Courier New", false, false);
+ gPdfStandardFonts["Helvetica"] = SkPdfStandardFontEntry("Helvetica", false, false);
+ gPdfStandardFonts["Helvetica,Bold"] = SkPdfStandardFontEntry("Helvetica", true, false);
+ gPdfStandardFonts["Helvetica,BoldItalic"] = SkPdfStandardFontEntry("Helvetica", true, true);
+ gPdfStandardFonts["Helvetica,Italic"] = SkPdfStandardFontEntry("Helvetica", false, true);
+ gPdfStandardFonts["Helvetica-Bold"] = SkPdfStandardFontEntry("Helvetica", true, false);
+ gPdfStandardFonts["Helvetica-BoldItalic"] = SkPdfStandardFontEntry("Helvetica", true, true);
+ gPdfStandardFonts["Helvetica-BoldOblique"] = SkPdfStandardFontEntry("Helvetica", true, true);
+ gPdfStandardFonts["Helvetica-Italic"] = SkPdfStandardFontEntry("Helvetica", false, true);
+ gPdfStandardFonts["Helvetica-Oblique"] = SkPdfStandardFontEntry("Helvetica", false, true);
+ gPdfStandardFonts["Times-Bold"] = SkPdfStandardFontEntry("Times New Roman", true, false);
+ gPdfStandardFonts["Times-BoldItalic"] = SkPdfStandardFontEntry("Times New Roman", true, true);
+ gPdfStandardFonts["Times-Italic"] = SkPdfStandardFontEntry("Times New Roman", false, true);
+ gPdfStandardFonts["Times-Roman"] = SkPdfStandardFontEntry("Times New Roman", false, false);
+ gPdfStandardFonts["TimesNewRoman"] = SkPdfStandardFontEntry("Times New Roman", false, false);
+ gPdfStandardFonts["TimesNewRoman,Bold"] = SkPdfStandardFontEntry("Times New Roman", true, false);
+ gPdfStandardFonts["TimesNewRoman,BoldItalic"] = SkPdfStandardFontEntry("Times New Roman", true, true);
+ gPdfStandardFonts["TimesNewRoman,Italic"] = SkPdfStandardFontEntry("Times New Roman", false, true);
+ gPdfStandardFonts["TimesNewRoman-Bold"] = SkPdfStandardFontEntry("Times New Roman", true, false);
+ gPdfStandardFonts["TimesNewRoman-BoldItalic"] = SkPdfStandardFontEntry("Times New Roman", true, true);
+ gPdfStandardFonts["TimesNewRoman-Italic"] = SkPdfStandardFontEntry("Times New Roman", false, true);
+ gPdfStandardFonts["TimesNewRomanPS"] = SkPdfStandardFontEntry("Times New Roman", false, false);
+ gPdfStandardFonts["TimesNewRomanPS-Bold"] = SkPdfStandardFontEntry("Times New Roman", true, false);
+ gPdfStandardFonts["TimesNewRomanPS-BoldItalic"] = SkPdfStandardFontEntry("Times New Roman", true, true);
+ gPdfStandardFonts["TimesNewRomanPS-BoldItalicMT"] = SkPdfStandardFontEntry("Times New Roman", true, true);
+ gPdfStandardFonts["TimesNewRomanPS-BoldMT"] = SkPdfStandardFontEntry("Times New Roman", true, false);
+ gPdfStandardFonts["TimesNewRomanPS-Italic"] = SkPdfStandardFontEntry("Times New Roman", false, true);
+ gPdfStandardFonts["TimesNewRomanPS-ItalicMT"] = SkPdfStandardFontEntry("Times New Roman", false, true);
+ gPdfStandardFonts["TimesNewRomanPSMT"] = SkPdfStandardFontEntry("Times New Roman", false, false);
+ gPdfStandardFonts["Symbol"] = SkPdfStandardFontEntry("Symbol", false, false);
+ gPdfStandardFonts["ZapfDingbats"] = SkPdfStandardFontEntry("ZapfDingbats", false, false);
// TODO(edisonn): these are hacks. Load Post Script font name.
// see FT_Get_Postscript_Name
// Font config is not using it, yet.
//https://bugs.freedesktop.org/show_bug.cgi?id=18095
- gPdfStandardFonts["Arial-Black"] = {"Arial", true, false};
- gPdfStandardFonts["DejaVuSans"] = {"DejaVu Sans", false, false};
- gPdfStandardFonts["DejaVuSansMono"] = {"DejaVuSans Mono", false, false};
- gPdfStandardFonts["DejaVuSansMono-Bold"] = {"DejaVuSans Mono", true, false};
- gPdfStandardFonts["DejaVuSansMono-Oblique"] = {"DejaVuSans Mono", false, true};
- gPdfStandardFonts["Georgia-Bold"] = {"Georgia", true, false};
- gPdfStandardFonts["Georgia-BoldItalic"] = {"Georgia", true, true};
- gPdfStandardFonts["Georgia-Italic"] = {"Georgia", false, true};
- gPdfStandardFonts["TrebuchetMS"] = {"Trebuchet MS", false, false};
- gPdfStandardFonts["TrebuchetMS-Bold"] = {"Trebuchet MS", true, false};
- gPdfStandardFonts["Verdana-Bold"] = {"Verdana", true, false};
- gPdfStandardFonts["WenQuanYiMicroHei"] = {"WenQuanYi Micro Hei", false, false};
+ gPdfStandardFonts["Arial-Black"] = SkPdfStandardFontEntry("Arial", true, false);
+ gPdfStandardFonts["DejaVuSans"] = SkPdfStandardFontEntry("DejaVu Sans", false, false);
+ gPdfStandardFonts["DejaVuSansMono"] = SkPdfStandardFontEntry("DejaVuSans Mono", false, false);
+ gPdfStandardFonts["DejaVuSansMono-Bold"] = SkPdfStandardFontEntry("DejaVuSans Mono", true, false);
+ gPdfStandardFonts["DejaVuSansMono-Oblique"] = SkPdfStandardFontEntry("DejaVuSans Mono", false, true);
+ gPdfStandardFonts["Georgia-Bold"] = SkPdfStandardFontEntry("Georgia", true, false);
+ gPdfStandardFonts["Georgia-BoldItalic"] = SkPdfStandardFontEntry("Georgia", true, true);
+ gPdfStandardFonts["Georgia-Italic"] = SkPdfStandardFontEntry("Georgia", false, true);
+ gPdfStandardFonts["TrebuchetMS"] = SkPdfStandardFontEntry("Trebuchet MS", false, false);
+ gPdfStandardFonts["TrebuchetMS-Bold"] = SkPdfStandardFontEntry("Trebuchet MS", true, false);
+ gPdfStandardFonts["Verdana-Bold"] = SkPdfStandardFontEntry("Verdana", true, false);
+ gPdfStandardFonts["WenQuanYiMicroHei"] = SkPdfStandardFontEntry("WenQuanYi Micro Hei", false, false);
// TODO(edisonn): list all phonts available, builf post script name as in pdf spec
/*
diff --git a/experimental/PdfViewer/SkPdfFont.h b/experimental/PdfViewer/SkPdfFont.h
index 324f0f65b4..071b324f64 100644
--- a/experimental/PdfViewer/SkPdfFont.h
+++ b/experimental/PdfViewer/SkPdfFont.h
@@ -20,11 +20,20 @@ class SkPdfTrueTypeFont;
class SkPdfMultiMasterFont;
class SkPdfFont;
-
struct SkPdfStandardFontEntry {
+ // We don't own this pointer!
const char* fName;
bool fIsBold;
bool fIsItalic;
+ SkPdfStandardFontEntry()
+ : fName(NULL),
+ fIsBold(false),
+ fIsItalic(false) {}
+
+ SkPdfStandardFontEntry(const char* name, bool bold, bool italic)
+ : fName(name),
+ fIsBold(bold),
+ fIsItalic(italic) {}
};
std::map<std::string, SkPdfStandardFontEntry>& getStandardFonts();
diff --git a/experimental/PdfViewer/SkPdfParser.cpp b/experimental/PdfViewer/SkPdfParser.cpp
index ea0f6251e6..e1f549ecb7 100644
--- a/experimental/PdfViewer/SkPdfParser.cpp
+++ b/experimental/PdfViewer/SkPdfParser.cpp
@@ -1905,12 +1905,12 @@ void PdfCompatibilitySectionLooper::loop() {
// references automatically.
bool SkPdfViewer::load(const SkString inputFileName, SkPicture* out) {
- std::cout << "Init: " << inputFileName.c_str() << std::endl;
+ std::cout << "PDF Loaded: " << inputFileName.c_str() << std::endl;
SkNativeParsedPDF* doc = new SkNativeParsedPDF(inputFileName.c_str());
if (!doc->pages())
{
- std::cout << "ERROR: Empty Document" << inputFileName.c_str() << std::endl;
+ std::cout << "ERROR: Empty PDF Document" << inputFileName.c_str() << std::endl;
return false;
} else {
diff --git a/experimental/PdfViewer/pdf_viewer_main.cpp b/experimental/PdfViewer/pdf_viewer_main.cpp
index 20a6caefdc..ac1aef01ad 100644
--- a/experimental/PdfViewer/pdf_viewer_main.cpp
+++ b/experimental/PdfViewer/pdf_viewer_main.cpp
@@ -48,6 +48,7 @@ static void usage(const char* argv0) {
* @returns false if the file did not has the expected extension.
* if false is returned, contents of path are undefined.
*/
+/*
static bool replace_filename_extension(SkString* path,
const char old_extension[],
const char new_extension[]) {
@@ -62,7 +63,7 @@ static bool replace_filename_extension(SkString* path,
}
return false;
}
-
+*/
/** Builds the output filename. path = dir/name, and it replaces expected
* .skp extension with .pdf extention.
* @param path Output filename.
@@ -70,6 +71,8 @@ static bool replace_filename_extension(SkString* path,
* @returns false if the file did not has the expected extension.
* if false is returned, contents of path are undefined.
*/
+
+/*
static bool make_output_filepath(SkString* path, const SkString& dir,
const SkString& name) {
sk_tools::make_filepath(path, dir, name);
@@ -77,12 +80,13 @@ static bool make_output_filepath(SkString* path, const SkString& dir,
PDF_FILE_EXTENSION,
PNG_FILE_EXTENSION);
}
-
+*/
/** Write the output of pdf renderer to a file.
* @param outputDir Output dir.
* @param inputFilename The skp file that was read.
* @param renderer The object responsible to write the pdf file.
*/
+/*
static bool write_output(const SkString& outputDir,
const SkString& inputFilename,
const SkPdfViewer& renderer) {
@@ -106,7 +110,7 @@ static bool write_output(const SkString& outputDir,
return true;
}
-
+*/
/** Reads an skp file, renders it to pdf and writes the output to a pdf file
* @param inputPath The skp file to be read.
* @param outputDir Output dir.
diff --git a/experimental/PdfViewer/pdfparser/native/SkPdfNativeTokenizer.cpp b/experimental/PdfViewer/pdfparser/native/SkPdfNativeTokenizer.cpp
index dd72acd2f4..4e2f558326 100644
--- a/experimental/PdfViewer/pdfparser/native/SkPdfNativeTokenizer.cpp
+++ b/experimental/PdfViewer/pdfparser/native/SkPdfNativeTokenizer.cpp
@@ -700,7 +700,9 @@ SkPdfNativeTokenizer::~SkPdfNativeTokenizer() {
// free the unparsed stream, we don't need it.
// the parsed one is locked as it contains the strings and keywords referenced in objects
if (fUncompressedStream) {
- realloc(fUncompressedStreamStart, fUncompressedStream - fUncompressedStreamStart);
+ void* dummy = realloc(fUncompressedStreamStart, fUncompressedStream - fUncompressedStreamStart);
+ SkASSERT(dummy == fUncompressedStreamStart);
+ fUncompressedStreamStart = (unsigned char*)dummy; // suporess compiler warning
} else {
SkASSERT(false);
}