home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
OL.LZH
/
PROCS.LZH
/
BOLD.ICN
< prev
next >
Wrap
Text File
|
1991-07-13
|
1KB
|
55 lines
############################################################################
#
# Name: bold.icn
#
# Title: Procedures for enboldening and underscoring test
#
# Author: Ralph E. Griswold
#
# Date: June 10, 1988
#
############################################################################
#
# These procedures produce text with interspersed characters suit-
# able for printing to produce the effect of boldface (by over-
# striking) and underscoring (using backspaces).
#
# bold(s) bold version of s
#
# uscore(s) underscored version of s
#
############################################################################
procedure bold(s)
local c
static labels, trans, max
initial {
labels := "1"
trans := repl("1\b",4) || "1"
max := *labels
trans := bold(string(&lcase))
labels := string(&lcase)
max := *labels
}
if *s <= max then
return map(left(trans,9 * *s),left(labels,*s),s)
else return bold(left(s,*s - max)) ||
map(trans,labels,right(s,max))
end
procedure uscore(s)
static labels, trans, max
initial {
labels := "1"
trans := "_\b1"
max := *labels
trans := uscore(string(&lcase))
labels := string(&lcase)
max := *labels
}
if *s <= max then
return map(left(trans,3 * *s),left(labels,*s),s)
else return uscore(left(s,*s - max)) ||
map(trans,labels,right(s,max))
end