Index: printing/print_settings_initializer_win.cc |
diff --git a/printing/print_settings_initializer_win.cc b/printing/print_settings_initializer_win.cc |
index e611e844cedc728724640e42acbe7a7aa99c83e7..fd243fe6109b618ea6fd2bb47efb4949eb5671a4 100644 |
--- a/printing/print_settings_initializer_win.cc |
+++ b/printing/print_settings_initializer_win.cc |
@@ -92,6 +92,9 @@ bool IsPrinterXPS(HDC hdc) { |
return IsTechnology(hdc, kXPSDriver); |
} |
+bool IsPrinterTextOnly(HDC hdc) { |
+ return ::GetDeviceCaps(hdc, TECHNOLOGY) == DT_CHARSTREAM; |
+} |
} // namespace |
// static |
@@ -153,6 +156,11 @@ void PrintSettingsInitializerWin::InitPrintSettings( |
PrintSettings::PrinterType::TYPE_POSTSCRIPT_LEVEL3); |
return; |
} |
+ // Detects the generic / text only driver. |
+ if (IsPrinterTextOnly(hdc)) { |
+ print_settings->set_printer_type(PrintSettings::PrinterType::TYPE_TEXTONLY); |
+ return; |
+ } |
if (IsPrinterXPS(hdc)) { |
print_settings->set_printer_type(PrintSettings::PrinterType::TYPE_XPS); |
return; |