--- vpsdc.cxx.orig	Wed Aug 28 18:00:36 1996
+++ vpsdc.cxx	Wed Jun 18 14:00:48 1997
@@ -1178,16 +1178,25 @@
     SetPSColor(pc);
 
     if (_curPen == _pen)			// no-op if no change
-	return;
+      {
+        if ( (_Mult == 1) && (_Div == 1) )          // and not scaled
+          {
+  	    return;
+          }
+      }
 
-    if (_curPen.GetWidth() != _pen.GetWidth())	// change width
+    if ( (_curPen.GetWidth() != _pen.GetWidth()) // if different pen or
+         || ( (_Mult !=1 ) || (_Div != 1) ) )    // canvas is scaled
       {
 	// Using standard PS points, a width of 1 looks too
 	// big. A width of .5 looks better.
-	if (_pen.GetWidth() == 1)
-	    *pstream << "0.5 setlinewidth\n";
-	else
-	    *pstream << _pen.GetWidth() << " setlinewidth\n";
+        float penWidth = (float) _pen.GetWidth();
+
+        if (penWidth==1.0) penWidth = 0.5;
+        penWidth = _Mult * penWidth / _Div;
+
+        *pstream << "%% TEST TEST\n" << penWidth << " setlinewidth\n";
+
       }
 
     if (_curPen.GetStyle() != _pen.GetStyle())	// change style
@@ -1225,6 +1234,7 @@
  void vPostScriptDC::SetPen(vPen& pen)
   {
     _pen = pen;
+
   }
 
 //======================>>> vPostScriptDC::SetFont <<<===========================
