CINXE.COM

Guidelines for Writing System Support: Technical Details: Characters, Codepoints, Glyphs: Part 1

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Guidelines for Writing System Support: Technical Details: Characters, Codepoints, Glyphs: Part 1</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta name="keywords" content="UNESCO,Guidelines,WSI,WSIs,writing system,writing systems,character,characters,glyph,glyphs,codepoint,codepoints"> <link rel="stylesheet" href="/cms/assets/misc/css/default.css" type="text/css"> <link rel="stylesheet" href="/cms/sites/nrsi/themes/default/_css/default.css" type="text/css"> <style type="text/css"> <!-- A.GlobalNavLink, A.GlobalNavLink:visited { color: #FFFF00; font-size: smaller; font-weight: bold; } --> </style> <!-- 2023-05-25 PKM Added for Google Analytics 4 --> <!-- Google tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-FVXRGR2Q9V"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-FVXRGR2Q9V'); </script> <title>Guidelines for Writing System Support: Technical Details: Characters, Codepoints, Glyphs: Part 1</title> </head> <body style="padding:0; margin:0"> <style> .archive_notice { /* box-shadow: black 0pt 4pt 20px -8px inset; */ display: block; background-color: orange; font-size: 12pt; font-style: normal; font-weight: lighter; line-height: 100%; padding: 5pt; text-align: center; width: auto; } form { display: none } .webform::before { content: "Forms are disabled on this static version of the site."; display: block; width: fit-content; } </style> <div class="archive_notice"> This is an archive of the original scripts.sil.org site, preserved as a historical reference. Some of the content is outdated. Please consult our other sites for more current information: <a href="https://software.sil.org">software.sil.org</a>, <a href="https://scriptsource.org">ScriptSource</a>, <a href="https://silnrsi.github.io/FDBP/">FDBP</a>, and <a href="https://silnrsi.github.io/silfontdev/">silfontdev</a> </div> <table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td style="background: #0068a6; padding-left:20; padding-top:10; white-space:nowrap;" width="110" valign="top"> <p><a href="http://www.sil.org/"> <!-- <img src="/cms/sites/nrsi/themes/default/_media/SIL_logo_left_column.gif" width="86" height="80" border="0"> --> <img src="/cms/sites/nrsi/themes/default/_media/SIL_Logo_TM_Blue_2014.png" width="85" height="95" border="0" alt=""> </a><br><br></p> <p class="Cat1"><a class="Cat1" href="/cms/scripts/page.php%3Fid%3Dhome%26site_id%3Dnrsi.html">Home</a></p> <p class="Cat1"><a class="Cat1" href="/cms/scripts/page.php%3Fid%3Dcontactus%26site_id%3Dnrsi.html">Contact Us</a></p> <p class="Cat1"><a class="Cat1" href="/cms/scripts/page.php%3Fid%3Dgeneral%26site_id%3Dnrsi.html">General</a></p> <p class="Cat2"><a class="Cat2" href="/cms/scripts/page.php%3Fid%3Dbabel%26site_id%3Dnrsi.html">Initiative B@bel</a></p> <p class="Cat2"><a class="Cat2" href="/cms/scripts/page.php%3Fid%3Dwsi_guidelines%26site_id%3Dnrsi.html">WSI Guidelines</a></p> <p class="Cat1"><a class="Cat1" href="/cms/scripts/page.php%3Fid%3Dencoding%26site_id%3Dnrsi.html">Encoding</a></p> <p class="Cat2"><a class="Cat2" href="/cms/scripts/page.php%3Fid%3Dencodingprinciples%26site_id%3Dnrsi.html">Principles</a></p> <p class="Cat2"><a class="Cat2" href="/cms/scripts/page.php%3Fid%3Dunicode%26site_id%3Dnrsi.html">Unicode</a></p> <p class="Cat3"><a class="Cat3" href="/cms/scripts/page.php%3Fid%3Dunicodetraining%26site_id%3Dnrsi.html">Training</a></p> <p class="Cat3"><a class="Cat3" href="/cms/scripts/page.php%3Fid%3Dunicodetutorials%26site_id%3Dnrsi.html">Tutorials</a></p> <p class="Cat3"><a class="Cat3" href="/cms/scripts/page.php%3Fid%3Dunicodepua%26site_id%3Dnrsi.html">PUA</a></p> <p class="Cat2"><a class="Cat2" href="/cms/scripts/page.php%3Fid%3Dconversion%26site_id%3Dnrsi.html">Conversion</a></p> <p class="Cat3"><a class="Cat3" href="/cms/scripts/page.php%3Fid%3Dencconvres%26site_id%3Dnrsi.html">Resources</a></p> <p class="Cat3"><a class="Cat3" href="/cms/scripts/page.php%3Fid%3Dconversionutilities%26site_id%3Dnrsi.html">Utilities</a></p> <p class="Cat4"><a class="Cat4" href="/cms/scripts/page.php%3Fid%3Dteckit%26site_id%3Dnrsi.html">TECkit</a></p> <p class="Cat3"><a class="Cat3" href="/cms/scripts/page.php%3Fid%3Dconversionmaps%26site_id%3Dnrsi.html">Maps</a></p> <p class="Cat2"><a class="Cat2" href="/cms/scripts/page.php%3Fid%3Dencodingresources%26site_id%3Dnrsi.html">Resources</a></p> <p class="Cat1"><a class="Cat1" href="/cms/scripts/page.php%3Fid%3Dinput%26site_id%3Dnrsi.html">Input</a></p> <p class="Cat2"><a class="Cat2" href="/cms/scripts/page.php%3Fid%3Dinputprinciples%26site_id%3Dnrsi.html">Principles</a></p> <p class="Cat2"><a class="Cat2" href="/cms/scripts/page.php%3Fid%3Dinpututilities%26site_id%3Dnrsi.html">Utilities</a></p> <p class="Cat2"><a class="Cat2" href="/cms/scripts/page.php%3Fid%3Dinputtutorials%26site_id%3Dnrsi.html">Tutorials</a></p> <p class="Cat2"><a class="Cat2" href="/cms/scripts/page.php%3Fid%3Dinputresources%26site_id%3Dnrsi.html">Resources</a></p> <p class="Cat1"><a class="Cat1" href="/cms/scripts/page.php%3Fid%3Dtypedesign%26site_id%3Dnrsi.html">Type Design</a></p> <p class="Cat2"><a class="Cat2" href="/cms/scripts/page.php%3Fid%3Dtypedesignprinciples%26site_id%3Dnrsi.html">Principles</a></p> <p class="Cat2"><a class="Cat2" href="/cms/scripts/page.php%3Fid%3Dfontdesigntools%26site_id%3Dnrsi.html">Design Tools</a></p> <p class="Cat2"><a class="Cat2" href="/cms/scripts/page.php%3Fid%3Dfontformats%26site_id%3Dnrsi.html">Formats</a></p> <p class="Cat2"><a class="Cat2" href="/cms/scripts/page.php%3Fid%3Dtypedesignresources%26site_id%3Dnrsi.html">Resources</a></p> <p class="Cat3"><a class="Cat3" href="/cms/scripts/page.php%3Fid%3Dfontdownloads%26site_id%3Dnrsi.html">Font Downloads</a></p> <p class="Cat3"><a class="Cat3" href="/cms/scripts/page.php%3Fid%3Dfontdownloadsgentium%26site_id%3Dnrsi.html">Gentium</a></p> <p class="Cat3"><a class="Cat3" href="/cms/scripts/page.php%3Fid%3Dfontdownloadsdoulos%26site_id%3Dnrsi.html">Doulos</a></p> <p class="Cat3"><a class="Cat3" href="/cms/scripts/page.php%3Fid%3Dfontdownloadsipa%26site_id%3Dnrsi.html">IPA</a></p> <p class="Cat1"><a class="Cat1" href="/cms/scripts/page.php%3Fid%3Drendering%26site_id%3Dnrsi.html">Rendering</a></p> <p class="Cat2"><a class="Cat2" href="/cms/scripts/page.php%3Fid%3Drenderingprinciples%26site_id%3Dnrsi.html">Principles</a></p> <p class="Cat2"><a class="Cat2" href="/cms/scripts/page.php%3Fid%3Drenderingtechnologies%26site_id%3Dnrsi.html">Technologies</a></p> <p class="Cat3"><a class="Cat3" href="/cms/scripts/page.php%3Fid%3Drenderingopentype%26site_id%3Dnrsi.html">OpenType</a></p> <p class="Cat3"><a class="Cat3" href="/cms/scripts/page.php%3Fid%3Drenderinggraphite%26site_id%3Dnrsi.html">Graphite</a></p> <p class="Cat2"><a class="Cat2" href="/cms/scripts/page.php%3Fid%3Drenderingresources%26site_id%3Dnrsi.html">Resources</a></p> <p class="Cat3"><a class="Cat3" href="/cms/scripts/page.php%3Fid%3Dfontfaq%26site_id%3Dnrsi.html">Font FAQ</a></p> <p class="Cat1"><a class="Cat1" href="/cms/scripts/page.php%3Fid%3Dlinks%26site_id%3Dnrsi.html">Links</a></p> <p class="Cat1"><a class="Cat1" href="/cms/scripts/page.php%3Fid%3Dglossary%26site_id%3Dnrsi.html">Glossary</a></p> <br> </td> <td valign="top" style="padding:0" xwidth="650"> <div style="background: #6699CC url(/cms/sites/nrsi/themes/default/_media/home_banner_gradient.gif) no-repeat right; padding:0 0 0 25; height:36px; margin:0; color:#FFFFFF;"> <p style="font-family:Times New Roman; font-size:25px; color:#FFFFFF; padding:10 0 0 0; margin:0 0 0 0">Computers & Writing Systems</p> </div> <div style="padding:0 0 0 0; background-color:#000000; color:#FFFFFF"> <table width='100%'> <tr> <td style="padding: 0 0 0 25px"><a class="GlobalNavLink" href="http://www.sil.org/">SIL HOME</a> | <a class="GlobalNavLink" href="https://software.sil.org/products/">SIL SOFTWARE</a> | <a class="GlobalNavLink" href="/support.html">SUPPORT</a> | <a class="GlobalNavLink" href="https://www.givedirect.org/donate/?cid=13536">DONATE</a> | <a class="GlobalNavLink" href="/privacy-policy.html">PRIVACY POLICY</a> </td> <td align='right' width='20%'> <script async src="https://cse.google.com/cse.js?cx=0760bf09a6bff4b0c"></script><style>.gsc-control-cse {padding: 0.6em; min-width: 10em; width: 18em; max-width: 20em} form.gsc-search-box {display: unset;}</style><div class="gcse-search"></div> </td> </tr> </table> </div> <div style="padding:0 25 25 25"> <p class='CategoryPath'>You are here: <a class='CategoryPath' href='/cms/scripts/page.php%3Fid%3Dgeneral%26site_id%3Dnrsi.html'>General</a> &gt; <a class='CategoryPath' href='/cms/scripts/page.php%3Fid%3Dwsi_guidelines%26site_id%3Dnrsi.html'>WSI Guidelines</a><br> Short URL: <a href='/wsi_guidelines_sec_5_1.html'>https://scripts.sil.org/WSI_Guidelines_Sec_5_1</a></p> <!-- --> <!-- <div class='Warning' > <p class='Warning_heading' > Site unavailability </p> <p> Due to essential repairs, this website may be unavailable at times during September 6 (Tue) and 7 (Wed). We apologize for the inconvenience. </p> </div> --> <h1>Guidelines for Writing System Support: Technical Details: Characters, Codepoints, Glyphs: Part 1 </h1> <p> <span class='author_date_hits'>Peter Constable, 2003-09-05</span></p><div class='Sidebar'><p><span class='Runin'>UNESCO project Initiative B@bel</span></p> <p>A complete index of all SIL's contributions to UNESCO‘s project Initiative B@bel can be found <a href='/cms/scripts/page.php%3Fid%3Dbabel%26site_id%3Dnrsi.html'>here</a>.</p> </div><p></p> <div class='Sidebar'><p><span class='Runin'>Guidelines Table of Contents</span></p> <p><a href='/cms/scripts/page.php%3Fid%3Dwsi_guidelines_sec_1%26site_id%3Dnrsi.html'>Section 1: Components of a Writing System Implementation</a></p> <p><a href='/cms/scripts/page.php%3Fid%3Dwsi_guidelines_sec_2%26site_id%3Dnrsi.html'>Section 2: The Process of WSI Development</a></p> <p><a href='/cms/scripts/page.php%3Fid%3Dwsi_guidelines_sec_3%26site_id%3Dnrsi.html'>Section 3: Roles and Actors</a></p> <p><a href='/cms/scripts/page.php%3Fid%3Dwsi_guidelines_sec_4%26site_id%3Dnrsi.html'>Section 4: Keys to Success</a></p> <p><a href='/cms/scripts/page.php%3Fid%3Dwsi_guidelines_sec_5_1%26site_id%3Dnrsi.html'>Section 5: Technical Details: Characters, Codepoints, Glyphs</a></p> <ul class='dListUnordered'> <li><a href='/cms/scripts/page.php%3Fid%3Dwsi_guidelines_sec_5_1%26site_id%3Dnrsi.html'>Part 1: Characters</a></li> <li><a href='/cms/scripts/page.php%3Fid%3Dwsi_guidelines_sec_5_2%26site_id%3Dnrsi.html'>Part 2: Codepoints and Glyphs</a></li> <li><a href='/cms/scripts/page.php%3Fid%3Dwsi_guidelines_sec_5_3%26site_id%3Dnrsi.html'>Part 3: Keystrokes and Codepoints</a></li> <li><a href='/cms/scripts/page.php%3Fid%3Dwsi_guidelines_sec_5_4%26site_id%3Dnrsi.html'>Part 4: Further Reading</a></li> </ul> <p><a href='/cms/scripts/page.php%3Fid%3Dwsi_guidelines_sec_6_1%26site_id%3Dnrsi.html'>Section 6: Technical Details: Encoding and Unicode</a></p> <ul class='dListUnordered'> <li><a href='/cms/scripts/page.php%3Fid%3Dwsi_guidelines_sec_6_1%26site_id%3Dnrsi.html'>Part 1: An Introduction to Encodings</a></li> <li><a href='/cms/scripts/page.php%3Fid%3Dwsi_guidelines_sec_6_2%26site_id%3Dnrsi.html'>Part 2: An Introduction to Unicode</a></li> <li><a href='/cms/scripts/page.php%3Fid%3Dwsi_guidelines_sec_6_3%26site_id%3Dnrsi.html'>Part 3: Adding New Characters and Scripts to Unicode</a></li> </ul> <p><a href='/cms/scripts/page.php%3Fid%3Dwsi_guidelines_sec_7%26site_id%3Dnrsi.html'>Section 7: Technical Details: Data Entry and Editing</a></p> <p><a href='/cms/scripts/page.php%3Fid%3Dwsi_guidelines_sec_8%26site_id%3Dnrsi.html'>Section 8: Technical Details: Glyph Design</a></p> <p><a href='/cms/scripts/page.php%3Fid%3Dwsi_guidelines_sec_9_1%26site_id%3Dnrsi.html'>Section 9: Technical Details: Smart Rendering</a></p> <ul class='dListUnordered'> <li><a href='/cms/scripts/page.php%3Fid%3Dwsi_guidelines_sec_9_1%26site_id%3Dnrsi.html'>Part 1: The Rendering Process</a></li> <li><a href='/cms/scripts/page.php%3Fid%3Dwsi_guidelines_sec_9_2%26site_id%3Dnrsi.html'>Part 2: Glyph Processing &mdash; Dumb Fonts</a></li> <li><a href='/cms/scripts/page.php%3Fid%3Dwsi_guidelines_sec_9_3%26site_id%3Dnrsi.html'>Part 3: Glyph Processing &mdash; Smart Fonts</a></li> <li><a href='/cms/scripts/page.php%3Fid%3Dwsi_guidelines_sec_9_4%26site_id%3Dnrsi.html'>Part 4: User Interaction</a></li> </ul> <p><a href='/cms/scripts/page.php%3Fid%3Dwsi_guidelines_glossary%26site_id%3Dnrsi.html'>Glossary</a></p> </div><p></p> <p>Software systems used for working with multilingual data are evolving, and it is increasingly important for users and support personnel to have an understanding of how these systems work. This section serves as an introduction to remaining technical sections, and explains some of the most basic concepts involved in working with multilingual text: characters, keystrokes, codepoints, and glyphs. Each notion is explained, as is the way they relate to one another and interact within a computer system.</p> <a name='229355e9'></a> <h2>5.1&nbsp;&nbsp;Characters</h2> <p>There are, in fact, different senses of the word character that are important for us. In common usage, though, the distinctions are not typically recognized. These differences must be understood in working with multilingual software technologies.</p> <a name='acc323f0'></a> <h3>5.1.1&nbsp;&nbsp;Orthographies, characters and graphemes</h3> <p>The first and most common sense of the term character has to do with orthographies and writing systems: languages are written using orthographies,<span class='footnote_ref'><a href='#footnote_1' name='_ftnref_1'>1</a></span> and a character in this first sense, an orthographic character, is an element within an orthography. For example, the lower case letter “a” used to write English, the letter “<img src='/cms/scripts/../sites/nrsi/media/IWS-TaiLue1.png' height='8' width='12'>” used for Tai Lue, and the IPA symbol for a voiced, inter-dental fricative, “<img src='/cms/sites/nrsi/media/LtnSmEth_inline_7x11.png' height='11' width='7'>”, are characters.</p> <p>It is easy to provide clear examples of characters in this sense of the word. Providing a formal definition is not so easy, though. To see why, let’s consider some of the things that can occur in an orthography.</p> <p>Some orthographies contain elements that are complex, using multiple components to write a single sound. For example, in Spanish as well as in Slovak, “ch” functions as a single unit. This is an example of what is sometimes called a <span class='KeyTerm'>digraph</span>. Some languages may have orthographies with even more complex elements. For instance, the orthographies of some languages of Africa have elements composed of three letters, such as “ngb”. Such combinations of two or more letters or written symbols that are used together within an orthography to represent a single sound are sometimes referred to as <span class='KeyTerm'>multigraphs</span> or <span class='KeyTerm'>polygraphs</span>. </p> <p>Also, many languages use dependent symbols known as <span class='KeyTerm'>accents</span> or <span class='KeyTerm'>diacritics</span>. These are common in European languages; for example, in Danish “ë” and “å”, or French “é” and “ô”. </p> <p>So, are multigraphs one character or several characters? And are the diacritics by themselves considered characters? There are not always clear answers to these kinds of questions. For a given written symbol, different individuals or cultures may have different perceptions of that symbol based on their own use of it. Speakers of English would not recognize the dot in “i” as a character, but they also would not hesitate to acknowledge the components of the digraph “th” as characters since “t” and “h” function independently in English orthography. The case of “th” might not be as clear to users of another language if, suppose, that language does not make independent use of “h”. Likewise, English speakers would probably not be as confident in commenting about the ring in “å”.</p> <p>We might avoid this uncertainty by using a distinct term: <span class='KeyTerm'>grapheme</span>. A <span class='Em'>grapheme is anything that functions as a distinct unit within an orthography</span>. By this definition, the status of multigraphs are clear: multigraphs, such as Spanish “ch”, and “ngb” in the orthography of some Bantu languages, are all graphemes.<span class='footnote_ref'><a href='#footnote_2' name='_ftnref_2'>2</a></span> Diacritics, either by themselves or in combination with base letters, may or may not be graphemes, depending on whether they function as distinct units with an orthography.</p> <p>The notion of <span class='KeyTerm'>grapheme</span> is important for us. Obviously, though, it would still be helpful to be able to talk about things like the “h” in “th” or the ring diacritic in general terms, even if they don’t correspond to a grapheme in a given orthography. The best we can do for the moment is to have an approximate, informal definition: when speaking in terms of writing systems and orthographies, a <span class='KeyTerm'>character</span> (or <span class='KeyTerm'>orthographic character</span>) is <span class='Em'>a written symbol that is conventionally perceived as a distinct unit of writing in some writing system</span>. </p> <a name='a5192e65'></a> <h3>5.1.2&nbsp;&nbsp;Characters as elements of textual information</h3> <p>A second sense of the term <span class='KeyTerm'>character</span>, important to WSI development, is particularly applicable within the domain of information systems and computers: <span class='Em'>a minimal unit of textual information that is used within an information system</span>. In any given case, this definition may or may not correspond exactly with either our informal sense of the term <span class='KeyTerm'>character</span> (i.e. <span class='KeyTerm'>orthographic character</span>) or with the term <span class='KeyTerm'>grapheme</span>. This will be made clearer as we consider some examples.</p> <p>Note that this definition for <span class='KeyTerm'>character</span> is dependent upon a given system. Just as the definition we gave for <span class='KeyTerm'>grapheme</span> was dependent upon a given orthography, such that something might be a grapheme in one orthography but not in another, so also something may exist as a character in one information system but not in another. </p> <p>For example, a computer system may represent the French word “hôtel” by storing a string consisting of six elements with meanings suggested by the sequence <span class='Literal'>&lt;h, o, ^, t, e, l&gt;</span>. Each of those six component elements, which are directly encoded in the system as minimal units, is a character within that system.</p> <p>Note that a different system could have represented the same French word differently by using a sequence of five elements, <span class='Literal'>&lt;h, ô, t, e, l&gt;.</span> In this system, the <span class='SmallCaps'>O-CIRCUMFLEX</span> is a single encoded element, and hence is a character in that system. This is different from the first system, in which <span class='SmallCaps'>O</span> and <span class='SmallCaps'>CIRCUMFLEX</span> were separate characters. </p> <p>Up to now the characters we have considered are all visible, orthographic objects (or are direct representations of such graphical objects within an information system). In using computers to work with text, we also need to define other characters of a more abstract nature that may not be visible objects, such as “horizontal tab”, “carriage return” and “line feed”. </p> <p>In technical discussions related to information systems, in talking about multilingual software, for example, it is the sense of the term <span class='KeyTerm'>character</span> discussed in this section that is usually assumed. From here on, we will adopt that usage, referring to (<span class='KeyTerm'>abstract</span>) <span class='KeyTerm'>characters</span> as meaning units of textual information in a computer system, and using the term <span class='KeyTerm'>grapheme</span> when talking about units within orthographies. Thus, we might say something like, “The Dutch grapheme ‘ij’ is represented in most systems as a character sequence, &lt;i, j&gt;, but in this system as a single character, &lt;ij&gt;.” Where we wish to speak of (<span class='KeyTerm'>orthographic</span>) <span class='KeyTerm'>characters</span> in the informal sense discussed above, we will state that explicitly.</p> <p>In developing a system for working with multilingual text, it is important to understand the distinction between abstract characters and graphemes. We implement systems to serve the needs of users, and users think in terms of the concrete objects with which they are familiar: the graphemes and orthographic characters that make up orthographies. They do not need to be aware of the internal workings of the system. In other words, it does not matter what abstract characters are used internally to represent text, just so long as users get the behavior and results they expect. </p> <div class='Note'><p class='Note_heading'>Copyright notice</p><p>(c) Copyright 2003 UNESCO and SIL International Inc.</p> </div> <br><hr clear='all'><p>Note: the opinions expressed in submitted contributions below do not necessarily reflect the opinions of our website.</p><hr> <hr align='left' class='footnote_rule'><table> <tr> <td class='footnote_number' align='top'><a href='#_ftnref_1' name='footnote_1'>1</a></td> <td class=footnote_text>The familiar term <span class='KeyTerm'>orthography</span> is used here in place of the more correct and more specialized but less well-known term <span class='KeyTerm'>writing system</span>. Writing systems include not only conventional systems of graphic objects used for written linguistic communication—commonly known as <span class='KeyTerm'>orthographies</span>, but also systems of written notation used to describe or transcribe language and linguistic utterances, such as <span class='SmallCaps'>IPA</span> or shorthand.</td> </tr> <tr> <td class='footnote_number' align='top'><a href='#_ftnref_2' name='footnote_2'>2</a></td> <td class=footnote_text>Note that graphemes are not necessarily related to phonemes. For example, the English phoneme /<img src='/cms/sites/nrsi/media/LtnSmEth_inline_7x11.png' height='11' width='7'>/ is written as “th”, but “th” does not function as a unit in terms of the behaviors of English orthography.</td> </tr> </table> <hr> <p><small>© 2003-2024 <a href='http://www.sil.org/' target='_blank'>SIL International</a>, all rights reserved, unless otherwise noted elsewhere on this page.<br> Provided by SIL's Writing Systems Technology team (formerly known as NRSI). Read our <a href="/privacy-policy.html">Privacy Policy</a>. <a href='/support.html'>Contact us here.</a></small></p> </div> </td> </table> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10