Utilisateur:LeBret/Bac à sable
Normalisation et Collator
import java.text.Normalizer; import java.text.Collator; import java.util.Locale; public class Main { public static void testEqualityWithAllNormalizationForm(String a, String b) { System.out.println(" Sans normalisation: " + a.equals(b)); for (Normalizer.Form f : Normalizer.Form.values()) { String normalizedMicro = Normalizer.normalize(a, f); String normalizedMu = Normalizer.normalize(b, f); System.out.println(" " + f.toString() + ": " + normalizedMicro.equals(normalizedMu)); } System.out.println(); } public static void main(String[] args) { String micro = "µ"; String mu = "μ"; System.out.println(micro +" égale "+ mu + " ?"); testEqualityWithAllNormalizationForm(micro, mu); String précomposé = "ê"; String décomposé = "ê"; System.out.println(précomposé +" égale "+ décomposé + " ?"); testEqualityWithAllNormalizationForm(précomposé, décomposé); String accent1 = "événement"; String accent2 = "évènement"; System.out.println("événement égale évènement ?"); testEqualityWithAllNormalizationForm(accent1, accent2); int[] decompositionMode = new int[] { Collator.NO_DECOMPOSITION, Collator.CANONICAL_DECOMPOSITION, Collator.FULL_DECOMPOSITION }; int[] strenghValue = new int[] { Collator.PRIMARY, Collator.SECONDARY, Collator.TERTIARY, Collator.IDENTICAL }; Collator c = Collator.getInstance(Locale.FRENCH); for (int decomposition : decompositionMode) { c.setDecomposition(decomposition); for (int strengh : strenghValue) { c.setStrength(strengh); System.out.print(" Décompositon: " + decomposition); System.out.print(" ; Force: " + strengh); // System.out.println(" « égale » ? " + c.equals(accent1, accent2)); System.out.println(" « égale » ? " + c.equals(précomposé, décomposé)); } } System.out.println(); } }
<form method=post action="javascript:programme()">
<input type="text" name="neologisme" SIZE=50>
<input type="text" name="sens" SIZE=50>
<input type="submit" VALUE="Calculer">
</form>
<script language="JavaScript">
</script>