<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Language" content="en-us">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta name="keywords" content="unicode, variant glyphs">
<meta name="description" content="Describes and displays standardized variant glyphs">
<title>Named Sequences</title>
<link rel="stylesheet" type="text/css" href="http://www.unicode.org/reports/reports.css">
<style>
<!--
.copy	{ text-align: center; font-size: 150% }
th, td	{ vertical-align: middle }
tt		{ font-size: 8pt }
table	{ padding: 2pt }
-->
</style>
</head>

<body bgcolor="#ffffff">

<table class="header">
  <tr>
    <td class="icon"><a href="http://www.unicode.org">
    <img align="middle" alt="[Unicode]" border="0" src="http://www.unicode.org/webscripts/logo60s2.gif" width="34" height="33"></a>&nbsp;&nbsp;<a class="bar" href="http://www.unicode.org/ucd">Unicode 
    Character Database</a></td>
  </tr>
  <tr>
    <td class="gray">&nbsp;</td>
  </tr>
</table>
<div style="margin:1em">
  <table border="1" cellpadding="0" cellspacing="1" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">
    <tr>
      <td width="100%">
      <p style="text-align: right">L2-XXX</p>
      <p><i>To: UTC<br>
      From: Mark Davis<br>
      Date: 2005-04-28</i></p>
      <p><i>One of the original ideas for Unicode 4.1.0 was to produce a NamedSequences.html, 
      following the pattern of StandardizedVariants.html. This document was generated along those 
      lines, but not added into U4.1.0. My suggestion instead is to add this file (with suitable 
      style modifications, of course) as a chart someplace accessible under
      <a href="http://unicode.org/charts/">http://unicode.org/charts/</a>.</i></p>
      <p><i>Alternatively, we could also combine this with the StandardizedVariants.html to provide 
      a unified chart of sequences, again someplace under <a href="http://unicode.org/charts/">
      http://unicode.org/charts/</a>.</i></p>
      <p><i><b>Note:</b> we don&#39;t have some of the glyphs quite right yet, but it should be 
      sufficient for discussing the format. One of the innovations is having a separate column of 
      text that for copy&amp;paste; that needs discussion also.</i></td>
    </tr>
  </table>
  <h1><i><font color="#990000">&nbsp;PROPOSED WORKING DRAFT<br>
  </font></i>Named Sequences</h1>
  <table class="wide">
    <tr>
      <td valign="top" width="144">Revision</td>
      <td valign="top">@revision@</td>
    </tr>
    <tr>
      <td valign="top" width="144">Authors</td>
      <td valign="top">Members of the Editorial Committee</td>
    </tr>
    <tr>
      <td valign="top" width="144">Date</td>
      <td valign="top">@date@</td>
    </tr>
    <tr>
      <td valign="top" width="144">This Version</td>
      <td valign="top">
      <a href="http://www.unicode.org/Public/@updateDirectory@/NamedSequences-@revision@.html">
      http://www.unicode.org/Public/@updateDirectory@/NamedSequences-@revision@.html</a></td>
    </tr>
    <tr>
      <td valign="top" width="144">Previous Version</td>
      <td valign="top">n/a</td>
    </tr>
    <tr>
      <td valign="top" width="144">Latest Version</td>
      <td valign="top">n/a</td>
    </tr>
  </table>
  <h3><br>
  <i>Summary</i></h3>
  <blockquote>
    <p>This file provides a visual display of the named sequences derived from NamedSequences.txt.<i>The 
    proposal is to add this, </i></p>
  </blockquote>
  <h3><i>Status</i></h3>
  <blockquote>
    <p><i>The file and the files described herein are part of the
    <a href="http://www.unicode.org/ucd">Unicode Character Database</a> (UCD) and are governed by 
    the <a href="#Terms of Use">UCD Terms of Use</a> stated at the end.</i></p>
  </blockquote>
  <hr width="50%">
  <h2>Introduction</h2>
  <p>The tables here exhaustively lists the valid, registered named sequences. The columns include a 
  representative glyph, the sequence of code points in hex, and the name of the sequence. In 
  addition, there is a last column entitled <i>Copyable</i>, which contains the literal text forming 
  the sequence. That text can be copied and pasting in elsewhere. The display of the text in this 
  column is up to the capabilities of the browser and the set of available fonts. For more 
  information, see <a href="http://www.unicode.org/help/display_problems.html">Display Problems?</a>.</p>
  <blockquote>
    <p><a name="fonts"><b>Note: </b></a>The representative glyphs used to show the names sequences 
    are often derived from different physical fonts than the representative glyphs in the standard. 
    They may therefore exhibit minor differences in size, proportion, style, or weight.</p>
  </blockquote>
  <p>@table@</p>
  <hr width="50%">
  <h2>UCD <a name="Terms of Use">Terms of Use</a></h2>
  <h3><i>Disclaimer</i></h3>
  <blockquote>
    <p><i>The Unicode Character Database is provided as is by Unicode, Inc. No claims are made as to 
    fitness for any particular purpose. No warranties of any kind are expressed or implied. The 
    recipient agrees to determine applicability of information provided. If this file has been 
    purchased on magnetic or optical media from Unicode, Inc., the sole remedy for any claim will be 
    exchange of defective media within 90 days of receipt.</i></p>
    <p><i>This disclaimer is applicable for all other data files accompanying the Unicode Character 
    Database, some of which have been compiled by the Unicode Consortium, and some of which have 
    been supplied by other sources.</i></p>
  </blockquote>
  <h3><i>Limitations on Rights to Redistribute This Data</i></h3>
  <blockquote>
    <p><i>Recipient is granted the right to make copies in any form for internal distribution and to 
    freely use the information supplied in the creation of products supporting the Unicode<sup>TM</sup> 
    Standard. The files in the Unicode Character Database can be redistributed to third parties or 
    other organizations (whether for profit or not) as long as this notice and the disclaimer notice 
    are retained. Information can be extracted from these files and used in documentation or 
    programs, as long as there is an accompanying notice indicating the source.</i></p>
  </blockquote>
  <hr width="50%">
  <div align="center">
    <center>
    <table cellspacing="0" cellpadding="0" border="0">
      <tr>
        <td><a href="http://www.unicode.org/unicode/copyright.html">
        <img src="http://www.unicode.org/img/hb_notice.gif" border="0" alt="Access to Copyright and terms of use" width="216" height="50"></a></td>
      </tr>
    </table>
    <script language="Javascript" type="text/javascript" src="http://www.unicode.org/webscripts/lastModified.js">
    </script>
    </center>
  </div>
  <blockquote>
  </blockquote>
</div>

</body>

</html>
