This repository has been archived on 2022-04-04. You can view files and clone it, but cannot push or open issues or pull requests.

57 lines
13 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Unicode character composition and decomposition utilities as described in Unicode Standard Annex #15."><meta name="keywords" content="rust, rustlang, rust-lang, unicode_normalization"><title>unicode_normalization - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceCodePro-Semibold.ttf.woff2"><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../ayu.css" disabled><link rel="stylesheet" type="text/css" href="../dark.css" disabled><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../storage.js"></script><script src="../crates.js"></script><script defer src="../main.js"></script>
<noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="shortcut icon" href="https:&#x2F;&#x2F;unicode-rs.github.io&#x2F;unicode-rs_sm.png"></head><body class="rustdoc mod crate"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a class="sidebar-logo" href="../unicode_normalization/index.html"><div class="logo-container"><img src="https:&#x2F;&#x2F;unicode-rs.github.io&#x2F;unicode-rs_sm.png" alt="logo"></div>
</a><h2 class="location">Crate unicode_normalization</h2><div class="block version"><div class="narrow-helper"></div><p>Version 0.1.19</p></div><div class="sidebar-elems"><a id="all-types" href="all.html"><p>See all unicode_normalization's items</p></a><div class="block items"><ul><li><a href="#modules">Modules</a></li><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#constants">Constants</a></li><li><a href="#traits">Traits</a></li><li><a href="#functions">Functions</a></li></ul></div><div id="sidebar-vars" data-name="unicode_normalization" data-ty="mod" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../unicode_normalization/index.html"><img src="https:&#x2F;&#x2F;unicode-rs.github.io&#x2F;unicode-rs_sm.png" alt="logo"></a><nav class="sub"><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><h1 class="fqn"><span class="in-band">Crate <a class="mod" href="#">unicode_normalization</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../src/unicode_normalization/lib.rs.html#11-199" title="goto source code">[src]</a></span></h1><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Unicode character composition and decomposition utilities
as described in
<a href="http://www.unicode.org/reports/tr15/">Unicode Standard Annex #15</a>.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">extern</span> <span class="kw">crate</span> <span class="ident">unicode_normalization</span>;
<span class="kw">use</span> <span class="ident">unicode_normalization::char::compose</span>;
<span class="kw">use</span> <span class="ident">unicode_normalization::UnicodeNormalization</span>;
<span class="kw">fn</span> <span class="ident">main</span>() {
<span class="macro">assert_eq!</span>(<span class="ident">compose</span>(<span class="string">&#39;A&#39;</span>,<span class="string">&#39;\u{30a}&#39;</span>), <span class="prelude-val">Some</span>(<span class="string">&#39;Å&#39;</span>));
<span class="kw">let</span> <span class="ident">s</span> <span class="op">=</span> <span class="string">&quot;ÅΩ&quot;</span>;
<span class="kw">let</span> <span class="ident">c</span> <span class="op">=</span> <span class="ident">s</span>.<span class="ident">nfc</span>().<span class="ident">collect</span>::<span class="op">&lt;</span><span class="ident">String</span><span class="op">&gt;</span>();
<span class="macro">assert_eq!</span>(<span class="ident">c</span>, <span class="string">&quot;ÅΩ&quot;</span>);
}</code></pre></div>
<h2 id="cratesio" class="section-header"><a href="#cratesio">crates.io</a></h2>
<p>You can use this package in your project by adding the following
to your <code>Cargo.toml</code>:</p>
<div class="example-wrap"><pre class="language-toml"><code>[dependencies]
unicode-normalization = &quot;0.1.19&quot;</code></pre></div></div></details><h2 id="modules" class="small-section-header"><a href="#modules">Modules</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="mod" href="char/index.html" title="unicode_normalization::char mod">char</a></div><div class="item-right docblock-short"><p>Methods for composing and decomposing characters.</p>
</div></div></div><h2 id="structs" class="small-section-header"><a href="#structs">Structs</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Decompositions.html" title="unicode_normalization::Decompositions struct">Decompositions</a></div><div class="item-right docblock-short"><p>External iterator for a string decompositions characters.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Recompositions.html" title="unicode_normalization::Recompositions struct">Recompositions</a></div><div class="item-right docblock-short"><p>External iterator for a string recompositions characters.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Replacements.html" title="unicode_normalization::Replacements struct">Replacements</a></div><div class="item-right docblock-short"><p>External iterator for replacements for a strings characters.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.StreamSafe.html" title="unicode_normalization::StreamSafe struct">StreamSafe</a></div><div class="item-right docblock-short"><p>UAX15-D4: This iterator keeps track of how many non-starters there have been
since the last starter in <em>NFKD</em> and will emit a Combining Grapheme Joiner
(U+034F) if the count exceeds 30.</p>
</div></div></div><h2 id="enums" class="small-section-header"><a href="#enums">Enums</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.IsNormalized.html" title="unicode_normalization::IsNormalized enum">IsNormalized</a></div><div class="item-right docblock-short"><p>The QuickCheck algorithm can quickly determine if a text is or isnt
normalized without any allocations in many cases, but it has to be able to
return <code>Maybe</code> when a full decomposition and recomposition is necessary.</p>
</div></div></div><h2 id="constants" class="small-section-header"><a href="#constants">Constants</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="constant" href="constant.UNICODE_VERSION.html" title="unicode_normalization::UNICODE_VERSION constant">UNICODE_VERSION</a></div><div class="item-right docblock-short"></div></div></div><h2 id="traits" class="small-section-header"><a href="#traits">Traits</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="trait" href="trait.UnicodeNormalization.html" title="unicode_normalization::UnicodeNormalization trait">UnicodeNormalization</a></div><div class="item-right docblock-short"><p>Methods for iterating over strings while applying Unicode normalizations
as described in
<a href="http://www.unicode.org/reports/tr15/">Unicode Standard Annex #15</a>.</p>
</div></div></div><h2 id="functions" class="small-section-header"><a href="#functions">Functions</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.is_nfc.html" title="unicode_normalization::is_nfc fn">is_nfc</a></div><div class="item-right docblock-short"><p>Authoritatively check if a string is in NFC.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.is_nfc_quick.html" title="unicode_normalization::is_nfc_quick fn">is_nfc_quick</a></div><div class="item-right docblock-short"><p>Quickly check if a string is in NFC, potentially returning
<code>IsNormalized::Maybe</code> if further checks are necessary. In this case a check
like <code>s.chars().nfc().eq(s.chars())</code> should suffice.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.is_nfc_stream_safe.html" title="unicode_normalization::is_nfc_stream_safe fn">is_nfc_stream_safe</a></div><div class="item-right docblock-short"><p>Authoritatively check if a string is Stream-Safe NFC.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.is_nfc_stream_safe_quick.html" title="unicode_normalization::is_nfc_stream_safe_quick fn">is_nfc_stream_safe_quick</a></div><div class="item-right docblock-short"><p>Quickly check if a string is Stream-Safe NFC.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.is_nfd.html" title="unicode_normalization::is_nfd fn">is_nfd</a></div><div class="item-right docblock-short"><p>Authoritatively check if a string is in NFD.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.is_nfd_quick.html" title="unicode_normalization::is_nfd_quick fn">is_nfd_quick</a></div><div class="item-right docblock-short"><p>Quickly check if a string is in NFD.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.is_nfd_stream_safe.html" title="unicode_normalization::is_nfd_stream_safe fn">is_nfd_stream_safe</a></div><div class="item-right docblock-short"><p>Authoritatively check if a string is Stream-Safe NFD.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.is_nfd_stream_safe_quick.html" title="unicode_normalization::is_nfd_stream_safe_quick fn">is_nfd_stream_safe_quick</a></div><div class="item-right docblock-short"><p>Quickly check if a string is Stream-Safe NFD.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.is_nfkc.html" title="unicode_normalization::is_nfkc fn">is_nfkc</a></div><div class="item-right docblock-short"><p>Authoritatively check if a string is in NFKC.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.is_nfkc_quick.html" title="unicode_normalization::is_nfkc_quick fn">is_nfkc_quick</a></div><div class="item-right docblock-short"><p>Quickly check if a string is in NFKC.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.is_nfkd.html" title="unicode_normalization::is_nfkd fn">is_nfkd</a></div><div class="item-right docblock-short"><p>Authoritatively check if a string is in NFKD.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.is_nfkd_quick.html" title="unicode_normalization::is_nfkd_quick fn">is_nfkd_quick</a></div><div class="item-right docblock-short"><p>Quickly check if a string is in NFKD.</p>
</div></div></div></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../" data-current-crate="unicode_normalization" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.59.0 (9d1b2106e 2022-02-23)" ></div>
</body></html>