NLSvec File

Purpose

Encodes PostScript fonts for the ISO8859-1 codeset characters that have code points of more than 127 decimal.

Description

The /usr/lib/ps/NLSvec file can contain optional comments, optional code sets, and optional character encodings.

If a line begins with an * (asterisk), it is treated as a comment.

If a specified codeset is used, it must precede all character encodings. If a code set is not specified, the default is ISO8859-1. A specified code set uses the following syntax:

x codeset CodeSetName

x
Use a lowercase letter.
codeset
Use all lowercase letters.
CodeSetName
Use any valid code set name available for use with the iconv command.

A character encoding uses the following syntax:

CodePoint PostscriptFontPosition PostscriptCharacterName

CodePoint
Displays the decimal code point for the character.
PostScriptFontPosition
Displays the new encoding for that character within the PostScript fonts. The encoding can be octal or decimal.
PostScriptCharacterName
Displays the PostScript character name.

The PostScript assigned character encodings as well as the character names can be found in the following book:

Adobe Systems Incorporated. PostScript Language Reference Manual, Second Edition. Reading, MA: Addison-Wesley.

Examples

Note:
  1. Following is an example of a specified codeset:
    x codeset ISO8859-1
  2. Following is an example of a character encoding:
    161 0241 exclamdown

International Character Support

By default, the output code set for the TranScript commands is ISO8859-1. The output code set can be specified with the NLSvec file. For the enscript, ps4014, ps630, and psplot TranScript commands, the input codeset is determined from the current locale. The mapping of characters outside the ASCII range is determined through the iconv subroutine using the input and output code sets. If there is no corresponding iconv converter, the commands treat the input data as if it were produced in ISO8859-1. This means that ASCII data is output correctly for all locales and codesets. For multibyte locales with no iconv converters to ISO8859-1 each byte of a multibyte character is treated as individual characters of the ISO8859-1 form. The only exception to this is the enscript command, which translates characters rather then bytes in the current locale through the mapping in the NLSvec file.

The following table lists the characters from the IBM-850 code set, which does not map directly to the ISO8859-1 code set through the iconv subroutine. The following characters would be mapped to 26 (0x1A) by the iconv subroutine and thus be discarded on output. It is possible to define an alternative NLSvec file for the IBM-850 code set so that more of the characters can be output on a PostScript device. The characters marked with an * (asterisk) before the character name are normally available in a PostScript font.

Code Point Character Name
159 (0x9F) * Florin sign, PostScript name: florin
176 (0xB0) Quarter hashed
177 (0xB1) Half hashed
178 (0xB2) Full hashed
179 (0xB3) Vertical bar
180 (0xB4) Right-side middle
185 (0xB9) Double right-side middle
186 (0xBA) Double vertical bar
187 (0xBB) Double upper-right corner bar
188 (0xBC) Double lower-right corner bar
191 (0xBF) Upper-right corner box
192 (0xC0) Lower-left corner box
193 (0xC1) Bottom-side middle
194 (0xC2) Top-side middle
195 (0xC3) Left-side middle
196 (0xC4) Center box bar
197 (0xC5) Intersection
200 (0xC8) Double lower-left corner bar
201 (0xC9) Double upper-left corner bar
202 (0xCA) Double bottom-side middle
203 (0xCB) Double top-side middle
204 (0xCC) Double left-side middle
205 (0xCD) Double center box bar
206 (0xCE) Double intersection
213 (0xD5) * Small dotless i, PostScript name: dotless i
217 (0xD9) Lower-right corner box
218 (0xDA) Upper-left corner box
219 (0xDB) Bright character cell
220 (0xDC) Bright character cell lower half
223 (0xDF) Bright character cell upper half
242 (0xF2) Double underscore
254 (0xFE) Vertical solid rectangle

Files

Item Description
XPSLIBDIRX Specifies the /usr/lib/ps directory.
/usr/lib/ps/NLSvec Contains Adobe TranScript character encodings for the ISO8859-1 code set. This file is the default.
PSVECFILE Used as an environment variable to define an NLSvec file other than the default file.