| Index: core/fxge/win32/fx_win32_device.cpp
|
| diff --git a/core/fxge/win32/fx_win32_device.cpp b/core/fxge/win32/fx_win32_device.cpp
|
| index 1bfb4b7d6d2f72f40604f1e245471c16de76453e..c673a18d2de7596ebe2d3001b519d76025f6565c 100644
|
| --- a/core/fxge/win32/fx_win32_device.cpp
|
| +++ b/core/fxge/win32/fx_win32_device.cpp
|
| @@ -14,10 +14,6 @@
|
| #include "core/fxcrt/cfx_maybe_owned.h"
|
| #include "core/fxcrt/fx_memory.h"
|
| #include "core/fxcrt/fx_system.h"
|
| -#include "core/fxge/cfx_fontmapper.h"
|
| -#include "core/fxge/cfx_gemodule.h"
|
| -#include "core/fxge/cfx_graphstatedata.h"
|
| -#include "core/fxge/cfx_pathdata.h"
|
| #include "core/fxge/cfx_windowsdevice.h"
|
| #include "core/fxge/dib/dib_int.h"
|
| #include "core/fxge/fx_font.h"
|
| @@ -697,6 +693,8 @@ bool CFX_Win32FontInfo::GetFontCharset(void* hFont, int& charset) {
|
|
|
| } // namespace
|
|
|
| +int g_pdfium_print_postscript_level = 0;
|
| +
|
| std::unique_ptr<IFX_SystemFontInfo> IFX_SystemFontInfo::CreateDefault(
|
| const char** pUnused) {
|
| if (IsGDIEnabled())
|
| @@ -1387,7 +1385,13 @@ IFX_RenderDeviceDriver* CFX_WindowsDevice::CreateDriver(HDC hDC) {
|
| int obj_type = ::GetObjectType(hDC);
|
| bool use_printer = device_type == DT_RASPRINTER ||
|
| device_type == DT_PLOTTER || obj_type == OBJ_ENHMETADC;
|
| - if (use_printer)
|
| - return new CGdiPrinterDriver(hDC);
|
| - return new CGdiDisplayDriver(hDC);
|
| +
|
| + if (!use_printer)
|
| + return new CGdiDisplayDriver(hDC);
|
| +
|
| + if (g_pdfium_print_postscript_level == 2 ||
|
| + g_pdfium_print_postscript_level == 3) {
|
| + return new CPSPrinterDriver(hDC, g_pdfium_print_postscript_level, false);
|
| + }
|
| + return new CGdiPrinterDriver(hDC);
|
| }
|
|
|