« Utilisateur:LeBret/Bac à sable » : différence entre les versions
(Normalisation et Collator) |
|||
Ligne 40 : | Ligne 40 : | ||
}; | }; | ||
int[] strenghValue = new int[] { | int[] strenghValue = new int[] { | ||
Collator.IDENTICAL, | |||
Collator.PRIMARY, | Collator.PRIMARY, | ||
Collator.SECONDARY, | Collator.SECONDARY, | ||
Collator.TERTIARY | Collator.TERTIARY | ||
}; | }; | ||
Ligne 60 : | Ligne 60 : | ||
} | } | ||
} | } | ||
</pre> | </pre> | ||
Version du 15 décembre 2016 à 17:51
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.IDENTICAL, Collator.PRIMARY, Collator.SECONDARY, Collator.TERTIARY }; 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>