Jeremias,
fop-dev list manager complains my part 3 too large. So
I send the WinCVS diff of PSGraphics2D.java here.
cvs diff PSGraphics2D.java (in directory
G:\xml-fop\src\org\apache\fop\render\ps\)
Index: PSGraphics2D.java
===================================================================
RCS file:
/home/cvspublic/xml-fop/src/org/apache/fop/render/ps/PSGraphics2D.java,v
retrieving revision 1.9
diff -r1.9 PSGraphics2D.java
74c74
<
---
> protected FontState ovFontState = null;
461c461
< gen.writeln(c.getRed() + " " +
c.getGreen() + " " + c.getBlue()
---
>
gen.writeln(gen.formatDouble(c.getRed()/255.0) + " " +
gen.formatDouble(c.getGreen()/255.0) + " " +
gen.formatDouble(c.getBlue()/255.0)
493,496c493,496
< // psRenderer.write((1000 *
PDFNumber.doubleOut(vals[0])) +
< // " " + (1000 *
PDFNumber.doubleOut(vals[1])) + " " +
< // (1000 *
PDFNumber.doubleOut(vals[2])) + " " +
< // (1000 *
PDFNumber.doubleOut(vals[3])) + " y\n");
---
>
gen.writeln(gen.formatDouble(1000 * vals[0]) + " "
> +
gen.formatDouble(1000 * vals[1]) + " "
> +
gen.formatDouble(1000 * vals[2]) + " "
> +
gen.formatDouble(1000 * vals[3]) + " QUADTO ");
545,548c545,548
< // psRenderer.write(1000 *
PDFNumber.doubleOut(vals[0]) +
< // " " + 1000 *
PDFNumber.doubleOut(vals[1]) + " " +
< // 1000 *
PDFNumber.doubleOut(vals[2]) + " " +
< // 1000 *
PDFNumber.doubleOut(vals[3]) + " y\n");
---
>
gen.writeln(gen.formatDouble(1000 * vals[0]) + " "
> +
gen.formatDouble(1000 * vals[1]) + " "
> +
gen.formatDouble(1000 * vals[2]) + " "
> +
gen.formatDouble(1000 * vals[3]) + " QUADTO ");
763,787c763,781
< try {
<
System.out.println("drawString(String)");
< gen.writeln("BT");
< Shape imclip = getClip();
< writeClip(imclip);
< Color c = getColor();
< gen.writeln(c.getRed() + " " +
c.getGreen() + " " + c.getBlue()
< + " setrgbcolor");
<
< AffineTransform trans = getTransform();
< trans.translate(x, y);
< double[] vals = new double[6];
< trans.getMatrix(vals);
<
< gen.writeln(gen.formatDouble(vals[0]) +
" "
< + gen.formatDouble(vals[1]) +
" "
< + gen.formatDouble(vals[2]) +
" "
< + gen.formatDouble(vals[3]) +
" "
< + gen.formatDouble(vals[4]) +
" "
< + gen.formatDouble(vals[5]) +
" "
< + gen.formatDouble(vals[6]) +
" Tm [" + s + "]");
<
< gen.writeln("ET");
< } catch (IOException ioe) {
< handleIOException(ioe);
---
> try {
> if(ovFontState == null) {
> Font gFont = getFont();
> String n = gFont.getFamily();
> if (n.equals("sanserif")) {
> n = "sans-serif";
> }
> int siz = gFont.getSize();
> String style = gFont.isItalic() ?
"italic" : "normal";
> String weight = gFont.isBold() ? "bold"
: "normal";
>
> //try {
> //fontState = new FontState(n,
fontState.getFontMetrics(),siz);
> //} catch
(org.apache.fop.apps.FOPException fope) {
> //fope.printStackTrace();
> //}
> } else {
> fontState = ovFontState;
> ovFontState = null;
788a783,828
> Shape imclip = getClip();
> writeClip(imclip);
> Color c = getColor();
> gen.writeln(c.getRed()/255.0 + " " +
c.getGreen()/255.0 + " " + c.getBlue()/255.0
> + " setrgbcolor");
>
> AffineTransform trans = getTransform();
> trans.translate(x, y);
> double[] vals = new double[6];
> trans.getMatrix(vals);
> gen.writeln(gen.formatDouble(1000*vals[4]) +
" "
> +
gen.formatDouble(1000*vals[5]) + " "
> + " moveto ");
> //String fontWeight =
fontState.getFontWeight();
> StringBuffer sb = new StringBuffer();
>
> int l = s.length();
>
> if ((currentFontName !=
fontState.getFontName()) || (currentFontSize !=
fontState.getFontSize())) {
> gen.writeln(fontState.getFontName() + "
" + fontState.getFontSize() + " F");
> currentFontName =
fontState.getFontName();
> currentFontSize =
fontState.getFontSize();
> }
> for (int i = 0; i < l; i++) {
> char ch = s.charAt(i);
> char mch = fontState.mapChar(ch);
> if (mch > 127) {
> sb = sb.append("\\" +
Integer.toOctalString(mch));
> } else {
> String escape = "\\()[]{}";
> if (escape.indexOf(mch) >= 0) {
> sb.append("\\");
> }
> sb = sb.append(mch);
> }
> }
>
> String psString = null;
> psString = " (" + sb.toString()+") " +" t ";
>
> gen.writeln(" 1.0 -1.0 scale");
> gen.writeln(psString);
> gen.writeln(" 1.0 -1.0 scale");
> } catch (IOException ioe) {
> handleIOException(ioe);
> }
877c917
< gen.writeln(c.getRed() + " " +
c.getGreen() + " " + c.getBlue()
---
>
gen.writeln(gen.formatDouble(c.getRed()/255.0) + " " +
gen.formatDouble(c.getGreen()/255.0) + " " +
gen.formatDouble(c.getBlue()/255.0)
908,911c948,951
< // psRenderer.write(1000 *
PDFNumber.doubleOut(vals[0]) +
< // " " + 1000 *
PDFNumber.doubleOut(vals[1]) + " " +
< // 1000 *
PDFNumber.doubleOut(vals[2]) + " " +
< // 1000 *
PDFNumber.doubleOut(vals[3]) + " y\n");
---
>
gen.writeln(gen.formatDouble(1000 * vals[0]) + " "
> +
gen.formatDouble(1000 * vals[1]) + " "
> +
gen.formatDouble(1000 * vals[2]) + " "
> +
gen.formatDouble(1000 * vals[3]) + " QUADTO ");
980a1021,1024
> public void setOverrideFontState(FontState
infont) {
> ovFontState = infont;
> }
>
*****CVS exited normally with code 1*****
__________________________________________________
Do you Yahoo!?
Yahoo! Web Hosting - establish your business online
http://webhosting.yahoo.com
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]