Solved

Apache FOP - problem using TTFReader to create font metrics file

Posted on 2006-06-29
5
767 Views
Last Modified: 2013-12-03
Experts,

I am trying to use Apace FOP to create font metrics (I am hoping that this is the correct category for this question).  I am using the following input to read the font file, then use TTFReader to convert it to XML metrics.  We have tried many different combinations.  Such as stating the path name explicitly, moving a few of the jars to different directories, etc.  It's always the same result (see Result).  Another question has been posted regarding this problem, but it looks like the solution posted didn't work for them and it didn't work for me.  Please help!

Input:
---------------------
java -cp build\fop.jar;lib\avalon-framework-cvs-20020806.jar;c:\progra~1\netbeans-5.0\enterprise2\jakarta-tomcat-5.5.9\common\endorsed\xml-apis.jar;c:\progra~1\netbeans-5.0\enterprise2\jakarta-tomcat-5.5.9\common\endorsed\xercesImpl-2.2.1.jar;lib\xalan-2.4.1.jar org.apache.fop.fonts.apps.TTFReader -enc ansi c:\windows\fonts\times.ttf times.xml
---------------------

Result:
---------------------
TTF Reader v1.1.1

Reading c:\windows\fonts\times.ttf...

Number of glyphs in font: 1674
Creating xml font file...

Creating WinAnsi encoded metrics
Writing xml font file times.xml...

javax.xml.transform.TransformerException: java.io.FileNotFoundException: file:\C:\Program%20Files\Altova\FOP\times.xml (The filename, directory name, or volume label syntax is incorrect)
        at org.apache.xalan.transformer.TransformerIdentityImpl.createResultCont
entHandler(TransformerIdentityImpl.java:263)
        at org.apache.xalan.transformer.TransformerIdentityImpl.transform(Transf
ormerIdentityImpl.java:296)
        at org.apache.fop.fonts.apps.TTFReader.writeFontXML(TTFReader.java:243)
        at org.apache.fop.fonts.apps.TTFReader.main(TTFReader.java:196)
Caused by: java.io.FileNotFoundException: file:\C:\Program%20Files\Altova\FOP\times.xml (The filename, directory name, or volume label syntax is incorrect)
        at java.io.FileOutputStream.open(Native Method)
        at java.io.FileOutputStream.<init>(Unknown Source)
        at java.io.FileOutputStream.<init>(Unknown Source)
        at org.apache.xalan.transformer.TransformerIdentityImpl.createResultContentHandler(TransformerIdentityImpl.java:253)
        ... 3 more
---------
java.io.FileNotFoundException: file:\C:\Program%20Files\Altova\FOP\times.xml (The filename, directory name, or volume label syntax is incorrect)
        at java.io.FileOutputStream.open(Native Method)
        at java.io.FileOutputStream.<init>(Unknown Source)
        at java.io.FileOutputStream.<init>(Unknown Source)
        at org.apache.xalan.transformer.TransformerIdentityImpl.createResultContentHandler(TransformerIdentityImpl.java:253)
        at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:296)
        at org.apache.fop.fonts.apps.TTFReader.writeFontXML(TTFReader.java:243)
        at org.apache.fop.fonts.apps.TTFReader.main(TTFReader.java:196)
This font contains no embedding license restrictions
---------------------

Thanks,
- Chad
0
Comment
Question by:ctgilbert
  • 3
  • 2
5 Comments
 
LVL 35

Expert Comment

by:girionis
ID: 17015992
ctgilbert,

> java.io.FileNotFoundException: file:\C:\Program%20Files\Altova\FOP\times.xml
> (The filename, directory name, or volume label syntax is incorrect)

are these files where they should be? Can you try moving everythign to a folder that does not contain spaces?
0
 
LVL 35

Accepted Solution

by:
girionis earned 500 total points
ID: 17016008
also replace all \ with / or \\ in your code

You can also try

file:///c:/
and
file:///c|/

instead of

file:\c:
0
 
LVL 2

Author Comment

by:ctgilbert
ID: 17017384
I have already tried moving the folder, but recieved the same result.  I will try replacing the slashes and let you know what happens.  

I also tried using FOP 0.92 Beta, but it didn't work either.

Thanks,
- Chad
0
 
LVL 2

Author Comment

by:ctgilbert
ID: 17020693
girionis,

This wasn't the exact solution, but it got me moving in the right direction.  As it turns out, the only way to get it to write the file was to move the file to the root (c:/) drive, then share that folder out.  So, instead of "times.xml", I used "\\ShareName\FOP\times.xml" and it created the file with no further problems.

Thanks for the help.  It is much appreciated.

- Chad
0
 
LVL 35

Expert Comment

by:girionis
ID: 17026240
Thank you for accepting, glad I was of help :)
0

Featured Post

How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

Join & Write a Comment

An old method to applying the Singleton pattern in your Java code is to check if a static instance, defined in the same class that needs to be instantiated once and only once, is null and then create a new instance; otherwise, the pre-existing insta…
Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
Viewers learn about the scanner class in this video and are introduced to receiving user input for their programs. Additionally, objects, conditional statements, and loops are used to help reinforce the concepts. Introduce Scanner class: Importing…
Viewers will learn about if statements in Java and their use The if statement: The condition required to create an if statement: Variations of if statements: An example using if statements:

708 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now