« Utilisateur:LeBret/Bac à sable » : différence entre les versions
(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>