/// <summary> /// System registration hook. /// </summary> internal static void Register() { Transliterator.RegisterFactory("Any-NFC", new Transliterator.Factory(getInstance: (id) => { return(new NormalizationTransliterator("NFC", Normalizer2.GetNFCInstance())); })); Transliterator.RegisterFactory("Any-NFD", new Transliterator.Factory(getInstance: (id) => { return(new NormalizationTransliterator("NFD", Normalizer2.GetNFDInstance())); })); Transliterator.RegisterFactory("Any-NFKC", new Transliterator.Factory(getInstance: (id) => { return(new NormalizationTransliterator("NFKC", Normalizer2.GetNFKCInstance())); })); Transliterator.RegisterFactory("Any-NFKD", new Transliterator.Factory(getInstance: (id) => { return(new NormalizationTransliterator("NFKD", Normalizer2.GetNFKDInstance())); })); Transliterator.RegisterFactory("Any-FCD", new Transliterator.Factory(getInstance: (id) => { return(new NormalizationTransliterator("FCD", Norm2AllModes.GetFCDNormalizer2())); })); Transliterator.RegisterFactory("Any-FCC", new Transliterator.Factory(getInstance: (id) => { return(new NormalizationTransliterator("FCC", Norm2AllModes.GetNFCInstance().Fcc)); })); Transliterator.RegisterSpecialInverse("NFC", "NFD", true); Transliterator.RegisterSpecialInverse("NFKC", "NFKD", true); Transliterator.RegisterSpecialInverse("FCC", "NFD", false); Transliterator.RegisterSpecialInverse("FCD", "FCD", false); }
/// <summary> /// System registration hook. /// </summary> internal static void Register() { Transliterator.RegisterFactory(_ID, new Transliterator.Factory(getInstance: (id) => { return(new RemoveTransliterator()); })); Transliterator.RegisterSpecialInverse("Remove", "Null", false); }
// TODO: Add variants for tr, az, lt, default = default locale /// <summary> /// System registration hook. /// </summary> internal static void Register() { Transliterator.RegisterFactory(_ID, new Transliterator.Factory(getInstance: (id) => { return(new CaseFoldTransliterator()); })); Transliterator.RegisterSpecialInverse("CaseFold", "Upper", false); }
// TODO: Add variants for tr/az, lt, default = default locale: ICU ticket #12720 /// <summary> /// System registration hook. /// </summary> internal static void Register() { Transliterator.RegisterFactory(_ID, new Transliterator.Factory(getInstance: (id) => { return(new LowercaseTransliterator(ULocale.US)); })); Transliterator.RegisterSpecialInverse("Lower", "Upper", true); }
// TODO: Add variants for tr/az, lt, default = default locale: ICU ticket #12720 /// <summary> /// System registration hook. /// </summary> internal static void Register() { Transliterator.RegisterFactory(_ID, new Transliterator.Factory(getInstance: (id) => { return(new LowercaseTransliterator(new UCultureInfo("en_US"))); })); Transliterator.RegisterSpecialInverse("Lower", "Upper", true); }
/// <summary> /// Registers standard transliterators with the system. Called by /// <see cref="Transliterator"/> during initialization. Scan all current targets /// and register those that are scripts T as Any-T/V. /// </summary> internal static void Register() { IDictionary <string, ISet <string> > seen = new Dictionary <string, ISet <string> >(); // old code used set, but was dependent on order foreach (string source in Transliterator.GetAvailableSources()) { // Ignore the "Any" source if (source.Equals(ANY, StringComparison.OrdinalIgnoreCase)) { continue; } foreach (string target in Transliterator.GetAvailableTargets(source)) { // Get the script code for the target. If not a script, ignore. int targetScript = ScriptNameToCode(target); if (targetScript == UScript.InvalidCode) { continue; } ISet <string> seenVariants = seen.Get(target); if (seenVariants == null) { seen[target] = seenVariants = new HashSet <string>(); } foreach (string variant in Transliterator.GetAvailableVariants(source, target)) { // Only process each target/variant pair once if (seenVariants.Contains(variant)) { continue; } seenVariants.Add(variant); string id; id = TransliteratorIDParser.STVtoID(ANY, target, variant); AnyTransliterator trans = new AnyTransliterator(id, target, variant, targetScript); Transliterator.RegisterInstance(trans); Transliterator.RegisterSpecialInverse(target, NULL_ID, false); } } } }