Utilisateur:LeBret/Bac à sable

De Disposition de clavier bépo
< Utilisateur:LeBret
Révision datée du 15 décembre 2016 à 17:50 par LeBret (discussion | contributions) (Normalisation et Collator)

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>