c# open pdf file in browser : Delete page on pdf document control software system azure windows wpf console troff1-part1765

nro/tro User’s Manual
Heirloom Documentation Tools
September 17, 2007
Request
Initial
If No
Form
Value
Argument
Notes Explanation
24.  Special Features for
PDF
Documents
25. gro Compatibility
.cp N
o
Enable gro compatibility mode.
.mso name –
ignored
Include the macro package name.*
26.  Output Language
27.  Device and Font Description Files
__________________
∗Dened as a macro in an external package; refer to the detailed description on how to include it.
-11 -
Delete page on pdf document - remove PDF pages in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Provides Users with Mature Document Manipulating Function for Deleting PDF Pages
delete pages of pdf reader; delete pages of pdf preview
Delete page on pdf document - VB.NET PDF Page Delete Library: remove PDF pages in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Visual Basic Sample Codes to Delete PDF Document Page in .NET
cut pages from pdf reader; delete blank pages in pdf online
nro/tro User’s Manual
Heirloom Documentation Tools
September 17, 2007
Alphabetical Request and Section Number Cross Reference
ab......................20
ad........................4
af........................8
aln.......................8
als.......................7
am.......................7
as........................7
asciify.................7
bd........................2
bleedat................3
blm .....................7
box......................7
boxa....................7
bp........................3
BP.....................23
br........................4
break.................16
breakchar..........13
brnl.....................4
brp......................4
brpnl...................4
c2......................10
cc......................10
ce........................4
cf......................19
ch........................7
char...................10
chop....................7
close.................19
CL....................22
continue............16
cp......................25
cropat..................3
cs........................2
cu......................10
da........................7
dch......................7
de........................7
di ........................7
do........................1
ds........................7
dwh.....................7
dt ........................7
ec......................10
ecs ....................10
ecr.....................10
el.......................16
em.......................7
eo......................10
EP.....................23
errprint.............21
ev......................17
evc....................17
ex......................18
fallback...............2
fc........................9
fchar.................10
fdeferlig............10
feature.................2
.........................4
fkern...................4
.......................20
ig....................10
fp........................2
fps.......................2
fspacewidth........2
ft.........................2
fzoom.................2
hc......................13
hcode................13
hidechar..............2
hlm ...................13
hw.....................13
hy......................13
hylang...............13
hylen.................13
hypp..................13
ie.......................16
if.......................16
ig ......................20
in ........................6
index...................7
it.........................7
itc........................7
kern....................4
kernafter.............4
kernbefore..........4
kernpair..............4
lc.........................9
lc_ctype..............2
lds.......................7
length..................7
letadj...................4
lf.......................20
lg ......................10
lhang...................4
li.......................10
ll.........................6
lnr.......................8
lnrf......................8
lpfx...................20
ls.........................5
lt.......................14
mc.....................20
mediasize............3
minss..................4
mk ......................3
mso...................25
na........................4
ne........................3
nf........................4
nh......................13
nhychar.............13
nm ....................15
nn......................15
nop....................20
nr........................8
nrf.......................8
ns........................5
nx......................19
open..................19
opena................19
os........................5
output...............10
padj.....................4
papersize............3
pc......................14
pi ......................19
PI......................23
pl ........................3
pm ....................20
pn........................3
po........................3
ps........................2
psbb..................23
pshape................6
pso....................19
rchar.................10
rd......................18
recursionlimit.....7
return..................7
rhang ..................4
rj.........................4
rm.......................7
rn........................7
rnn......................8
rr.........................8
rs.........................5
rt.........................3
sentchar..............4
shc....................13
shift....................7
so......................19
sp........................5
spacewidth..........2
spreadwarn.......21
ss ........................2
substring.............7
sv........................5
sy......................19
ta.........................9
tc.........................9
ti.........................6
tl.......................14
tm.....................20
tr.......................10
track....................4
transchar.............4
trimat..................3
trin....................10
trnt....................10
uf......................10
ul ......................10
unformat.............7
unwatch............21
unwatchn ..........21
vs........................5
warn..................21
watch................21
watchlength......21
watchn..............21
wh.......................7
while.................16
write.................19
writec...............19
writem..............19
xag....................1
-12 -
C# PDF Page Insert Library: insert pages into PDF file in C#.net
page processing functions, such as how to merge PDF document files by C# code, how to rotate PDF document page, how to delete PDF page using C# .NET, how to
delete pdf pages ipad; delete pages from a pdf online
C# PDF File & Page Process Library SDK for C#.net, ASP.NET, MVC
Page Process. File: Merge, Append PDF Files. File: Split PDF Document. File: Compress PDF. Page: Create Thumbnails. Page: Insert PDF Pages. Page: Delete Existing
cut pages from pdf; delete pages out of a pdf file
nro/tro User’s Manual
Heirloom Documentation Tools
September 17, 2007
Escape Sequences for Characters, Indicators, and Functions
Section
Escape
Reference Sequence
Meaning
10.1
\\
\ (to prevent or delay the interpretation of \)
2.1
´ (acute accent); equivalent to \(aa
2.1
\`
` (grave accent); equivalent to \(ga
2.1
\–
– Minus sign in the current font
12.4
\_
_(underrule character); equivalent to \(ul
7
\.
Period (dot) (see de)
4.1
\(space)
Unpaddable space-size space character
4.1
\∼
Paddable no-break space character
11.1
\0
Digit width space
11.1
\|
1/6em narrow space character (zero width in nro)
11.1
1/12em half-narrow space character (zero width in nro)
4.1
\&
Non-printing, zero width character
4.1
\)
Transparent non-printing zero width character
10.6
\!
Transparent line indicator
10.8
\"
Beginning of comment
10.8
\#
Comment including newline
7.3
\$n,\$(nn,\$[nnn]
Interpolate argument n, nn, or nnn
7.3
\$∗
Interpolate all arguments separated by spaces
7.3
\$@
Interpolate all arguments in double quotes
7.3
\$0
Interpolate name of current macro or string
13
\%
Default optional hyphenation character
2.1
\(xx
Character named xx
2.1
\[xxx]
Character named xxx
7.1
\∗x,\∗(xx,\∗[xxx]
Interpolate string x, xx, or xxx
7.1
\∗[xxx arg ...]
Interpolate string xxx with arguments arg ...
13
\:
Optional line-break character
10.2
\;
Ligature suppressor
17
\@{,\@}
Inline environment push/pop
9.1
\a
Non-interpreted leader character
24.6
\A´string´
Anchor denition
12.3
\b´abc...´
Bracket building function
1.4
\B´string´
Test if string is a numerical expression
4.2
\c
Interrupt text processing
2.1
\C´xxx´
Character named xxx
11.1
\d
Forward (down) 1/2em vertical motion (1/2 line in nro)
12.5
\D´c...´
Draw graphics function c with parameters ...; c=l,c,e,a,∼
10.1
\e
Printable version of the current escape character
10.1
\E
Escape character, not interpreted in copy mode
2.2
\fx,\f(xx,\f[xxx],\fN Change to font named x, xx, or xxx, or position N
8
\gx,\g(xx,\g[xxx]
Format of number register x, xx, or xxx
11.1
\h´N´
Local horizontal motion; move right N (negative left)
2.3
\H´N´
Height of current font is N
4.1
\j´±N´
Penalty for breaking a line after the current word is N
4.1
\J´±N´
Default line breaking penalty is N
11.3
\kx,\k(xx,\k[xxx]
Mark horizontal input place in register x, xx, or xxx
12.4
\l´Nc´
Horizontal line drawing function (optionally with c)
12.4
\L´Nc´
Vertical line drawing function (optionally with c)
8
\nx,\n(xx,\n[xxx]
Interpolate number register x, xx, or xxx
2.
\N´N´
Character number N on current font
12.1
\o´abc...´
Overstrike characters a, b, c, ...
-13 -
VB.NET PDF Page Insert Library: insert pages into PDF file in vb.
Easy to Use VB.NET APIs to Add a New Blank Page to PDF Document in VB.NET Program. DLLs for Adding Page into PDF Document in VB.NET Class.
delete page in pdf reader; cut pages from pdf online
VB.NET PDF File & Page Process Library SDK for vb.net, ASP.NET
document. If you find certain page in your PDF document is unnecessary, you may want to delete this page directly. Moreover, when
copy page from pdf; delete page in pdf preview
nro/tro User’s Manual
Heirloom Documentation Tools
September 17, 2007
4.1
\p
Break and spread output line
7.5
\Px,\P(xx,\P[xxx]
Output-line trap x, xx, or xxx
11.1
\r
Reverse 1em vertical motion (reverse line in nro)
8
\R´R ±N´
Set number register R to ±N
2.3
Point-size change function
\sN,\s±N,
\s´±N´,\s±´N´,
\s[±N],\s±[N]
2.2
\S´N´
Slant output N degrees
9.1
\t
Non-interpreted horizontal tab
24.6
\T´string´
Link denition
11.1
\u
Reverse (up) 1/2em vertical motion (1/2 line in nro)
2.1
\U´X´
Character at Unicode position U+X
11.1
\v´N´
Local vertical motion; move down N (negative up)
20
\Vx,\V(xx,\V[xxx] Environment variable x, xx, or xxx
11.2
\w´string´
Interpolate width of string
5.2
\x´N´
Extra line-space function (negative before, positive after)
10.7
\X´string´
Output string as device control function
10.7
\Yx,\Y(xx,\Y[xxx] Output contents of macro x, xx, or xxx as device control function
12.2
\zc
Print c with zero width (without spacing)
12.2
\Z´string´
Print string with zero width and height
16
\{
Begin conditional input
16
\}
End conditional input
10.7
\(newline)
Concealed (ignored) newline
\c
c, any character not listed above
The escape sequences \\, \., \", \#, \$, \∗, \a, \e, \g, \n, \t, \V, \X, \Y, and \(newline) are interpreted in copy mode
(§7.2).
Predened General Number Registers
Section
Register
Reference Name
Description
3
%
Current page number.
c.
Number of lines read from current input le.
11.2
ct
Character type (set by width function).
7.4
dl
Width (maximum) of last completed diversion.
7.4
dn
Height (vertical size) of last completed diversion.
dw
Current day of the week (1–7).
dy
Current day of the month (1–31).
hours
Hours portion of current local time (0–23).
11.3
hp
Current horizontal place on input line.
15
ln
Output line number.
minutes Minutes portion of current local time (0–59).
mo
Current month (1–12).
4.1
nl
Vertical position of last printed text base-line.
11.2
rsb
Visual depth of string below base line (generated by width function).
11.2
rst
Visual height of string above base line (generated by width function).
11.2
sb
Depth of string below base line (generated by width function).
seconds Seconds portion of current local time (0–60).
11.2
st
Height of string above base line (generated by width function).
year
Current year.
yr
Current year minus 1900.
25.1
.g
Current gro compatibility mode (0=o).
-14 -
VB.NET PDF Page Extract Library: copy, paste, cut PDF pages in vb.
Dim filepath As String = "" Dim outPutFilePath As String = "" Dim doc As PDFDocument = New PDFDocument(filepath) ' Copy the first page of PDF document.
delete page in pdf file; copy pages from pdf to new pdf
C# PDF Page Extract Library: copy, paste, cut PDF pages in C#.net
String filepath = @""; String outPutFilePath = @""; PDFDocument doc = new PDFDocument(filepath); // Copy the first page of PDF document.
delete a page in a pdf file; delete page in pdf online
nro/tro User’s Manual
Heirloom Documentation Tools
September 17, 2007
Predened Read-Only Number Registers
Section
Register
Reference Name
Description
19
$$
Process id of nro or tro.
7.3
.$
Number of arguments available at the current macro level.
.A
Set to 1 in tro, if –a option used; always 1 in nro.
5.2
.a
Post-line extra line-space most recently utilized using \x´N´.
5.4
.ascender
Ascender of current font and point size.
2.3
.b
Emboldening level.
13
.breakchar Current optional line break characters.
4.1
.brnl
Remaining number of lines with break at newline.
4.1
.brpnl
Remaining number of lines with break and spread at newline.
.c
Number of lines read from current input le.
11.2
.cdp
Visual depth below base line of previous character.
4.1
.ce
Remaining number of lines to be centered.
11.2
.cht
Visual height above base line of previous character.
7.4
.d
Current vertical place in current diversion; equal to nl, if no diversion.
4.1
.defpenalty Default line breaking penalty.
5.4
.descender Descender of current font and point size.
7.4
.dilev
Current diversion level.
17
.ev
Name of current environment [sic].
2.2
.f
Current font as physical quadrant (1-255).
2.2
.fp
Next unused physical font quadrant.
2.3
.fzoom
Current font zoom factor (may be a decimal fraction).
20
.F
Current input le name [sic].
4
.h
Text base-line high-water mark on current page or diversion.
13
.hlc
Current number of consecutive hyphenated lines.
13
.hlm
Maximum number of consecutive hyphenated lines.
13
.hy
Current hyphenation ags.
13
.hylang
Current hyphenation language [sic].
13
.hylen
Current minimum hyphenation word length.
13
.hypp
Penalty for hyphen in ad p mode.
13
.hypp2
Penalty for consecutive hyphens in ad p mode.
13
.hypp3
Penalty for hyphenating the last word of a paragraph in ad p mode.
11.1
.H
Available horizontal resolution in basic units.
6
.i
Current indent as set by in.
6
.in
Current indent including temporary indent, if any.
4.2
.int
Non-zero if the previous line was interrupted with \c.
4
.j
Current ad mode.
4.1
.k
Current output horizontal position.
4.2
.kc
Output horizontal length of interrupted word, if any.
6
.l
Current line length.
14
.lt
Current title length.
2.1
.lc_ctype
Current
LC_CTYPE
locale [sic].
4.1
.letss
Current dynamic letter space threshold.
20
.lpfx
Current line prex [sic].
4.1
.lshmin
Current minimum dynamic letter shape (may be a decimal fraction).
4.1
.lshmax
Current maximum dynamic letter shape (may be a decimal fraction).
4.1
.lspmin
Current minimum dynamic letter space (may be a decimal fraction).
4.1
.lspmax
Current maximum dynamic letter space (may be a decimal fraction).
5.1
.L
Current ls value.
4.1
.minss
Current minimum space size.
4
.n
Length of text portion on previous output line.
-15 -
C# PDF metadata Library: add, remove, update PDF metadata in C#.
C#.NET PDF SDK - Edit PDF Document Metadata in C#.NET. Allow C# Developers to Read, Add, Edit, Update and Delete PDF Metadata in .NET Project.
acrobat export pages from pdf; delete pages from pdf acrobat reader
VB.NET PDF delete text library: delete, remove text from PDF file
187.0F) Dim aChar As PDFTextCharacter = textMgr.SelectChar(page, cursor) ' delete a selected As String = Program.RootPath + "\\" output.pdf" doc.Save
delete pdf page acrobat; delete page on pdf document
nro/tro User’s Manual
Heirloom Documentation Tools
September 17, 2007
5
.ns
Non-zero of no-space mode is active.
13
.nhychar
Current hyphenation-inhibiting characters.
3
.o
Current page oset.
3
.p
Current page length.
4
.padj
Current paragraph-at-once global setting.
3
.pn
Number of next page.
2.3
.ps
Current point size in units.
2.3
.psr
Last requested point size in units.
4.1
.rj
Remaining number of lines to be right-aligned.
2.3
.s
Current point size (may be a decimal fraction).
13
.shc
Current soft hyphenation character [sic].
4.1
.sentchar
Current sentence-ending characters [sic].
2.3
.sr
Last requested point size (may be a decimal fraction).
2
.ss
Current space size.
2
.sss
Current sentence space size.
7.5
.t
Distance to the next trap.
9.1
.tabs
Current tab stops such that they can be passed back to ta.
4.1
.transchar
Current characters transparent for sentence-ending [sic].
.T
Set to 1 in nro, if –T option used; always 0 in tro.
4.1
.u
Equal to 1 in ll mode and 0 in noll mode.
5.1
.v
Current vertical line spacing.
7.5
.vpt
Vertical position traps enabled (1) or disabled (0).
11.1
.V
Available vertical resolution in basic units.
11.2
.w
Width of previous character.
21
.warn
Currently activated warning categories.
4.1
.x
Remaining horizontal space on current output line.*
1.1
.X
Current extension level.
6
.y
Current indent including temporary indent, if any.*
7.4
.z
Name [sic] of current diversion.
__________________
∗The .x and .y registers had been described as ‘‘reserved version-dependent registers’’ in previous editions.  Their semantics have actually
been as described from 7th Edition tro on.
-16 -
nro/tro User’s Manual
Heirloom Documentation Tools
September 17, 2007
REFERENCE MANUAL
1.  General Explanation
1.1.Form of input. Input  consists of text  lines,  which are destined  to  be  printed,  interspersed  with control lines,
which set parameters or otherwise control subsequent processing.  Control lines begin with a control character—
normally . (period) or ´ (acute accent)—followed by a name that species a basic request or the substitution of a
user-dened macro in place of the control line.  The control character ´ suppresses the break function—the forced
output  of  a  partially lled  line—caused  by  certain  requests.  The  control  character  may  be  separated  from  the
request/macro name by white space  (spaces and/or tabs) for esthetic reasons.  Names must be followed by either
space or newline.  Control lines with unrecognized names are ignored.
Various special functions may be introduced anywhere in the input by means of an escape character, normally \.
For  example, the  function \nR causes  the interpolation of  the  contents of the number register R in  place of  the
function; here R is either a single character name as  in \nx, a left-parenthesis-introduced, two-character name as
in \n(xx, or a left-bracket-introduced, multiple character name as in \n[xxx].
In traditional tro, only one  and two character names were permitted for request, macro, string, number register,
and font names.  Heirloom tro can accept names containing a (nearly) arbitrary number of
ASCII
characters.  By
default,  request  and  macro  names are still  required  to  contain  at  most two  characters  for  compatibility  reasons.
The –x command line option, the do request, or the xflag request make the longer names available.  The current
extension level is available in the .X register.
Four levels of extension availability are currently dened:
0disables  all  extensions  except  for  locale-dependent  input  and  Type 1/OpenType/TrueType  font  selection  using
fp.  Since  the do request is  not  available  at  this  level,  it is  not possible  to  change  to  another  extension  level
again.  It is most useful to print unmaintained documents for which any adaption would be too tedious.
1enables  extensions except  for  direct  access  to  long  names, i.e., .abcde will  be  interpreted  as  request ab with
argument cde, and \*[xyz] refers to the string named [ followed by the text xyz].  Long names can be accessed
using the do request, e.g. .do de abcde, .do if 1 \*[xyz].  This level is the default.
2enables  direct access  to  long  names on request  lines and escape sequences,  i.e., .abcde will be interpreted  as
macro abcde, and \*[xyz] refers to the string named xyz.  If an undened long name is read, its rst two char-
acters  are  interpreted  as  a  short  request  using  the  remaining  characters  as  argument.  So  if  a  macro abcde
is  dened, .abcde will execute  it,  but otherwise, .abcde continues to execute ab.  String and  number register
references are only interpreted if they start in the rst two characters of a name, i.e. no string interpretation is
performed on input .ab\*(xy.
3ignores undened long requests even if they form a prex of a short request, and interprets string and number
register references in any position of a name.
It is recommended to execute .do xflag 3 at the beginning of new tro programs that need not rely on any exist-
ing code.
1.2.Formatter and device resolution. tro internally  stores and  processes  dimensions in units  that correspond  to
the  particular  device for  which  output  is being  prepared;  values  from  300 to 72000/inch  are  typical.  See §27.
nro internally  uses  240  units/inch,  corresponding  to  the  least  common  multiple  of  the  horizontal  and  vertical
resolutions of various typewriter-like output devices. tro rounds horizontal/vertical numerical parameter input to
the actual horizontal/vertical resolution of the  output device indicated by  the –T option (default ps). nro simi-
larly  rounds  numerical  input  to  the  actual  resolution  of  the  output  device  indicated  by  the −T option  (default
Model 37 Teletype).
-17 -
nro/tro User’s Manual
Heirloom Documentation Tools
September 17, 2007
1.3.Numerical parameter input. Both nro and tro accept  numerical  input  with  the  appended  scale  indicators
shown in the following table, where S is the current type size in  points, V is the current  vertical  line spacing  in
basic units, and C is a nominal character width in basic units.
____________________________________________________________
Scale
Number of basic units
Indicator
Meaning
tro –Tps
nro
____________________________________________________________
i
Inch
72000
240
c
Centimeter
72000×50/127
240×50/127
P
Pica = 1/6 inch
12000
240/6
m
Em = S points
S
C
n
En = Em/2
S/2
C, same as Em
M
1/100 Em
S/100
C/100
p,z
Point = 1/72 inch
1000
240/72
u,s
Basic unit
1
1
t
Printer’s point
72000×100/7227
240×100/7227
T
Printer’s pica
72000×400/2409
240×400/2409
D
Didot point
72000×24/1621
240×24/1621
C
Cicero
72000×288/1621
240×288/1621
v
Vertical line space
V
V
none
Default, see below
____________________________________________________________
In nro,  both the  em  and  the  en  are  taken  to  be  equal  to  the C,  which  is  output-device  dependent;  common
values are  1/10 and  1/12  inch.  Actual character widths in nro need not  be  all the same  and constructed char-
acters such as −>  (→) are  often extra  wide.  The  default  scaling is m for  the horizontally-oriented requests  and
functions ll, in, ti, ta, lt, po, mc, spreadwarn, \h, \l, and  horizontal  coordinates  of \D; v for  the  vertically-
oriented requests and functions pl, wh, ch, dt, sp, sv, ne, rt, \v, \x, \L, and vertical coordinates of \D; p for the
vs, papersize, mediasize, trimat, bleedat,  and cropat requests; and u for  the  requests nr, nrf, if, and ie. All
other  requests  ignore  any  scale  indicators.  When  a  number  register  containing  an  already  appropriately  scaled
number is interpolated to provide numerical input, the unit scale indicator u may need to be appended to prevent
an additional  inappropriate  default scaling.  The number, N,  may  be  specied  in  decimal-fraction  form  but  the
parameter nally  stored  is  rounded  to  an  integer  number  of  basic  units,  except  for oating-point  computations
with nrf and if f.  Exponential notation as in ‘1e+9’ or ‘1e–10’ is supported.
The absolute position indicator | may be prepended to a number N to generate the distance to the vertical or hor-
izontal  place N.  For  vertically-oriented  requests and functions, |N becomes  the distance in  basic units from  the
current vertical place on the page or in a diversion (§7.4) to the the vertical place N.  For all other requests and
functions, |N becomes the distance from the current horizontal place on the input line to the horizontal place N.
For example,
.sp |3.2c
will space in the required direction to 3.2centimeters from the top of the page.
1.4.Numerical expressions. Wherever numerical input is  expected  an  expression involving  parentheses, the arith-
metic  operators +, −, /, ∗, % (mod),  the  logical  operators <, >, <=, >=, = (or ==), <> (not  equal), & (and),
:(or),  and  the  functions a<?b (minimum  of a and b), a>?b (maximum  of a and b),  and (c;e) (evaluate  the
expression e using c as  default  scale  indicator,  or  ignoring  scaling  indicators  if c is  omitted)  may  be  used.
Except where controlled by parentheses, evaluation of expressions is left-to-right; there is no operator precedence.
Spaces are ignored if they occur within  parentheses; any other  non-numeric character terminates  the expression.
In the case of certain requests, an initial + or − is stripped and interpreted as an increment or decrement indica-
tor respectively.  In the presence of default scaling, the desired scale indicator must be attached to every number
in an expression for which the desired and default scaling dier.  For example, if the number register x contains
2 and the current point size is 10, then
.ll  (4.25i+\nxP+3)/2u
will set the line length to 1/2 the sum of 4.25 inches + 2 picas + 30 points.
-18 -
nro/tro User’s Manual
Heirloom Documentation Tools
September 17, 2007
The \B’string’ escape sequence checks  whether string is  a valid  numerical  expression  and evaluates  to  ‘‘1’ if  it
does and to ‘‘0’’ otherwise.
1.5.Notation. Numerical parameters are indicated in this manual in two ways. ±N means that the argument may
take  the  forms N, +N,  or −N and  that  the  corresponding  eect  is  to  set  the  aected  parameter  to N,  to  incre-
ment it by N, or to decrement it by N respectively.  Plain N means that an  initial algebraic  sign is not an incre-
ment indicator, but merely the sign of N.  Generally, unreasonable numerical input is either ignored or truncated
to a reasonable value.  For example, most requests expect to set parameters to non-negative values; exceptions are
sp, wh, ch, nr, and if.  The requests ps, ft, po, vs, ls, ll, in, and lt restore  the previous parameter value in  the
absence of an argument.
Single  character  arguments  are  indicated by  single lower case  letters  and  one/two  character  arguments  are  indi-
cated by a pair of lower case letters.  Character string arguments are indicated by multi-character mnemonics.
Request
Initial
If No
Form
Value
Argument
Notes Explanation
.do name
ignored
Execute  the  request  or  macro name in  extension  level  3  and
restore the previous level afterwards.
.xflag N
1
ignored
Set the extension level permanently to N.
2.  Font and Character Size Control
2.1.Character set. The  basic tro character  set  is  dened  by  a  description le  specic  to  each  output  device
(§27). There  are normally several regular fonts  and one or  more special fonts.  The basic character  set  is shown
in  the  attached Table I.  All
ASCII
characters  are  included,  with  some  on  the  Special  Font.  With  three excep-
tions, the
ASCII
characters are input as themselves, and non-
ASCII
characters are input in the form \(xx where xx
is a two-character name given in the attached Table II.  The three
ASCII
exceptions are mapped as follows:
______________________________________________
ASCII
Input
Printed by tro
Character
Name
Character
Name
______________________________________________
´
acute accent
close quote
`
grave accent
open quote
minus
hyphen
______________________________________________
The characters ´, `, and – may be input by \´, \`, and \– respectively or by their names (Table II).  The characters
\and " can also be referred to as \(rs and \(dq, respectively; this form allows to completely avoid their interpre-
tation  as argument delimiter  or escape character.  In traditional tro,, the
ASCII
characters @, #, ", ´, `, <, >, \,
{, }, ˜, ˆ, and _ existed only on the Special Font and were printed as a 1-em space if that Font was not mounted.
With  the pslow device, these  characters  print in  the Times font by default regardless  of the current font (but see
the fps request below).  With other devices, these characters are taken from the current font.
With Type 1, OpenType, and TrueType fonts, tro allows to access all named PostScript characters of the current
font and of those in the fallback sequence in the forms \[name] or \C´name´.
tro internally  converts  non-
ASCII
characters  of  the  current
LC_CTYPE
locale  to  named  PostScript  characters
once they are  read  in regular (not copy)  mode.  If the current font is an OpenType or  a TrueType font and con-
tains  a custom  Unicode mapping table,  the input character is  looked up  in  that table rst.  Otherwise, a default
table  is used.  A  character  that  is  not  present  in  the  current  font  is searched  using  the fallback sequence rst,
then  in  the  special  fonts.  If  the  character  cannot  be  found,  it  is  discarded.  Characters  for  which  no  name  is
known are replaced by spaces.
The \N´n´ escape sequence  has  historically  been available  to  refer  to  character n of  the  current font.  It  is  still
accepted, but its use is discouraged with Type 1, OpenType, and TrueType fonts since the arrangement of charac-
ter in font tables is performed at run-time and may change with future versions of tro.
nro has an analogous, but dierent, mechanism for dening legal characters and how to print them.  By default
all characters are valid.  There are such additional characters as may be available on the output device, such char-
acters  as may be able to  be constructed by overstriking  or other combination,  and those  that can reasonably be
mapped  into other printable  characters.  The  exact  behavior  is determined by  a  driving  table  prepared  for  each
device.  In a
UTF-
8 locale, combining characters are processed.  The characters ´, `, and _ print as themselves.
-19 -
nro/tro User’s Manual
Heirloom Documentation Tools
September 17, 2007
Both nro and tro allow references to specic Unicode characters with the \U´X´ escape sequence; it causes the
character at position  U+X to be printed (X is a hexadecimal number).  For tro, it is required that this character
is available in one of the fonts mounted at this point.  As an example, \U´20AC´ prints the Euro character €.
2.2.Fonts. tro begins execution by  reading information for a set  of defaults fonts, said  to  be mounted; conven-
tionally, the rst four are Times  Roman (R),  Times Italic  (I),  Times Bold  (B), and Times  Bold Italic  (BI),  and
the last is a Special font (S) containing miscellaneous characters.  The set of fonts and positions is determined by
the device description le, described in §27.
The current font,  initially  Roman,  may  be  changed  (among  the  mounted  fonts)  by  use  of  the ft request,  or  by
imbedding at any desired point either \fx, \f(xx, \f[xxx], or \fN where x, xx,  and xxx are the name  of a mounted
font and N is a numerical font position.
It is not necessary to change to the Special font; characters on that font are automatically handled as if they were
physically part  of the current  font.  The Special font may  actually  be several fonts;  the  name S is reserved  and
is generally used for one of these.  The fallback request sets a font-specic sequence of additional fonts that are
searched for missing characters.
tro can be informed that any particular font is mounted by use of the fp request.  The list of known fonts is ins-
tallation dependent.  In the subsequent discussion of font-related requests, F represents either a one/two-character
font name  or the  numerical  font position.  The current  font is available (as numerical position)  in  the read-only
number register .f; the .fp register holds the next unused position.
A request  for  a named but not-mounted  font  is  honored if the font  description  information exists.  In  this  way,
there is no limit on the number of fonts  that may be printed in  any part of a document.  Mounted  fonts may be
handled  more eciently, and  they  may  be  referred to  by their mount positions, but  there  is no  other  dierence.
Mention of an unmounted font loads it temporarily at font position zero, which serves as a one-font cache.
The function \S’±N’ causes the current font to be slanted by ±N degrees.  Not all devices support slanting.
nro understands font control and normally underlines Italic characters (see §10.5).
2.3.Character size. Character point sizes available depend  on the specic output device; a typical (historical) set
of values is 6, 7,  8, 9, 10,  11, 12, 14, 16, 18, 20,  22, 24, 28, and 36.  This  is  a range of 1/12 inch to 1/2 inch.
Modern output devices such as the default devps usually allow the point size to be set to arbitrary values, includ-
ing  fractional  points.  The ps request  is  used  to  change  or  restore  the  point  size.  Alternatively  the  point  size
may be changed  between any two  characters  by imbedding  a \sN at  the  desired  point  to set  the  size  to N, or a
\s±N (1≤N≤8) to increment/decrement the size by N; \s0 restores the previous size.  On historical output devices,
requested point size values that are between two valid sizes yielded the larger of the two.
Note  that  through  an  accident  of  history,  a  construction  like \s39 is  parsed  as  size  39,  and  thus  converted  to
size 36  (given  the sizes  above),  while \s40 is  parsed  as size 4 followed  by 0.  The forms \s(nn, \s±(nn, \s´±nn´,
\s±´nn´, \s[±nn], and \s±[nn] permit specication of sizes that would otherwise be ambiguous.
The current size (in points) is available in the .s register.  Note that this may be a decimal fraction if the current
point size is not an integer.  The .ps register stores the current size in units.  The .sr and .psr registers store the
requested point size in points and units, respectively; it is identical to the current size on modern output devices.
nro ignores type size control.
The function \H´±N’ sets
the height of the current font
to N, or increments it by +N, or decrements it by –N; if
N=0, the height is restored to the current point size.  In each case, the width is unchanged.  Not all devices sup-
port independent height and width for characters.
Request
Initial
If No
Form
Value
Argument
Notes Explanation
.lc_ctype name
ignored
Set  the
LC_CTYPE
locale  to name.  The  default  is  the  value
of  the
LC_CTYPE
environment  variable.  This  request  is  use-
ful to specify  an input character set regardless of environment
inuences.  The  current  value  is  available  in  the .lc_ctype
number register.
-20 -
Documents you may be interested
Documents you may be interested