« Utilisateur:LeBret/Bac à sable » : différence entre les versions
Apparence
Page créée avec « <form method=post action="javascript:programme()"> <input type="text" name="neologisme" SIZE=50> <input type="text" name="sens" SIZE=50> <input type="submit" VALUE="Calcu... » |
Normalisation et Collator |
||
| Ligne 1 : | Ligne 1 : | ||
==Normalisation et Collator== | |||
<pre> | |||
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(); | |||
} | |||
} | |||
</pre> | |||
<form method=post action="javascript:programme()"> | <form method=post action="javascript:programme()"> | ||
Version du 15 décembre 2016 à 17:50
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>