PostScript: Do not send fonts with size <= 0 to printers

Bug: chromium:767343
Change-Id: I9321e7565feb423a1283c74e91297eeaeb80083f
Reviewed-on: https://pdfium-review.googlesource.com/16410
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Rebekah Potter <rbpotter@chromium.org>
diff --git a/core/fxge/win32/cfx_psrenderer.cpp b/core/fxge/win32/cfx_psrenderer.cpp
index d973918..ecfab49 100644
--- a/core/fxge/win32/cfx_psrenderer.cpp
+++ b/core/fxge/win32/cfx_psrenderer.cpp
@@ -644,16 +644,20 @@
                               const CFX_Matrix* pObject2Device,
                               float font_size,
                               uint32_t color) {
-  StartRendering();
-  int alpha = FXARGB_A(color);
-  if (alpha < 255)
-    return false;
+  // Do not send zero or negative font sizes to printers. See crbug.com/767343.
+  if (font_size <= 0.0)
+    return true;
 
   if ((pObject2Device->a == 0 && pObject2Device->b == 0) ||
       (pObject2Device->c == 0 && pObject2Device->d == 0)) {
     return true;
   }
 
+  StartRendering();
+  int alpha = FXARGB_A(color);
+  if (alpha < 255)
+    return false;
+
   SetColor(color);
   std::ostringstream buf;
   buf << "q[" << pObject2Device->a << " " << pObject2Device->b << " "