def textToNroff(s, font=r'\fR'):
def escape(match):
c = match.group(0)
- if c == '-':
- if font == r'\fB':
- return r'\-'
+ if c.startswith('-'):
+ if c != '-' or font == r'\fB':
+ return '\\' + c
else:
return '-'
if c == '\\':
raise error.Error("bad escape")
# Escape - \ " ' as needed by nroff.
- s = re.sub('([-"\'\\\\])', escape, s)
+ s = re.sub('(-[0-9]|[-"\'\\\\])', escape, s)
if s.startswith('.'):
s = '\\' + s
return s
. I "\\$1"
. RE
..
-''' % (title, d.strftime("%B %Y"))
-
- s += '.SH "%s DATABASE"\n' % schema.name
+.SH NAME
+%s \- %s database schema
+''' % (title, d.strftime("%B %Y"), textToNroff(title), schema.name)
tables = ""
introNodes = []
if erFile:
s += """
-.if !'\*[.T]'ascii' \{
+.\\" check if in troff mode (TTY)
+.if t \{
.bp
.SH "TABLE RELATIONSHIPS"
.PP