One document matched: draft-touch-msword-template-v2.0-00.txt
Network Working Group J.Touch
Internet Draft USC/ISI
Expires: May 2005 November 24, 2004
Version 2.0 Microsoft Word Template
for Creating Internet Drafts and RFCs
draft-touch-msword-template-v2.0-00.txt
Status of this Memo
By submitting this Internet-Draft, I certify that any applicable
patent or other IPR claims of which I am aware have been disclosed,
and any of which I become aware will be disclosed, in accordance with
RFC 3668.
This document may not be modified, and derivative works of it may not
be created.
This document may only be posted in an Internet-Draft.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html
This Internet-Draft will expire on May 24, 2005.
Copyright Notice
Copyright (C) The Internet Society (2004). All Rights Reserved.
Touch Expires May 24, 2005 [Page 1]
Internet-Draft Version 2.0 Microsoft Word Template November 2004
Abstract
This document describes the properties and use of a revised Microsoft
Word template (.dot) for writing Internet Drafts and RFCs. It updates
the initial template described in RFC 3285 to more fully support
Word's outline modes and to be easier to use. This template can be
direct-printed and direct-viewed, where either is line-for-line
identical with RFC Editor-compliant ASCII output.
NOTE: This version is intended as an update, but can be considered an
alternate ('fork') if preferred.
The most recent version of this template and post-processing scripts
are available at http://www.isi.edu/touch/tools
Table of Contents
1. Introduction...................................................3
2. Use............................................................4
2.1. Setting up your version of Word to edit RFCs..............4
2.2. Editing...................................................4
2.3. Generating Output.........................................6
2.3.1. Printing Direct to a Printer.........................6
2.3.2. Printing the Text File...............................6
3. Changes from RFC 3285..........................................7
3.1. Heading Styles............................................7
3.2. References Style..........................................7
3.3. Boilerplate...............................................8
3.4. Simplification............................................8
3.5. Ability to Direct Print and Direct View...................8
4. Compatibility Issues...........................................8
5. Security Considerations........................................9
6. Acknowledgments................................................9
APPENDIX A: Template configuration details.......................10
A.1. Configure................................................10
A.2. Configure styles.........................................10
A.2.1. Redefine existing styles............................10
A.2.2. Add new styles......................................11
A.2.3. Hidden styles:......................................12
A.3. Define page layout.......................................12
A.4. Insert boilerplate.......................................13
A.5. Automatic fields.........................................14
APPENDIX B: Post-processor script (perl).........................16
7. References....................................................19
7.1. Normative References.....................................19
7.2. Informative References...................................19
Touch Expires May 24, 2005 [Page 2]
Internet-Draft Version 2.0 Microsoft Word Template November 2004
Author's Addresses...............................................19
Intellectual Property Statement..................................19
Disclaimer of Validity...........................................20
Copyright Statement..............................................20
Acknowledgment...................................................20
1. Introduction
Internet Drafts and RFCs are predominantly written in embedded-text
compile-based formatting systems [1][4][5]. The primary and first
such system is NROFF, a text formatting utility based on manual entry
of embedded configuration commands, such as ".p" for new paragraphs.
XML is a more recent alternative that uses structure tags instead of
explicit formatting commands to allow a single file (.xml) to be
'compiled' into ASCII output, HTML, or a variety of other formats as
desired [7].
Although XML adds more modern semantic information to the structure
tags, neither system supports modern WYSIWYG (what you see is what
you get) editing. Editors such as Microsoft Word and Corel
WordPerfect, provide not only WYSIWYG editing, but also semantic tags
as well as outline-mode capabilities. To that end, a Word template
called 2-Word.template.rtf was created that supports authoring RFCs,
as described in RFC-3285 [6]. That version succeeded in enabling
Word-based RFC editing, but did not support Word's outline mode
renumbering capabilities.
This document describes the properties and use of a revised Microsoft
Word template (.dot) file that supports Internet Draft and RFC
formatting, intended as an update to that of RFC-3285. This version,
called 2-Word-v2.0.template.dot, addresses a number of issues with
the preliminary version:
o redefines basic styles (Normal, Heading1, etc.) rather than
creating new styles
o updates boilerplate according to RFC 3668
o uses more conventional methods for autonumbered references and
figures
o supports direct output to a printer from the .doc source, as well
as RFC-3285-style 'print to text' with post-processing
This document assumes familiarity with Windows operating systems and
the Word application.
Touch Expires May 24, 2005 [Page 3]
Internet-Draft Version 2.0 Microsoft Word Template November 2004
2. Use
To use this template, double-click on it in Windows (it may work in
MacOS and/or OpenOffice, but this has not been confirmed). The result
should be a 'new' document. Do NOT open this document from within
Word, e.g., via the File->Open menu; this will edit the template,
rather than using the template to create a new template-based
document.
2.1. Setting up your version of Word to edit RFCs
(OPTIONAL)
Unfortunately, Word does not have a way to save some useful settings
in a template. It may be useful to configure autoformatting to avoid
using smart quotes or hyphens. This template is compatible with these
features, however, as its post-processor script translates these non-
standard character codes to their RFC-compatible ASCII equivalents.
TODO: should changes to autoformatting be something that is set with
an autoopen/autoclose macro? It needs to be restricted to affecting
only this document, and it isn't clear that Word has per-document
settings for Autoformatting.
2.2. Editing
The template provides a number of styles for use (for details, see
APPENDIX A: ). Some are redefined internal styles, and some are new,
as follow. Throughout the document, avoid the use of bold, italics,
or any other character formatting, as well as any graphics, or
paragraph or table borders. Smart hyphens and quotes need not be
avoided, and will be translated during post-processing.
The current styles allow existing hyphens to break (wrap) across
lines, but do not add hyphenation. To insert a non-breaking hyphen,
type <CTL-_> (control-underscore); this is particularly useful in
URLs, which are more readable if not line-wrapped.
o Redefined internal styles for general use:
Normal, Heading1-9, Caption, Header, Footer:
Use in the normal fashion. Tabs can be used as desired.
o New styles:
RFC Title:
Touch Expires May 24, 2005 [Page 4]
Internet-Draft Version 2.0 Microsoft Word Template November 2004
For the document title only
RFC Figure:
For ASCII-art figures. single spaced, kept-together
RFC List Bullet:
For bulleted-lists
RFC List Numbered:
For numbered-lists. use 'restart numbering' as desired for new
list sequences
RFC References:
For normative and informative references. Do not restart
numbering for informative references.
RFC App:
For appendix titles, using "APPENDIX A: " format. Starts at the
top of a new page. If appendices are used, start the references
(after appendices) at the top of a new page (insert 'page
break')
RFC App H1-5:
For appendix headings ("A.1. " format). NOTE: these headings
will NOT auto-renumber when promoted/demoted in outline mode.
o Redefined styles used internal to the doc, but not generally
accessed by users:
TOC1-9:
For table of contents entries.
RFC Instructions:
For instructions to authors. These notes must be deleted.
RFC H1 - no num:
For unnumbered headings in end boilerplate text.
Touch Expires May 24, 2005 [Page 5]
Internet-Draft Version 2.0 Microsoft Word Template November 2004
RFC H1 - no TOC no num:
For unnumbered, unlisted (in TOC) headings in front boilerplate
text.
2.3. Generating Output
This template supports printing similar output to both regular
printers (8.5x11" paper) and as Internet-Draft/RFC compatible text
files.
2.3.1. Printing Direct to a Printer
The template produces output direct to a printer that is line-for-
line, page-for-page identical with the text-only version, with a few
minor exceptions:
o Single and double quotes may be angled (left quote, right quote),
rather than straight, depending on whether 'smart quotes' are
enabled in Tools->Autocorrect options.
o Hyphens may print as an EM-dash or EN-dash, depending on whether
'smart hyphens' are enabled in Tools->Autocorrect options.
2.3.2. Printing the Text File
To generate .txt output, use a two-step process. First, generate a
.prn file by printing the document to text-only printer. Second,
apply post-processing to clean up the text and apply 'new page'
characters.
Install the "Generic/Text Only" printer, as found in under "Generic"
in the available print drivers list. Configure the printer to save to
a file, or click 'save to file' when printing. A printed file will
have a .prn file suffix.
The printed output needs to be run through a post-processor to
generate valid Internet-Draft or RFC formatted text. Run the .prn
file through the post-processing as described in APPENDIX B: . This
includes:
o Omit <CR>s (converts <CR><LF> to <LF> as well as omitting bare
<CR>s)
o Convert smart quotes and hyphens to their ASCII counterparts
Touch Expires May 24, 2005 [Page 6]
Internet-Draft Version 2.0 Microsoft Word Template November 2004
o Omits blank lines between the footer of one page and the header of
the next, and inserts a <CTL-L> (form-feed) between the two.
o Checks for remaining illegal characters (not printable ASCII, CR,
LF), as required
3. Changes from RFC 3285
This document and the ".dot" template borrow heavily from RFC 3285
[6]. Notably, all specifics of point sizes, tab locations, and the
automatic date fields are directly from that template. This document
builds on that information as follows.
3.1. Heading Styles
This document redefines Normal, Heading1-9, Header, Footer, and
Caption, rather than defining new RFC-named styles as in RFC 3285.
The use of internal style names is required for proper operation of
outline mode, notably when promoting/demoting sections of text with
subsequent renumbering of headings therein.
Note that this use of redefined standard styles is the common
practice, both in Microsoft-supplied templates as well as templates
from the IEEE and ACM, among others.
Additional heading styles RFC App and RFC App H1-9 were added to
support alternate numbering used in appendices, although these styles
exhibit the previous deficiency of custom styles in outline mode
(will not auto-renumber on promote/demote).
3.2. References Style
RFC References is a body text paragraph style that autonumbers based
on the "[1]" format. Again, it is common practice, both among
Microsoft-supplied templates as well as templates from the IEEE and
ACM, to use autonumbered paragraphs in the body text for references.
This differs from RFC 3285, in which references were inserted as
endnotes, rather than as main body text.
Putting references in endnotes has unexpected behavior. In
particular, the reference is defined by its first use as a citation,
and cross-referenced by subsequence citations. Removing the first
citation removes the reference entirely, despite other cross-
references. This is not the case with body text autonumbered
paragraphs, which persist regardless of which cross-references are
deleted.
Touch Expires May 24, 2005 [Page 7]
Internet-Draft Version 2.0 Microsoft Word Template November 2004
Note that Word does not provide a way to ensure that all RFC
Reference paragraphs are cross-referenced, i.e., users can insert
references which are not cited. This can be desired, however, e.g.,
for bibliographies of supplemental material.
3.3. Boilerplate
The boilerplate in this template was updated to conform with current
RFC Editor requirements, notably RFC 3776 and 3668 rights statements,
as well as pending guidelines for Internet Draft and RFC authors
[2][3][5].
3.4. Simplification
Headers and footers use more conventional tabbing to control
formatting, rather than tables.
Users no longer need to avoid the use of smart quotes or hyphens;
these are automatically translated to RFC-compliant ASCII characters
during post-processing.
A number of styles include grouping configuration, designed to
provide more readable output. In particular, all headings are "keep
with next" to avoid widowed heading lines, and all list items,
references, and figure lines are "keep together", to avoid in
advertent splitting across page boundaries.
3.5. Ability to Direct Print and Direct View
This template can print directly to a printer, generating output
which is line-for-line, page-for-page identical with the compliant
ASCII text output, excepting minor formatting of hyphens and quotes.
Further, this template can be previewed in File->Print Preview or
View->Print Layout, again generating screen images which are line-
for-line, page-for-page identical with the compliant ASCII text
output. This allows true "WYSIWYG" (what-you-see-is-what-you-get)
editing and printing.
4. Compatibility Issues
There are no known compatibility issues at this time. This version of
the template was designed under Windows XP and Word 2002. It is not
yet known whether previous versions of Windows/Word are supported
using this template.
Touch Expires May 24, 2005 [Page 8]
Internet-Draft Version 2.0 Microsoft Word Template November 2004
As noted in Sec. 3.1. this template redefines predefined styles,
which is common practice.
5. Security Considerations
There are many security issues in the general use of Microsoft
operating systems and applications. This template is not known to
expose any new security issues; it contains no macros as developed
and deployed. To confirm the integrity of the .dot file, confirm its
MD5 signature as below. Users concerned about the integrity of the
file should confirm this signature before opening the file.
MD5(2-Word-v2.0.template.dot)= 94adda94fe1bceb545595c01d7bb1abc
6. Acknowledgments
The author acknowledges the substantial efforts of the previous
version of the Word template, Mike Gahrns and Tony Hain [6]. This
document is intended to build upon their work.
This draft was written using 2-Word-v2.0.template.dot
Touch Expires May 24, 2005 [Page 9]
Internet-Draft Version 2.0 Microsoft Word Template November 2004
APPENDIX A: Template configuration details
The ".dot" template consists of a set of default configuration
settings, a set of modified and newly-defined styles, and an initial
template of text. This section in particular assumes familiarity with
Microsoft Word configuration and modification of styles. Note that
use of the template does not require understanding this section; this
merely documents the settings already in the ".dot" file.
A.1. Configure
A.2. Configure styles
Modify paragraph styles as indicated. In general use, only the
redefined existing styles Normal, Heading1-9, Header, Footer, and
Caption, and new styles RFC Figure, RFC References, RFC List Bullet,
RFC List Numbered, RFC App, and RFC App H1-5 need be used by authors.
Other styles, such as redefined TOC1-9, RFC Hidden, RFC H1 - no num,
and RFC H1 - no TOC no num are used by the template, but are
typically hidden in the styles list, and need not be explicitly
applied by authors.
All measurement units below are in points. Change measurement units
to points to set.
A.2.1. Redefine existing styles
Redefine the Normal style first; all others are based on Normal
except as noted.
1. Normal: font Courier New, font size 12 point, next style Normal,
line spacing EXACTLY 12 point, spacing before 0 pt, spacing after
12 pt, indent left 21.6 pts, widow/orphan control, left tabs at
every 3 spaces (1 space = 7.2 points, given 72 points/inch and 10
characters/inch): 21.6, 43.2, 64.8, 86.4, 108, 129.6, 151.2,172.8,
194.4, 216, 237.6, 259.2, 280.8, 302.4, 324, 345.6,367.2, 388.8,
410.4, 432, 453.6, 475.2, 496.8
(Note: 12 point fonts are 12 points tall, i.e., 6 lines/inch
vertically; 12-point Courier is 10 characters/inch horizontally)
Touch Expires May 24, 2005 [Page 10]
Internet-Draft Version 2.0 Microsoft Word Template November 2004
2. Heading 1-9: Normal + indent left 0 pt, hanging 21.6 pts, keep
with next, set autonumbering as "1. ", "1.1. ", "1.1.1. ", etc.
Note the space after the right-most period; type this in the
number format field, and leave the "follow number with" field as
'nothing' (click on the 'more' button to see this field if it is
not already visible).
NOTES: change the autonumbering ONCE, in ONE format, and in that
format change all subsequent levels.
3. TOC 1-9: Normal + paragraph flush, clear tabs, add new Right tab
at 504 pts that includes a "..." leader. Add indent left as
follows: TOC 1: 21.6, TOC 2: 43.2, TOC 3: 64.8, TOC 4: 86.4, TOC
5: 108, TOC 6: 129.6, TOC 7: 151.2, TOC 8: 172.8, TOC 9: 194.4
4. Header: Normal + space after 0 pts, next style Header, clear tabs,
and add centered tab at 252 pts, tab right at 504 pts
5. Footer: Header + next style Footer
6. Caption: Normal + centered, autonumbered "Figure #: "
A.2.2. Add new styles
Note: "keep lines together" is optional for lists and references; it
helps avoid breaking individual items across pages.
1. RFC Figure: Normal + space after 0 pts, keep with next, keep lines
together, next style RFC figure (also used for authors' addresses)
2. RFC List Bullet - Normal + custom bulleted, "o" bullet style,
aligned at 21.6 pts, bullet tab after 43.2 pts, bullet indent at
43.2 pts, next style RFC List Bullet, keep lines together
3. RFC List Numbered - Normal + custom numbered, "1. " number format,
aligned at 21.6 pts, bullet tab after 43.2 pts, bullet indent at
43.2 pts, next style RFC List Numbered, keep lines together
4. RFC References: Normal + hanging 43.2 pts, outline level body
text, remove tabs at 21.6 and 43.2 pts, custom numbering with
format "[1]", numbering left alignted 21.6 pts, number tab space
after at 64.8 pts, number text indent at 64.8 pts, next style RFC
References, keep lines together (used for both normative and
informational references)
5. RFC Title: Normal + space after 24 pts, centered (used for
document title)
Touch Expires May 24, 2005 [Page 11]
Internet-Draft Version 2.0 Microsoft Word Template November 2004
6. RFC App: RFC H1 - no num + page break before, custom outline
numbered, outline number style "APPENDIX A: ", outline level 1,
follow number with nothing, outline number at 0 pts, outline
indent text at 0 pts, (used for Appendix titles)
7. RFC App H1-5: RFC H1 - no num + paragraph level 2-6, custom
outline numbered, outline number style "A.1. " - "A.1.1.1.1.1. ",
follow number with nothing, outline number at 0 pts, outline
indent text at 0 pts, (link with RFC App at level 2-6), (used for
Appendix heading levels)
A.2.3. Hidden styles:
These are used for pre-formatted components or instructions, and are
configured to be hidden from the list of available styles.
1. RFC H1 - no num: Normal + indent left 0 pts, outline Level 1, keep
with next (used for base template trailer headers - Copyright,
Acknowledgement, etc.)
2. RFC H1 - no TOC nonum: Normal + indent left 0 pts, (outline level
body text, as with Normal), keep with next (used for base template
front matter headers - Abstract, Status, TOC header, etc.)
3. RFC Hidden: Normal + character style Hidden, character marching
red ants (used for instructions that don.t show in the final
output)
A.3. Define page layout
Configure Page Setup as follows:
1. Margins:
Portrait orientation.
Top: 72 pts
Bottom: 60 pts (72 + 60 +_660 [55 lines] = 792 [11 in])
Left: 36 pts (5 characters at 7.2 pts/char)
Right: 57.6 pts (8.5"-7.2" = 1.3in = 93.6 pts - 36 for left)
Gutter: 0 pts
Header: 0 pts
Footer: 0 pts
If the error "One or more margins are outside the printable
area" message, select Ignore. This may depend on the printer
currently selected.
Touch Expires May 24, 2005 [Page 12]
Internet-Draft Version 2.0 Microsoft Word Template November 2004
2. Paper size:
Paper size "letter"
Width: 612 pts
Height: 792 pts (55 lines/page + 132 for top & bott margins)
3. Layout:
Different headers and footers on the first page
Header: 72 pts from edge
Footer: 60 pts from edge
A.4. Insert boilerplate
See below for definitions of {ACDt}, {ACDy}, {AEM}, {AEY}, {AP}
First page header:
{blank line}
{blank line}
<Working Group Name>{tab}<Initial. Lastname>
Internet Draft{tab}<Affiliation>
Expires: {AEM}{AEY}{tab}{ACDy}
{blank line}
{blank line}
Footer (same on first and subsequent pages):
{blank line}
{blank line}
{blank line}
<Lastname>{tab}Expires: {AEM} {ACDy}, {AEY}{tab}[Page {AP}]
{blank line}
The front text and end text are as specified in RFC ???? . For
Internet Drafts, the sentence declaring the expiration dates uses
automatic fields as needed, as with the headers and footers.
Basic document outline with examples are provided to demonstrate
their use, including a table of contents.
Touch Expires May 24, 2005 [Page 13]
Internet-Draft Version 2.0 Microsoft Word Template November 2004
A.5. Automatic fields
Most of these are self-explanatory; the expiry month is set 6 months
in advance. The expiry year rolls-over (+1) if needed. The expiry
date is a copy of the current date.
NOTE: expiry date can generate invalid dates, e.g., April 31,
Februrary 30, etc.
o {ACDt} means auto current date, and is a field code =
{ SAVEDATE \@ "MMMM d, yyyy" }
o {ACDy} means auto current day, and is a field code =
{ SAVEDATE \@ "d " }
o {AEM} means auto expiry month, and is a field code =
{ IF { SAVEDATE \@ "M" \* MERGEFORMAT } = 1
July
{ IF { SAVEDATE \@ "M" \* MERGEFORMAT } = 2
August
{ IF { SAVEDATE \@ "M" \* MERGEFORMAT } = 3
September
{ IF { SAVEDATE \@ "M" \* MERGEFORMAT } = 4
October
{ IF { SAVEDATE \@ "M" \* MERGEFORMAT } = 5
November
{ IF { SAVEDATE \@ "M" \* MERGEFORMAT } = 6
December
{ IF { SAVEDATE \@ "M" \* MERGEFORMAT } = 7
January
{ IF { SAVEDATE \@ "M" \* MERGEFORMAT } = 8
February
{ IF { SAVEDATE \@ "M" \* MERGEFORMAT } = 9
March
{ IF { SAVEDATE \@ "M" \* MERGEFORMAT } = 10
April
{ IF { SAVEDATE \@ "M" \* MERGEFORMAT } = 11
May
{ IF { SAVEDATE \@ "M" \* MERGEFORMAT } = 12
June
"Fail" *\ MERGEFORMAT
} *\ MERGEFORMAT } *\ MERGEFORMAT } *\ MERGEFORMAT } *\ MERGEFORMAT }
*\ MERGEFORMAT } *\ MERGEFORMAT } *\ MERGEFORMAT } *\ MERGEFORMAT
} *\ MERGEFORMAT } *\ MERGEFORMAT } *\ MERGEFORMAT }
Touch Expires May 24, 2005 [Page 14]
Internet-Draft Version 2.0 Microsoft Word Template November 2004
o {AEY} means auto expiry year, and is a field code =
{ IF { SAVEDATE \@ "M" \* MERGEFORMAT } < 7
{ SAVEDATE \@ "YYYY" \* MERGEFORMAT }
{ IF { SAVEDATE \@ "M" \* MERGEFORMAT } > 6
{ = { SAVEDATE \@ "YYYY" \* MERGEFORMAT } + 1
\* MERGEFORMAT }
"FAIL" \* MERGEFORMAT \* MERGEFORMAT
} \* MERGEFORMAT
}
o {AP} means auto page, and is a field code =
{ Page }
Touch Expires May 24, 2005 [Page 15]
Internet-Draft Version 2.0 Microsoft Word Template November 2004
APPENDIX B: Post-processor script (perl)
#!/local/bin/perl
# ------------------------------------------------------------------
# 2-Word-post-v2.0
# Perl post-processor for MS Word RFC/Internet-draft template output
#
# J. Touch
# touch@isi.edu
# http://www.isi.edu/touch
#
# USC Information Sciences Institute (USC/ISI)
# Marina del Rey, California 90292, USA
# Copyright (c) 2004
#
# Revision date: November 1, 2004
# ------------------------------------------------------------------
#
# Copyright (c) 2004 by the University of Southern California.
# All rights reserved.
#
# Permission to use, copy, modify, and distribute this software and
# its documentation in source and binary forms for non-commercial
# purposes and without fee is hereby granted, provided that the
# above copyright notice appear in all copies and that both the
# copyright notice and this permission notice appear in supporting
# documentation, and that any documentation, advertising materials,
# and other materials related to such distribution and use
# acknowledge that the software was developed by the University of
# Southern California, Information Sciences Institute. The name of
# the University may not be used to endorse or promote products
# derived from this software without specific prior written
# permission.
#
# THE UNIVERSITY OF SOUTHERN CALIFORNIA MAKES NO REPRESENTATIONS
# ABOUT THE SUITABILITY OF THIS SOFTWARE FOR ANY PURPOSE. THIS
# SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
# ------------------------------------------------------------------
#
# usage:
# 2-Word-post-v2.0.pl [inputfile.txt] > [outputfile.txt]
#
# function:
# removes first 5 characters on each line (blank print margin)
# converts cr/lf to cr
Touch Expires May 24, 2005 [Page 16]
Internet-Draft Version 2.0 Microsoft Word Template November 2004
# converts 'smart quotes' to regular quotes (single and double)
# converts 'smart hyphens' (EM-dash, EN-dash) to regular hyphen
# omits blank lines between footer and next-page header
# inserts formfeed (ff) between footer and next-page header
# checks for illegal chars (not printable ASCII, cr, lf, ff)
#
# illegal character errors are posted to STDERR
#
# returns:
# 0 on no illegal characters found (no error)
# 1 if any illegal characters found (error)
#
# ------------------------------------------------------------------
$killwhite = 1; # flag kills space between footer, header
# start in 'between footer and header' mode
$linenum = 0; # counts lines for error messages
$foundunprintable = 0; # flag for exit parameter
while ($line = <>) {
# remove carriage returns
$linenum++;
$line =~ s/^\s\s\s\s\s//; # remove first 5 blanks
$line =~ s/\r//g; # Unix-style end-of-line
# change special hyphens, quotes to regular ones
$line =~ tr/\221\222\223\224\226/\'\'\"\"\-/;
# if this line is NOT empty, start printing again (see below)
if ($line !~ /^\s*$/) {
$killwhite = 0;
}
# print unless we're between the end of one page
# and the beginning of the next
if ($killwhite != 1) {
# check to see if we have any invalid characters left
# 012 = new line, 014 = form feed, 015 = carriage return
# 040-176 = printable ASCIIs
if ($line !~ /^([\012\014\015\040-\176])*$/) {
print STDERR "ERROR: non-printable characters at line ",
$linenum, "\n";
$foundunprintable = 1;
}
print $line;
}
# check to see if this is the end of a page;
# if so, then print a form feed (ctl-L), and
# kill the printing of subsequent empty lines
if ($line =~ /\[Page \d+\]\s+$/) {
$killwhite = 1;
Touch Expires May 24, 2005 [Page 17]
Internet-Draft Version 2.0 Microsoft Word Template November 2004
print "\f\n";
}
}
exit($foundunprintable);
Touch Expires May 24, 2005 [Page 18]
Internet-Draft Version 2.0 Microsoft Word Template November 2004
7. References
7.1. Normative References
(None).
7.2. Informative References
[1] Reynolds, J., Braden, R., (eds.), "Instructions to Request for
Comments (RFC) Authors," (work in progress), August 2004.
[2] Bradner, S., "IETF Rights in Contributions", BCP 78, RFC 3667,
February 2004.
[3] Bradner, S., "Intellectual Property Rights in IETF Technology",
BCP 79, RFC 3668, February 2004.
[4] RFC Editor formatting tools web page, "http://www.rfc
editor.org/formatting.html".
[5] IETF, "Guidelines to Authors of Internet Drafts". Available as
1id-guidelines.txt at http://www.ietf.org
[6] Gahrns, M. and T. Hain, "Using Microsoft Word to create
Internet Drafts and RFCs," RFC 3285, May 2002.
[7] Rose, M., "Writing I-Ds and RFCs using XML," RFC 2629, June
1999.
Author's Addresses
Joe Touch
USC/ISI
4676 Admiralty Way
Marina del Rey, CA 90292-6695
U.S.A.
Phone: +1 (310) 448-9151
Fax: +1 (310) 448-9300
Email: touch@isi.edu
Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
Touch Expires May 24, 2005 [Page 19]
Internet-Draft Version 2.0 Microsoft Word Template November 2004
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org. By submitting this Internet-Draft, I certify that
any applicable patent or other IPR claims of which I am aware have
been disclosed, and any of which I become aware will be disclosed, in
accordance with RFC 3668.
Disclaimer of Validity
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Copyright Statement
Copyright (C) The Internet Society (2004). This document is subject
to the rights, licenses and restrictions contained in BCP 78, and
except as set forth therein, the authors retain all their rights.
Acknowledgment
Funding for the RFC Editor function is currently provided by the
Internet Society.
Touch Expires May 24, 2005 [Page 20]
| PAFTECH AB 2003-2026 | 2026-04-23 20:13:06 |