--- abi-0.7.8/src/af/xap/unix/xap_UnixPSGraphics.cpp.orig Thu May 25 17:26:41 2000 +++ abi-0.7.8/src/af/xap/unix/xap_UnixPSGraphics.cpp Thu May 25 17:21:28 2000 @@ -738,18 +738,18 @@ switch(m_cs) { case GR_Graphics::GR_COLORSPACE_COLOR: - sprintf(buf,"%.8f %.8f %.8f setrgbcolor\n", // TODO do we need to deal with locale for PS - ((float) m_currentColor.m_red / (float) 255.0), - ((float) m_currentColor.m_grn / (float) 255.0), - ((float) m_currentColor.m_blu / (float) 255.0)); + sprintf(buf,"0.%.0f 0.%.0f 0.%.0f setrgbcolor\n", // Write the radix character as hard wired periods in PS files, LC_NUMERIC can make sprintf choose non period values for it. + ((float) m_currentColor.m_red / (float) 255.0)*100000000.0, + ((float) m_currentColor.m_grn / (float) 255.0)*100000000.0, + ((float) m_currentColor.m_blu / (float) 255.0)*100000000.0); break; case GR_Graphics::GR_COLORSPACE_GRAYSCALE: newclr = (unsigned char) (( (float) m_currentColor.m_red + (float) m_currentColor.m_grn + (float) m_currentColor.m_blu ) / (float) 3.0); - sprintf(buf,"%.8f setgray\n", // TODO do we need to deal with locale for PS - (float) newclr / (float) 255.0); + sprintf(buf,"0.%.0f setgray\n", // Write the radix character as hard wired periods in PS files, LC_NUMERIC can make sprintf choose non period values for it. + (float) newclr / (float) 255.0) * 10000000.0; break; case GR_Graphics::GR_COLORSPACE_BW: // Black & White is a special case of the Gray color space where