Re: svn commit: r1151195 - in /xmlgraphics/fop/trunk: src/java/org/apache/fop/fonts/truetype/TTFSubSetFile.java status.xml

2011-07-28 Thread Peter B. West
See below
Peter West

How can these things be?

On 28/07/2011, at 9:59 PM, Vincent Hennebert wrote:

 On 27/07/11 13:39, Jeremias Maerki wrote:
 On 27.07.2011 12:09:58 Vincent Hennebert wrote:
 
 So we're back to nitpicking.
 

Oh, absolutely not!

 I actually find it very worrying that you consider this to be
 nitpicking, when any decent book about software programming will

... etc. etc.

 
 
 I've done that intentionally to indicate
 that the variable is only just used by the following method.
 
 By putting it at a non-expected place you’re making it difficult to find
 the variable and understand in a quick glance what the class is made of.
 This hampers the readability and maintainability of the code. Given that
 it’s what we spend most of our time on, I find this worrying.

That is, by assisting the understanding of the use of this variable, you have 
made it harder to understand in a quick glance.  But in any case...
 
 Your needing to put the variable near to the methods that use it is
 a clear sign that this class is too big and needs to be split into
 smaller entities.
 
 
 And the
 null is only there to emphasize that the variable is lazily assigned
 because the thing is often not even needed.
 
 This is an interesting convention, although I believe it is cancelled out
 by the fact that in a vast majority of cases, the initialization is
 there just out of ignorance of Java’s default initialization. But that
 doesn’t matter too much.

That is, you're a dope who doesn't understand Java, unlike some. Come clean, 
Jeremias.

 makes the method hard to understand and maintain. This method should
 most probably be split into smaller methods.
 
 I'll swallow my comment to this and just do the split:
 http://svn.apache.org/viewvc?rev=1151447view=rev
 
 When I read this and the sarcastic message associated to the commit, I’m
 concerned about the unwelcoming atmosphere that is being created on this
 mailing list. Can we try and remain civil to each other?
 

Vincent is concerned that YOU are creating an unwelcome atmosphere on this 
list. Jeremias, when will you learn?

 
 But more importantly, there is no unit test that comes with this commit.
 So there is no reason to believe that the problem is fixed and, most of
 all, will not happen again in the future. Can you please add a unit test
 for this?
 
 No, I cannot. For licensing reasons. I can't upload the font that's
 causing this into the Apache SVN repository. I'd have to artificially
 construct a font that emulates this and I certainly won't try to do that.
 
 We have the DejaVuLGCSerif font in our tests/resources/fonts directory.
 Surely it must be possible to reproduce the issue with that font. Did
 you have a look at it?

Well, DID you? Eh? Eh?

 
 
 Thanks,
 Vincent



Re: 20x slowdown in PNG processing when switching from JDK 1.6.0_17 to 1.6.0_18

2011-05-04 Thread Peter B. West
I suppose you have JAI installed in both 6u17 and 6u18/24?

Peter West

Why do you seek the living among the dead? He is not here, but is risen.

On 04/05/2011, at 8:17 PM, Ognjen Blagojevic wrote:

 Hi,
 
 To keep issue alive, I reported a bug:
 
  https://issues.apache.org/bugzilla/show_bug.cgi?id=51149
 
 Regards,
 Ognjen



Re: 20x slowdown in PNG processing when switching from JDK 1.6.0_17 to 1.6.0_18

2011-05-04 Thread Peter B. West
Ognjen,

You may well have it, depending on where you got your Java installation. I see 
you're on windows, so it's probably already included. With linux, I used to 
have to install it myself, but I've been using OS X for a while now, so I don't 
know about  either Windows or linux any more.

The others will tell you if it's necessary.

Peter West

Why do you seek the living among the dead? He is not here, but is risen.

On 04/05/2011, at 11:24 PM, Ognjen Blagojevic wrote:

 Hi Peter,
 
 I didn't install anything other than regular JDK for Linux.
 
 Do you mean JAI library or JAI Image I/O tools? They are both mentioned 
 in FOP docs [1], but from what I understand neither is necessary for PNG 
 image manipulation:
 
 (BMP, TIFF) Requires the presence of JAI Image I/O Tools (or an equivalent 
 Image I/O compatible codec) in the classpath. JAI Image I/O Tools also adds 
 support for JPEG 2000, WBMP, RAW and PNM. Other Image I/O codecs may provide 
 support for additional formats..
 
 Do I need to install it, anyway?
 
 Regards,
 Ognjen
 
 [1] http://xmlgraphics.apache.org/fop/1.0/graphics.html#support-overview



Re: DO NOT REPLY [Bug 50240] New: [PATCH] Upgrade to Java 1.5 - Converted EncodingMode to an Enum

2010-11-09 Thread Peter B. West
You may find some of the code in the now-stagnant SourceForge Folio project 
useful. It has lots of enums defined, for example. It is MPL, but just let me 
know and I'll change the licence.

Peter West

He said to them, Come and see.

On 10/11/2010, at 2:35 AM, bugzi...@apache.org wrote:

 https://issues.apache.org/bugzilla/show_bug.cgi?id=50240
 
   Summary: [PATCH] Upgrade to Java 1.5 - Converted EncodingMode
to an Enum
   Product: Fop
   Version: all
  Platform: PC
OS/Version: Linux
Status: NEW
  Severity: minor
  Priority: P2
 Component: fonts
AssignedTo: fop-dev@xmlgraphics.apache.org
ReportedBy: med1...@gmail.com
 
 
 Created an attachment (id=26272)
 -- (https://issues.apache.org/bugzilla/attachment.cgi?id=26272)
 EncodingMode changed from class - enum
 
 In light of the recent vote to convert to Java5, I have changed
 o.a.f.fonts.EncodingMode.java to an enumerated type. I've also added a JUnit
 test for this enum. I have tested this enum with various different fonts and
 diffed them to ensure there are no differences.
 
 -- 
 Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
 --- You are receiving this mail because: ---
 You are the assignee for the bug.



Re: svn commit: r946585 - in /xmlgraphics/fop/trunk/src/java/org/apache/fop/afp/fonts: AFPFont.java AbstractOutlineFont.java CharacterSet.java CharacterSetBuilder.java CharacterSetOrientation.java D

2010-05-21 Thread Peter B. West
I'm puzzled by this discussion. AFAIK, Java has rejected moving to 32 bits in 
Java 5. Instead, they are supporting supplementary characters. There's a 
discussion here: 
http://java.sun.com/developer/technicalArticles/Intl/Supplementary/

Peter West
Lord, to whom shall we go?




On 21/05/2010, at 11:11 PM, Glenn Adams wrote:

 I concur with this change, and have already made some changes in this 
 direction in my work on adding complex script support.
 
 Please note that it is not quite so simple as merely changing from char to 
 int in some locations. It is also necessary to convert from UTF-16 to UTF-32, 
 i.e., to the full Unicode code point value, which can range from 0x00 
 through 0x10 (see Unicode 5.2, Section 3.3, Item D9). It is probably not 
 a good idea to make this conversion too early, but rather, to defer it until 
 certain well defined interface points, which need to be documented as taking 
 the full Unicode code point, and not merely a UTF-16 code element.
 
 On Fri, May 21, 2010 at 3:46 AM, Vincent Hennebert vhenneb...@gmail.com 
 wrote:
 Hi,
 
  Author: jeremias
  Date: Thu May 20 09:52:27 2010
  New Revision: 946585
 
  URL: http://svn.apache.org/viewvc?rev=946585view=rev
  Log:
  Changed many variables and parameters from int to char because AFP font 
  support mostly uses Unicode code points unlike Type 1 and TrueType support 
  which use internal character code points (the result of Font.mapChar()). 
  This should improve code readability.
 
 Not sure this is a desirable change. char can only address characters
 from the Basic Multilingual Plane. Java 1.5 have started to use int to
 overcome that issue actually. So unless there is a fundamental
 limitation in AFP such that characters beyond the BMP will never be
 usable, I think we want to stick to int.
 
 snip/
 
 Vincent
 



Re: svn commit: r946585 - in /xmlgraphics/fop/trunk/src/java/org/apache/fop/afp/fonts: AFPFont.java AbstractOutlineFont.java CharacterSet.java CharacterSetBuilder.java CharacterSetOrientation.java Dou

2010-05-21 Thread Peter B. West
Sorry, I wasn't paying enough attention.

Yes, when dealing with individual character interfaces, you need to provide 
codepoint as well as char. The relationship between codepoints and strings is 
not straightforward, however.

Peter West
Lord, to whom shall we go?




On 22/05/2010, at 12:14 AM, Glenn Adams wrote:

 it's a simple problem, which can be stated as follows:
   • the char data type in Java does not denote a character, rather, it 
 denotes a UTF-16 encoding element
   • some Unicode characters, i.e., those in the BMP, are represented by 
 one char element (char[1]), while other Unicode characters require two char 
 elements (char[2]);
   • in order to make use of non-BMP characters, of which there are now 
 many standardized instances, one must either pass a char array, e.g., 
 char[2], or, alternatively pass an int, which is capable of representing all 
 Unicode code points in the range of 0 ... 0x10;
 at some point, FOP needs to support the effective use of characters outside 
 the BMP coding space, and, consequently, those FOP interfaces that use the 
 char type need to be upgraded to int;
 
 I am referring to FOP defined interfaces mind you, not Java defined 
 interfaces; in general, the Java interfaces provide mechanisms to address 
 this problem; for instance, see the discussion in the preamble of the 
 definition of java.lang.Character, the pertinent point of which I repeat 
 below:
   • The methods that only accept a char value cannot support 
 supplementary characters. They treat char values from the surrogate ranges as 
 undefined characters. For example, Character.isLetter('\uD840') returns 
 false, even though this specific value if followed by any low-surrogate value 
 in a string would represent a letter.
   • The methods that accept an int value support all Unicode characters, 
 including supplementary characters. For example, Character.isLetter(0x2F81A) 
 returns truebecause the code point value represents a letter (a CJK 
 ideograph).
 what I believe the original commenter is pointing out (and that I am agreeing 
 with) is that FOP needs to take care to not use the char type for interface 
 parameters that are intended to denote a Unicode character; or, if they do, 
 then an overloaded version of the same interface that uses the int type 
 should also be provided;
 
 for example, the following interfaces need to be upgraded to int or to have 
 an overloaded int variant:
 
 org.apache.fop.fonts.Font.getKernValue(char ch1, char ch2);
 org.apache.fop.fonts.Font.getWidth(char charnum);
 org.apache.fop.fonts.Font.mapChar(char c);
 org.apache.fop.fonts.Font.hasChar(char c);
 org.apache.fop.fo.CharIterator.replaceChar(char c);
 org.apache.fop.fo.flow.Character.getCharacter();
 org.apache.fop.util.CharUtilities.*;
 ...
 
 i have already upgraded al of the CharUtilities.* methods to use int instead 
 of char in my present work on complex script support, but there are a variety 
 of other internal interfaces as noted above that need to be upgraded as well. 
 if you like, I can fold this into my present work, or assign it a new bug 
 number (which may be the best for tracking purposes);
 
 regards,
 glenn
 
 
 On Fri, May 21, 2010 at 7:31 AM, Peter B. West li...@pbw.id.au wrote:
 I'm puzzled by this discussion. AFAIK, Java has rejected moving to 32 bits in 
 Java 5. Instead, they are supporting supplementary characters. There's a 
 discussion here: 
 http://java.sun.com/developer/technicalArticles/Intl/Supplementary/
 
 Peter West
 Lord, to whom shall we go?
 
 
 
 
 On 21/05/2010, at 11:11 PM, Glenn Adams wrote:
 
  I concur with this change, and have already made some changes in this 
  direction in my work on adding complex script support.
 
  Please note that it is not quite so simple as merely changing from char to 
  int in some locations. It is also necessary to convert from UTF-16 to 
  UTF-32, i.e., to the full Unicode code point value, which can range from 
  0x00 through 0x10 (see Unicode 5.2, Section 3.3, Item D9). It is 
  probably not a good idea to make this conversion too early, but rather, to 
  defer it until certain well defined interface points, which need to be 
  documented as taking the full Unicode code point, and not merely a UTF-16 
  code element.
 
  On Fri, May 21, 2010 at 3:46 AM, Vincent Hennebert vhenneb...@gmail.com 
  wrote:
  Hi,
 
   Author: jeremias
   Date: Thu May 20 09:52:27 2010
   New Revision: 946585
  
   URL: http://svn.apache.org/viewvc?rev=946585view=rev
   Log:
   Changed many variables and parameters from int to char because AFP 
   font support mostly uses Unicode code points unlike Type 1 and TrueType 
   support which use internal character code points (the result of 
   Font.mapChar()). This should improve code readability.
 
  Not sure this is a desirable change. char can only address characters
  from the Basic Multilingual Plane. Java 1.5 have started to use int to
  overcome that issue actually. So

Re: Initial Values of Variables [was: Re: svn commit: r825875 - in /xmlgraphics/fop/trunk/src/java/org/apache/fop/cli: CommandLineOptions.java InputHandler.java]

2009-10-20 Thread Peter B. West
Yep, they sure are. Does it hurt to spell it out? Like redundant  
parentheses, it does no harm, and makes the code just that little bit  
more explicit, for the dodos like me.


Peter

On 20/10/2009, at 8:13 PM, Vincent Hennebert wrote:


Hi,

Just a nit:


+private boolean useCatalogResolver = false;
+private EntityResolver entityResolver = null;
+private URIResolver uriResolver = null;


Those fields are being initialized to their default values. The Java
Language Specification states [1] that every field must be initialized
with a default value, basically 0 for numbers, false for booleans, and
null for objects. So explicitly initializing them with their default
values is just noise.
I’d like to suggest everyone to remove those unnecessary  
initializations

in the future.

[1] 
http://java.sun.com/docs/books/jls/third_edition/html/typesValues.html#4.12.5

Thanks,
Vincent




Re: ambiguity of grammar for font shorthand?

2009-09-23 Thread Peter B. West


On 23/09/2009, at 8:18 PM, Vincent Hennebert wrote:


Hi Tony,

Tony Graham wrote:
On Mon, Sep 21 2009 23:30:17 +0100, jonathan.levin...@intersystems.com 
 wrote:

...
If inherit is allowed to be a value then the grammar truly becomes  
ambiguous
since each of these can have the value inherit and we don?t know  
which ones are

omitted and must take the value normal.


'inherit' doesn't mix with other values [1].  AFAIK, this is true  
even

for shorthands taken from CSS2.


Well the point you’re referring to says that ‘inherit’ can’t be mixed
with other operations in an expression. Technically speaking the
shorthand is not an expression. And, anyway, the point also says that
the ‘from-parent()’ function can be used instead, which leads to the
same issue.

That said, your point made me look at the introduction of section  
7.31,

“Shorthand Properties”:
http://www.w3.org/TR/2006/REC-xsl11-20061205/#d0e33965
which says that “One cannot mix ‘inherit’ with other subproperty  
values

as it would not be possible to specify the subproperty to which
‘inherit’ applied”.

While this is not always true as we found out, that avoids the
problem...


When is it not true?



... Except when the ‘normal’ keyword is used, which applies to all  
three
style/variant/weight properties, and may also lead to ambiguous  
values.




Font shorthand implicitly sets _all_ of these values to normal,  
doesn't it?





If the value is 'inherit', the individual properties for which the
shorthand is a shorthand individually inherit [2].

Regards,


Tony Graham  
tony.gra...@menteithconsulting.com
Director  W3C XSL FO SG Invited  
Expert
Menteith Consulting Ltd   XML Guild  
member

XML, XSL and XSLT consulting, programming and training
Registered Office: 13 Kelly's Bay Beach, Skerries, Co. Dublin,  
Ireland
Registered in Ireland - No. 428599   http:// 
www.menteithconsulting.com

 --  --  --  --  --  --  --  --  --  --  --  --  --  --  --  --  --
xmlroff XSL Formatter   http:// 
xmlroff.org
xslide Emacs mode  http://www.menteith.com/wiki/ 
xslide
Unicode: A Primer   urn:isbn: 
0-7645-4625-2



[1] http://www.w3.org/TR/xsl11/#d0e5479
[2] http://www.w3.org/TR/xsl11/#shortexpan



Vincent




Re: ambiguity of grammar for font shorthand?

2009-09-22 Thread Peter B. West


On 23/09/2009, at 12:13 AM, Jonathan Levinson wrote:


Hi Vincent,

You make excellent points, however for font-style, font-variant and  
font-weight the initial value (the default value) is normal, not  
inherit.


http://www.w3.org/TR/2001/REC-xsl-20011015/slice7.html#font-style

http://www.w3.org/TR/2001/REC-xsl-20011015/slice7.html#font-variant

http://www.w3.org/TR/2001/REC-xsl-20011015/slice7.html#font-weight

This is a minor detail, but important if our discussion is used as  
the basis for building a recursive descent parser.




An important detail. When the font shorthand is encountered, all font  
properties (including those that cannot be defined in the shorthand)  
are set to their initial values.




Re: Moving to Java 1.5, retroweaving for 1.4

2009-09-03 Thread Peter B. West


On 03/09/2009, at 6:51 PM, Max Berger wrote:


Dear Fop Devs,

Peter B. West schrieb:

Java 6 is, as yet, and possibly indefinitely, unavailable for 32 bit
machines. Apple's commitment to Java has slackened off considerably.
Peter


Just for the mail archives: Snow Leopard (Mac OS X 10.6) includes  
Java 6

on 32-bit intel architectures [and was not yet released at the time of
the original post].


Thanks Max. Very good news.

Peter


Re: Moving to Java 1.5, retroweaving for 1.4

2009-08-24 Thread Peter B. West


On 24/08/2009, at 10:04 PM, Laurent Caillette wrote:


Hi all,

A few thoughts about Java 1.5 support and FOP version numbers.

I suggest to keep the emblematic 1.0 for the full support of the  
XSLT-1.0 spec. I don't see any problem with FOP version hitting 0.99  
or even 0.123 one day.


Java 5 as minimum requirement sounds good to me (while another  
version with 1.4 sounds reasonable, too). But Java 6 is too high as  
minimum requirement. Java 5 is still the default JVM on Mac.


Hope this helps,

c.


Java 6 is, as yet, and possibly indefinitely, unavailable for 32 bit  
machines. Apple's commitment to Java has slackened off considerably.


Peter


Re: Moving to Java 1.5, retroweaving for 1.4 (was: svn commit: r805561 [1/2]....)

2009-08-20 Thread Peter B. West


On 20/08/2009, at 7:41 PM, Jeremias Maerki wrote:


There we go again. ;-) I can understand the wishes and cravings of the
developers (feeling them myself), but as I've said before: such a
decision should be made with the user community in the back, i.e.  
there

should be another user survey to gather current data. Just because Sun
EOLs a Java version doesn't mean that everyone can suddenly just do  
the
switch. So why don't those who want this change so badly do that  
little

survey so we have the data on an informed decision?

As for retroweaving: I've just set the necessary values in my
build-local.properties and tried to compile the latest FOP Trunk with
Java 1.5. The build failed in the retroweaver task:

---

retro-avail:
   [mkdir] Created dir: C:\Dev\FOP\main\trunk-clean2\build\temp
[retroweaver] Processing 1775 classes
[retroweaver] 1775 classes weaved.
[retroweaver] Verifying 1775 classes
[retroweaver] org.apache.fop.hyphenation.UnicodeClasses: unknown  
method isLowerCase/(I)Z, The class,  
net.sourceforge.retroweaver.runtime.java.lang.Character_, c
ould not be located: net/sourceforge/retroweaver/runtime/java/lang/ 
Character_
[retroweaver] org.apache.fop.hyphenation.UnicodeClasses: unknown  
method isUpperCase/(I)Z, The class,  
net.sourceforge.retroweaver.runtime.java.lang.Character_, c
ould not be located: net/sourceforge/retroweaver/runtime/java/lang/ 
Character_
[retroweaver] org.apache.fop.hyphenation.UnicodeClasses: unknown  
method isTitleCase/(I)Z, Method not found in java.lang.Character
[retroweaver] org.apache.fop.hyphenation.UnicodeClasses: unknown  
method toLowerCase/(I)I, Method not found in java.lang.Character
[retroweaver] org.apache.fop.hyphenation.UnicodeClasses: unknown  
method getType/(I)I, Method not found in java.lang.Character
[retroweaver] org.apache.fop.hyphenation.UnicodeClasses: unknown  
method of/(I)Ljava.lang.Character$UnicodeBlock;, Method not found in  
java.lang.Character$Unicod

eBlock
[retroweaver] org.apache.fop.hyphenation.UnicodeClasses: unknown  
method toUpperCase/(I)I, Method not found in java.lang.Character
[retroweaver] org.apache.fop.hyphenation.UnicodeClasses: unknown  
method toTitleCase/(I)I, Method not found in java.lang.Character
[retroweaver] org.apache.fop.hyphenation.UnicodeClasses: unknown  
method toChars/(I)[C, The class,  
net.sourceforge.retroweaver.harmony.runtime.java.lang.Characte
r_, could not be located: net/sourceforge/retroweaver/harmony/ 
runtime/java/lang/Character_
[retroweaver] org.apache.fop.hyphenation.UnicodeClasses: unknown  
method toChars/(I)[C, The class,  
net.sourceforge.retroweaver.harmony.runtime.java.lang.Characte
r_, could not be located: net/sourceforge/retroweaver/harmony/ 
runtime/java/lang/Character_
[retroweaver] org.apache.fop.hyphenation.UnicodeClasses: unknown  
method toChars/(I)[C, The class,  
net.sourceforge.retroweaver.harmony.runtime.java.lang.Characte
r_, could not be located: net/sourceforge/retroweaver/harmony/ 
runtime/java/lang/Character_
[retroweaver] org.apache.fop.hyphenation.UnicodeClasses: unknown  
method toChars/(I)[C, The class,  
net.sourceforge.retroweaver.harmony.runtime.java.lang.Characte
r_, could not be located: net/sourceforge/retroweaver/harmony/ 
runtime/java/lang/Character_
[retroweaver] org.apache.fop.hyphenation.UnicodeClasses: unknown  
method toChars/(I)[C, The class,  
net.sourceforge.retroweaver.harmony.runtime.java.lang.Characte
r_, could not be located: net/sourceforge/retroweaver/harmony/ 
runtime/java/lang/Character_
[retroweaver] org.apache.fop.hyphenation.UnicodeClasses: unknown  
method toChars/(I)[C, The class,  
net.sourceforge.retroweaver.harmony.runtime.java.lang.Characte
r_, could not be located: net/sourceforge/retroweaver/harmony/ 
runtime/java/lang/Character_
[retroweaver] org.apache.fop.hyphenation.UnicodeClasses: unknown  
method toChars/(I)[C, The class,  
net.sourceforge.retroweaver.harmony.runtime.java.lang.Characte
r_, could not be located: net/sourceforge/retroweaver/harmony/ 
runtime/java/lang/Character_
[retroweaver] org.apache.fop.hyphenation.UnicodeClasses: unknown  
method toChars/(I)[C, The class,  
net.sourceforge.retroweaver.harmony.runtime.java.lang.Characte
r_, could not be located: net/sourceforge/retroweaver/harmony/ 
runtime/java/lang/Character_
[retroweaver] org.apache.fop.pdf.PDFEncryptionJCE$EncryptionFilter:  
unknown class javax.crypto.CipherOutputStream
[retroweaver] org.apache.fop.pdf.PDFEncryptionJCE: unknown method  
doFinal/([B)[B, The class, javax.crypto.Cipher, could not be  
located: javax/crypto/Cipher
[retroweaver] org.apache.fop.pdf.PDFEncryptionJCE: unknown method  
getMessage/()Ljava.lang.String;, The class,  
javax.crypto.IllegalBlockSizeException, could not

be located: javax/crypto/IllegalBlockSizeException
[retroweaver] org.apache.fop.pdf.PDFEncryptionJCE: unknown method  
getMessage/()Ljava.lang.String;, The class,  

Re: FOPIDESetupGuide updated to Netbeans 6.5

2009-01-22 Thread Peter B. West
Andreas Delmelle wrote:
 On 21 Jan 2009, at 11:45, Peter B. West wrote:

 It might be a good idea to set svn:ignore properties on ant.jar and the
 offo jars in lib. Then you could tell interested parties to drop those
 jars into lib as part of the preparation for building, and it's unlikely
 that the jars will come back t haunt you.
 
 Yep, dropping the ant.jar in $FOP_HOME$/lib would probably be the
 fastest solution. It's what I wanted to suggest first, but then again,
 I'm personally not too fond of copying JARs around. If you have Ant
 somewhere on your machine, then IMO, it's cleaner to have the
 build-classpath point to that ant.jar than copying it to the lib folder.
 Just remembered: we have svn:ignore set on the file
 $FOP_HOME/build-local.properties, which one could create and use to
 specify locations of dependencies that are dependent on the local setup.

If you're running *n*x, you can link ant.jar into lib. I believe you can
even do that with ntfs nowadays. It's simpler to have all your build
requirements in one place.

-- 
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/folio.html


Re: FOPIDESetupGuide updated to Netbeans 6.5

2009-01-22 Thread Peter B. West
I was interested to read the procedure outlined, but I think there is a
slightly easier way, using what NetBeans calls Free-Form Projects. When
I get a bit of time, I'll put some detail son the wiki.


-- 
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/folio.html


Re: FOPIDESetupGuide updated to Netbeans 6.5

2009-01-21 Thread Peter B. West
Andreas Delmelle wrote:
 On 19 Jan 2009, at 13:42, Ulrich Mayring wrote:
 
 Hi Ulrich
 
 Ulrich Mayring wrote:
 Peter B. West wrote:

 You must set up hyphenation from the OFFO site.
 http://offo.sourceforge.net/hyphenation/

 Ok thanks, the build works now. Maybe the SetupGuide could be updated to
 mention that this has to be done before the first ant build.

 Duh... strange. At first the build worked, but now it doesn't, there
 is a package org.apache.tools.ant missing.
 
 When do you get this message exactly? FOP depends on Ant for the anttask
 (org.apache.fop.tools.*), and this is one dependency that we do not
 include in the distribution. So you'll have to make sure that ant.jar is
 somewhere in the classpath that is used when compiling the FOP sources.
 You could set the 'optional.lib.dirs' property in
 $FOP_HOME$/build.properties to include the path to ant.jar on your machine.
 
 
 HTH!
 
 Cheers
 
 Andreas


It might be a good idea to set svn:ignore properties on ant.jar and the
offo jars in lib. Then you could tell interested parties to drop those
jars into lib as part of the preparation for building, and it's unlikely
that the jars will come back t haunt you.

Peter

-- 
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/folio.html


Re: Configuring Netbeans - missing org.apache.fop.fonts

2009-01-19 Thread Peter B. West
Jeremias Maerki wrote:
 Well, using the CLASSPATH env variable begs for trouble. I consider it a
 mistake of Java 1.0 that has been carried on until today. Good thing you
 found the problem.
 
 BTW, Peter, are you aware that the Folio website reports an error?
 

I wasn't aware of that, thanks. Which page? I can't see a problem in
firefox on linux or mac, or on safari.

Peter


Re: Configuring Netbeans - missing org.apache.fop.fonts

2009-01-18 Thread Peter B. West
Jeremias Maerki wrote:
 I have no idea what's going wrong. It seems to work for everyone else.
 In my log output with Ant 1.7 and the -d option I get different log
 output. For example, Ant includes the full classpath for the javac
 task in the resourcegen target which doesn't seem to happen on your
 end. But unfortunately, Ant doesn't log the effective classpath for the
 taskdef task at all, not even the setup of the libs-build-classpath
 and libs-build-tools-classpath early in build.xml which are used by
 the taskdef.
 
 What does ant init spit out? Have you checked for permission problems
 on the JAR files in the lib directory?
 
 Shrug.

The problem was an older version of fop.jar on the CLASSPATH. That is,
the build is, at some point, dependent on the CLASSPATH, which doesn't
seem to be a good idea.

Peter


Re: Configuring Netbeans - missing org.apache.fop.fonts

2009-01-17 Thread Peter B. West
Jeremias Maerki wrote:
 That's weird. It works for me (well, I'm not using NetBeans) and for
 Gump, too. Line 355, that's the eventResourceGenerator for the event
 processing stuff. That task uses the normal classpaths set up for FOP:
 all JARs (*.jar) in lib and lib/build plus some compiled classes in the
 build directory. I don't assume you've manipulated the basedir
 property because that would probably have led to problems earlier in the
 script. I'd run the Ant script with -d or -v to see what's going on.
 
 On 24.12.2008 01:36:08 Peter B. West wrote:
 Yes, I know. When I checkout I get a lib directory with
 xmlgraphics-commons-1.4svn. I make no changes. When I then build with

 ant clean; ant package

 BUILD FAILED
 /home/pbw/NetBeansProjects/fop-trunk/build.xml:355:
 java.lang.NoClassDefFoundError: org/apache/xmlgraphics/util/XMLizable

 I tried linking xmlgraphics-commons-1.4svn to xmlgraphics-commons.jar,
 but it makes no difference.

 Peter

 Jeremias Maerki wrote:
 XMLizable is in xmlgraphics-commons.jar.

 On 23.12.2008 05:19:25 Peter B. West wrote:
 I just tried to do a clean checkout, build and create a NetBeans project.

 Form a previous experience, I put ant.jar. qdox.jar and XMLUnit.jar in
 the lib directory, and tried to build 'package' from the command line.
 Got a class not found fro XMLizable in one of the event producer tasks.

 -- 
 Peter B. West http://cv.pbw.id.au/
 Folio http://defoe.sourceforge.net/folio/

Jeremias,

Still failing with revision 735275.

Here's the tail of 'ant -d jar-main'.


resourcegen:
[mkdir] Skipping
/home/pbw/NetBeansProjects/fop-trunk/trunk/build/codegen-classes because
it already exists.
fileset: Setup scanner in dir
/home/pbw/NetBeansProjects/fop-trunk/trunk/src/codegen/java with
patternSet{ includes: [**/*.java] excludes: [] }
[javac] org/apache/fop/tools/EventConventionException.java omitted
as
/home/pbw/NetBeansProjects/fop-trunk/trunk/build/codegen-classes/org/apache/fop/tools/EventConventionException.class
is up to date.
[javac] org/apache/fop/tools/EventProducerCollector.java omitted as
/home/pbw/NetBeansProjects/fop-trunk/trunk/build/codegen-classes/org/apache/fop/tools/EventProducerCollector.class
is up to date.
[javac] org/apache/fop/tools/EventProducerCollectorTask.java omitted
as
/home/pbw/NetBeansProjects/fop-trunk/trunk/build/codegen-classes/org/apache/fop/tools/EventProducerCollectorTask.class
is up to date.
fileset: Setup scanner in dir
/home/pbw/NetBeansProjects/fop-trunk/trunk/src/codegen/java with
patternSet{ includes: [**/*.xsl] excludes: [] }
 [copy] org/apache/fop/tools/merge-translation.xsl omitted as
/home/pbw/NetBeansProjects/fop-trunk/trunk/build/codegen-classes/org/apache/fop/tools/merge-translation.xsl
is up to date.
 [copy] org/apache/fop/tools/model2translation.xsl omitted as
/home/pbw/NetBeansProjects/fop-trunk/trunk/build/codegen-classes/org/apache/fop/tools/model2translation.xsl
is up to date.
 [copy] No sources found.
fileset: Setup scanner in dir
/home/pbw/NetBeansProjects/fop-trunk/trunk/lib/build with patternSet{
includes: [*.jar] excludes: [] }
Finding class org.apache.fop.tools.EventProducerCollectorTask
Loaded from
/home/pbw/NetBeansProjects/fop-trunk/trunk/build/codegen-classes
org/apache/fop/tools/EventProducerCollectorTask.class
Class org.apache.tools.ant.Task loaded from parent loader (parentFirst)
Class org.apache.fop.tools.EventProducerCollectorTask loaded from ant
loader (parentFirst)
Class java.lang.Object loaded from parent loader (parentFirst)
Class java.lang.Throwable loaded from parent loader (parentFirst)
Class java.io.IOException loaded from parent loader (parentFirst)
Finding class org.apache.fop.tools.EventConventionException
Loaded from
/home/pbw/NetBeansProjects/fop-trunk/trunk/build/codegen-classes
org/apache/fop/tools/EventConventionException.class
Class java.lang.Exception loaded from parent loader (parentFirst)
Class org.apache.fop.tools.EventConventionException loaded from ant
loader (parentFirst)
Class java.lang.ClassNotFoundException loaded from parent loader
(parentFirst)
Class org.apache.tools.ant.BuildException loaded from parent loader
(parentFirst)
Class org.apache.tools.ant.types.selectors.FileSelector loaded from
parent loader (parentFirst)
Class org.apache.tools.ant.Project loaded from parent loader (parentFirst)
Class java.util.List loaded from parent loader (parentFirst)
Class javax.xml.transform.TransformerException loaded from parent loader
(parentFirst)
Class java.io.FileNotFoundException loaded from parent loader (parentFirst)
Class javax.xml.transform.Source loaded from parent loader (parentFirst)
Class javax.xml.transform.Result loaded from parent loader (parentFirst)
Class java.io.OutputStream loaded from parent loader (parentFirst)
Class java.io.FileOutputStream loaded from parent loader (parentFirst)
Class java.io.BufferedOutputStream loaded from parent loader (parentFirst)
Class javax.xml.transform.URIResolver loaded from parent loader

Re: Configuring Netbeans - missing org.apache.fop.fonts

2008-12-22 Thread Peter B. West
I just tried to do a clean checkout, build and create a NetBeans project.

Form a previous experience, I put ant.jar. qdox.jar and XMLUnit.jar in
the lib directory, and tried to build 'package' from the command line.
Got a class not found fro XMLizable in one of the event producer tasks.


Manuel Mall wrote:
 Fop has some generated source files which the ant build creates.
 
 Run your ant build first then add the generated sources (build/gensrc) to
 NetBeans as a second source directory. See also
 http://wiki.apache.org/xmlgraphics-fop/FOPIDESetupGuide.
 
 Manuel
  
 
 -Original Message-
 From: bonekrusher [mailto:djs...@yahoo.com] 
 Sent: Monday, 22 December 2008 9:17 PM
 To: fop-dev@xmlgraphics.apache.org
 Subject: Configuring Netbeans - missing org.apache.fop.fonts
 
 
 Hi,
 
 Hope you may help me out. I am configuring netbeans 6.5 with the latest FOP
 trunk. I am getting an import error for the following:
 
 import org.apache.fop.fonts.*;
 
 and 
 
 import javax.media.*
 
 However, I am able to do a clean build in ant. How can I resolve these in
 netbeans?
 
 Thanks,
 
 Phil
 


-- 
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


Re: Memory Leak in PropertyCache: need ideas

2008-08-22 Thread Peter B. West

Jeremias Maerki wrote:

Ok, here's the final patch I'd propose to fix the memory leak. I've seen
no measurable performance degradation compared to the base revision and
no multi-threading problems. The memory leak is fixed and the number of
stale references remains low.

Feedback welcome.



What happens is SEGMENT_COUNT is not a power of 2? Or, what obliges 
SEGMENT_COUNT to be a power of 2?


Peter


Re: Memory Leak in PropertyCache: need ideas

2008-08-22 Thread Peter B. West

Jeremias Maerki wrote:

There's a lot of AND-ing of hash codes to determine the segments and
buckets and that's much easier to handle if you have a power of 2 and
can shift bits around.

On 22.08.2008 16:22:05 Peter B. West wrote:

Jeremias Maerki wrote:

Ok, here's the final patch I'd propose to fix the memory leak. I've seen
no measurable performance degradation compared to the base revision and
no multi-threading problems. The memory leak is fixed and the number of
stale references remains low.

Feedback welcome.

What happens is SEGMENT_COUNT is not a power of 2? Or, what obliges 
SEGMENT_COUNT to be a power of 2?


Peter


That was my assumption when I saw 'MASK', in which case is it not safer 
to ensure that your value is in fact all ones?


MASK_BIT_COUNT = 5
SEGMENT_COUNT = 1MASK_BIT_COUNT

or some such.


Re: Building FOP Trunk with Any - BUILD FAILED

2008-07-16 Thread Peter B. West

Bones wrote:
In the end, I got it working by making sure that the build process  
was using the exact same XML parser and XSLT processor that were  
distributed with FOP.  - How do I do that with in ant?




You're doing it. It's controlled by the classpath set up by ant, which 
looks pretty straightforward. All the jars in lib and lib/build + the 
codegen classes. So something very odd is going on.


--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


Re: Building FOP Trunk with Any - BUILD FAILED

2008-07-16 Thread Peter B. West

Peter B. West wrote:

Bones wrote:
In the end, I got it working by making sure that the build process  
was using the exact same XML parser and XSLT processor that were  
distributed with FOP.  - How do I do that with in ant?




You're doing it. It's controlled by the classpath set up by ant, which 
looks pretty straightforward. All the jars in lib and lib/build + the 
codegen classes. So something very odd is going on.



D'uh

--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


Re: Building FOP Trunk with Any - BUILD FAILED

2008-07-15 Thread Peter B. West

It looks suspiciously like this guy:
C:\foptrunk2\trunk\build\gensrc\org\apache\fop\events\event-model.xml
(Line 353 btw)

It would be nice to see what is actually being passed into the 
eventResourceGenerator task.


bonekrusher wrote:

Peter,

Which file is this?

echobasedir ${basedir} build.gensrc.dir ${build.gensrc.dir}/echo
immediately in front of line 352 to verify. It could be a mixed forward
and backslashed path. 



Phil


Peter B. West wrote:

bonekrusher wrote:

I will test this out later today on my home PC. I get a different set of
errors on different machines.

In the mean time I ran a new svn check out (as you suggested) on my work
PC
and got the same original error message e.g.

BUILD FAILED
C:\foptrunk2\trunk\build.xml:353: java.io.IOException:
java.io.FileNotFoundExcep
tion:
file:\C:\foptrunk2\trunk\build\gensrc\org\apache\fop\events\event-model.xm
l (The filename, directory name, or volume label syntax is incorrect)

So its seems I have two different problems. I thought I might be doing
something fundamentally wrong, but I was able to build FOP 0.94. 


As Jeremias suggested, I will try to download the trunk again from my
home
PC. I don't want to confuse the  error reports from one machine to
another
as they appear to be different.

Well, it's incorrect URL syntax. Presumably
${build.gensrc.dir}/org/apache/fop/events/event-model.xml
(see line 353) is being passed in as a file path, not a URL.

Put
echobasedir ${basedir} build.gensrc.dir ${build.gensrc.dir}/echo
immediately in front of line 352 to verify. It could be a mixed forward 
and backslashed path.


In any case, it seems to be getting converted into a badly formed file: 
URL within the ant task.

--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/







--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


Re: java.nio.CharBuffer

2008-07-15 Thread Peter B. West

Andreas Delmelle wrote:

On Jul 14, 2008, at 18:15, Andreas Delmelle wrote:

snip /

Just quickly ran Jeremias' test-app myself, and on Apple JVM (1.5), the 
difference is +/-300ms for a million iterations, but not very 
consistent. Sometimes StringBuffer operates slightly faster, other times 
it's CharBuffer that wins. I guess the backing implementations are very 
closely related anyway, so it's not all that surprising.


It would most definitely be a huge overkill if it is /only/ used for 
simple String concatenation. In the context of catching SAX characters() 
events, I think the penalty is bound to be limited (maybe even on the 
contrary: see below). That is, I don't think I've ever seen a parser 
that reports characters one at a time (which would make the current 
implementation using CharBuffer very slow). Most SAX parsers report the 
characters in reasonably large chunks (as much as possible).


Just for fun, make it:

...
private static final char[] prefix = {' ', 'm', 'y', 'V', 'a', 'l', 'u', 
'e', '='};

...
public String runCharBuffer() {
  CharBuffer buf = CharBuffer.allocate(1024);
  for (int i = 0; i  STEPS; i++) {
buf.put(prefix).put(Integer.toString(i).toCharArray());
  }
  return buf.rewind().toString();
}
...

On my end, this runs noticeably faster than when passing Strings (almost 
20%). When switching StringBuffer.append() to use char[] parameters, it 
runs a tiny bit slower than with Strings... No idea if this also holds 
for the Sun, IBM or Apache implementations.


Qua flexibility, the API for a CharBuffer (optionally) offers the 
possibility to get a reference to the backing array. For StringBuffer, 
we'd have to do something like: sb.toString().toCharArray(), and IIC, 
this always yields an independent copy of the StringBuffer's array, not 
the array itself. (Note that this obviously also has its drawbacks; 
sometimes, you just /need/ an independent copy...)


Come 1.5, you get StringBuilder.

--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


Re: Building FOP Trunk with Any - BUILD FAILED

2008-07-14 Thread Peter B. West

bonekrusher wrote:

I will test this out later today on my home PC. I get a different set of
errors on different machines.

In the mean time I ran a new svn check out (as you suggested) on my work PC
and got the same original error message e.g.

BUILD FAILED
C:\foptrunk2\trunk\build.xml:353: java.io.IOException:
java.io.FileNotFoundExcep
tion:
file:\C:\foptrunk2\trunk\build\gensrc\org\apache\fop\events\event-model.xm
l (The filename, directory name, or volume label syntax is incorrect)

So its seems I have two different problems. I thought I might be doing
something fundamentally wrong, but I was able to build FOP 0.94. 


As Jeremias suggested, I will try to download the trunk again from my home
PC. I don't want to confuse the  error reports from one machine to another
as they appear to be different.


Well, it's incorrect URL syntax. Presumably
${build.gensrc.dir}/org/apache/fop/events/event-model.xml
(see line 353) is being passed in as a file path, not a URL.

Put
echobasedir ${basedir} build.gensrc.dir ${build.gensrc.dir}/echo
immediately in front of line 352 to verify. It could be a mixed forward 
and backslashed path.


In any case, it seems to be getting converted into a badly formed file: 
URL within the ant task.

--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


Re: Building FOP Trunk with Any - BUILD FAILED

2008-07-13 Thread Peter B. West

bonekrusher wrote:

Ok, I wanted to test this at home to see if this was a machine issue.

Tested on:

Windows XP sp2
Java(TM) SE Runtime Environment (build 1.6.0_10-ea-b12)
Java HotSpot(TM) Client VM (build 11.0-b11, mixed mode, sharing)

I am still unable to build with ant. I get another set of errors.

I will email Jeremias the out.txt file.

I also tried the the version
(src/java/org/apache/fop/events/model/EventModel.java) posted, but got a
bunch of errors. I will send that report to.

Bones



What does
 ant -version
tell you?

How do you find out which command is being executed in Windows? In 
linux, you execute

 which ant
or
 type ant

Can you do the equivalent on your system.

Can you list the files and file sizes of lib and lib/build?

--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


Re: Building FOP Trunk with Any - BUILD FAILED

2008-07-13 Thread Peter B. West

bonekrusher wrote:

Ok I ran the build under three versions of ant:

Apache Ant version 1.6.5 compiled on June 2 2005
Apache Ant version 1.7.0 compiled on December 13 2006
Apache Ant version 1.7.1 compiled on June 27 2008

All failed. 


To rule out ant, I downloaded FOP 0.94 src and ran a successfully build.
This would leave me to believe that the problem lies in the trunk version.

Bones.


You've found a real head-scratcher. I've just done an update on fop, and 
run a clean, followed by package. I don't generally run the tests. The 
build was OK.  H


Can you look at the lib differences between 0.94 and trunk?

--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


Re: svn commit: r676161 - /xmlgraphics/fop/trunk/src/java/org/apache/fop/events/model/EventModel.java

2008-07-12 Thread Peter B. West

Jeremias Maerki wrote:

On 12.07.2008 14:49:03 Andreas Delmelle wrote:

On Jul 12, 2008, at 14:19, [EMAIL PROTECTED] wrote:


Author: jeremias
Date: Sat Jul 12 05:19:40 2008
New Revision: 676161

URL: http://svn.apache.org/viewvc?rev=676161view=rev
Log:
Attempt to fix a potential build problem.
FWIW, I've locally replaced all occurrences of File.toURL() in the  
codebase to File.toURI().toURL(). Once I've confirmed this breaks no  
tests, I'll commit the changes, so this is out of the way.


Thanks a lot.

Going through the occurrences, I'm getting the impression that in  
some cases, we don't even really need the URL. The URI would do just  
fine if we don't need the functionality for opening a stream... Maybe  
in this particular case, passing through a URL could also be avoided  
(?) If the error is generated by the used StreamResult implementation  
calling File.toURL(), then something like:


Result res = new StreamResult(outputFile.toURI().toASCIIString());

would already be enough (?)


In most cases, yes. But there's really a difference between a URI and a
URL. But what's confusing is the following (the Javadocs for
StreamSource):

quote
public StreamSource(String systemId)
Construct a StreamSource from a URL.
Parameters:
systemId - Must be a String that conforms to the URI syntax.
/quote

URL and URI are both used here. But I think URL is the mandatory term
here. The other thing is URI Syntax which does not refer to URI
itself. Since a URL is a URI, but not all URIs are URLs, I believe your
example above is slightly incorrect.

Jeremias Maerki


It's a SystemId. The class includes setSystemId(...) and 
setPublicId(...), so a URL looks right. One way to find out.


--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


Re: svn commit: r675698 - in /xmlgraphics/fop/trunk/src/java/org/apache/fop/cli: CommandLineOptions.java InputHandler.java Main.java

2008-07-11 Thread Peter B. West

I can recommend it.

Max Berger wrote:

Vincent,

it may (or may not) make sense to move to commons-cli:

http://commons.apache.org/cli/introduction.html

which addresses this (and other problems) very well, but this would mean
a lot more work.

Max



--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


Re: svn commit: r670341 - in /xmlgraphics/fop/trunk/src/java/org/apache/fop/fo: FONode.java FOText.java FOTreeBuilder.java FObjMixed.java

2008-07-10 Thread Peter B. West

Andreas Delmelle wrote:


On Jul 9, 2008, at 09:39, Peter B. West wrote:


Jeremias Maerki wrote:

Am I the only one concerned about backwards-compatibility here?


It's not my *concern*, but deliberately breaking compatibility does 
seem pretty silly.




Yeah, so one night I thought: Let's see if we can annoy everyone who 
has the bad habit of not using the readily provided base classes for 
extensions... :-



Cheers

Andreas


That explains it!

--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


Re: [OT] [EMAIL PROTECTED]

2008-07-09 Thread Peter B. West

Jeremias Maerki wrote:

I just noticed that Ohloh finally shows FOP's full code history. The
project cost now also shows a somewhat more realistic value.

http://www.ohloh.net/projects/fop/analyses/latest

Jeremias Maerki




Measuring this stuff is a very tricky business.

On trunk alone, following a clean, run the following:

 find . -name .svn -prune -o -type f -name '*.java' -print|while read 
file; do cat $file;done|wc


Result:

 424558 1611465 15146740

 find . -name .svn -prune -o -name '*.xml' -o -name '*.xsl' -o -name 
'*.xsd' -o -name '*.fo' -print|while read file; do cat $file;done|wc


Result:

wc: standard input:69950: Invalid or incomplete multibyte or wide character
 (numerous repetitions - Linux is Unicode)
  82258  296838 3808137

I may have forgotten some important categories of xml file here, and it 
doesn't include the website or active development branches. I couldn't 
understand all of that xml.

--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


Re: Building FOP Trunk with Any - BUILD FAILED

2008-07-09 Thread Peter B. West

bonekrusher wrote:

Hi,

I am trying to build the FOP trunk (checked out with svn) with Ant and get
the following error:

va:231: warning: [deprecation] toURL() in java.io.File has been deprecated
[javac] urls.add(libFiles[i].toURL());
[javac] ^
[javac] 26 warnings
[mkdir] Created dir: C:\fop_trunk\trunk\build\sandbox-classes
[javac] Compiling 11 source files to
C:\fop_trunk\trunk\build\sandbox-classe
s

resourcegen:
[mkdir] Created dir: C:\fop_trunk\trunk\build\codegen-classes
[javac] Compiling 3 source files to
C:\fop_trunk\trunk\build\codegen-classes

 [copy] Copying 2 files to C:\fop_trunk\trunk\build\codegen-classes

BUILD FAILED
C:\fop_trunk\trunk\build.xml:353: java.io.IOException:
java.io.FileNotFoundExcep
tion:
file:\C:\fop_trunk\trunk\build\gensrc\org\apache\fop\events\event-model.xm
l (The filename, directory name, or volume label syntax is incorrect)

Total time: 33 seconds

***

The C:\fop_trunk\trunk\build\gensrc\org\apache\fop\events folder is empty.

Any thoughts:?


What have you got in lib/build? Have you done an update recently? Fop's 
build environment - which has always been challenging - just gets 
weirder and weirder.



--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


Re: DO NOT REPLY [Bug 40798] page-position=last doesn' t work for 1 page document

2008-07-08 Thread Peter B. West

[EMAIL PROTECTED] wrote:

https://issues.apache.org/bugzilla/show_bug.cgi?id=40798

...

I haven't gone back to the spec or the code, but assuming 1) that an 
only page is also both first and last, and 2) that isOnlyPage tells the 
truth about the page being tested, the problem seems to be with the

if (isOnlyPage) {...}
test. Shouldn't it be
 if (isOnlyPage) {
 if ( ! ( pagePosition == EN_ONLY
   || pagePosition == EN_FIRST
   || pagePosition == EN_LAST ) ) {
 return false;
 }



--- Comment #7 from Dave Gerdt [EMAIL PROTECTED]  2008-07-08 13:59:23 PST ---
Looking for a solution to this first page/last page problem I found a potential
solution written by Ken Holman [1]. I assumed because he used it (and he seems
to know a little about the subject ;)  ) I had found my solution. (I hadn't
discovered this bug yet...)

However, the solution he provides doesn't work with FOP because as Simon points
out above ConditionalPageMasterReference.isValid(isOddPage, isFirstPage,
isLastPage,isBlankPage) ... says explicitly that a conditional pagemaster
reference with page-position=last is not valid for a first page. Looking at
the spec [2][3] I can't see any reason why that should be the case, though I'm
no expert in the spec, to be sure. Can one of the devs comment on this?

As a fix, I reordered the if statement in
ConditionalPageMasterReference.isValid so that the block for isLastPage comes
before the block for isFirstPage and removed 'return false' when pagePosition
== EN_FIRST in the isLastPage block (see code below). This appears to fix the
problem, at least for Ken's test file. Anyone see where this might blow up in
my face somewhere else? I ran the test suite and everything seemed to come out
fine.

The test case is attached.

[1] http://services.renderx.com/lists/xep-support/3856.html
[2]
http://www.w3.org/TR/2001/REC-xsl-20011015/slice6.html#fo_repeatable-page-master-alternatives
[3] http://www.w3.org/TR/2001/REC-xsl-20011015/slice7.html#page-position

Reordered 'if' from ConditionalPageMasterReference.isValid:
==
if (isOnlyPage) {
if (pagePosition != EN_ONLY) {
return false;
}
} else if (isLastPage) {
if (pagePosition == EN_REST) {
return false;
} else if (pagePosition == EN_FIRST) {
//return false;
}
} else if (isFirstPage) {
if (pagePosition == EN_REST) {
return false;
} else if (pagePosition == EN_LAST) {
return false;
}
} else {
if (pagePosition == EN_FIRST) {
return false;
} else if (pagePosition == EN_LAST) {
return false;
}
}





--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


Re: DO NOT REPLY [Bug 40798] page-position=last doesn' t work for 1 page document

2008-07-08 Thread Peter B. West

Ok. In that case, isOnlyPage is equivalent to
  (startPageOfPageSequence == index)  isLastPage
and then either replace the 'false' in the getSimplePageMaster call with 
that expression, or replace

  if (isOnlyPage)
with
  if (isFirstPage  isLastPage)

Will either of these work with the rest of the code?

David Gerdt wrote:

I would agree with premise 1, but 2 is incorrect I believe. I don't have my 
proper development environment in front of me at the moment, but I believe you 
can trace the calls used to reach isValid back to PageProvider.cacheNextPage 
where you will find code like:

SimplePageMaster spm = pageSeq.getNextSimplePageMaster(
index, (startPageOfPageSequence == index), isLastPage, 
false, isBlank);

You can see that isOnlyPage is simply passed as a false. I believe this is just a forward 
thinking move on the part of the developer preparing for XSL 1.1's 
page-position=only. This attribute is not supported in XSL 1.0. I think they 
just went ahead and built the framework to support it, but it is not actually implemented 
yet.


Peter B. West [EMAIL PROTECTED] 07/08/08 6:23 PM 

[EMAIL PROTECTED] wrote:

https://issues.apache.org/bugzilla/show_bug.cgi?id=40798

...

I haven't gone back to the spec or the code, but assuming 1) that an 
only page is also both first and last, and 2) that isOnlyPage tells the 
truth about the page being tested, the problem seems to be with the

if (isOnlyPage) {...}
test. Shouldn't it be
  if (isOnlyPage) {
  if ( ! ( pagePosition == EN_ONLY
|| pagePosition == EN_FIRST
|| pagePosition == EN_LAST ) ) {
  return false;
  }



--- Comment #7 from Dave Gerdt [EMAIL PROTECTED]  2008-07-08 13:59:23 PST ---
Looking for a solution to this first page/last page problem I found a potential
solution written by Ken Holman [1]. I assumed because he used it (and he seems
to know a little about the subject ;)  ) I had found my solution. (I hadn't
discovered this bug yet...)

However, the solution he provides doesn't work with FOP because as Simon points
out above ConditionalPageMasterReference.isValid(isOddPage, isFirstPage,
isLastPage,isBlankPage) ... says explicitly that a conditional pagemaster
reference with page-position=last is not valid for a first page. Looking at
the spec [2][3] I can't see any reason why that should be the case, though I'm
no expert in the spec, to be sure. Can one of the devs comment on this?

As a fix, I reordered the if statement in
ConditionalPageMasterReference.isValid so that the block for isLastPage comes
before the block for isFirstPage and removed 'return false' when pagePosition
== EN_FIRST in the isLastPage block (see code below). This appears to fix the
problem, at least for Ken's test file. Anyone see where this might blow up in
my face somewhere else? I ran the test suite and everything seemed to come out
fine.

The test case is attached.

[1] http://services.renderx.com/lists/xep-support/3856.html
[2]
http://www.w3.org/TR/2001/REC-xsl-20011015/slice6.html#fo_repeatable-page-master-alternatives
[3] http://www.w3.org/TR/2001/REC-xsl-20011015/slice7.html#page-position

Reordered 'if' from ConditionalPageMasterReference.isValid:
==
if (isOnlyPage) {
if (pagePosition != EN_ONLY) {
return false;
}
} else if (isLastPage) {
if (pagePosition == EN_REST) {
return false;
} else if (pagePosition == EN_FIRST) {
//return false;
}
} else if (isFirstPage) {
if (pagePosition == EN_REST) {
return false;
} else if (pagePosition == EN_LAST) {
return false;
}
} else {
if (pagePosition == EN_FIRST) {
return false;
} else if (pagePosition == EN_LAST) {
return false;
}
}









nbproject including global 'run' and single-file 'run' and 'debug' targets

2008-06-22 Thread Peter B. West

For NetBeans 6.1.

Attached is a gzipped nbproject directory including ide-targets.xml and 
ide-file-targets.xml. ide-targets.xml includes a 'run-nb' target for 
running a transform with an arbitrary set of arguments.  This target is 
associated with the project 'run' menu item in the project.xml file.


Also included is ide-file-targets.xml, which includes targets which 
allow running a selected file,and debugging a selected file. These 
targets currently only make sense when org.apache.fop.cli.Main is the 
selected file. These targets are also associated with appropriate menu 
items in project.xml.


All targets depend on any necessary arguments being set as the 
properties arg0..arg9. arg0 must be set for the targets to execute. The 
other args are optional.


I use these by setting the targets in build-local.properties, an example 
of which is also attached.


--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


nbproject.tgz
Description: application/compressed-tar
## This is a template for settings which are useful to be
## overridden in a developer specific property files.
## Copy this to build-local.properties, uncomment and change
## properties which should be overridden.
## The file buil-local.properties is not stored in the code
## repository and ignored for file adds.

## ===
## 1. Path settings

## All Jars from the optional lib directory are added used for
## compilation and JUnit tests. Put your jars for additional
## dependencies and tools here.
# optional.lib.dir = /home/bart/java/lib

## Checkstyle home directory. This is meant to be the top level of the
## checkstyle binary distribution.
# checkstyle.home.dir = /home/bart/stuff/checkstyle-4.0-beta6

## ===
## 2. Switches for common tasks

## Javac switches
# javac.debug = on
# javac.optimize = off
# javac.deprecation = on
# javac.source = 1.4
# javac.target = 1.4
# javac.fork = on

## JUnit task switches
# junit.fork = on

## Packages to produce javadoc.
## Add packages for FOP extensions if necessary.
# javadoc.packages = org.apache.fop.*,fopextension.*

## ===
## 3. FOP specific properties

## Specify an alternate file that contains a list of disabled layout
## engine tests.
# layoutengine.disabled = test/layoutengine/disabled-testcases.txt

## Specify an alternate directory to scan for user supplied
## hyphenation pattern files.
# user.hyph.dir = /home/bart/offo

arg0 = -c
arg1 = fop.xconf.xml
arg2 = examples/simple.fo
arg3 = simple.pdf
arg4 =
arg5 =
arg6 =
arg7 =
arg8 =
arg9 =

Re: nbproject including global 'run' and single-file 'run' and 'debug' targets

2008-06-22 Thread Peter B. West

Peter B. West wrote:

For NetBeans 6.1.

Attached is a gzipped nbproject directory including ide-targets.xml and 
ide-file-targets.xml. ide-targets.xml includes a 'run-nb' target for 
running a transform with an arbitrary set of arguments.  This target is 
associated with the project 'run' menu item in the project.xml file.


Also included is ide-file-targets.xml, which includes targets which 
allow running a selected file,and debugging a selected file. These 
targets currently only make sense when org.apache.fop.cli.Main is the 
selected file. These targets are also associated with appropriate menu 
items in project.xml.


All targets depend on any necessary arguments being set as the 
properties arg0..arg9. arg0 must be set for the targets to execute. The 
other args are optional.


I use these by setting the targets in build-local.properties, an example 
of which is also attached.

... by setting the properties...


--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


Re: PageAndLineBreaking/UnifiedApproach

2008-06-17 Thread Peter B. West

Simon Pepping wrote:
...

The fact that the prototype is written in Ruby does not help. I have
never worked with Ruby before, so I have to get used to new
syntax. More importantly, I do not have good tools for Ruby. When I
try to understand code, I do not only read it. I also make extensive
use of a debugger. This allows me to see what the code actually does
to variables, in this case e.g. how the code fills the various layouts
variables, and links them back to earlier layouts. Is there a plugin
for Ruby in Eclipse that allows me to do this? Or is there another
useful tool that can help me here?


I haven't used Ruby myself, but it may be worth-while to check NetBeans. 
There is quite a lot of support for Ruby finding its way into NB. Check 
this page from the wiki. http://wiki.netbeans.org/RubyDebugging


--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


Re: Code Quality Metrics

2008-06-11 Thread Peter B. West

Jeremias Maerki wrote:

I'm using FindBugs (as Eclipse plug-in) for some time now and it is
really good. Not that I can really say yes to 100% of the suggestions.
But about 98%.

I'm not sure about the benefit of those reports. We've had the
Checkstyle report for years now, but I doubt many people look at that
often. Having those tools as IDE plug-ins is much more useful. But that
needs to be set up by every dev him/herself.


As Karen has been inactive for some time now, I can only assume that one 
of the developers wants a sex change. Who is it?


--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


Re: Switching to Java 1.5

2008-06-06 Thread Peter B. West

Jess Holle wrote:

Max Berger wrote:

Jess Holle schrieb:
 

As of October of this year anything prior to Java 5 will be officially
unsupported by Sun except where you have a paid support contract with
them (including that for Solaris).  Add to that the fact that Java 1.4
is so limiting for so many things and Java 5 is supported on even the
most odd ball platforms (except Java ME, but I don't see FOP on ME...)


I have to disagreee. AAMOF, java 1.5 is ONLY supported on a select
number of plattforms, mainly the ones Sun provides the JDK for (or is
licensed). Those are:

Solaris / Sparc
Linux / Intel
Windows / Intel.
OS X / PowerPC + Intel (licensed)
*BSD / Intel (through emulation layers)

There are some be specific IBM jdks (on IBM plattforms), but I have no
experience with these.

That's it. Anyone using any other plattforms (such as Linux / Sparc,
etc.) has to use either the blackdown JDK ( stuck at 1.4 ), or different
JVMs, such as Jikes, Kaffee, etc., ALL OF THEM stuck at 1.4 as well or
not fully compatible (such as gcj). I have Linux / Sparc as a work
machine, and have been looking for a way to run 1.5 code for quite a
while... OpenJDK being the most promising solution (although still not
working).
  
I guess I shouldn't have said even the most odd ball platforms but 
rather all but the most odd ball platforms.


Java 5 runs on HPUX and AIX machines as well -- as well as on Solaris 
x86.  When you've got Windows, Mac OS X, x86 Linux, Solaris, HPUX, and 
AIX covered, I'd say that's pretty good.  The other platforms are, er, 
odd balls.


The question is whether you hold everything else back for the odd balls 
that seem unlikely to progress beyond 1.4.


A view from the outside.

With both HPUX and AIX, I imagine that there is another variable - which 
version of the OS supports 1.5. AIX versions don't come for the price of 
a Vista licence, and the same probably holds for HPUX. In addition, 
there may be minimum hardware requirements for upgrades.


Talk to Chris about this. He has always been prominent in defending the 
FOP interests of his employers, and seems to know a bit about these issues.


Wile we're on the topic...

Concerning the issue of retaining 1.4 compatibility by hamstringing the 
use of 1.5 constructs: a truly, deeply, madly ridiculous idea. Go to 
1.5, or don't. Simple. Don't complicate things with this notion of using 
generics, but nothing else.


If (real) 1.5 is feasible, what about 1.6. There was a huge jump in the 
language itself between 1.4 and 1.5, which is why it has taken so long 
to wean the world off 1.4. There is not such leap between 1.5 and 1.6. 
The survey should canvas 1.5 and 1.6. I'd be curious to see how many 
systems support the first and not the second.


The decision for FOP should be based, not on the end-of-life for a 
particular version, but on the pragmatic reality of 1.5 vs 1.6 support.


That's the second glass of wine for the evening.

--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


Re: try without catch in BlockStackingLM.getNextKnuthElements

2008-05-31 Thread Peter B. West

Andreas Delmelle wrote:

On May 29, 2008, at 18:23, Vincent Hennebert wrote:


Could anybody explain me what is the purpose of the following piece of
code:
if (!breakBeforeServed) {
try {
if (addKnuthElementsForBreakBefore(returnList, context)) {
return returnList;
}
} finally {
breakBeforeServed = true;
}
}
that we can find, for instance, in BlockStackingLM.getNextKnuthElements?


Can't explain, other than that it seems to be a remnant of some 
refactoring cycle without subsequential cleanup...




Isn’t it equivalent to the following:
if (!breakBeforeServed) {
breakBeforeServed = true;
if (addKnuthElementsForBreakBefore(returnList, context)) {
return returnList;
}
}


Indeed, this has the exact same outcome AFAICT.


Cheers

Andreas



What's the scope of breakBeforeServed?

--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


Re: svn commit: r648381 - in /xmlgraphics/fop/trunk: ./ src/java/org/apache/fop/fo/flow/table/ src/java/org/apache/fop/layoutmgr/ src/java/org/apache/fop/layoutmgr/inline/ src/java/org/apache/fop/layo

2008-04-19 Thread Peter B. West

Jeremias,

For what it's worth, I think you have done an extraordinary job with 
FOP. From my outside perspective, you have been the primary driver of 
the progress of the product since you came to the forefront of development.


There's an inherent problem of clashing egos in OS development. I know 
all about that one. When that starts to happen, project productivity can 
dive until the conflict is sorted out.


If you are feeling burnt-out, it might be time to consider tailing off 
your involvement in the project.


Let me say, however, that on at least two occasions that I remember, 
Vincent has displayed a breath-taking and unwarranted arrogance. Vincent 
has a very high opinion of his own ability and I suspect he sees himself 
as the natural leader of the project.


Unless Vincent develops some hitherto unsuspected humility and 
consideration, this difficulty can only end in one of you bowing out. 
That would be a pity.



Jeremias Maerki wrote:

On 18.04.2008 19:24:05 Vincent Hennebert wrote:

Jeremias Maerki wrote:

On 18.04.2008 16:51:37 Vincent Hennebert wrote:

Jeremias Maerki wrote:

On 18.04.2008 12:48:53 Vincent Hennebert wrote:

Hi,

A few comments:

- some time ago I created a BreakUtil class in the o.a.f.util package.
  I think this class and KeepUtil should be put in the same place.
  Perhaps we could even merge them into a unique KeepsAndBreaksUtil
  class. I don’t really know what the best place would be. I put it in
  o.a.f.util because it already contains all sorts of utility classes,
  but o.a.f.layoutmgr would also make sense. WDYT?

Whatever.

I let you choose, but please take care of this.

Whatever means: I don't care and you can fix this if it is important
to you.

Yeah, sure, let’s all do our own mess in our own corner and everything
will be fine.

I’m not asking you to finish my work, so please don’t ask me to finish
yours. You created a class that’s closely related to another existing
one that’s somewhere else; it’s your responsibility to try and maintain
some coherence in the codebase by fixing this.

Give me any good reason for not doing this simple thing, other than that
you don’t care or you don’t have enough time, and I’m shutting up
straight away. But you can’t call for contributors on one side and not
do even the most basic cleaning behind you on the other side.


Ok, let's do it this way: If one other FOP committers says that this
(Vincent's idea) is something I should do, I'll do it. No discussion.
Otherwise, it's 1:1 and I won't waste my time on something I don't think
helps in any way. Remember, this is a democracy and a meritocracy here.

http://www.apache.org/foundation/how-it-works.html#meritocracy
http://www.apache.org/foundation/how-it-works.html#committers

We've had a long discussion together around this last week during
ApacheCon. IMO, you're going too far now. I increasingly feel like I'm
your bitch. Today alone I lost almost half a day because I was too angry
to work. I couldn't concentrate on what I should have been looking into.
It's ok if you point out bugs and if I fix them because the bug is one
of mine. I'm actually grateful for that. It's something else entirely if
you have some idea and expect me to do the work. For free, notabene. I
can also send you an invoice. In that case, I don't mind the additional
work.

OTOH, if I'm creating a mess here, maybe I should leave the project in
order not to damage it any more because I care about it. Or better
revert all my changes on Trunk in the last 3 years to undo the damage.
Sorry for getting sarcastic, but it's not that far off.

The other option: we could to switch to R-T-C:
http://www.apache.org/foundation/glossary.html#ReviewThenCommit
The PMC can decide to do that. That way we're always sure the community
stands behind every change. But of course, you know what that would mean
for the project.

FOP community, if you think I drifted out of line lately, please set me
straight. Vincent's voice is only one. I know this scene here is ugly
and nobody wants to waste his precious free time on participating in
fights between two people. The fight also doesn't help the project at
all. Quite the opposite. In the case of Avalon.. Anyway, I keep
finding myself in confrontations with team members from time to time. At
this time, I'm seriously questioning myself and I'm not sure if that's
just me and my thick head, if I care too much about the project, or if I
simply have more attack area because I'm one of the most active people
here. Some hints would be great (on- or off-list). Please be frank.
Thanks and my apologies for the ugly scene!


Jeremias Maerki (whose boss is Jeremias and to a certain degree the XML
Graphics PMC, but certainly not Vincent as an individual)






--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


Re: DO NOT REPLY [Bug 42616] - fop bash script still broken under cygwin when current dir has spaces

2007-10-30 Thread Peter B. West
Mark C. Allman wrote:
 On Tue, 2007-10-30 at 13:32 -0700, [EMAIL PROTECTED] wrote:
 Try

 OLD_IFS=$IFS
 IFS=
 
 find ${FOP}/lib -name -name '*.jar'|while read jarfile
 do
   if [ -z $LOCALCLASSPATH ] ; then
 LOCALCLASSPATH=$jarfile
   else
 LOCALCLASSPATH=$jarfile${pathSepChar}$LOCALCLASSPATH
   fi
 done
 IFS=$OLD_IFS

 find ${FOP}/lib -name '*.jar'|while read jarfile
 do
   if [ -z $LOCALCLASSPATH ] ; then
 LOCALCLASSPATH=$jarfile
   else
 LOCALCLASSPATH=$jarfile${pathSepChar}$LOCALCLASSPATH
   fi
 done

 would be almost perfect, and avoid the need for the change of IFS,
 except that
 the call to find places the whole while loop in a subshell, and
 updates of
 LOCALCLASSPATH are lost when it returns. 
 
 Change to:
 
 for jarfile in `find ${FOP}/lib -name '*.jar'`; do
   if [ -z $LOCALCLASSPATH ] ; then
 LOCALCLASSPATH=$jarfile
   else
LOCALCLASSPATH=$jarfile${pathSepChar}$LOCALCLASSPATH
   fi
 done
 
 -- Mark C, Allman, PMP
 -- Allman Professional Consulting, Inc.
 -- www.allmanpc.com, 617-947-4263
 
 BusinessMsg -- the secure, managed, J2EE/AJAX Enterprise IM/IC solution

I think this brings back the original problem.

Peter


Re: svn commit: r556112 - in /xmlgraphics/fop/trunk/src/java/org/apache/fop: fonts/truetype/TTFFile.java util/IntMap.java

2007-07-18 Thread Peter B. West
Vincent Hennebert wrote:
 Hi,
 
 Manuel Mall a écrit :
 On Wednesday 18 July 2007 02:58, Andreas L Delmelle wrote:
 snip/
 Interestingly Java 1.5 has added the Integer.valueOf(int) method with 
 the following comment:
 
 Flyweight pattern. That's what I was looking for before replying to
 Andreas' commit, and I was surprised to not find it in the 1.4 standard
 library. A good thing it finally got added.
 

Not a pattern. It's an object cache.

-- 
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


Re: IntMap.java

2007-07-18 Thread Peter B. West
J.Pietschmann wrote:
 Vincent Hennebert wrote:
 Shall we launch a poll on fop-user about abandoning support for 1.4 and
 require 1.5 as a minimum? :-]
 
 A poll: maybe. Abandoning 1.3: Not yet.
 If the usage of those hash maps is only in a few places, we could
 provide JDK dependent code and tell people that FOP runs faster
 on JDK 1.5.
 
 J.Pietschmann

FOP should run markedly faster on 1.6 without any changes. Just about
everything else does.

-- 
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


Anyone heard from Andreas?

2007-06-18 Thread Peter B. West
I haven't seen anything from Andreas for some time now, and I was
wondering if anyone had heard from him privately.

-- 
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


Re: Generated source files? (Re: Small problem with Netbeans on fop-users@)

2007-03-10 Thread Peter B. West
Andreas L Delmelle wrote:
 On Mar 10, 2007, at 15:34, Vincent Hennebert wrote:
 
 Thomas Zastrow a écrit :
 snip /
 But I haven't a directory called gensrc? I downloaded the SVN-version
 just minutes ago.

 This directory contains source files automatically generated during the
 build process. To create it you have to run
 ant codegen
 in the root directory of FOP.
 
 FWIW, the XML sources of these generated files hardly ever change, so I
 think we may even consider replacing these with pregenerated java
 classes...?
 
 It always seems to confuse people who are interested in contributing code.
 Then, once you start wondering why these need to be generated and cannot
 simply be added as java sources, you'll quickly realize there is no good
 reason for that. Replacing maintenance of 15 classes with maintaining 2
 stylesheets and 15 XML source files hardly seems worth the trouble... :/
 
 
 Cheers,
 
 Andreas

Novel idea.

http://marc.theaimsgroup.com/?l=fop-devm=105728457029132w=2


ANN: HyFo hyphenation module V 1.0.0 released

2007-01-21 Thread Peter B. West
The Folio project announces the initial release of its stand-alone
hyphenation module, HyFo.

HyFo is released in binary form as jar files and in source form as zip
files.
See http://sourceforge.net/project/showfiles.php?group_id=119136

HyFo features include:

* Hyphenation patterns embedding re-spelling hyphenation, such as are
required in Dutch, Hungarian, Swedish, Catalan and pre-reform German
orthography. These are the hyphenations expressed by the TeX
discretionary hyphenation facility. This feature is currently active
only in the Hungarian patterns, and in a special versions of the GB and
US files with the variant _18, that is, the hyphenation trees en_US_18
and en_GB_18.

* Easy quarantining of unacceptable licences from your application.
Because the hyphenation trees, built from individual language pattern
files, are themselves stand-alone, users can pick and choose the pattern
jars they wish to install, insulating applications from the effects of
particular licences.

* No rebuilding required to add new pre-built hyphenation pattern trees.
Adding a new pre-compiled hyphenation instance is as simple as dropping
a new language jar onto the classpath.

* Integration with Java 2D text processing is provided. Hyphenation
attributes can be processed along with other text attributes by
AttributedCharacterIterators.

* HyFo hyphenation is fast; more than 50% faster than the Fop hyphenator.
HyFo trades off memory usage and one-off start-up time against the speed
of hyphenating individual instances.

* The HyFo API includes methods to present hyphenation results in a
FOP-compatible manner.

* HyFo supports alphabets containing supplementary Unicode characters.
There are no known requirements for Liang-style pattern hyphenation of
such alphabets.

See the HyFo web pages at http://defoe.sourceforge.net/hyfo/hyfo.html

-- 
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


Re: FOP Memory issues (fwd from fop-users)

2007-01-09 Thread Peter B. West
On Tue, 2007-01-09 at 16:52 +0100, Vincent Hennebert wrote:
 Richard a écrit :
 snip/
  I'm also currently reading through Knuth's Digital Typography. Can anyone
  point out any sections I should pay particular attention to w.r.t. FOP's
  usage,
 
 (Digital Typography caught my eyes. I'll try to respond to the rest
 later.)
 
 Chapter 3, Breaking Paragraphs Into Lines, is definitely THE chapter
 to read.
 The first 2 chapters are dealing with font rendering, which goes too far
 for us --but it may be interesting for your personal culture. I haven't
 read the rest but it seems very TeX-oriented to me. Maybe interesting,
 but obsoleted by the current font technology (Type1, OpenType) anyway.
 
 I've considered to describe the linebreaking algorithm in a less cryptic
 manner (variable names of more than one letter, mainly) on the Wiki [1],
 but have never had the time to do it. If you ever want to do that, that
 would be very valuable I think!
 
 [1] http://wiki.apache.org/xmlgraphics-fop/KnuthsModel
 
 Vincent

And I thought about describing Knuth and Plass' algorithm in a less
cryptic manner, and from a slightly different point of view.
http://defoe.sourceforge.net/folio/knuth-plass.html

N.I.H.

Peter





Re: XSL-FO 2.0 workshop in Heidelberg next week

2006-10-10 Thread Peter B. West
On Tue, 2006-10-10 at 12:42 +0200, Simon Pepping wrote:
 On Mon, Oct 09, 2006 at 11:45:08PM +0200, J.Pietschmann wrote:
  Jeremias Maerki wrote:
  If anyone has any requirements for XSL-FO 2.0 which I should bring up at
  the workshop in Heidelberg next week, please let me know.
  
  More radical thoughts:
  - Deprecate mixing inlines and blocks :-P
 
 Block content in inline content is the natural organization of
 displayed formulas and tables. Demanding that FO generating
 stylesheets separate them is moving the burden back to them. I am not
 in favour of that.
 
 Regards, Simon
 

It would, however, be useful if the editors could get their story
straight on this. I've never been able to work out exactly what was the
expected behaviour of blocks within inlines.

Peter



Re: keep...=always and Knuth penalties

2006-06-22 Thread Peter B. West
On Wed, 2006-06-21 at 16:50 +0200, Jeremias Maerki wrote:
  
  Have you tried the Disposition of Comments? I don't know how accessible
  they are to Google.
 
 They are accessible through the list archive at W3C. I've looked at
 those I found but I found no listing of all XSL-related ones.

Jeremias,

I'm not sure that they are accessible. The only way I've ever been able
to find them is by following links from messages in the xsl-editors
list.

It's not a big deal for me; I'll go with always=always.

If you need it resolved, you might be best to write to the editors. Paul
Grosso will probably respond quickly.

Peter



Re: keep...=always and Knuth penalties

2006-06-21 Thread Peter B. West
On Wed, 2006-06-21 at 12:01 +0200, Jeremias Maerki wrote:
 Thanks, Peter. I went looking for that reference but wasn't lucky. I
 gave up after almost 30 minutes. Could you dig up that reference for us?
 
 The only post I found was one by G. Ken Holman which was never answered:
 http://lists.w3.org/Archives/Public/xsl-editors/2005AprJun/0028
 
 On 21.06.2006 11:04:53 Peter B. West wrote:
  On Tue, 2006-06-20 at 12:07 +0200, Luca Furini wrote:
   Jeremias Maerki wrote:
   
 On 19.06.2006 15:45:36 Luca Furini wrote:
 It seems to me that the prescribed behaviour requires a keep 
 constraint 
 with force = always to be satisfied *always* :-), even if this 
 would 
 mean having some overflowing content. 

Obviously, we disagree here. I read it so that always can also be
relaxed if the keep cannot be satisfied. Did anyone check what other
implementations do?
   
   A quick test shows that AntennaHouse's xslformatter satisfies all the 
   keeps, even when this means having some content overflow the body region 
   (the overflowing content is actually clipped), while RenderX's xep 
   relaxes 
   a keep constraint in order to avoid overflows.
  
  From memory, this issue was clarified in a posting to the editors list
  some time ago (2 years or more, I think.) always means always, which
  makes sense.

I'll see if it's on the laptop at home. All I remember about it was that
it was a reply from one of the editors.

Where were you looking?

Peter




Re: keep...=always and Knuth penalties

2006-06-21 Thread Peter B. West
On Wed, 2006-06-21 at 16:24 +0200, Jeremias Maerki wrote:
 On 21.06.2006 16:19:30 Peter B. West wrote:
  On Wed, 2006-06-21 at 12:01 +0200, Jeremias Maerki wrote:
   Thanks, Peter. I went looking for that reference but wasn't lucky. I
   gave up after almost 30 minutes. Could you dig up that reference for us?
   
   The only post I found was one by G. Ken Holman which was never answered:
   http://lists.w3.org/Archives/Public/xsl-editors/2005AprJun/0028
   
   On 21.06.2006 11:04:53 Peter B. West wrote:
On Tue, 2006-06-20 at 12:07 +0200, Luca Furini wrote:
 Jeremias Maerki wrote:
 
   On 19.06.2006 15:45:36 Luca Furini wrote:
   It seems to me that the prescribed behaviour requires a keep 
   constraint 
   with force = always to be satisfied *always* :-), even if this 
   would 
   mean having some overflowing content. 
  
  Obviously, we disagree here. I read it so that always can also be
  relaxed if the keep cannot be satisfied. Did anyone check what other
  implementations do?
 
 A quick test shows that AntennaHouse's xslformatter satisfies all the 
 keeps, even when this means having some content overflow the body 
 region 
 (the overflowing content is actually clipped), while RenderX's xep 
 relaxes 
 a keep constraint in order to avoid overflows.

From memory, this issue was clarified in a posting to the editors list
some time ago (2 years or more, I think.) always means always, which
makes sense.
  
  I'll see if it's on the laptop at home. All I remember about it was that
  it was a reply from one of the editors.
 
 Thanks a lot!
 
  Where were you looking?
 
 Using friend Google, my mail client and
 http://www.w3.org/Search/Mail/Public/search?keywords=hdr-1-name=subjecthdr-1-query=index-grp=Public__FULLindex-type=ttype-index=xsl-editors
 

Have you tried the Disposition of Comments? I don't know how accessible
they are to Google.

Peter



Re: PDFFontDescriptor and PDFFactory

2006-05-26 Thread Peter B. West
On Fri, 2006-05-26 at 12:54 +0100, Chris Bowditch wrote:
 Peter B. West wrote:
 
  A colleague of mine has just found this:
  
 From PDFFontDescriptor
   */
  public PDFFontDescriptor(String basefont, int ascent,
   int descent, int capHeight, int flags,
   PDFRectangle fontBBox, int italicAngle,
   int stemV) {
  
 From PDFFactory
  
  descriptor = new PDFFontDescriptor(desc.getFontName(),
   desc.getAscender(),
   desc.getDescender(),
   desc.getCapHeight(),
   desc.getFlags(),
   new
  PDFRectangle(desc.getFontBBox()),
   desc.getStemV(),
   desc.getItalicAngle());
 
 Your message is a little cryptic Peter. Are you trying to say there is a 
 bug caused by the fact PDFFactory mis-uses the Constructor to 
 PDFFontDescriptor? (looks like StemV and italicAngle arguments are 
 transposed)
 
 Chris

Chris,

That's what he pointed out.

Peter



PDFFontDescriptor and PDFFactory

2006-05-25 Thread Peter B. West
A colleague of mine has just found this:

From PDFFontDescriptor
 */
public PDFFontDescriptor(String basefont, int ascent,
 int descent, int capHeight, int flags,
 PDFRectangle fontBBox, int italicAngle,
 int stemV) {

From PDFFactory

descriptor = new PDFFontDescriptor(desc.getFontName(),
 desc.getAscender(),
 desc.getDescender(),
 desc.getCapHeight(),
 desc.getFlags(),
 new
PDFRectangle(desc.getFontBBox()),
 desc.getStemV(),
 desc.getItalicAngle());

Peter



Re: Question about status of Bidi support, and Arabic/Persian shaping!

2006-05-05 Thread Peter B. West
On Fri, 2006-05-05 at 08:43 +0200, Jeremias Maerki wrote:
 This is good news. I did not study the problems around non-LTR texts so
 I can't say anything useful about this.
 
 I think it is preferrable to reuse code from the Java class library if
 it covers our requirements (among them: maintain JDK 1.3 compatibility).
 Sadly that means that java.text.Bidi is a little problematic, except if
 we say that Bidi support is only available under JDK 1.4 but that might
 complicate the implementation additionally. If we can reuse code from
 our sister project Batik, that's probably better. Introducing an
 external library will take careful consideration. We have to make sure,
 among other things, that the licensing situation is ok.
 
 I don't know of anyone currently working on a Bidi impementation. If
 someone does, I expect that person to speak up.
 
I am. Using Java 1.5 for the basics, and Java 1.6 for kerning and
ligatures. I suppose you were aware of that though.

Peter



Re: Question about status of Bidi support, and Arabic/Persian shaping!

2006-05-05 Thread Peter B. West
On Fri, 2006-05-05 at 10:59 +0200, Jeremias Maerki wrote:
 On 05.05.2006 10:51:35 Peter B. West wrote:
  On Fri, 2006-05-05 at 08:43 +0200, Jeremias Maerki wrote:
   This is good news. I did not study the problems around non-LTR texts so
   I can't say anything useful about this.
   
   I think it is preferrable to reuse code from the Java class library if
   it covers our requirements (among them: maintain JDK 1.3 compatibility).
   Sadly that means that java.text.Bidi is a little problematic, except if
   we say that Bidi support is only available under JDK 1.4 but that might
   complicate the implementation additionally. If we can reuse code from
   our sister project Batik, that's probably better. Introducing an
   external library will take careful consideration. We have to make sure,
   among other things, that the licensing situation is ok.
   
   I don't know of anyone currently working on a Bidi impementation. If
   someone does, I expect that person to speak up.
   
  I am. Using Java 1.5 for the basics, and Java 1.6 for kerning and
  ligatures. I suppose you were aware of that though.
 
 Well, the requirement for 1.5 or even 1.6 pretty much rules out your
 implementation for us.
 
 
 Jeremias Maerki

:)

Peter



FOPDEV.org

2006-01-13 Thread Peter B. West

Fop-devs,

What have you been hiding?

http://www.fopdev.org/

Peter


smime.p7s
Description: S/MIME Cryptographic Signature


Properties - was Sponsorship

2005-10-07 Thread Peter B. West

Peter B. West wrote:

Finn Bock wrote:


[Peter B. West]


The alt-design property code was, back then, in my eyes, code written 
by a person who did not intuitively create object oriented design.



...



It was, IMO, not a good fundation for further work.



Fair enough, apart from the deferred functionality, but irrelevant.
We're talking here about ideas and implementation details.



I have then later looked at different times, one where I made a 
incorrect description of how alt-design stored references from 
fo-object to properties, an other when I wanted to understand why you 
though alt-designs Property/PropertyValue was any different from 
head's PropertyMaker/Property.



A discussion I am always willing to have, if only to learn more about
your approach.  I *do* like pretty code.  I asked you about it, because 
I had plans to adopt it.  But I was not persuaded that you had the 
thorny problems solved, so I held off.  When it's completed, I'll look 
again.



Finn,

I've just had another look at the properties code.  It's not a pretty 
sight, is it?  Understandable, because the properties system does not 
lend itself to simple solutions.  I'll pass on adopting it though.  The 
properties code in Folio is already considerably more comprehensible, 
and will become even more so when the layout work converges.  In any 
case, it was reassuring to see the completely accidental correspondences 
between your work and mine.


Peter
--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


smime.p7s
Description: S/MIME Cryptographic Signature


Thanks to Jeremias

2005-10-07 Thread Peter B. West
Jeremias has sent a most magnanimous email to me.  It reflects as well 
on him as my imputations as to his motives reflect badly on me.


My apologies to Jeremias.

Peter
--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


smime.p7s
Description: S/MIME Cryptographic Signature


Re: script property

2005-10-07 Thread Peter B. West

Manuel Mall wrote:

On Wed, 5 Oct 2005 04:17 pm, Jeremias Maerki wrote:


On 05.10.2005 09:46:18 Manuel Mall wrote:


While I am at it (this whole alignment stuff I mean) we may as well
do it properly. This would include support for the script
property. The allowed values for script are defined for example
here:
http://www.unicode.org/iso15924/iso15924-codes.html.

I assume we don't bother to validate if a correct code has been
provided as we don't do that for the country and language
properties either (should we? If we do we need more external config
files or expand fop.xconf to hold those values as they tend to
change over time).


We don't have to but we could. Since this is not something that
changes often I wouldn't put it into the config file, but in resource
files instead.



OK - makes sense.

Validation issues considered in alt-design circa 2002. See 
CountryLanguageScript.java in the alt-design code for an attempt at 
this.  Generated from xml-lang.xml and xml-lang.xsl.  No baselines.



Peter
--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


smime.p7s
Description: S/MIME Cryptographic Signature


Re: Sponsorship

2005-10-06 Thread Peter B. West

 On Fri, Sep 30, 2005 at 08:27:45AM +0100, Peter B. West wrote:
  Jeremias Maerki wrote:
  On 29.09.2005 11:58:57 Peter B. West wrote:
  
  I can understand that some sponsors may be sensitive to divulging such
  information, for at least two reasons. Firstly, the treat of being
  inundated with begging letters, and secondly, the possibility that 
they

  might be upsetting their own business partners.
 
  Before you took up the sponsorship offer, you mentioned to me that it
  was on the cards, which I appreciated.  I assume you told others as
  well. Targeted sponsorship is potentially extremely disruptive to a
  group, and it seems to me that the process must be as open as 
possible.

   If it can't be as open as the code, it should be nearly so.

 Do you mean that such a sponsorship changes the relations within the
 group? It certainly does. I feel that Jeremias has done an admirable
 job in managing the relations within the group, and in balancing his
 full time input in FOP with the more limited input of other group
 members.

 Simon,

I've been stewing on this for quite a while, and as you, at least, seem 
to have missed the point, I'll vent.


Some background.  I've been working on the implementation of this cow of 
a Recommendation since early in 2001, mainly on FOP.  In that time, I 
have had not one red cent of financial support.  I'm not the only one in 
that situation, just the one who has been doing it the longest. Others 
have had employer support to devote some (or all) of their time to FOP, 
and Jeremias has for some time been sponsored, whatever that means.


(The fact that some get paid to work on open source is not unusual, 
particularly at Apache.  Have a look through the committers on say, 
Xerces or Xalan, and look for the ibm.com addresses.  I could also 
mention Sun and BEA.)


The outside observer of the FOP code base and web site could be excused 
for thinking that I had never existed on this project.  I wrote code for 
a year before I got committer status, incidentally at the same time as 
Jeremias and Joerg.  The reason it took me so long was that I was not 
toeing the party line - FOP HEAD.  My contributions could not be 
incrementally added to the existing line of development, so they didn't 
exist.  The only way I got committer status eventually was through the 
intervention of Nicola Ken Barozzi, who was appalled that forked code 
was being hosted outside Apache.


That code was alt-design properties code.  It seems to me that many of 
the ideas and implementation details of alt-design are now sitting in 
the FOP code base.  This is true whether Finn ever looked at the 
alt-design properties code.  It ain't over yet.[1]


Does any record of any of this remain on the web site?  No.  All trace 
of alt-design has been vigorously scrubbed from the site.  A bit thank 
you to Glen and to Jeremias.  Not only does this amount to the 
re-writing of FOP history, but it was detrimental to the development 
effort.  A number of observations which have been made recently were 
discussed in detail in the alt-design documentation, notably in respect 
of space-resolution and footnotes.


Rewriting history is a pernicious activity at the best of times.  What 
infuriates me about this exercise is not only its immediately 
detrimental effects on me, but what I perceive to be its motivation.  As 
to the first, I cannot, for example, point anyone who is interested to 
the relevant parts of the web site and say, That's what I was doing for 
the past few years.


This is important anyway, but in my case it is more important.  I 
started work on FOP at the beginning of the tech wreck.  That hit my 
home town particularly hard.  In addition, my skills were stale.  XSL-FO 
has been my school of Java.  The bottom line was that I had almost no 
work in IT over that period.  I lived off savings, I lived off 
unemployment benefits, I sold liquor at a bottle shop, I was supported 
by my wife.  My efforts on this project, and now Folio, were, and are, 
critical to my prospects of employment.


Jeremias has known my situation for some time.  Let me repeat that. 
When Jeremias went about the complete purging of all traces of my work 
from the site, he knew my professional situation.


You might say that it doesn't matter because I can simply put such 
things on the Folio site.  But of course, the Folio site is not, for 
some time, at least, going to get the traffic, nor does it have the same 
weight.  Which brings me to the motivation.  I don't doubt that 
Jeremias does not believe in my design ideas.  That makes the behaviour 
even more bizarre.  If the ideas are no good, let them stand naked to 
inspection.  No-one will be interested.  No, that's not enough.  Someone 
*might* be interested, and Jeremias *might* lose a potential developer 
to Folio.  That is, someone probably working for nothing, might not 
contribute to FOP.  And that would not be in Jeremias' personal 
financial interest.  That's

Re: Sponsorship

2005-10-06 Thread Peter B. West

Finn Bock wrote:

[Peter B. West]

...

That code was alt-design properties code.  It seems to me that many of 
the ideas and implementation details of alt-design are now sitting in 
the FOP code base.  This is true whether Finn ever looked at the 
alt-design properties code.  It ain't over yet.[1]



I did, before I became a committer. Back then I evaluated the different 
branches (0.20, alt and head) and made a decision on which one to work on.


The alt-design property code was, back then, in my eyes, code written by 
a person who did not intuitively create object oriented design.


Guilty as charged.  My apologies.  I'm kind-of old fashioned.  I was
looking to understand the problem, and solve it, especially the hard
parts.  For instance, parsing font.  That problem was addressed in
2002 in alt-design.  When did that make it into FOP?  I can't say it was
solved, because there may well have been bugs in it at that stage.  But
the code was there, as it was for a number of other hair-raising
properties.  I don't know the current situation in detail, but for some
long time, alt-design had overall better coverage of properties than the
new code.  More importantly, it had been thought through.  There were
gaps, but all of the nasty stuff was covered, and there were no
surprises, except for the issue of percentages, which is what sent me in
another direction.  There were no kludges, waiting for me to confess
down the track.  Like I said, I'm old-fashioned.  When I say something
is done, I mean that it is done.  If there are areas that need fixing,
I'll say so, up front.

It was, 
IMO, not a good fundation for further work.


Fair enough, apart from the deferred functionality, but irrelevant.
We're talking here about ideas and implementation details.



I have then later looked at different times, one where I made a 
incorrect description of how alt-design stored references from fo-object 
to properties, an other when I wanted to understand why you though 
alt-designs Property/PropertyValue was any different from head's 
PropertyMaker/Property.


A discussion I am always willing to have, if only to learn more about
your approach.  I *do* like pretty code.  I asked you about it, because 
I had plans to adopt it.  But I was not persuaded that you had the 
thorny problems solved, so I held off.  When it's completed, I'll look 
again.




Does any record of any of this remain on the web site?  No.  



Plagerism?


Not an accusation I'm making, Finn.


Not a single line from alt-design has ever been committed to head by me!


Not an accusation I'm making.  ...whether Finn ever looked...  But
thanks for the response.

Peter
--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


smime.p7s
Description: S/MIME Cryptographic Signature


Re: Maintainability

2005-09-30 Thread Peter B. West

Manuel Mall wrote:

On Thu, 29 Sep 2005 11:50 pm, Peter B. West wrote:


Fopsters,

I've always been somewhat sceptical of the new approach to page
breaking, although I was prepared to concede that it would be a great
achievement if you pulled it off.

However, the closer the development has come to fruition, the more
some of my original concerns have been reinforced.  Think about the
enormous amount of intellectual effort that has gone into mapping the
problem into Knuthian.  That effort is still under way.

How is this going to be maintained?  Where are the Knuthian speakers
who are going to do that job over the next few years?

I'm surprised, in fact, that some of the old hands have not raised
this question already.



Peter,

I don't get it what you are aiming at here.

Are you saying that the Knuth approach to line or page breaking is 
inherently more difficult to understand and therefore harder to 
maintain?


Apart from being one of the best (in terms of visual quality of the 
output) algorithms for breaking it is also IMO inherently simple. This 
is one of the beauties of many of Knuth's works. He is IMO a brilliant 
Computer Scientist who manages to solve complex problems using simple 
concepts and algorithms. The concepts and algorithms are also well 
documented in papers and books which are usually accessible through 
your nearest university library. Just take the Breaking Paragraphs 
into Lines paper. Yes, it is over 80 odd pages long but the important 
concepts are explained in the first 10 pages. In my case, when I delved 
cold into the fop layout code I had no idea what was going on, but 
after reading the initial part of the paper it all suddenly made sense.


So, where is the problem - Fop is using well documented concepts and 
algorithms to do its line and page breaking. Why should it be harder to 
maintain than some home cooked solution not backed up by previous 
research / papers / implementations (Tex)?


And if you take the recent discussions mainly driven by Jeremias 
regarding the bpd space resolution the core of the problem is not 
mapping it into the appropriate Knuth sequences. It is the 
implementation of the space resolution rules themselves, i.e. figuring 
out how much space to leave or not leave in a particular situation, 
which is the hard part. Generating the appropriate Knuth sequence once 
you know what the resolved space is is easy.


And quite a few of the stuff is also documented on the WIKI.

In summary, and I can speak here from my own recent experience, I don't 
share your concerns about the Knuth approach increasing the 
maintainability cost of the fop code base.


If you guys are happy with how the design is shaping up in terms of 
maintainability, great.  There had been no discussion about this aspect, 
now there is.


Peter
--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


smime.p7s
Description: S/MIME Cryptographic Signature


Re: Sponsorship

2005-09-30 Thread Peter B. West

Jeremias Maerki wrote:

On 29.09.2005 11:58:57 Peter B. West wrote:


Jeremias,

I meant to ask you when you mentioned your sponsor; who is it?



I'm not at liberty to disclose that at this point.



I'm sure they're happy with the work you've put in.



Yes, they are. We've already achieved one of the major goals: To
bring FOP out of its stagnation and make it more interesting for people
to jump in and help again. FOP's gona live! :-)

Jeremias Maerki


I can understand that some sponsors may be sensitive to divulging such 
information, for at least two reasons. Firstly, the treat of being 
inundated with begging letters, and secondly, the possibility that they 
might be upsetting their own business partners.


Before you took up the sponsorship offer, you mentioned to me that it 
was on the cards, which I appreciated.  I assume you told others as 
well. Targeted sponsorship is potentially extremely disruptive to a 
group, and it seems to me that the process must be as open as possible. 
 If it can't be as open as the code, it should be nearly so.


Peter
--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


smime.p7s
Description: S/MIME Cryptographic Signature


Re: Maintainability

2005-09-30 Thread Peter B. West

Thanks to Luca for his (perhaps entirely co-incidental) posting to the Wiki.

Peter
--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


smime.p7s
Description: S/MIME Cryptographic Signature


Re: Maintainability

2005-09-30 Thread Peter B. West

Luca Furini wrote:

Peter B. West wrote:

Thanks to Luca for his (perhaps entirely co-incidental) posting to the 
Wiki.



Well, not entirely co-incidental! :-)

I started writing the page some time ago, but never found the time to 
finish it: your message made me think I really couldn't put this off any 
longer, so I added a few things and posted what was ready. I'd try and 
add the missing parts as soon as possible.


Comments, questions, suggestions, and especially additions :-) are most 
welcome!


Regards
Luca


Luca,

There seem to be some misapprehensions about what you are attempting; 
perhaps they are mine, so please clarify this.  As I understand it, the 
mature, well-documented technology is the line-breaking, as in Breaking 
Lines Into Paragraphs.  Using this model for page-breaking is something 
that has been speculated about, in particular by Plass.  However, in 
implementing this, you and the others are breaking new ground.


If this is the case, then it is quite inaccurate to describe the 
page-breaking as mature, well-understood, well-documented and 
well-behaved technology.


Is that fair?

Peter
--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


smime.p7s
Description: S/MIME Cryptographic Signature


Static methods

2005-09-29 Thread Peter B. West

Finn,

I noticed that you extracted numeric function methods as statics into a 
class of their own.  Was this for aesthetic or performance reasons?


Peter
--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


smime.p7s
Description: S/MIME Cryptographic Signature


Re: Static methods

2005-09-29 Thread Peter B. West

Finn Bock wrote:

[Peter]

I noticed that you extracted numeric function methods as statics into 
a class of their own.  Was this for aesthetic or performance reasons?



The methods in NumericOp? They are called from multiple places which 
does not have anything in common. So I put the methods in NumericOp to 
avoid duplication of the few lines in each method.


There was no performance reasons behind that decision.

regards,
finn


Thanks Finn.  I thought it might have been something you had learned 
about JVMs while working on Jython.


Peter
--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


smime.p7s
Description: S/MIME Cryptographic Signature


Maintainability

2005-09-29 Thread Peter B. West

Fopsters,

I've always been somewhat sceptical of the new approach to page 
breaking, although I was prepared to concede that it would be a great 
achievement if you pulled it off.


However, the closer the development has come to fruition, the more some 
of my original concerns have been reinforced.  Think about the enormous 
amount of intellectual effort that has gone into mapping the problem 
into Knuthian.  That effort is still under way.


How is this going to be maintained?  Where are the Knuthian speakers who 
are going to do that job over the next few years?


I'm surprised, in fact, that some of the old hands have not raised this 
question already.


Peter
--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


smime.p7s
Description: S/MIME Cryptographic Signature


Re: alignment-adjust property

2005-09-28 Thread Peter B. West

Manuel Mall wrote:
This is another of those spec interpretation questions. Sorry to 
populate this list with so many of these questions but this is a source 
of real irritation for me in the moment. I just want to get 
sub/superscripts working and do it properly and I am hitting all these 
murky (as Peter put it) things in the spec.


Don't apologise for actually reading the Recommendation, and thinking 
about it.  The fact is that there is not enough of that done by those 
who are implementing the Recommendation, as evidenced by the existence 
of these bugs in the document.  No matter what the interpretation, 
7.13.1 and 7.13.2 have editorial bugs which need to be clarified. Think 
about it.  How many commercial implementations are out there?  The same 
bugs are still present in the 1.1 draft. (See Section 7.14).


You found it, so you get to write to the editors.  If you are 
apprehensive about that, talk to me further off-list, or to Glen (who 
has communicated quite a lot with the editors, and who has popped up 
again) or Victor.


Peter
--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


smime.p7s
Description: S/MIME Cryptographic Signature


Re: inline stacking and baseline scaling

2005-09-26 Thread Peter B. West

Manuel Mall wrote:

My apologies for this relatively long post. I am still struggling to
come to grips with some of the fundamentals of line building. And
without having a clear picture of that it is impossible to come up with
a decent design. Interestingly (?) all my conceptual problems occur when
one starts to nest inlines (for example simple math formulas) and shift
baselines around.

Any way the spec in 4.6.1 defines what a 'properly stacked' inline-area
is. Items 1. and 2. deal with stacking in IPD but item 3 repeated here
deals with the BPD:

3. For any inline-area descendant I of P, the distance in the shift-
direction from the dominant baseline of P to the alignment-point of I
equals the offset between the dominant baseline of P and the baseline of
P corresponding to the alignment-baseline trait of I, plus the sum of
the baseline-shifts for I and all of its ancestors which are descendants
of P.

The first summand is computed to compensate for mixed writing systems
with different baseline types, and the other summands involve deliberate
baseline shifts for things like superscripts and subscripts.

In 7.13 there are examples given and they all work with the above
definition.

Now lets take this example:

fo:blockSome text
  fo:inline font-size=.5em
dominant-baseline=reset-size
alignment-baseline=text-before-edgetop
  /fo:inline
/fo:block

The inline gets a new baseline table scaled to its font-size because of
the dominant-baseline=reset-size setting. Note that the
dominant-baseline-indentifier has not changed. Its still alphabetic
although that baseline does not align any more between the two areas
because of the rescaling of the baseline table. Now lets give the text
top a small suffix.

fo:blockSome text
  fo:inline font-size=.5em
dominant-baseline=reset-size
alignment-baseline=text-before-edgetop
fo:inline font-size=.5em alignment-baseline=central
tiny/fo:inline
  /fo:inline
/fo:block

So tiny becomes some small text aligned on the central baseline as
established after rescaling. The problem is that the positioning of
tiny violates the rule 3. above on proper stacking with respect to the
line-area created by the fo:block. It is OK with respect to its direct
ancestor but it fails when applied recursively. This is because rule 3.
doesn't cater at all for rescaling of the baseline table, it only deals
with changing the alignment point (In my example its first moved to
text-befored-edge and then to central) and baseline-shifts. But I
couldn't find anywhere in the spec a notion that baseline rescaling
involves a baseline shift. The problem of course is that when a baseline
table is rescaled there is no uniform shift and the shift amount per
baseline also depends on the alignment.

May be rule 3 is not meant to be applied recursively but than it its 
formulated inconsistently with the rest of the spec.


I can't say for sure, but I think there may be some confusion about the 
relationship between the alignment-baseline of nested inline-areas and 
the dominant-baseline of the containing line-area.  The 
nominal-requested-line-rectangle is implicitly defined with respect to 
the dominant-baseline, text-depth and text-altitude on the parent of the 
line-area.


The situation with inheritance of properties involved with these 
calculation is also confused.  They do no inherit, except that, for 
dominant-baseline, components of the scaled-baseline-table propagate 
for formatting object children with the default initial value of auto 
for dominant-baseline.  Apart from that, neither alignment-baseline nor 
dominant-baseline inherit, so they must revert to relativity to, I 
think, the values holding for the line-area, whenever a new inline 
formatting object, including nested objects, is encountered.


In the example you have used, the alignment-baseline of central on 
tiny simply moves the central line of tiny into correspondence with 
the central line of Some text.  The scaled-font-table remains the same 
as for top; only the size of the glyphs changes. See the third example:


fo:inlineApguru
  fo:inline font-size='.75em'
Exji
  /fo:inline
/fo:inline

So rule 3 holds.  There have been no baseline-shifts (rescaling the 
font-table doesn't count as a baseline-shift.)


Maybe.



Still seriously confused


Surely not.

Peter
--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


smime.p7s
Description: S/MIME Cryptographic Signature


Re: inline stacking and baseline scaling

2005-09-26 Thread Peter B. West

Manuel Mall wrote:

On Mon, 26 Sep 2005 06:19 pm, Peter B. West wrote:


Manuel Mall wrote:


snip/

Peter,

thanks for your feedback. I have deleted most of my original post to 
keep this to a reasonable size. Further comments inline. Just repeating 
my example here:


fo:blockSome text
  fo:inline font-size=.5em
dominant-baseline=reset-size
alignment-baseline=text-before-edgetop
fo:inline font-size=.5em alignment-baseline=central
tiny/fo:inline
  /fo:inline
/fo:block


I can't say for sure, but I think there may be some confusion about
the relationship between the alignment-baseline of nested
inline-areas and the dominant-baseline of the containing line-area. 
The nominal-requested-line-rectangle is implicitly defined with
respect to the dominant-baseline, text-depth and text-altitude on 
the parent  of the line-area.



Yes, agreed.



The situation with inheritance of properties involved with these
calculation is also confused.  They do no inherit, except that, for
dominant-baseline, components of the scaled-baseline-table
propagate for formatting object children with the default initial
value of auto for dominant-baseline.  Apart from that, neither
alignment-baseline nor dominant-baseline inherit, so they must revert
to relativity to, I think, the values holding for the line-area,
whenever a new inline formatting object, including nested objects, is
encountered.



I agree that neither of these properties inherit but they all have 
default values. However, the baseline table does propagate as you said 
and may or may not be rescaled depending on the alignment properties 
explicitly set. If none are set the baseline table stays unchanged.




In the example you have used, the alignment-baseline of central on
tiny simply moves the central line of tiny into correspondence
with the central line of Some text.  



This is were my interpretation differs from yours. IMO for the innermost 
inline (tiny) the baseline table that applies is the one established 
by the rescaling of the table by its parent inline (top). Therefore 
tiny should be aligned to the central baseline of the rescaled 
table. For the inline tiny the following alignment property values 
apply:


alignment-adjust=auto = computed value is central
alignment-baseline=central = computed value is central
baseline-shift=baseline = computed value is 0
dominant-baseline=auto

The most interesting bit is the auto setting for the dominant-baseline 
as it says in the spec for that case: if this property is not on a 
block-level formatting object, then the baseline-identifier for the 
dominant baseline, the derived baseline-table, and baseline-table 
font-size remain the same as those of the parent formatting object. 


As the parent formatting object is the inline top I interpret this as: 
tiny's baseline table is the same as top's (which is the rescaled 
baseline table from the fo:block). tiny's baseline table is not being 
rescaled to tiny's font-size. The dominant-baseline-identifier still 
stays alphabetic.


FWIW (not that much I agree) both AntennaHouse and RenderX behave as I 
outlined.




The scaled-font-table remains the same as for top; only the size of
the glyphs changes. 



Not sure I understand what a scaled-font-table is but as said above 
IMO the scaled-baseline-table on tiny is the same as on top.



See the third example: 


fo:inlineApguru
  fo:inline font-size='.75em'
Exji
  /fo:inline
/fo:inline


Yes, not disputed.



So rule 3 holds.  There have been no baseline-shifts (rescaling the
font-table doesn't count as a baseline-shift.)




Yes, in your interpretation, not in mine.


I'm looking for an interpretation that is consistent with Rule 3.  This 
is a murky area of the Rec, and one I have never understood.


Why not send your original query to the editors, so that they can 
consider whether anything needs to be clarified before 1.1?


Peter
--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


smime.p7s
Description: S/MIME Cryptographic Signature


Re: More style issues

2005-09-09 Thread Peter B. West

Jeremias Maerki wrote:

+1 to all three points. But I'll never define a variable called
blockProgressionDimension! That's always going to be bpd for me, but
then ipd and bpd are so omnipresent so it shouldn't be a problem.


blockProgressionDimension or blockProgressionDirection?


Exceptions prove the rule, don't they? :-)


They certainly throw it into contrast.

Peter
--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


smime.p7s
Description: S/MIME Cryptographic Signature


Re: DO NOT REPLY [Bug 36379] New: - [PATCH] Revised percentage resolution system

2005-08-30 Thread Peter B. West

Manuel Mall wrote:


PS: I can imagine Victor smiling now :-) : I told you so that not 
leaving all property resolution to the LM stage is going to cause 
trouble. 


Not just Victor, Manuel.  But please press on re-discovering the wheel.

Peter



smime.p7s
Description: S/MIME Cryptographic Signature


Re: DO NOT REPLY [Bug 36379] New: - [PATCH] Revised percentage resolution system

2005-08-30 Thread Peter B. West

Chris Bowditch wrote:

Manuel Mall wrote:

Fair enough, btw its not painful for me at all. I have joined the 
project with the goal to help to get FOP 1.0 out of the door in a 
relatively short timeframe (meaning months not years). To achieve that 
I am more than prepared to be pragmatic in the sense of getting 
things working satisfactorily than getting things perfect and at 
their most elegant. That doesn't mean I want to hack and slash. Good 
design is  very important me. But there is still this goal to aim for 
as well and compromise may be in order at times.



This is an excellent goal. Sometimes it is all too easy to aim for 100% 
perfection and then FOP gets stuck - just like it has been for 2 years 
prior to 2005. Compromise is the key to getting 1.0 out of the door.




Couldn't let that one go by, Chris.  These issues, which were critical
to the creation of both Folio and FOray, were being thrashed out around
the beginning of 2003.  You've been around long enough to know that,
haven't you?  So for more than two years, the pragmatic Fop developers
stuck their heads in the sand.  The project stalled.  Point the finger
at those who refused to see what is now coming to the surface, and what
will still have to be solved.  How pragmatic.



And isn't there still FOP 2.0 down the track for another round of 
serious redesign and refactoring if so desired?


Hope this makes sense - especially to the active committers.



Perfect sense. Keep up the great contributions!



Perfect, in some imperfect sense of the word.


Chris


Peter

--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


smime.p7s
Description: S/MIME Cryptographic Signature


Re: DO NOT REPLY [Bug 36379] New: - [PATCH] Revised percentage resolution system

2005-08-30 Thread Peter B. West

Chris Bowditch wrote:

Peter B. West wrote:

snip/


Couldn't let that one go by, Chris.  These issues, which were critical
to the creation of both Folio and FOray, were being thrashed out around
the beginning of 2003.  You've been around long enough to know that,
haven't you?  So for more than two years, the pragmatic Fop developers
stuck their heads in the sand.  The project stalled.  Point the finger
at those who refused to see what is now coming to the surface, and what
will still have to be solved.  How pragmatic.



Yes I was around back in 2003. My apologies for offending anyone I 
wasn't clear enough with my offhand remarks. And yes I have buried my 
head in the sand as you put it. Not because I wanted to, but because my 
employers expect me to spend time elsewhere.


I'm not going to add any more to this discussion, as I don't want to 
cause any further offense.


Chris


No offence taken.

Peter

--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


smime.p7s
Description: S/MIME Cryptographic Signature


Re: StAX, JAXP 1.4

2005-08-23 Thread Peter B. West

Elliotte Harold wrote:

Peter B. West wrote:

But of course, I'm talking about Folio, which was built on a 
pull-parsing model before I had ever heard of pull-parsing, because it 
was the screamingly obvious thing to do.  It gives me acute pleasure 
to see my original design decisions vindicated by the the development 
of the StAX API, and the current surge of interest. So, all of this, 
and more, _is_ the case.  My invitation stands.




I haven't looked at Folio yet. Perhaps it's screamingly obvious that it 
needs a pull model. If so it's the first such application I've 
encountered.  The really useful pull models are implemented on top of 
tree structures, and provide random access. I've yet to see a case where 
a one-way streaming pull parser did anything that couldn't be 
accomplished equally easily and efficiently with a push parser.


The primary benefit to pull parsers is that some developers either don't 
understand or simply don't like the observer design pattern as embodied 
in push parsers, and prefer the iterator design pattern as embodied in 
pull parsers. Whatever floats your boat. However there's no evidence 
that either pattern is in any way fundamentally superior to the other, 
except as a matter of developer taste.


As a practical matter, existing SAX parsers are much better optimized 
and debugged than existing StAX parsers. They're simply a more mature 
product.


Elliotte,

We're seriously OT here, so I'll off-line my response.

Peter

--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


smime.p7s
Description: S/MIME Cryptographic Signature


Re: StAX, JAXP 1.4

2005-08-22 Thread Peter B. West

Elliotte Harold wrote:

Peter B. West wrote:


Fopsters,

Some of you may be aware of the activity going on around StAX.  Java 
1.6 (Mustang) was to have included JAXP 1.4, but that looks to be on 
hold until Dolphin.  However, StAX will be part of it, and soon 
enough, SAX will be a dim memory.




Yeah, right. I give this claim about as much credence as I gave the 
claims that schemas were going to replace DTDs. StAX isn't as 
disastrously bad as schemas were, but it certainly hasn't justified the 
hype either. So far I've seen approximately no evidence that it provides 
any noticeable improvements over SAX. Some people find StAX easier to 
use the SAX for some use cases, but not all. I suspect Sun never saw the 
performance improvements they were hoping for from StAX which is why 
they're now off and running up another wrong path called Fast Infoset. 
(I was just looking at some 3rd party performance numbers on that this 
morning, and guess what? It isn't working out either.)


I don't think SAX is the ultimate in XML performance, but I suspect even 
a factor of two improvement over SAX is going to require something a lot 
more radical than StAX.


Elliotte,

So I exaggerated.  But how many better applications can you find me for
StAX than processing XSL-FO?  If StAX has no application here, it has no
application.  Is that what you're saying?

Peter

--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


smime.p7s
Description: S/MIME Cryptographic Signature


Re: StAX, JAXP 1.4

2005-08-22 Thread Peter B. West

Elliotte Harold wrote:

Peter B. West wrote:


So I exaggerated.  But how many better applications can you find me for
StAX than processing XSL-FO?  If StAX has no application here, it has no
application.  Is that what you're saying?



You're asking the question backwards. We should not be asking, Is 
XSL-FO the best possible use case for StAX? We should be asking, Is 
StAX the best possible API for XSL-FO?


One certainly good do write FOP on top StAX, but you can also do it with 
SAX; and since it's already working with SAX I see no particular reason 
to throw away the working SAX code and replace it with StAX. If we were 
starting from scratch, and if the developers were more familiar with 
StAX than SAX, and if StAX parsers were as mature, proven, and 
ubiquitous as SAX parsers, then writing FOP on top of StAX might be 
reasonable. However none of that's the case.




But of course, I'm talking about Folio, which was built on a 
pull-parsing model before I had ever heard of pull-parsing, because it 
was the screamingly obvious thing to do.  It gives me acute pleasure to 
see my original design decisions vindicated by the the development of 
the StAX API, and the current surge of interest. So, all of this, and 
more, _is_ the case.  My invitation stands.


Don't let your feet get wet, Elliotte.

Peter
--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


smime.p7s
Description: S/MIME Cryptographic Signature


Re: Plain old line-breaking

2005-08-20 Thread Peter B. West

Luca Furini wrote:

Peter B. West wrote:


Is there any design documentation about plain old line Knuth breaking,
as implemented by Luca?  I see lots of stuff in the Wiki about page
breaking, but can't see the original.



As Jeremias told, there isn't much official documentation about the 
basics of the new breaking algorithm.


A wiki page, or maybe more than one, could be very useful, even to keep 
track of the points that could need some more work.


I have thought of writing it some times ... but unfortunately I never 
found the time to do it! :-(


Thanks Luca.

Peter
---
[This E-mail has been scanned for viruses but it is your responsibility 
to maintain up to date anti virus software on the device that you are

currently using to read this email. ]



Re: Eclipse with JDK 1.5

2005-08-19 Thread Peter B. West

Jeremias Maerki wrote:

I don't do native JDK 1.5 development (i.e. no generics etc.) but
regularly compile and test with 1.5 and so far absolutely no problems.

On 17.08.2005 19:31:14 Peter B. West wrote:


How's Eclipse with 1.5 nowadays?


Thanks. When I tried it ( a while ago now) it was the 1.5 features that 
caused the trouble.  I thought it might have settled down by now.


Peter
---
[This E-mail has been scanned for viruses but it is your responsibility 
to maintain up to date anti virus software on the device that you are

currently using to read this email. ]



Re: Plain old line-breaking

2005-08-19 Thread Peter B. West

Jeremias Maerki wrote:

I can't talk for Luca, but I don't think we have explicit design docs
for that part. I think there is some useful content in the mail archives
(search for Knuth). Other than that, I realized that the algorithm
described in Knuth's Digital Typography is now in our codebase quite
literally (although by now with some extensions). I had no trouble
tracing back code parts to the book. Understanding the algorithm itself
as described by Knuth gets you 80% of the way to start the
implementation as I see it.



Unfortunately, the book was sacrificed to the weight restrictions.

I'll get it mailed over.

Peter
---
[This E-mail has been scanned for viruses but it is your responsibility 
to maintain up to date anti virus software on the device that you are

currently using to read this email. ]



Plain old line-breaking

2005-08-18 Thread Peter B. West

Fop-devs,

Is there any design documentation about plain old line Knuth breaking,
as implemented by Luca?  I see lots of stuff in the Wiki about page
breaking, but can't see the original.

Peter

--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/
---
[This E-mail has been scanned for viruses but it is your responsibility 
to maintain up to date anti virus software on the device that you are

currently using to read this email. ]



Re: [NOTICE] Apache FOP moved from CVS to Subversion (SVN)

2005-06-25 Thread Peter B. West
Jeremias Maerki wrote:
 On 25.06.2005 01:34:43 Peter B. West wrote:

Jeremias Maerki wrote:

Hi Peter

On 24.06.2005 04:19:33 Peter B. West wrote:


Subversion is no unknown quantity anymore, well maybe on NetBeans.

It
just takes some time until it gains a better foothold.

Nub of the problem.  I ask myself the question, Why is the Apache
Foundation *forcing* the adoption of Subversion, when Subversion is not
even an Apache brand?  Looking at the composition of the Board might
give some clues.  That composition has just changed, of course.
 
 
 It's not the ASF itself forcing the adoption of Subversion, it's mainly
 the Infrastructure team. Subversion allows the addition of new
 committers without the need for a shell account. AFAIK this is the main
 reason. As the ASF grows the Infrastructure team has to somehow manage
 to keep the ASF alive and as part of that it is planned to stop giving
 away shell accounts. Subversion proved to be ideal because of (1) its
 features and (2) the connections into the development team. Probably a
 few other reasons as well.
 

I recall.  I was subscribed to infrastructure@ during much of the time
when these decisions were being made.  I also recall that prominent
names from the Board were active during that discussion.

 
Having worked
with Subversion for 18 months now I prefer it to CVS by far.


You can always get the sources using the official command-line client
that comes with Subversion:

http://subversion.tigris.org/
http://subversion.tigris.org/project_packages.html

Which is what I had to do with BitKeeper, for which no client existed in
NetBeans, Eclipse or any other widely used IDE.  My only gripe is facing
another learning curve for an SCM product whose basic design has already
been superseded by the distributed design of BitKeeper, Monotone, Darcs,
etc.
 
 
 Remove BitKeeper from that list. It's not an option anymore. And then I
 haven't even heard of Monotone and Darcs before.

I don't recall any discussion of the possible alternatives to CVS for
the ASF.  Obviously, if you have never heard of Monotone and Darcs,
neither do you.  So what criteria are in play when important decisions
like this are made within the ASF (and it is the ASF Board which is
responsible for decisions which impact the Foundation as a whole)?

 Anyway, if you look at
 [1], SVN makes a pretty good impression. The feedback I've seen so far
 within the ASF was mostly positive to excited, even from some critics.
 Sure, Subversion is probably not the best tool for Linux kernel
 developers but it fits the ASF's needs.
 


 [1] http://better-scm.berlios.de/comparison/comparison.html
 
 Let's put this to rest, the decision has been made and I can't see
 anyone within the ASF criticize that decision today.

Agreed, and it's hardly likely that anyone within the ASF is going to
criticise that decision today, is it?

Peter
-- 
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/
http://folio.bkbits.net/ - the atTridged version


Re: OT: Moving to UK? (RE: Foray's font subsystem for Fop)

2005-06-15 Thread Peter B. West

Andreas L. Delmelle wrote:

-Original Message-
From: Peter B. West [mailto:[EMAIL PROTECTED]




Hi Peter,



..., and Jenni and I are moving to the UK for 12
months at the end of June, ...



Well, if you have plans to cross the channel and visit Belgium during those
12 months, be sure to drop me a line. Maybe we can get together for a beer
:-)



We plan to cross the channel many, many times.  Can't wait to have that 
beer.




Cheers,

Andreas



Peter
--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/
http://folio.bkbits.net/ - the atTridged version


Re: OT: Moving to UK? (RE: Foray's font subsystem for Fop)

2005-06-15 Thread Peter B. West

Jeremias Maerki wrote:

Do you, by chance, intend to visit ApacheCon in Stuttgart in July?



It's relatively expensive, isn't it?  I don't know what I will be doing 
at any particular time.  It depends on what work is available to me.



If you come to Switzerland, tell me!


I certainly will.  There are a few of you in the area whom I will 
contact when we pass through.


Peter
--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/
http://folio.bkbits.net/ - the atTridged version


Re: Foray's font subsystem for Fop

2005-06-14 Thread Peter B. West

Victor Mote wrote:

Jeremias Maerki wrote:



Just to be clear, these are the possibilities:
1. FOP uses FOray-Font (JAR file in lib directory), no 
license grant necessary, no FOray sources in an ASF repository.



This is my preference.


2. FOP forks FOray-Font, license grants are necessary due to 
ASF policy.



I will be happy to provide such a grant.


3. You donate FOray-Font (back) to the ASF, development 
within FOray stops, FOray uses a JAR from XML Graphics 
Commons, development continues within the XML Graphics 
Commons area, license grants are necessary due to ASF policy.



This is essentially what I tried to do from within FOP. It failed miserably.
I cannot afford to make that mistake again. More to come later by way of
answer to your other emails.


I have an interest in the future of FOray-Font, so my preference is 
shared with Victor.


Peter
--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/
http://folio.bkbits.net/ - The atTridged version


Re: Foray's font subsystem for Fop

2005-06-14 Thread Peter B. West

Jeremias Maerki wrote:

On 14.06.2005 17:59:03 Victor Mote wrote:



That whole idea deserves more thought and experimentation,
and I haven't had time to work on the font system since October.




Victor, I have been experiencing similar frustrations, and Jenni and I 
are moving to the UK for 12 months at the end of June, so I don't expect 
to have any concentrated development time for a while.




Absolutely. It would be great if it could be made to work but I
seriously doubt it. At any rate I wish Peter the best of luck with his
approach. I hope he'll be a happy customer of our Graphics2D
implementations when they are separated in the XML Graphics Commons area.
:-)


I certainly hope so.

Peter
--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/
http://folio.bkbits.net/ - The atTridged version


Re: Foray's font subsystem for Fop

2005-06-14 Thread Peter B. West

J.Pietschmann wrote:

Jeremias Maerki wrote:


Ok, but this assumes that you work in concert with AWT's font subsystem.



Well, AWT doesn't provide a way to get the file for a font, but
we can at least get an AWT Font from a TTF file.


And a Type1 file (Java 5).  Java just keeps getting better.

Peter
--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/
http://folio.bkbits.net/ - the atTridged version


Re: Foray's font subsystem for Fop

2005-06-14 Thread Peter B. West

J.Pietschmann wrote:

Vincent Hennebert wrote:

I was starting to wonder what I could have done wrong so that things 
turn out that way.



Just ignore the bickering for now. There seems to be a law that every
Open Source project (or any other reasonably open project for that
matter) sooner or later will get people with incompatible personalities,
resulting in some mud slinging on mailing lists or worse. Notice the
dismissal of one of the core BSD core developers last year, regular
flame wars on the Linux Ethernet driver lists including heavy name
calling and mutual allegations of incompetence, the fork of
Geronimo off JBoss with associated ugliness and so on.

No need for you to worry.


Let's not forget Linus v. President Tridgell, a dispute with somewhat 
wider impact.


It's almost as bad as proprietary projects, but everything is on public 
view, everyone gets to express an opinion, and the individuals have real 
alternatives on how to proceed after disagreements.


Peter
--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/
http://folio.bkbits.net/ - the atTridged version


Re: [VOTE] Merge Knuth branch back into HEAD

2005-05-10 Thread Peter B. West
Jeremias Maerki wrote:
Still, we're at a point where we should finally say yes or no to further
pursuing the new page breaking approach. Merging the branch back into
HEAD means a step back for a few features and on the other side a step
forward especially for keeps. I got the impression that the team is
pretty much committed to continue on this path and this vote should
confirm that.
The team has made remarkable progress in this.  My congratulations. 
From the outside, I share the reservations expressed by Jeremias and 
Simon.  It will be an extremely impressive achievement if they are all 
resolved.

Peter
--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/ http://folio.bkbits.net/


Re: Applying Finn Bock's patch (again) :-)

2005-05-03 Thread Peter B. West
Jeremias Maerki wrote:
So far the most helpful resource for understanding the whole story was
Digital Typography by Donald Knuth (chapter 3 only):
http://www.amazon.com/exec/obidos/tg/detail/-/1575860104
The chapter in question (Breaking Paragraphs Into Lines) was originally 
published by Knuth and Plass in Software - Practice and Experience 11 
(1981), 1119-1184.

Anyone who is interested may be able to obtain a copy of the ogiginal 
paper more cheaply than the book.

Peter
--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/ http://folio.bkbits.net/


Re: Collapsing border model

2005-05-03 Thread Peter B. West
Jeremias Maerki wrote:
PS: Can someone please beat me?
Stick, riding crop, whip, rope, chain or plain old bare knuckles?
Peter
--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/ http://folio.bkbits.net/


Re: [VOTE] Batik and FOP to migrate from CVS to Subversion

2005-03-22 Thread Peter B. West
Jeremias Maerki wrote:
As announced on the XML Graphics General mailing list I'd like to call
for a vote on the migration of both Batik and FOP to Subversion.
You can always put the repository in BitKeeper on bkbits.net.
It has only the bk command-line and the cosmetically basic (but 
extremely useful) bk GUI tools, including citool, difftool and 3-way merge.

There's no integration that I am aware of with Eclipse or other IDEs, 
and certainly no integration with NetBeans.  This is a pain when doing 
any refactoring that involves renaming.  Basically, you can't do such 
things within the IDE.

So why bother?  Try BitKeeper and you'll realize why Linux development 
moved to bk, in spite of the storm of complaint about using a closed 
source tool.  I haven't used Subversion, only read a little about it, 
but bk is the best SCM tool I have ever used, by a country mile.  It is 
designed for distributed development.

This is actually a serious, though futile, suggestion.
Peter
--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/ http://folio.bkbits.net/