Java Code Examples for com.ibm.icu.text.Normalizer#normalize()
The following examples show how to use
com.ibm.icu.text.Normalizer#normalize() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: ICU4Jv26TextNormalizer.java From oacc-core with Apache License 2.0 | 6 votes |
@Override public char[] normalizeToNfc(char[] source) { int destBufferSize = 3 * source.length; char[] result = null; do { char[] destBuffer = new char[destBufferSize]; try { final int destBufferUsedCount = Normalizer.normalize(source, destBuffer, Normalizer.NFC, 0); result = copyContents(destBuffer, destBufferUsedCount); } catch (IndexOutOfBoundsException e) { // NOTE: since we allocate an initial buffer that is 3x of // the source text length we never expect this to happen // try the next loop iteration with a larger buffer destBufferSize += source.length; } finally { // zero out the current dest buffer zeroOut(destBuffer); } } while (result == null); return result; }
Example 2
Source File: ICU4Jv26TextNormalizer.java From oacc-core with Apache License 2.0 | 5 votes |
private ICU4Jv26TextNormalizer() { // this "no-op" call to the Normalize class is *very* important, without it when the // com.ibm.icu.text.Normalizer class is not present in the classpath a load of the // class will not fail until it is attempted in the normalizeToNfc() method below -- which // is too late. The class load needs to fail here to cause the getInstance() method below to // propagate the class load exception and correctly trigger the fallback to the JDK based // TextNormalizer implementation in the parent class's TextNormalizer#getInstance(). Normalizer.normalize("", Normalizer.NFC, 0); }
Example 3
Source File: ICU4Jv26TextNormalizerWorstCaseExpansionTest.java From oacc-core with Apache License 2.0 | 5 votes |
@Test public void testExpansion() throws Exception { final int expectedMaxExpansionSize = 3 * src.length(); // allocate the destination to be 3x of the source length char[] dest = new char[expectedMaxExpansionSize]; // normalize the text final int actualDestLen = Normalizer.normalize(src.toCharArray(), dest, Normalizer.NFC, 0); assertThat("Note: " + "if this test fails, then the ICU4J library in use does not maintain our bounded expansion " + "and could leak passwords; use a different library or adjust the expansion factor", actualDestLen, lessThanOrEqualTo(expectedMaxExpansionSize)); }
Example 4
Source File: ICU4Jv26TextNormalizerParityTest.java From oacc-core with Apache License 2.0 | 4 votes |
private char[] normalizeDirect() { // normalize using direct call to underlying normalizer final String dest = Normalizer.normalize(new String(srcCharArray), Normalizer.NFC); return dest.toCharArray(); }