draft-iab-rfc-use-of-pdf-02.txt   draft-iab-rfc-use-of-pdf-latest.txt 
Network Working Group T. Hansen, Ed. Network Working Group T. Hansen, Ed.
Internet-Draft AT&T Laboratories Internet-Draft AT&T Laboratories
Intended status: Informational L. Masinter Intended status: Informational L. Masinter
Expires: November 18, 2016 M. Hardy Expires: December 2, 2017 M. Hardy
Adobe Adobe
May 17, 2016 May 31, 2017
PDF for an RFC Series Output Document Format PDF for an RFC Series Output Document Format
draft-iab-rfc-use-of-pdf-02 draft-iab-rfc-use-of-pdf-latest
Abstract Abstract
This document discusses options and requirements for the PDF This document discusses options and requirements for the PDF
rendering of RFCs in the RFC Series, as outlined in RFC 6949. It rendering of RFCs in the RFC Series, as outlined in RFC 6949. It
also discusses the use of PDF for Internet-Drafts, and available or also discusses the use of PDF for Internet-Drafts, and available or
needed software tools for producing and working with PDF. needed software tools for producing and working with PDF.
Status of this Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on November 18, 2016. This Internet-Draft will expire on December 2, 2017.
Copyright Notice Copyright Notice
Copyright (c) 2016 IETF Trust and the persons identified as the Copyright (c) 2017 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Choosing PDF versions and Standards . . . . . . . . . . . . . 3 2. Choosing PDF versions and Standards . . . . . . . . . . . . . 3
3. Options and Requirements for PDF RFCs . . . . . . . . . . . . 4 3. Options and Requirements for PDF RFCs . . . . . . . . . . . . 4
3.1. "Visible" Requirements . . . . . . . . . . . . . . . . . . 4 3.1. "Visible" Requirements . . . . . . . . . . . . . . . . . 4
3.1.1. General Visible Requirements . . . . . . . . . . . . . 4 3.1.1. General Visible Requirements . . . . . . . . . . . . 5
3.1.2. Page Size, Margins . . . . . . . . . . . . . . . . . . 5 3.1.2. Page Size, Margins . . . . . . . . . . . . . . . . . 5
3.1.3. Headers and Footers . . . . . . . . . . . . . . . . . 5 3.1.3. Headers and Footers . . . . . . . . . . . . . . . . . 5
3.1.4. Paragraph Numbering . . . . . . . . . . . . . . . . . 5 3.1.4. Paragraph Numbering . . . . . . . . . . . . . . . . . 5
3.1.5. Paged Content Layout . . . . . . . . . . . . . . . . . 6 3.1.5. Paged Content Layout . . . . . . . . . . . . . . . . 6
3.1.6. Typeface Choices . . . . . . . . . . . . . . . . . . . 6 3.1.6. Typeface Choices . . . . . . . . . . . . . . . . . . 6
3.1.7. Hyphenation and Line Breaks . . . . . . . . . . . . . 7 3.1.7. Hyphenation and Line Breaks . . . . . . . . . . . . . 7
3.1.8. Hyperlinks . . . . . . . . . . . . . . . . . . . . . . 7 3.1.8. Hyperlinks . . . . . . . . . . . . . . . . . . . . . 8
3.1.9. Similarity to Other Outputs . . . . . . . . . . . . . 8 3.1.9. Similarity to Other Outputs . . . . . . . . . . . . . 8
3.2. "Invisible" Options and Requirements . . . . . . . . . . . 9 3.2. "Invisible" Options and Requirements . . . . . . . . . . 10
3.2.1. Internal Text Representation . . . . . . . . . . . . . 9 3.2.1. Internal Text Representation . . . . . . . . . . . . 10
3.2.2. Unicode Support . . . . . . . . . . . . . . . . . . . 10 3.2.2. Unicode Support . . . . . . . . . . . . . . . . . . . 11
3.2.3. Image Processing (Artwork) . . . . . . . . . . . . . . 10 3.2.3. Image Processing (Artwork) . . . . . . . . . . . . . 11
3.2.4. Text Description of Images (Alt-Text) . . . . . . . . 10 3.2.4. Text Description of Images (Alt-Text) . . . . . . . . 11
3.2.5. Metadata Support . . . . . . . . . . . . . . . . . . . 11 3.2.5. Metadata Support . . . . . . . . . . . . . . . . . . 12
3.2.6. Document Structure Support . . . . . . . . . . . . . . 11 3.2.6. Document Structure Support . . . . . . . . . . . . . 12
3.2.7. Embedded Files . . . . . . . . . . . . . . . . . . . . 11 3.2.7. Embedded Files . . . . . . . . . . . . . . . . . . . 12
3.3. Digital Signatures . . . . . . . . . . . . . . . . . . . . 12 3.3. Digital Signatures . . . . . . . . . . . . . . . . . . . 13
4. References . . . . . . . . . . . . . . . . . . . . . . . . . . 12 4. References . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.1. References . . . . . . . . . . . . . . . . . . . . . . . . 12 4.1. References . . . . . . . . . . . . . . . . . . . . . . . 14
4.2. Informative References . . . . . . . . . . . . . . . . . . 13 4.2. Informative References . . . . . . . . . . . . . . . . . 14
Appendix A. History and Current Use of PDF with RFCs and Appendix A. History and Current Use of PDF with RFCs and
Internet-Drafts . . . . . . . . . . . . . . . . . . . 14 Internet-Drafts . . . . . . . . . . . . . . . . . . 15
A.1. RFCs . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 A.1. RFCs . . . . . . . . . . . . . . . . . . . . . . . . . . 15
A.2. Internet-Drafts . . . . . . . . . . . . . . . . . . . . . 14 A.2. Internet-Drafts . . . . . . . . . . . . . . . . . . . . . 16
Appendix B. Paged Content Layout Quality . . . . . . . . . . . . 15 Appendix B. Paged Content Layout Quality . . . . . . . . . . . . 16
Appendix C. Tooling . . . . . . . . . . . . . . . . . . . . . . . 15 Appendix C. Tooling . . . . . . . . . . . . . . . . . . . . . . 17
C.1. PDF Viewers . . . . . . . . . . . . . . . . . . . . . . . 15 C.1. PDF Viewers . . . . . . . . . . . . . . . . . . . . . . . 17
C.2. Printers . . . . . . . . . . . . . . . . . . . . . . . . . 16 C.2. Printers . . . . . . . . . . . . . . . . . . . . . . . . 17
C.3. PDF Generation Libraries . . . . . . . . . . . . . . . . . 16 C.3. PDF Generation Libraries . . . . . . . . . . . . . . . . 17
C.4. Typefaces . . . . . . . . . . . . . . . . . . . . . . . . 16 C.4. Typefaces . . . . . . . . . . . . . . . . . . . . . . . . 18
C.5. Other Tools . . . . . . . . . . . . . . . . . . . . . . . 16 C.5. Other Tools . . . . . . . . . . . . . . . . . . . . . . . 18
Appendix D. Acknowledgements . . . . . . . . . . . . . . . . . . 17 Appendix D. Acknowledgements . . . . . . . . . . . . . . . . . . 18
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 17 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 19
1. Introduction 1. Introduction
The RFC Series is evolving, as outlined in [RFC6949]. Future The RFC Series is evolving, as outlined in [RFC6949]. Future
documents will use a canonical format, XML, with renderings in documents will use a canonical format, XML, with renderings in
various formats, including PDF. various formats, including PDF.
Because PDF has a wide range of capabilities and alternatives, not Because PDF has a wide range of capabilities and alternatives, not
all PDFs are "equal". For example, visually similar documents could all PDFs are "equal". For example, visually similar documents could
consist of scanned or rasterized images, or include text layout consist of scanned or rasterized images, or include text layout
skipping to change at page 7, line 46 skipping to change at page 8, line 11
Recommendation: avoid introducing hyphenated line breaks mid-word Recommendation: avoid introducing hyphenated line breaks mid-word
into the visual display, consistent with requirements for plain text into the visual display, consistent with requirements for plain text
and HTML. and HTML.
3.1.8. Hyperlinks 3.1.8. Hyperlinks
PDF supports hyperlinks both to sections of the same document and to PDF supports hyperlinks both to sections of the same document and to
other documents. other documents.
The conversion to PDF can generate: The conversion to PDF can generate:
o hyperlinks within the document o hyperlinks within the document
o hyperlinks to other RFCs and Internet-Drafts o hyperlinks to other RFCs and Internet-Drafts
o hyperlinks to external locations o hyperlinks to external locations
o hyperlinks within a table of contents o hyperlinks within a table of contents
o hyperlinks within an index o hyperlinks within an index
Recommendations: Recommendations:
o All hyperlinks available in the HTML rendition of the RFC should o All hyperlinks available in the HTML rendition of the RFC should
also be visible and active in the PDF produced. This includes also be visible and active in the PDF produced. This includes
both internal hyperlinks and hyperlinks to external resources. both internal hyperlinks and hyperlinks to external resources.
o The table of contents, including page numbers, are useful when o The table of contents, including page numbers, are useful when
printed. These should also be hyperlinked to their respective printed. These should also be hyperlinked to their respective
sections. sections.
o As specified in the section on Referencing RFCs in [RFC7322], o As specified in the section on Referencing RFCs in [RFC7322],
hyperlinks to RFCs from the references section should point to the hyperlinks to RFCs from the references section should point to the
RFC "info" page, which then links to the various formats RFC "info" page, which then links to the various formats
available. available.
o Hyperlinks to Internet-Drafts from the references section should o Hyperlinks to Internet-Drafts from the references section should
point to the datatracker entry page for the draft, which then point to the datatracker entry page for the draft, which then
links to the various formats available. links to the various formats available.
3.1.9. Similarity to Other Outputs 3.1.9. Similarity to Other Outputs
There is some advantage to having the PDF files look like the text or There is some advantage to having the PDF files look like the text or
HTML renderings of the same document. There are several options even HTML renderings of the same document. There are several options even
so. The PDF so. The PDF
1. could look like the text version of the document, or 1. could look like the text version of the document, or
2. could look like the text version of the document but with 2. could look like the text version of the document but with
pictures rendered as pictures instead of using their ASCII-art pictures rendered as pictures instead of using their ASCII-art
equivalent, or equivalent, or
3. could look like the HTML version. 3. could look like the HTML version.
Recommendation: the PDF rendition should look like the HTML Recommendation: the PDF rendition should look like the HTML
rendition, at least in spirit. Some differences from the HTML rendition, at least in spirit. Some differences from the HTML
rendition would include different typeface and size (chosen for rendition would include different typeface and size (chosen for
printing), page numbers in the table of contents and index, and the printing), page numbers in the table of contents and index, and the
use of page headers and footers. use of page headers and footers.
Most of the choices used for the [I-D.hildebrand-html-rfc] rendering Most of the choices used for the [I-D.hildebrand-html-rfc] rendering
and [I-D.flanagan-rfc-css] are thus applicable. See those documents and [I-D.flanagan-rfc-css] are thus applicable. See those documents
for specifics on the rendering of the specific XML elements. Some for specifics on the rendering of the specific XML elements. Some
notes are: notes are:
Every place in the document that would receive an HTML ID would be Every place in the document that would receive an HTML ID would be
given an identical PDF named destination. In addition, a named given an identical PDF named destination. In addition, a named
destination will be created for each page with the form "pg-#", as destination will be created for each page with the form "pg-#", as
in "pg-35". in "pg-35".
No pilcrows are generated or made visible. No pilcrows are generated or made visible.
The table of contents (generated if the XML's <rfc> element's The table of contents (generated if the XML's <rfc> element's
tocInclude attribute has the value "true") will have the section tocInclude attribute has the value "true") will have the section
number linked to that section named destination, but will also number linked to that section named destination, but will also
include a page number that is linked to the page named include a page number that is linked to the page named
destination. The section title and the page number will be destination. The section title and the page number will be
separated by a visually-appropriate separator and the page numbers separated by a visually-appropriate separator and the page numbers
will be aligned with each other. will be aligned with each other.
The index (generated if the XML's <rfc> element's indexInclude The index (generated if the XML's <rfc> element's indexInclude
attribute has the value "true") will have the section number attribute has the value "true") will have the section number
skipping to change at page 10, line 8 skipping to change at page 10, line 44
Internet.' would be kept together as a sentence, and multiple Internet.' would be kept together as a sentence, and multiple
sentences within a paragraph would be kept together. sentences within a paragraph would be kept together.
All of these end up with essentially the same visual representation All of these end up with essentially the same visual representation
of the output. However, each level has tradeoffs for auxiliary uses, of the output. However, each level has tradeoffs for auxiliary uses,
such as searching or indexing, commenting and annotation, and such as searching or indexing, commenting and annotation, and
accessibility (text-to-speech). Keeping the running order of text in accessibility (text-to-speech). Keeping the running order of text in
the content stream in the proper order supports all of these the content stream in the proper order supports all of these
auxiliary uses. auxiliary uses.
In addition, the "role map" feature of PDF (<http://help.adobe.com/ In addition, the "role map" feature of PDF
en_US/acrobat/X/pro/using/ (<http://help.adobe.com/en_US/acrobat/X/pro/using/
WS58a04a822e3e50102bd615109794195ff-7cd8.w.html>) would additionally WS58a04a822e3e50102bd615109794195ff-7cd8.w.html>) would additionally
allow for the mapping of the logical tags found in the original XML allow for the mapping of the logical tags found in the original XML
into tags in the PDF. into tags in the PDF.
Recommendations: Recommendations:
o Text in content streams should follow the XML document's logical o Text in content streams should follow the XML document's logical
order (in the order of tags) to the extent possible. This will order (in the order of tags) to the extent possible. This will
provide optimal reuse by software that does not understand Tagged provide optimal reuse by software that does not understand Tagged
PDF. (PDF/UA requires this.) PDF. (PDF/UA requires this.)
o It might be possible to use the "role map" annotation to capture o It might be possible to use the "role map" annotation to capture
enough of the xml2rfc source structure, to the point where it is enough of the xml2rfc source structure, to the point where it is
possible to reconstruct the XML source structure completely. possible to reconstruct the XML source structure completely.
However, there is not a compelling case to do so over embedding However, there is not a compelling case to do so over embedding
the original XML, as described in Section 3.2.7. the original XML, as described in Section 3.2.7.
3.2.2. Unicode Support 3.2.2. Unicode Support
PDF itself does not require use of Unicode. Text is represented as a PDF itself does not require use of Unicode. Text is represented as a
sequence of glyphs which then can be mapped to Unicode. sequence of glyphs which then can be mapped to Unicode.
skipping to change at page 10, line 31 skipping to change at page 11, line 22
possible to reconstruct the XML source structure completely. possible to reconstruct the XML source structure completely.
However, there is not a compelling case to do so over embedding However, there is not a compelling case to do so over embedding
the original XML, as described in Section 3.2.7. the original XML, as described in Section 3.2.7.
3.2.2. Unicode Support 3.2.2. Unicode Support
PDF itself does not require use of Unicode. Text is represented as a PDF itself does not require use of Unicode. Text is represented as a
sequence of glyphs which then can be mapped to Unicode. sequence of glyphs which then can be mapped to Unicode.
Recommendations: Recommendations:
PDF files generated must have the full text, as it appears in the PDF files generated must have the full text, as it appears in the
original XML. original XML.
Unicode normalization may occur. Unicode normalization may occur.
Text within SVG for SVG images should also have Unicode mappings. Text within SVG for SVG images should also have Unicode mappings.
Alt-text for images should also support Unicode. Alt-text for images should also support Unicode.
3.2.3. Image Processing (Artwork) 3.2.3. Image Processing (Artwork)
The XML allows both ASCII art and SVG to be used for artwork. The XML allows both ASCII art and SVG to be used for artwork.
Recommendations: Recommendations:
If both ASCII art and SVG are available for a picture, the SVG If both ASCII art and SVG are available for a picture, the SVG
artwork should be the preferred over the ASCII artwork. artwork should be the preferred over the ASCII artwork.
ASCII artwork must be rendered using a monospace font. ASCII artwork must be rendered using a monospace font.
3.2.4. Text Description of Images (Alt-Text) 3.2.4. Text Description of Images (Alt-Text)
Guidelines for accessibility of PDF Guidelines for accessibility of PDF <http://www.w3.org/TR/WCAG20-
<http://www.w3.org/TR/WCAG20-TECHS/PDF1.html> recommend that images, TECHS/PDF1.html> recommend that images, formulas, and other non-text
formulas, and other non-text items provide textual alternatives, items provide textual alternatives, using the '/Alt' Tag in PDF to
using the '/Alt' Tag in PDF to provide human-readable text that can provide human-readable text that can be vocalized by text-to-speech
be vocalized by text-to-speech technology. technology.
Recommendation: Any alt-text for artwork and figures available in the Recommendation: Any alt-text for artwork and figures available in the
XML source should be stored using the PDF /Alt property. Internet XML source should be stored using the PDF /Alt property. Internet
draft authors and the RFC editor should ensure inclusion of alt-text draft authors and the RFC editor should ensure inclusion of alt-text
for all SVG or images, within the XML source. for all SVG or images, within the XML source.
3.2.5. Metadata Support 3.2.5. Metadata Support
Metadata encodes information about the document authors, the document Metadata encodes information about the document authors, the document
series, date created, etc. Having this metadata within the PDF file series, date created, etc. Having this metadata within the PDF file
skipping to change at page 11, line 40 skipping to change at page 12, line 36
navigation aid. navigation aid.
The section structure of an RFC can be mapped into the PDF elements The section structure of an RFC can be mapped into the PDF elements
for the document structure. This will allow the bookmark feature of for the document structure. This will allow the bookmark feature of
PDF readers to be used to quickly access sections of the document. PDF readers to be used to quickly access sections of the document.
Recommendation: The section structure of an RFC should be mapped into Recommendation: The section structure of an RFC should be mapped into
the PDF elements for the document structure. This would include the PDF elements for the document structure. This would include
section headings for the boilerplate sections such as the Abstract, section headings for the boilerplate sections such as the Abstract,
Status of the Document, Table of Contents, and Author Addresses, plus Status of the Document, Table of Contents, and Author Addresses, plus
the obvious section headings that are normally included in the Table the obvious section headings that are normally included in the
of Contents. If possible, this should be done in a way that the same Table of Contents. If possible, this should be done in a way that
fragment identifiers for the HTML version of the RFC will work for the same fragment identifiers for the HTML version of the RFC will
the PDF version. work for the PDF version.
3.2.7. Embedded Files 3.2.7. Embedded Files
PDF has the capability of including other files; the files may be PDF has the capability of including other files; the files may be
labeled both by a media type and a role, the AFRelationship key labeled both by a media type and a role, the AFRelationship key
[PDFA3]. In this way, the PDF file acts also as a container. [PDFA3]. In this way, the PDF file acts also as a container.
Embedded content may be compressed. Embedded content may be compressed.
Many PDF viewers support the ability to view and extract embedded Many PDF viewers support the ability to view and extract embedded
skipping to change at page 13, line 44 skipping to change at page 14, line 51
Requirements and Future Development", RFC 6949, Requirements and Future Development", RFC 6949,
DOI 10.17487/RFC6949, May 2013, DOI 10.17487/RFC6949, May 2013,
<http://www.rfc-editor.org/info/rfc6949>. <http://www.rfc-editor.org/info/rfc6949>.
[RFC7322] Flanagan, H. and S. Ginoza, "RFC Style Guide", RFC 7322, [RFC7322] Flanagan, H. and S. Ginoza, "RFC Style Guide", RFC 7322,
DOI 10.17487/RFC7322, September 2014, DOI 10.17487/RFC7322, September 2014,
<http://www.rfc-editor.org/info/rfc7322>. <http://www.rfc-editor.org/info/rfc7322>.
[I-D.flanagan-nonascii] [I-D.flanagan-nonascii]
Flanagan, H., "The Use of Non-ASCII Characters in RFCs", Flanagan, H., "The Use of Non-ASCII Characters in RFCs",
draft-flanagan-nonascii-06 (work in progress), draft-flanagan-nonascii-06 (work in progress), November
November 2015. 2015.
[I-D.flanagan-rfc-css] [I-D.flanagan-rfc-css]
Flanagan, H., "CSS Requirements for RFCs", Flanagan, H., "CSS Requirements for RFCs", draft-flanagan-
draft-flanagan-rfc-css-04 (work in progress), rfc-css-04 (work in progress), September 2015.
September 2015.
[I-D.hardy-pdf-mime] [I-D.hardy-pdf-mime]
Hardy, M., Masinter, L., Markovic, D., Johnson, D., and M. Hardy, M., Masinter, L., Markovic, D., Johnson, D., and M.
Bailey, "The application/pdf Media Type", Bailey, "The application/pdf Media Type", draft-hardy-pdf-
draft-hardy-pdf-mime-05 (work in progress), February 2017. mime-05 (work in progress), February 2017.
[I-D.hildebrand-html-rfc] [I-D.hildebrand-html-rfc]
Hildebrand, J. and P. Hoffman, "HyperText Markup Language Hildebrand, J. and P. Hoffman, "HyperText Markup Language
Request For Comments Format", draft-hildebrand-html-rfc-10 Request For Comments Format", draft-hildebrand-html-rfc-10
(work in progress), August 2015. (work in progress), August 2015.
[I-D.housley-rfc-and-id-signatures] [I-D.housley-rfc-and-id-signatures]
Housley, R., "Digital Signatures on RFC and Internet-Draft Housley, R., "Digital Signatures on RFC and Internet-Draft
Documents", draft-housley-rfc-and-id-signatures-03 (work Documents", draft-housley-rfc-and-id-signatures-03 (work
in progress), June 2016. in progress), June 2016.
URIs 4.3. URIs
[1] <https://sourceforge.net/projects/sourcesans.adobe/ [1] https://sourceforge.net/projects/
?source=directory> sourcesans.adobe/?source=directory
[2] <https://sourceforge.net/projects/sourceserifpro.adobe/ [2] https://sourceforge.net/projects/
?source=directory> sourceserifpro.adobe/?source=directory
[3] <https://sourceforge.net/projects/sourcecodepro.adobe/ [3] https://sourceforge.net/projects/
?source=drectory> sourcecodepro.adobe/?source=drectory
[4] <https://www.rosettatype.com/Skolar> [4] https://www.rosettatype.com/Skolar
[5] <https://www.google.com/get/noto/> [5] https://www.google.com/get/noto/
Appendix A. History and Current Use of PDF with RFCs and Internet- Appendix A. History and Current Use of PDF with RFCs and Internet-
Drafts Drafts
NOTE: this section is meant as an overview to give some background. NOTE: this section is meant as an overview to give some background.
A.1. RFCs A.1. RFCs
The RFC series has for a long time accepted Postscript renderings of The RFC series has for a long time accepted Postscript renderings of
RFCs, either in addition to or instead of the text renderings of RFCs, either in addition to or instead of the text renderings of
skipping to change at page 15, line 10 skipping to change at page 16, line 14
rendering of RFCs. Usually, this has been a print of the text file rendering of RFCs. Usually, this has been a print of the text file
that does not take advantage of any of the broader PDF functionality, that does not take advantage of any of the broader PDF functionality,
unless there was a Postscript version of the RFC, which would then be unless there was a Postscript version of the RFC, which would then be
used by the RFC editor to generate the PDF. used by the RFC editor to generate the PDF.
A.2. Internet-Drafts A.2. Internet-Drafts
In addition to PDFs generated and published by the RFC editor, the In addition to PDFs generated and published by the RFC editor, the
IETF tools community has also long supported PDF for Internet-Drafts. IETF tools community has also long supported PDF for Internet-Drafts.
Most RFCs start with Internet-Drafts, edited by individual authors. Most RFCs start with Internet-Drafts, edited by individual authors.
The Internet-Drafts submission tool at The Internet-Drafts submission tool at https://datatracker.ietf.org/
https://datatracker.ietf.org/submit/ accepts PDF and Postscript files submit/ accepts PDF and Postscript files in addition to the
in addition to the (required) text submission and (currently (required) text submission and (currently optional) XML. If a PDF
optional) XML. If a PDF wasn't submitted for a particular version of wasn't submitted for a particular version of an Internet-Draft, the
an Internet-Draft, the tools would generate one from the Postscript, tools would generate one from the Postscript, HTML, or text.
HTML, or text.
Appendix B. Paged Content Layout Quality Appendix B. Paged Content Layout Quality
The process of creating a paged document from running text typically The process of creating a paged document from running text typically
involves ensuring that related material is present on the same page involves ensuring that related material is present on the same page
together, and that artifacts of pagination don't interfere with easy together, and that artifacts of pagination don't interfere with easy
reading of the document. Typical high-quality layout processors do reading of the document. Typical high-quality layout processors do
several things: several things:
Widow and Orphan Management: Widows and orphans Widow and Orphan Management: Widows and orphans
(<https://en.wikipedia.org/wiki/Widows_and_orphans>) should be (<https://en.wikipedia.org/wiki/Widows_and_orphans>) should be
avoided automatically (unless the entire paragraph is only one avoided automatically (unless the entire paragraph is only one
line). Ensure that a page break does not occur after the first line). Ensure that a page break does not occur after the first
line of a paragraph (orphans), if necessary, using slightly longer line of a paragraph (orphans), if necessary, using slightly longer
page sizes. Similarly, ensure that a page break does not occur page sizes. Similarly, ensure that a page break does not occur
before the last line of a paragraph (widows). before the last line of a paragraph (widows).
Keep Section Heading Contiguous: Do not insert a page break Keep Section Heading Contiguous: Do not insert a page break
immediately after a section heading. If there isn't room on a immediately after a section heading. If there isn't room on a
page for the first (two) lines of a section after the section page for the first (two) lines of a section after the section
heading, insert a page break before the heading. heading, insert a page break before the heading.
Avoid Splitting Artwork: Figures should not be split from figure Avoid Splitting Artwork: Figures should not be split from figure
titles. If possible, keep the figure on the same page as the titles. If possible, keep the figure on the same page as the
(first) mention of the figure. (first) mention of the figure.
Headers for Long Tables after Page Breaks: Another common option in Headers for Long Tables after Page Breaks: Another common option in
producing paginated documents is to include the column headings of producing paginated documents is to include the column headings of
a table if the table cannot be displayed on a single page. a table if the table cannot be displayed on a single page.
Similarly, tables should not be split from the table titles. Similarly, tables should not be split from the table titles.
keepWithNext and keepWithPrevious: The XML attributes of keepWithNext and keepWithPrevious: The XML attributes of
"keepWithNext" and "keepWithPrevious" should be followed whenever "keepWithNext" and "keepWithPrevious" should be followed whenever
possible. possible.
Whitespace Preservation: The XML entities such as NBSP and NBHYPHEN Whitespace Preservation: The XML entities such as NBSP and NBHYPHEN
should be followed as directed whenever possible. should be followed as directed whenever possible.
Appendix C. Tooling Appendix C. Tooling
This section discusses tools for viewing, comparing, creating, This section discusses tools for viewing, comparing, creating,
manipulating, transforming PDF files, including those currently in manipulating, transforming PDF files, including those currently in
use by the RFC editor and Internet-Drafts, as well as outlining use by the RFC editor and Internet-Drafts, as well as outlining
available PDF tools for various processes. available PDF tools for various processes.
skipping to change at page 16, line 34 skipping to change at page 17, line 45
While almost all viewers also support printing of PDF files, printing While almost all viewers also support printing of PDF files, printing
is one of the most important use cases for PDFs. Some printers have is one of the most important use cases for PDFs. Some printers have
direct PDF support. direct PDF support.
C.3. PDF Generation Libraries C.3. PDF Generation Libraries
Because the xml2rfc format is a unique format, software for Because the xml2rfc format is a unique format, software for
converting XML source documents to the various formats will be converting XML source documents to the various formats will be
needed, including PDF generation. needed, including PDF generation.
One promising direction is suggested in <http://greenbytes.de/tech/ One promising direction is suggested in
webdav/rfc2629xslt/rfc2629xslt.html#output.pdf.fop>: using XSLT to <http://greenbytes.de/tech/webdav/rfc2629xslt/
generate XSL-FO which is then processed by a formatting object rfc2629xslt.html#output.pdf.fop>: using XSLT to generate XSL-FO which
processor such as Apache FOP. is then processed by a formatting object processor such as Apache
FOP.
Several libraries are also available for generating PDF signatures. Several libraries are also available for generating PDF signatures.
The choice of library to use for xml2pdf will depend on many factors: The choice of library to use for xml2pdf will depend on many factors:
programming language, quality of implementation, quality of PDF programming language, quality of implementation, quality of PDF
generated, support, cost, availability, and so forth. generated, support, cost, availability, and so forth.
C.4. Typefaces C.4. Typefaces
This section is intended to discuss available typefaces that might This section is intended to discuss available typefaces that might
satisfy requirements. Some openly available fixed-width typefaces satisfy requirements. Some openly available fixed-width typefaces
(without extensive Unicode support, however) include: (without extensive Unicode support, however) include:
o Source Sans [1] o Source Sans [1]
o Source Serif Pro [2] o Source Serif Pro [2]
o Source Code Pro [3] o Source Code Pro [3]
A font that looks promising for its broad Unicode support is
Skolar [4], but it requires licensing. Another potentially useful A font that looks promising for its broad Unicode support is Skolar
set of typefaces is the Noto [5] family from Google. [4], but it requires licensing. Another potentially useful set of
typefaces is the Noto [5] family from Google.
C.5. Other Tools C.5. Other Tools
In addition to generating and viewing PDF, other categories of PDF In addition to generating and viewing PDF, other categories of PDF
tools are available and may be useful both during specification tools are available and may be useful both during specification
development and for published RFCs. These include tools for development and for published RFCs. These include tools for
comparing two PDFs, checkers that could be used to validate the comparing two PDFs, checkers that could be used to validate the
results of conversion, reviewing and commentary tools that attach results of conversion, reviewing and commentary tools that attach
annotations to PDF files, and digital signature creation and annotations to PDF files, and digital signature creation and
validation. validation.
skipping to change at page 17, line 38 skipping to change at page 19, line 4
o Discourage (but allow) submission of a PDF representation for o Discourage (but allow) submission of a PDF representation for
Internet-Drafts. In most cases, the PDF for an Internet-Draft Internet-Drafts. In most cases, the PDF for an Internet-Draft
should be produced automatically when XML is submitted, with an should be produced automatically when XML is submitted, with an
opportunity to verify the conversion. opportunity to verify the conversion.
Appendix D. Acknowledgements Appendix D. Acknowledgements
The input of the following people is gratefully acknowledged: Nevil The input of the following people is gratefully acknowledged: Nevil
Brownlee (ISE), Brian Carpenter, Chris Dearlove, Martin Duerst, Brownlee (ISE), Brian Carpenter, Chris Dearlove, Martin Duerst,
Heather Flanagan (RSE), Joe Hildebrand, Paul Hoffman, Duff Johnson, Heather Flanagan (RSE), Joe Hildebrand, Paul Hoffman, Duff Johnson,
Ted Lemon, Sean Leonard, Henrik Levkowetz, Julian Reschke, Adam Ted Lemon, Henrik Levkowetz, Julian Reschke, Adam Roach, Leonard
Roach, Leonard Rosenthol, Alice Russo, Robert Sparks, Andrew Rosenthol, Alice Russo, Robert Sparks, Andrew Sullivan, and Dave
Sullivan, and Dave Thaler. Thaler.
Authors' Addresses Authors' Addresses
Tony Hansen (editor) Tony Hansen (editor)
AT&T Laboratories AT&T Laboratories
200 Laurel Ave. South 200 Laurel Ave. South
Middletown, NJ 07748 Middletown, NJ 07748
USA USA
Email: tony@att.com Email: tony@att.com
 End of changes. 57 change blocks. 
87 lines changed or deleted 119 lines changed or added

This html diff was produced by rfcdiff 1.44jr. The latest version is available from http://tools.ietf.org/tools/rfcdiff/