コード例 #1
0
        // TODO: Add variants for tr/az, el, 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 UppercaseTransliterator(new UCultureInfo("en_US")));
            }));
        }
コード例 #2
0
 /// <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);
 }
コード例 #3
0
        // TODO: Add variants for tr/az, el, 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 UppercaseTransliterator(ULocale.US));
            }));
        }
コード例 #4
0
 /// <summary>
 /// System registration hook.
 /// </summary>
 internal static void Register()
 {
     Transliterator.RegisterFactory(_ID, new Transliterator.Factory(getInstance: (id) =>
     {
         return(new UnicodeNameTransliterator(null));
     }));
 }
コード例 #5
0
        /// <summary>
        /// Registers standard variants with the system.  Called by
        /// Transliterator during initialization.
        /// </summary>
        internal static void Register()
        {
            // Unicode: "U+10FFFF" hex, min=4, max=6
            Transliterator.RegisterFactory("Any-Hex/Unicode", new Factory(getInstance: (id) =>
            {
                return(new EscapeTransliterator("Any-Hex/Unicode",
                                                "U+", "", 16, 4, true, null));
            }));

            // Java: "\\uFFFF" hex, min=4, max=4
            Transliterator.RegisterFactory("Any-Hex/DotNet", new Factory(getInstance: (id) =>
            {
                return(new EscapeTransliterator("Any-Hex/DotNet",
                                                "\\u", "", 16, 4, false, null));
            }));

            // C: "\\uFFFF" hex, min=4, max=4; \\U0010FFFF hex, min=8, max=8
            Transliterator.RegisterFactory("Any-Hex/C", new Factory(getInstance: (id) =>
            {
                return(new EscapeTransliterator("Any-Hex/C",
                                                "\\u", "", 16, 4, true,
                                                new EscapeTransliterator("", "\\U", "", 16, 8, true, null)));
            }));

            // XML: "&#x10FFFF;" hex, min=1, max=6
            Transliterator.RegisterFactory("Any-Hex/XML", new Transliterator.Factory(getInstance: (id) =>
            {
                return(new EscapeTransliterator("Any-Hex/XML",
                                                "&#x", ";", 16, 1, true, null));
            }));

            // XML10: "&1114111;" dec, min=1, max=7 (not really "Any-Hex")
            Transliterator.RegisterFactory("Any-Hex/XML10", new Transliterator.Factory(getInstance: (id) =>
            {
                return(new EscapeTransliterator("Any-Hex/XML10",
                                                "&#", ";", 10, 1, true, null));
            }));

            // Perl: "\\x{263A}" hex, min=1, max=6
            Transliterator.RegisterFactory("Any-Hex/Perl", new Transliterator.Factory(getInstance: (id) =>
            {
                return(new EscapeTransliterator("Any-Hex/Perl",
                                                "\\x{", "}", 16, 1, true, null));
            }));

            // Plain: "FFFF" hex, min=4, max=6
            Transliterator.RegisterFactory("Any-Hex/Plain", new Transliterator.Factory(getInstance: (id) =>
            {
                return(new EscapeTransliterator("Any-Hex/Plain",
                                                "", "", 16, 4, true, null));
            }));

            // Generic
            Transliterator.RegisterFactory("Any-Hex", new Transliterator.Factory(getInstance: (id) =>
            {
                return(new EscapeTransliterator("Any-Hex",
                                                "\\u", "", 16, 4, false, null));
            }));
        }
コード例 #6
0
 /// <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);
 }
コード例 #7
0
        // 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);
        }
コード例 #8
0
        // 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);
        }
コード例 #9
0
        // 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 TitlecaseTransliterator(ULocale.US));
            }));

            RegisterSpecialInverse("Title", "Lower", false);
        }
コード例 #10
0
        // 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 TitlecaseTransliterator(new UCultureInfo("en_US")));
            }));

            RegisterSpecialInverse("Title", "Lower", false);
        }
コード例 #11
0
        /// <summary>
        /// Registers standard variants with the system.  Called by
        /// <see cref="Transliterator"/> during initialization.
        /// </summary>
        internal static void Register()
        {
            // Unicode: "U+10FFFF" hex, min=4, max=6
            Transliterator.RegisterFactory("Hex-Any/Unicode", new Transliterator.Factory(getInstance: (id) =>
            {
                return(new UnescapeTransliterator("Hex-Any/Unicode", new char[] {
                    (char)2, (char)0, (char)16, (char)4, (char)6, 'U', '+',
                    END
                }));
            }));

            // Java: "\\uFFFF" hex, min=4, max=4
            Transliterator.RegisterFactory("Hex-Any/DotNet", new Transliterator.Factory(getInstance: (id) =>
            {
                return(new UnescapeTransliterator("Hex-Any/DotNet", new char[] {
                    (char)2, (char)0, (char)16, (char)4, (char)4, '\\', 'u',
                    END
                }));
            }));

            // C: "\\uFFFF" hex, min=4, max=4; \\U0010FFFF hex, min=8, max=8
            Transliterator.RegisterFactory("Hex-Any/C", new Transliterator.Factory(getInstance: (id) =>
            {
                return(new UnescapeTransliterator("Hex-Any/C", new char[] {
                    (char)2, (char)0, (char)16, (char)4, (char)4, '\\', 'u',
                    (char)2, (char)0, (char)16, (char)8, (char)8, '\\', 'U',
                    END
                }));
            }));

            // XML: "&#x10FFFF;" hex, min=1, max=6
            Transliterator.RegisterFactory("Hex-Any/XML", new Transliterator.Factory(getInstance: (id) =>
            {
                return(new UnescapeTransliterator("Hex-Any/XML", new char[] {
                    (char)3, (char)1, (char)16, (char)1, (char)6, '&', '#', 'x', ';',
                    END
                }));
            }));

            // XML10: "&1114111;" dec, min=1, max=7 (not really "Hex-Any")
            Transliterator.RegisterFactory("Hex-Any/XML10", new Transliterator.Factory(getInstance: (id) =>
            {
                return(new UnescapeTransliterator("Hex-Any/XML10", new char[] {
                    (char)2, (char)1, (char)10, (char)1, (char)7, '&', '#', ';',
                    END
                }));
            }));

            // Perl: "\\x{263A}" hex, min=1, max=6
            Transliterator.RegisterFactory("Hex-Any/Perl", new Transliterator.Factory(getInstance: (id) =>
            {
                return(new UnescapeTransliterator("Hex-Any/Perl", new char[] {
                    (char)3, (char)1, (char)16, (char)1, (char)6, '\\', 'x', '{', '}',
                    END
                }));
            }));

            // All: Java, C, Perl, XML, XML10, Unicode
            Transliterator.RegisterFactory("Hex-Any", new Transliterator.Factory(getInstance: (id) =>
            {
                return(new UnescapeTransliterator("Hex-Any", new char[] {
                    (char)2, (char)0, (char)16, (char)4, (char)6, 'U', '+',            // Unicode
                    (char)2, (char)0, (char)16, (char)4, (char)4, '\\', 'u',           // Java
                    (char)2, (char)0, (char)16, (char)8, (char)8, '\\', 'U',           // C (surrogates)
                    (char)3, (char)1, (char)16, (char)1, (char)6, '&', '#', 'x', ';',  // XML
                    (char)2, (char)1, (char)10, (char)1, (char)7, '&', '#', ';',       // XML10
                    (char)3, (char)1, (char)16, (char)1, (char)6, '\\', 'x', '{', '}', // Perl
                    END
                }));
            }));
        }