wordpad: Add support for printing a page range.
diff --git a/programs/wordpad/wordpad.c b/programs/wordpad/wordpad.c
index de58c2f..03f9391 100644
--- a/programs/wordpad/wordpad.c
+++ b/programs/wordpad/wordpad.c
@@ -936,6 +936,7 @@
     FORMATRANGE fr;
     DOCINFOW di;
     int dpiY, dpiX, width, height;
+    int printedPages = 0;
 
     fr.hdc = pd->hDC;
     fr.hdcTarget = pd->hDC;
@@ -975,6 +976,18 @@
         gt.codepage = 1200;
         fr.chrg.cpMin = 0;
         fr.chrg.cpMax = SendMessageW(hEditorWnd, EM_GETTEXTLENGTHEX, (WPARAM)&gt, 0);
+
+        if(pd->Flags & PD_PAGENUMS)
+        {
+            int i;
+            for(i = 1; i <= pd->nToPage; i++)
+            {
+                if(i == pd->nFromPage)
+                    break;
+
+                fr.chrg.cpMin = SendMessageW(hEditorWnd, EM_FORMATRANGE, TRUE, (LPARAM)&fr);
+            }
+        }
     }
 
     StartDocW(fr.hdc, &di);
@@ -987,6 +1000,10 @@
 
         if(EndPage(fr.hdc) <= 0)
             break;
+
+        printedPages++;
+        if((pd->Flags & PD_PAGENUMS) && (printedPages > (pd->nToPage - pd->nFromPage)))
+            break;
     }
     while(fr.chrg.cpMin < fr.chrg.cpMax);
 
@@ -1061,7 +1078,7 @@
     pd.hwndOwner = hMainWnd;
     pd.Flags = PD_RETURNDC | PD_USEDEVMODECOPIESANDCOLLATE;
     pd.nMinPage = 1;
-    pd.nMaxPage = 1;
+    pd.nMaxPage = -1;
     pd.hDevMode = devMode;
     pd.hDevNames = devNames;