How to set up x-printing for Mozilla

# Printing

In this section: How to print non-western fonts? How to set up X printing?

# How to print web pages with non-western fonts from Mozilla? (Solaris only)

Pages containing non-western fonts may not always print correctly.

## What's TrueType printing?

Mozilla uses the Freetype library to translate True Type fonts into CID type 1 fonts. It then embeds the CID Type 1 font into the postscript file.

## How to set up TrueType printing?

The paths for each font set need to be in the solaris.js file located :
defaults/pref/solaris.js

You can add a path to search for new True Type fonts to the solaris.js file.

Below are the default settings

pref("font.directory.truetype.1", "/usr/X/lib/locale/zh/X11/fonts/TrueType");
pref("font.directory.truetype.2", "/usr/X/lib/locale/zh.GBK/X11/fonts/TrueType");
pref("font.directory.truetype.3", "/usr/X/lib/locale/zh_CN.EUC/X11/fonts/TrueType");
pref("font.directory.truetype.4", "/usr/X/lib/locale/zh_CN.GB18030/X11/fonts/TrueType");
pref("font.directory.truetype.5", "/usr/X/lib/locale/zh_TW/X11/fonts/TrueType");
pref("font.directory.truetype.6", "/usr/X/lib/locale/zh_TW.BIG5/X11/fonts/TT");

To add a new font path use the same format:
pref("font.directory.truetype.<number>", "<path/ folder location>");

I.E. for Korean
pref("font.directory.truetype.7", "/usr/X/lib/locale/ko/X11/fonts/TrueType ");

NOTE: This feature requires freetype2 library support.
Make sure you have Freetype installed and the path for "libfreetype.so" is available to the system.

If Mozilla can't find the libfreetype.so add the path:
export LD_LIBRARY_PATH=<location of libfreetype.so >

# How to set up x-printing for Mozilla (Solaris only)

Xprt is the Xprint print server for version 11 of the X Window system for non display devices such as printers and fax machines.

Xprint is an advanced printing system which enables X11 applications to use devices like printers, FAX or create documents in formats like PostScript, PCL or PDF. It may be used by clients such as mozilla .

## How do I configure Xprint on the client side?

There is an environment variable (env vars) which controls Xprint on the client side. The environment variable ${XPSERVERLIST} contains a list of display identifiers (separated by white space) to tell Mozilla where it can find the Xprt servers.
Example:
%export XPSERVERLIST="littlecat:80 bigdog:72"
This instructs an application to look at display 80 on the machine"littlecat" and display 72 on the machine bigdog, to look for Xprt servers.

## How do I setup an Xprint Server?

On Solaris Xprint Server is installed by default.

Xprt [ -ac ] [ -audit level ] [ -pn ] [ -fp fontpath ] [ -XpFile file ] [ -XpSpoolerType spoolername ] [ : display ]

### : display

The X server runs on the given display. If multiple X servers are to run simultaneously on a host, each must have a unique display number. Note that the standard X server (for video displays) typically runs on display :0

Example:
To start an Xprint Server on display 99:
%Xprt :99

### -fp fontpath

sets the search path for fonts. This path is a comma separated list of directories which Xprt searches for font databases.

Example:

%Xprt :99 -fp \
/usr/X/lib/X11/fonts/TrueType/,\
/usr/X/lib/locale/zh/X11/fonts/TrueType/ &

For more information about how to setup an Xprint Server, please refer to http://xprint.mozdev.org/docs/Xprt.html or refer to the man page ( "man Xprt" command on Solaris )