<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 3.4.7) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-rswg-rfc7997bis-05" category="info" submissionType="editorial" obsoletes="7997" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="Text in RFCs">Text in RFCs</title>

    <author initials="P." surname="Hoffman" fullname="Paul Hoffman">
      <organization></organization>
      <address>
        <email>paul.hoffman@icann.org</email>
      </address>
    </author>

    <date year="2025" month="October" day="13"/>

    
    
    <keyword>Internet-Draft</keyword>

    <abstract>


<?line 48?>

<t>The early policy for the RFC Series was that RFCs could only contain characters from the ASCII character set.
Later policy, from RFC 7997, allowed more characters and enforced an encoding for RFCs of UTF-8.
Since RFC 7997 was published, the IETF community has had much more experience of using non-ASCII characters in RFCs.</t>

<t>The policy for the RFC Series is that all displayable text is allowed as long as the reader of an RFC can interpret that text.
This document obsoletes RFC 7997.</t>

<t>[[ A repository for this draft can be found <eref target="https://github.com/paulehoffman/7997bis">here</eref>. ]]</t>



    </abstract>



  </front>

  <middle>


<?line 59?>

<section anchor="introduction"><name>Introduction</name>

<t>This document sets policy for the inclusion of characters in the definitive versions and publication formats of RFCs.
It also reaffirms the policy that the encoding format for the RFC Series is UTF-8, <xref target="STD63"/>.
This document obsoletes <xref target="RFC7997"/>.
This document makes substantial changes to the policies in <xref target="RFC7997"/> based on the positive experience since its publication.</t>

<t>The RFC Publication Center (RPC) is responsible for implementing the policies in this document, as described in <xref target="RFC9720"/>.</t>

<section anchor="terminology"><name>Terminology</name>

<t>The term "non-ASCII characters" means characters outside the set that was defined in ASCII.
ASCII is described in <xref target="RFC20"/>.</t>

<t>The term "Unicode characters" means characters define in <xref target="UnicodeCurrent"/>.</t>

<t>More terminology about characters and encoding formats can be found in <xref target="RFC6365"/>.</t>

</section>
</section>
<section anchor="basic_requirements"><name>Basic Requirements for Text in RFCs</name>

<t>RFCs should be displayed correctly across a wide range of readers and browsers.
People whose systems do not have the fonts needed to display part of a particular RFC still need to be able to read the definitive versions and publication formats correctly in order to understand and implement the information described in the document.</t>

<t>Searches whose results might include RFCs should return accurate results and support appropriate Unicode string matching behaviors.</t>

</section>
<section anchor="policy-for-text-in-rfcs"><name>Policy for Text in RFCs</name>

<t>The policy for the RFC Series is that all displayable text is allowed as long as the reader of an RFC can interpret that text.</t>

<t>There are many Unicode characters that obviously cannot be displayed (such as control characters), and many whose ability to be displayed is debatable.
If an RFC includes such characters in normative or descriptive text, the RFC needs to also clearly describe the character.</t>

<t>The preferred method for describing such characters is using the "U+NNNN" syntax from <xref target="BCP137"/>.
<xref target="BCP137"/> describes the pros and cons of different options for identifying Unicode characters and may help authors decide how to represent the non-ASCII characters in their documents.</t>

<t>Note that this policy only applies to normative or descriptive text; text such as names does not need character description.
Further, some RFC authors might choose to use something other than the "U+NNNN" syntax to describing characters, such as if the RFC already covers a different syntax that the reader will understand from the rest of the RFC.</t>

<t>Characters in an RFC will generally appear in Normalization Form C (NFC) as defined in <xref target="UnicodeNorm"/>.
If the RFC would be more correct and more understandable with particular characters not in NFC, the RPC can use unnormalized text.
In such a case, a text note should be included to describe why unnormalized text was used.</t>

<section anchor="names"><name>Names</name>

<t>Authors of RFCs whose names include non-ASCII characters will likely have preferences for how their names are displayed based on their lived experiences.
These authors can give their names using only ASCII characters, or as Unicode characters and an ASCII interpretation of their name.
The RPC policy should be that authors' preferences for display of their names be honored.</t>

<t>Company names and geographic names generally do not need ASCII interpretations, but they can be included at the discretion of the author and the RPC.</t>

</section>
<section anchor="examples"><name>Examples</name>

<t>Where the use of non-ASCII characters is purely part of an example and not otherwise required for correct protocol operation, giving the Unicode equivalent of the non-ASCII characters is not required, but it can improve the readability of the RFC.
For example, for text that might just say "The value can be followed by a monetary symbol such as ¥ or €", it is likely more beneficial to the reader to instead say "The value can be followed by a monetary symbol such as ¥ (U+00A5) or € (U+20AC)".</t>

<t>RFCs are often displayed on systems that use only black and white, particularly when printed.
Because of this, examples should generally use characters that do not specify a color.
However, some examples might require text with color due to the nature of the examples.
If so, those examples need to also include the "U+NNNN" syntax.
For example, "A color display should be able to differentiate 🔴 (U+1F534), 🟢 (U+1F7E2), and 🔵 (U+1F535)."</t>

</section>
</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>This document contains no IANA considerations.</t>

</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>Valid Unicode that matches the expected text must be verified in order to preserve expected behavior and protocol information.</t>

</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">



<referencegroup anchor="BCP137" target="https://www.rfc-editor.org/info/bcp137">
  <reference anchor="RFC5137" target="https://www.rfc-editor.org/info/rfc5137">
    <front>
      <title>ASCII Escaping of Unicode Characters</title>
      <author fullname="J. Klensin" initials="J." surname="Klensin"/>
      <date month="February" year="2008"/>
      <abstract>
        <t>There are a number of circumstances in which an escape mechanism is needed in conjunction with a protocol to encode characters that cannot be represented or transmitted directly. With ASCII coding, the traditional escape has been either the decimal or hexadecimal numeric value of the character, written in a variety of different ways. The move to Unicode, where characters occupy two or more octets and may be coded in several different forms, has further complicated the question of escapes. This document discusses some options now in use and discusses considerations for selecting one for use in new IETF protocols, and protocols that are now being internationalized. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
      </abstract>
    </front>
    <seriesInfo name="BCP" value="137"/>
    <seriesInfo name="RFC" value="5137"/>
    <seriesInfo name="DOI" value="10.17487/RFC5137"/>
  </reference>
</referencegroup>
<referencegroup anchor="STD63" target="https://www.rfc-editor.org/info/std63">
  <reference anchor="RFC3629" target="https://www.rfc-editor.org/info/rfc3629">
    <front>
      <title>UTF-8, a transformation format of ISO 10646</title>
      <author fullname="F. Yergeau" initials="F." surname="Yergeau"/>
      <date month="November" year="2003"/>
      <abstract>
        <t>ISO/IEC 10646-1 defines a large character set called the Universal Character Set (UCS) which encompasses most of the world's writing systems. The originally proposed encodings of the UCS, however, were not compatible with many current applications and protocols, and this has led to the development of UTF-8, the object of this memo. UTF-8 has the characteristic of preserving the full US-ASCII range, providing compatibility with file systems, parsers and other software that rely on US-ASCII values but are transparent to other values. This memo obsoletes and replaces RFC 2279.</t>
      </abstract>
    </front>
    <seriesInfo name="STD" value="63"/>
    <seriesInfo name="RFC" value="3629"/>
    <seriesInfo name="DOI" value="10.17487/RFC3629"/>
  </reference>
</referencegroup>
<reference anchor="RFC7997">
  <front>
    <title>The Use of Non-ASCII Characters in RFCs</title>
    <author fullname="H. Flanagan" initials="H." role="editor" surname="Flanagan"/>
    <date month="December" year="2016"/>
    <abstract>
      <t>In order to support the internationalization of protocols and a more diverse Internet community, the RFC Series must evolve to allow for the use of non-ASCII characters in RFCs. While English remains the required language of the Series, the encoding of future RFCs will be in UTF-8, allowing for a broader range of characters than typically used in the English language. This document describes the RFC Editor requirements and gives guidance regarding the use of non-ASCII characters in RFCs.</t>
      <t>This document updates RFC 7322. Please view this document in PDF form to see the full text.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7997"/>
  <seriesInfo name="DOI" value="10.17487/RFC7997"/>
</reference>
<reference anchor="RFC9720">
  <front>
    <title>RFC Formats and Versions</title>
    <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
    <author fullname="H. Flanagan" initials="H." surname="Flanagan"/>
    <date month="January" year="2025"/>
    <abstract>
      <t>In order to improve the readability of RFCs while supporting their archivability, the definitive version of the RFC Series transitioned from plain-text ASCII to XML using the RFCXML vocabulary; different publication versions are rendered from that base document. This document describes how RFCs are published.</t>
      <t>This document obsoletes RFC 7990. This document also updates the stability policy in RFC 9280.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9720"/>
  <seriesInfo name="DOI" value="10.17487/RFC9720"/>
</reference>

<reference anchor="UnicodeCurrent" target="http://www.unicode.org/versions/latest/">
  <front>
    <title>The Unicode Standard</title>
    <author >
      <organization>The Unicode Consortium</organization>
    </author>
    <date year="2023"/>
  </front>
</reference>


    </references>

    <references title='Informative References' anchor="sec-informative-references">



<reference anchor="RFC20">
  <front>
    <title>ASCII format for network interchange</title>
    <author fullname="V.G. Cerf" initials="V.G." surname="Cerf"/>
    <date month="October" year="1969"/>
  </front>
  <seriesInfo name="STD" value="80"/>
  <seriesInfo name="RFC" value="20"/>
  <seriesInfo name="DOI" value="10.17487/RFC0020"/>
</reference>
<reference anchor="RFC6365">
  <front>
    <title>Terminology Used in Internationalization in the IETF</title>
    <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
    <author fullname="J. Klensin" initials="J." surname="Klensin"/>
    <date month="September" year="2011"/>
    <abstract>
      <t>This document provides a list of terms used in the IETF when discussing internationalization. The purpose is to help frame discussions of internationalization in the various areas of the IETF and to help introduce the main concepts to IETF participants. This memo documents an Internet Best Current Practice.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="166"/>
  <seriesInfo name="RFC" value="6365"/>
  <seriesInfo name="DOI" value="10.17487/RFC6365"/>
</reference>

<reference anchor="UnicodeNorm" target="http://www.unicode.org/reports/tr15/">
  <front>
    <title>Unicode Standard Annex</title>
    <author >
      <organization>The Unicode Consortium</organization>
    </author>
    <date year="2023"/>
  </front>
</reference>


    </references>

</references>


<?line 130?>

<section anchor="acknowledgements"><name>Acknowledgements</name>

<t>This document is based on <xref target="RFC7997"/> that was authored by Heather Flanagan.</t>

<t>The acknowledgements from <xref target="RFC7997"/> are
to the members of the IAB i18n program,
to the RFC Format Design Team:
Nevil Brownlee, Tony Hansen, Joe
Hildebrand, Paul Hoffman, Ted Lemon, Julian Reschke, Adam Roach,
Alice Russo, Robert Sparks, and Dave Thaler.</t>

<t>This current document was greatly helped by contributions from the RFC Series Working Group (RSWG), including from
Brian Carpenter,
Carsten Bormann,
Eliot Lear,
John Levine,
and
Martin Thomson.</t>

</section>


  </back>

<!-- ##markdown-source:
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
UBiiXYhRAvuTH4l+EM5CV5bw8m/gOQomDhkAAA==

-->

</rfc>

