I modified the test case to make it easier to interpret the results. See the attached 
file. This version generates only a PDF 
with textAsShapes==false. The other PDF and the SVG can be generated by uncommenting 
the calls to do those versions.

What is interesting to note is just which fonts Java recognizes and when fonts, font 
names and font families have the same 
and differing names. 

The basic problem is that a Graphics2D object gets told by setFont which fonts to use. 
But most of the fonts that are legal 
for PDF do not have the same name in Java. For most of the fonts recognized by PDF 1.3 
spec as core one can't even 
create a Font object  Java that matches the font object names that FontSetup. What is 
needed is for FontSetup and 
FontInfo to be able to recognize and match the common variations of font names and 
font families in Java to the similar but 
slightly different names that PDF expects. 

On Fri, 17 Aug 2001 10:53:33 -0700, Randall Parker wrote:

>The core fonts for PDF do not have names that match with the names that Java uses for 
>what are really the same fonts 
and font families. So if one tries to initialize fonts using names that are 
>from the PDF font list as implemented in org.apache.fop.render.pdf.FontSetup the Java 
>run-time doesn't recognize the 
names and maps them to a different default font family instead. But that 
>font family is not one that is in FontSetup.java.
>
>In the case of sansserif its pretty simple: Java uses sansserif whereas FontSetup 
>uses sans-serif. There is code that 
maps sanserif to sans-serif but sanserif is not spelled the same as 
>sansserif. (I've pointed this out a week or two ago in a previous message btw)
>
>However, sansserif is not the only font that has this problem. See the initFonts() 
>method in the attached TestCase1.java.
>
>One other problem is that Java concatenates the style onto the base name to create 
>the name and the family name. This 
further ensures that FontInfo.java will fail to get a match when it does 
>font look-ups. This seems like a dumb thing for the Java run-time to do since 
>font-style is supposed to be used for that 
purpose in CSS.
>
>I think FontInfo.java and FontSetup.java have to be smarter to map the font families 
>and names that Java's run-time 
recognizes to font families and font names that are PDF-compatible. 
>
>I've attached a newer version of my TestCase1.java test case program. This one 
>instantiations a variety of fonts and then 
does System.out.printlns that show what Java thinks they are. It also 
>shows error messages that org.apache.fop.layout.FontInfo.java generates because does 
>not recognize many of these 
fonts. 
>
>
>
>
>


TestCase1.java

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]

Reply via email to