The iscii2ps utility creates a post script file of an input indic script text file coded using ISCII-8, UNICODE or UTF-8 character codings. The Postscript file generated by iscii2ps can be printed on Postscript printer or any printer supported by Ghost Script. The postscript file can also be viewed by ghost view front end.
The order of the input file and output file must be as shown in the synopsis. Rest of the options can be given in any order.
iscii2ps uses several fonts served through the XFS (X font server). The fonts can be for various Indian Scripts and for their display variations (like bold, italic etc.). The font names can be provided either on the command line or in a separate configuration file. In case of multiplicity of the definition, the names defined on the command line are used.
The iscii2ps reads its input ISCII-8, UNICODE or UTF-8 character coded text file and depending on the display attribute of the text, selects the font as specified in the configuration file or through the command line. As the character codes are not glyph codes, these cannot be printed as such. These codes are first translated to the glyph codes. The process of translation is independant of the font itself. The iscii2ps uses the isciilib support for translating the character codes to the glyph codes. In particular, iscii2ps uses the codeconversionbyname function. The translated glyph string is printed using the selected font. If the fonts are not available predefined default substitutions are made for them.
ISCII-8 codes are eight bit wide stateful codes that support changes in the script, display attributes such as bold, italic etc. UNICODE and UTF-8 are stateless character codes that do not support the display attributes. Each script in these coding standards have different coding range.
If available the options are read from system wide default file iscii2ps.defaults in "/usr/share/iscii2ps/" directory. The user can also put options in his own default file named ".iscii2ps.defaults" in the home directory. The options specified in the user file take precedence over the same options in the system wide default file. Command line options take the highest precedence. Default margin is 35-points left top and on bottom sides. The other arguments supported on the command line are page size (e.g., A4, A5, Letter etc.), page width and height, font point size, font server name, font specification file, default Indian (in case of ISCII-8) script. The margins for the ps file will be what is passed through command line using options -bmargin, -lmargin, -tmargin as bottom, left and top margins respectively, if only -margin option is passed then all the margins will be equal to the specified margin. The scale option scales the original size of the font by the given scalefactor. For scaling individual fonts, scale factor is given as suffix '@<scalefactor>' corresponding to every fontname either in font specification file or with -fi option.
The search path for the font specification file is specified using $FONTSPECS environment variable. The various paths are seperated by colon (:) in precedence order. The path defined may include "$HOME" to represent home directory. iscii2ps will search for the font specification file in each specified directory and will choose the first one. The default path for font specification file (spec) is "/usr/share/iscii2ps/", the fontspecification file can also be passed as option -config with fully qualified fontspecification file name argument. Similarly the font server names used by iscii2ps can be specified in precedence order using $FSSERVER environment variable. The various font server names are seperated by '@'.
The iscii2ps can be used for printing in more than one scripts and fonts. This is achieved through a font specification file.
<Indian_Script_mnemonic>
Display_Attribute(s)_1 = Corresponding_font_name@<scalefactor_1>;
Display_Attribute(s)_2 = Corresponding_font_name@<scalefactor_2> ;
.
.
.
Display_Attribute(s)_n = Corresponding_font_name@<scalefactor_n> ;
</Indian_Script_mnemonic>
Following mnemonics are used for Indian Scripts:
RMN: Roman
DEV: Devanagari
BNG: Bengali
TML: Tamil
TLG: Telugu
ASM: Assamese
ORI: Oriya
KND: Kannada
MLM: Malayalam
GJR: Gujarati
PNJ: Punjabi
DEF: Default
Display_Attribute_name use the following mnemonics:
BLD: Bold
ITA: Italic
UL: Underline
EXP: Expanded
HLT: Highlight
OTL: Outline
SHD: Shadow
NOR: Normal
Display Attributes can be combined together to give composite attributes.
Highlight + Bold = ExtraBold
An example of the font specification file is:
<DEF>
NOR = -mf-devanagari10-----19-5-300-300--150--@4 ;
BLD = -mf-devanagari10-----19-5-300-300--150--@0.3 ;
BLD ITA = -mf-devanagari10-----19-5-300-300--150-- ;
</DEF>
<DEV>
NOR = -mf-devanagari10-----19-5-300-300--150--@2 ;
BLD = -mf-devanagari10-----19-5-300-300--150--@.75;
ITA = -mf-devanagari10-----19-5-300-300--150--@2.0 ;
BLD ITA = -mf-devanagari10-----19-5-300-300--150-- ;
</DEV>
Here DEV is the mnemonic used for Devanagari Script. As shown above the beginning and ending tags for the scripts must be same except terminating symbol in the ending tag. NOR is the Display Attribute for Normal fonts, Display Attributes "BLD ITA" together is for Bold+Italic text. "-mf-devanagari10-----19-5-300-300--150--@2" is the corresponding font name with optional scalefactor (suffix @<scalefactor>) for corresponding font followed by a semicolon. The mnemonics for the Script and Display Attributes can be in mixed case.
For character coding in UNICODE and UTF-8, only the NOR definition of each script is used.