Fonts different on Linux

By: Chris Beels - cbeels
Fonts different on Linux
2002-08-26 18:33
We designed a report on Windows and then tried to run it on Linux, and were surprised to see that much of the text was missing, and the rest was running over. It seems that the text gets some "vertical padding" on Linux that makes it a different "height" than on windows. On a tightly formatted report, this is devastating. I doubt there is much to be done, but any comments or suggestions would be helpful.

Thanks,
Chris


By: Teodor Danciu - teodord
RE: Fonts different on Linux
2002-08-27 01:47

Hi,

The only solution would be to add one or two pixels
to the text elements heights.
But I think on tight reports, there is not too much
space to make such a manouver, as you said.

Sorry...
Teodor



By: Chris Beels - cbeels
RE: Fonts different on Linux
2002-08-27 12:31
Hey, we figured it out!

The true-type fonts need to be registered with the JVM or it uses crappy AWT alternates. Here are the technical details:


# Change to the directory /some/path/to/jbuilder/jdk1.3/jre/lib/fonts
# Copy your Windows True Type fonts to this directory
# Rename your existing fonts.scale and fonts.dir files.
# Run the command ttmkfontdir -o fonts.scale (or ttmkfdir if ttmkfontdir
does not exit)
# Run the command mkfontdir
# Change to the directory /some/path/to/jbuilder/jdk1.3/jre/lib
# Rename your exsiting fonts.properties file
# Place the following font.properties into the directory

serif.0=-monotype-Times New Roman-medium-r-normal--0-0-0-0-p-0-iso8859-1
serif.1=-monotype-Times New Roman-medium-r-normal--0-0-0-0-p-0-iso8859-15
serif.2=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-p-*-microsoft-symbol

serif.italic.0=-monotype-Times New
Roman-medium-i-normal--0-0-0-0-p-0-iso8859-1
serif.italic.1=-monotype-Times New
Roman-medium-i-normal--0-0-0-0-p-0-iso8859-15
serif.italic.2=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-p-*-microsoft-symbol

serif.bold.0=-monotype-Times New Roman-bold-r-normal--0-0-0-0-p-0-iso8859-1
serif.bold.1=-monotype-Times New Roman-bold-r-normal--0-0-0-0-p-0-iso8859-15
serif.bold.2=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-p-*-microsoft-symbol

serif.bolditalic.0=-monotype-Times New
Roman-bold-i-normal--0-0-0-0-p-0-iso8859-1
serif.bolditalic.1=-monotype-Times New
Roman-bold-i-normal--0-0-0-0-p-0-iso8859-15
serif.bolditalic.2=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-p-*-microsoft-symbol

sansserif.0=-monotype-Arial-medium-r-normal--0-0-0-0-p-0-iso8859-1
sansserif.1=-monotype-Arial-medium-r-normal--0-0-0-0-p-0-iso8859-15
sansserif.2=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-p-*-microsoft-symbol

sansserif.italic.0=-monotype-Arial-medium-i-normal--0-0-0-0-p-0-iso8859-1
sansserif.italic.1=-monotype-Arial-medium-i-normal--0-0-0-0-p-0-iso8859-15
sansserif.italic.2=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-p-*-microsoft-symbol

sansserif.bold.0=-monotype-Arial-bold-r-normal--0-0-0-0-p-0-iso8859-1
sansserif.bold.1=-monotype-Arial-bold-r-normal--0-0-0-0-p-0-iso8859-15
sansserif.bold.2=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-p-*-microsoft-symbol

sansserif.bolditalic.0=-monotype-Arial-bold-i-normal--0-0-0-0-p-0-iso8859-1
sansserif.bolditalic.1=-monotype-Arial-bold-i-normal--0-0-0-0-p-0-iso8859-15
sansserif.bolditalic.2=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-p-*-microsoft-symbol

monospaced.0=-monotype-Courier New-medium-r-normal--0-0-0-0-m-0-iso8859-1
monospaced.1=-monotype-Courier New-medium-r-normal--0-0-0-0-m-0-iso8859-15
monospaced.2=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-m-*-microsoft-symbol

monospaced.italic.0=-monotype-Courier
New-medium-i-normal--0-0-0-0-m-0-iso8859-1
monospaced.italic.1=-monotype-Courier
New-medium-i-normal--0-0-0-0-m-0-iso8859-15
monospaced.italic.2=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-m-*-microsoft-symbol

monospaced.bold.0=-monotype-Courier New-bold-r-normal--0-0-0-0-m-0-iso8859-1
monospaced.bold.1=-monotype-Courier New-bold-r-normal--0-0-0-0-m-0-iso8859-15
monospaced.bold.2=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-m-*-microsoft-symbol

monospaced.bolditalic.0=-monotype-Courier
New-bold-i-normal--0-0-0-0-m-0-iso8859-1
monospaced.bolditalic.1=-monotype-Courier
New-bold-i-normal--0-0-0-0-m-0-iso8859-15
monospaced.bolditalic.2=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-m-*-microsoft-symbol

dialog.0=-monotype-Arial-medium-r-normal--0-0-0-0-p-0-iso8859-1
dialog.1=-monotype-Arial-medium-r-normal--0-0-0-0-p-0-iso8859-15
dialog.2=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-p-*-microsoft-symbol

dialog.italic.0=-monotype-Arial-medium-i-normal--0-0-0-0-p-0-iso8859-1
dialog.italic.1=-monotype-Arial-medium-i-normal--0-0-0-0-p-0-iso8859-15
dialog.italic.2=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-p-*-microsoft-symbol

dialog.bold.0=-monotype-Arial-bold-r-normal--0-0-0-0-p-0-iso8859-1
dialog.bold.1=-monotype-Arial-bold-r-normal--0-0-0-0-p-0-iso8859-15
dialog.bold.2=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-p-*-microsoft-symbol

dialog.bolditalic.0=-monotype-Arial-bold-i-normal--0-0-0-0-p-0-iso8859-1
dialog.bolditalic.1=-monotype-Arial-bold-i-normal--0-0-0-0-p-0-iso8859-15
dialog.bolditalic.2=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-p-*-microsoft-symbol

dialoginput.0=-monotype-Courier New-medium-r-normal--0-0-0-0-m-0-iso8859-1
dialoginput.1=-monotype-Courier New-medium-r-normal--0-0-0-0-m-0-iso8859-15
dialoginput.2=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-m-*-microsoft-symbol

dialoginput.italic.0=-monotype-Courier
New-medium-i-normal--0-0-0-0-m-0-iso8859-1
dialoginput.italic.1=-monotype-Courier
New-medium-i-normal--0-0-0-0-m-0-iso8859-1
dialoginput.italic.2=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-m-*-microsoft-symbol

dialoginput.bold.0=-monotype-Courier New-bold-r-normal--0-0-0-0-m-0-iso8859-1
dialoginput.bold.1=-monotype-Courier New-bold-r-normal--0-0-0-0-m-0-iso8859-15
dialoginput.bold.2=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-m-*-microsoft-symbol

dialoginput.bolditalic.0=-monotype-Courier
New-bold-i-normal--0-0-0-0-m-0-iso8859-1
dialoginput.bolditalic.1=-monotype-Courier
New-bold-i-normal--0-0-0-0-m-0-iso8859-15
dialoginput.bolditalic.2=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-m-*-microsoft-symbol


#
# To enable helvetica, courier and timesroman as real fonts
# remove aliases, and define them as real terminal fonts.
# (i.e. timesroman.0=TimesRoman)
#
# timesroman.0=TimesRoman
alias.timesroman=serif
# helvetica.0=Helvetica
alias.helvetica=sansserif
# courier.0=Courier
alias.courier=monospaced

# font filenames

filename.lucida_bold_i=LucidaSansDemiOblique.ttf
filename.lucida_bold_r=LucidaSansDemiBold.ttf
filename.lucida_medium_i=LucidaSansOblique.ttf
filename.lucida_medium_r=LucidaSansRegular.ttf
filename.lucidabright_bold_i=LucidaBrightDemiItalic.ttf
filename.lucidabright_bold_r=LucidaBrightDemiBold.ttf
filename.lucidabright_medium_i=LucidaBrightItalic.ttf
filename.lucidabright_medium_r=LucidaBrightRegular.ttf
filename.lucidatypewriter_bold_i=LucidaTypewriterBoldOblique.ttf
filename.lucidatypewriter_bold_r=LucidaTypewriterBold.ttf
filename.lucidatypewriter_medium_i=LucidaTypewriterOblique.ttf
filename.lucidatypewriter_medium_r=LucidaTypewriterRegular.ttf
filename.sansmonowt_medium_r=mtsansdj.ttf
filename.timesnewromanmt30_medium_r=tnrmt30.ttf
filename.timesnewromanwt_medium_r=tnrwt_j.ttf
filename.arial=ARIAL.TTF

filename.arial_bold_r=ARIALBD.TTF
filename.arial_bold_i=ARIALBI.TTF
filename.arial_i=ARIALI.TTF
filename.arial_narrow=ARIALN.TTF
filename.arial_narrow_bold=ARIALNB.TTF
filename.arial_narrow_bold_i=ARIALNBI.TTF
filename.arial_narrow_i=ARIALNI.TTF

# default char definition
default.char=02ff


fontcharset.serif.0=sun.io.CharToByteISO8859_1
fontcharset.serif.1=sun.io.CharToByteISO8859_15_FDIS
fontcharset.serif.2=sun.awt.CharToByteSymbol

fontcharset.serif.italic.0=sun.io.CharToByteISO8859_1
fontcharset.serif.italic.1=sun.io.CharToByteISO8859_15_FDIS
fontcharset.serif.italic.2=sun.awt.CharToByteSymbol

fontcharset.serif.bold.0=sun.io.CharToByteISO8859_1
fontcharset.serif.bold.1=sun.io.CharToByteISO8859_15_FDIS
fontcharset.serif.bold.2=sun.awt.CharToByteSymbol

fontcharset.serif.bolditalic.0=sun.io.CharToByteISO8859_1
fontcharset.serif.bolditalic.1=sun.io.CharToByteISO8859_15_FDIS
fontcharset.serif.bolditalic.2=sun.awt.CharToByteSymbol

fontcharset.sansserif.0=sun.io.CharToByteISO8859_1
fontcharset.sansserif.1=sun.io.CharToByteISO8859_15_FDIS
fontcharset.sansserif.2=sun.awt.CharToByteSymbol

fontcharset.sansserif.italic.0=sun.io.CharToByteISO8859_1
fontcharset.sansserif.italic.1=sun.io.CharToByteISO8859_15_FDIS
fontcharset.sansserif.italic.2=sun.awt.CharToByteSymbol

fontcharset.sansserif.bold.0=sun.io.CharToByteISO8859_1
fontcharset.sansserif.bold.1=sun.io.CharToByteISO8859_15_FDIS
fontcharset.sansserif.bold.2=sun.awt.CharToByteSymbol

fontcharset.sansserif.bolditalic.0=sun.io.CharToByteISO8859_1
fontcharset.sansserif.bolditalic.1=sun.io.CharToByteISO8859_15_FDIS
fontcharset.sansserif.bolditalic.2=sun.awt.CharToByteSymbol

fontcharset.monospaced.0=sun.io.CharToByteISO8859_1
fontcharset.monospaced.1=sun.io.CharToByteISO8859_15_FDIS
fontcharset.monospaced.2=sun.awt.CharToByteSymbol

fontcharset.monospaced.italic.0=sun.io.CharToByteISO8859_1
fontcharset.monospaced.italic.1=sun.io.CharToByteISO8859_15_FDIS
fontcharset.monospaced.italic.2=sun.awt.CharToByteSymbol

fontcharset.monospaced.bold.0=sun.io.CharToByteISO8859_1
fontcharset.monospaced.bold.1=sun.io.CharToByteISO8859_15_FDIS
fontcharset.monospaced.bold.2=sun.awt.CharToByteSymbol

fontcharset.monospaced.bolditalic.0=sun.io.CharToByteISO8859_1
fontcharset.monospaced.bolditalic.1=sun.io.CharToByteISO8859_15_FDIS
fontcharset.monospaced.bolditalic.2=sun.awt.CharToByteSymbol

fontcharset.dialog.0=sun.io.CharToByteISO8859_1
fontcharset.dialog.1=sun.io.CharToByteISO8859_15_FDIS
fontcharset.dialog.2=sun.awt.CharToByteSymbol

fontcharset.dialog.italic.0=sun.io.CharToByteISO8859_1
fontcharset.dialog.italic.1=sun.io.CharToByteISO8859_15_FDIS
fontcharset.dialog.italic.2=sun.awt.CharToByteSymbol

fontcharset.dialog.bold.0=sun.io.CharToByteISO8859_1
fontcharset.dialog.bold.1=sun.io.CharToByteISO8859_15_FDIS
fontcharset.dialog.bold.2=sun.awt.CharToByteSymbol

fontcharset.dialog.bolditalic.0=sun.io.CharToByteISO8859_1
fontcharset.dialog.bolditalic.1=sun.io.CharToByteISO8859_15_FDIS
fontcharset.dialog.bolditalic.2=sun.awt.CharToByteSymbol

fontcharset.dialoginput.0=sun.io.CharToByteISO8859_1
fontcharset.dialoginput.1=sun.io.CharToByteISO8859_15_FDIS
fontcharset.dialoginput.2=sun.awt.CharToByteSymbol

fontcharset.dialoginput.italic.0=sun.io.CharToByteISO8859_1
fontcharset.dialoginput.italic.1=sun.io.CharToByteISO8859_15_FDIS
fontcharset.dialoginput.italic.2=sun.awt.CharToByteSymbol

fontcharset.dialoginput.bold.0=sun.io.CharToByteISO8859_1
fontcharset.dialoginput.bold.1=sun.io.CharToByteISO8859_15_FDIS
fontcharset.dialoginput.bold.2=sun.awt.CharToByteSymbol

fontcharset.dialoginput.bolditalic.0=sun.io.CharToByteISO8859_1
fontcharset.dialoginput.bolditalic.1=sun.io.CharToByteISO8859_15_FDIS
fontcharset.dialoginput.bolditalic.2=sun.awt.CharToByteSymbol

# exclusion info


# X11 Specific font set (necessary for TextArea and TextField)

fontset.serif.plain=\
-monotype-Times New Roman-medium-r-normal--0-0-0-0-p-0-iso8859-1,\
-monotype-Times New Roman-medium-r-normal--0-0-0-0-p-0-iso8859-15
fontset.serif.italic=\
-monotype-Times New Roman-medium-i-normal--0-0-0-0-p-0-iso8859-1,\
-monotype-Times New Roman-medium-i-normal--0-0-0-0-p-0-iso8859-15
fontset.serif.bold=\
-monotype-Times New Roman-bold-r-normal--0-0-0-0-p-0-iso8859-1,\
-monotype-Times New Roman-bold-r-normal--0-0-0-0-p-0-iso8859-15
fontset.serif.bolditalic=\
-monotype-Times New Roman-bold-i-normal--0-0-0-0-p-0-iso8859-1,\
-monotype-Times New Roman-bold-i-normal--0-0-0-0-p-0-iso8859-15

fontset.sansserif.plain=\
-monotype-Arial-medium-r-normal--0-0-0-0-p-0-iso8859-1,\
-monotype-Arial-medium-r-normal--0-0-0-0-p-0-iso8859-15
fontset.sansserif.italic=\
-monotype-Arial-medium-i-normal--0-0-0-0-p-0-iso8859-1,\
-monotype-Arial-medium-i-normal--0-0-0-0-p-0-iso8859-15
fontset.sansserif.bold=\
-monotype-Arial-bold-r-normal--0-0-0-0-p-0-iso8859-1,\
-monotype-Arial-bold-r-normal--0-0-0-0-p-0-iso8859-15
fontset.sansserif.bolditalic=\
-monotype-Arial-bold-i-normal--0-0-0-0-p-0-iso8859-1,\
-monotype-Arial-bold-i-normal--0-0-0-0-p-0-iso8859-15

fontset.monospaced.plain=\
-monotype-Courier New-medium-r-normal--0-0-0-0-m-0-iso8859-1,\
-monotype-Courier New-medium-r-normal--0-0-0-0-m-0-iso8859-15
fontset.monospaced.italic=\
-monotype-Courier New-medium-i-normal--0-0-0-0-m-0-iso8859-1,\
-monotype-Courier New-medium-i-normal--0-0-0-0-m-0-iso8859-15
fontset.monospaced.bold=\
-monotype-Courier New-bold-r-normal--0-0-0-0-m-0-iso8859-1,\
-monotype-Courier New-bold-r-normal--0-0-0-0-m-0-iso8859-15
fontset.monospaced.bolditalic=\
-monotype-Courier New-bold-i-normal--0-0-0-0-m-0-iso8859-1,\
-monotype-Courier New-bold-i-normal--0-0-0-0-m-0-iso8859-15

fontset.dialog.plain=\
-monotype-Arial-medium-r-normal--0-0-0-0-p-0-iso8859-1,\
-monotype-Arial-medium-r-normal--0-0-0-0-p-0-iso8859-15
fontset.dialog.italic=\
-monotype-Arial-medium-i-normal--0-0-0-0-p-0-iso8859-1,\
-monotype-Arial-medium-i-normal--0-0-0-0-p-0-iso8859-15
fontset.dialog.bold=\
-monotype-Arial-bold-r-normal--0-0-0-0-p-0-iso8859-1,\
-monotype-Arial-bold-r-normal--0-0-0-0-p-0-iso8859-15
fontset.dialog.bolditalic=\
-monotype-Arial-bold-i-normal--0-0-0-0-p-0-iso8859-1,\
-monotype-Arial-bold-i-normal--0-0-0-0-p-0-iso8859-15

fontset.dialoginput.plain=\
-monotype-Courier New-medium-r-normal--0-0-0-0-m-0-iso8859-1,\
-monotype-Courier New-medium-r-normal--0-0-0-0-m-0-iso8859-15
fontset.dialoginput.italic=\
-monotype-Courier New-medium-i-normal--0-0-0-0-m-0-iso8859-1,\
-monotype-Courier New-medium-i-normal--0-0-0-0-m-0-iso8859-15
fontset.dialoginput.bold=\
-monotype-Courier New-bold-r-normal--0-0-0-0-m-0-iso8859-1,\
-monotype-Courier New-bold-r-normal--0-0-0-0-m-0-iso8859-15
fontset.dialoginput.bolditalic=\
-monotype-Courier New-bold-i-normal--0-0-0-0-m-0-iso8859-1,\
-monotype-Courier New-bold-i-normal--0-0-0-0-m-0-iso8859-15

# ibm text performance feature
ibm.java2d.useawtfonts=1

# font substitution
substitute.0=Times New Roman WT=Times New Roman MT 30
substitute.1=Monotype Sans Duospace WT=Times New Roman MT 30
substitute.2=Monotype Sans Duospace WT=Times New Roman WT J
substitute.3=Times New Roman MT 30=Times New Roman WT J
substitute.4=-timesnewromanwt=timesnewromanmt30
substitute.5=-sansmonowt=timesnewromanmt30
substitute.6=-sansmonowt=timesnewromanwtj
register.0=-monotype-timesnewromanmt30-medium-r-normal--*-%d-75-75-*-*-iso10646-0
2001 JI Open Discussion's picture
Joined: Aug 10 2006 - 3:26am
Last seen: 16 years 9 months ago

0 Answers:

No answers yet
Feedback
randomness