Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Threema/ThreemaFramework/Utilities/   (Social Medium ©)  Datei vom 26.9.2026 mit Größe 17 kB image not shown  

Quelle  Unicode+Script.swift   Sprache: JAVA

 

import Foundation

extension Unicode {
    
    /// All Unicode Script types
    public enum ThreemaScript {
        case common,
             latin,
             greek,
             cyrillic,
             armenian,
             hebrew,
             arabic,
             syriac,
             thaana,
             devanagari,
             bengali,
             gurmukhi,
             gujarati,
             oriya,
             tamil,
             telugu,
             kannada,
             malayalam,
             sinhala,
             thai,
             lao,
             tibetan,
             myanmar,
             georgian,
             hangul,
             ethiopic,
             cherokee,
             canadianAboriginal,
             ogham,
             runic,
             khmer,
             mongolian,
             hiragana,
             katakana,
             bopomofo,
             han,
             yi,
             oldItalic,
             gothic,
             deseret,
             inherited,
             tagalog,
             hanunoo,
             buhid,
             tagbanwa,
             limbu,
             taiLe,
             linearB,
             ugaritic,
             shavian,
             osmanya,
             cypriot,
             braille,
             buginese,
             coptic,
             newTaiLue,
             glagolitic,
             tifinagh,
             sylotiNagri,
             oldPersian,
             kharoshthi,
             balinese,
             cuneiform,
             phoenician,
             phagsPa,
             nko,
             sundanese,
             batak,
             lepcha,
             olChiki,
             vai,
             saurashtra,
             kayahLi,
             rejang,
             lycian,
             carian,
             lydian,
             cham,
             taiTham,
             taiViet,
             avestan,
             egyptianHieroglyphs,
             samaritan,
             mandaic,
             lisu,
             bamum,
             javanese,
             meeteiMayek,
             imperialAramaic,
             oldSouthArabian,
             inscriptionalParthian,
             inscriptionalPahlavi,
             oldTurkic,
             brahmi,
             kaithi,
             meroiticHieroglyphs,
             meroiticCursive,
             soraSompeng,
             chakma,
             sharada,
             takri,
             miao,
             unknown
    }
    
    /// Sets that may be mixed in URLS without creating a IDNA warning
    public static let validURLUnicodeScriptSets: [Set<Unicode.ThreemaScript>] =
        [
            [
                Unicode.ThreemaScript.latin,
                Unicode.ThreemaScript.han,
                Unicode.ThreemaScript.hiragana,
                Unicode.ThreemaScript.katakana,
            ],
        
            [
                Unicode.ThreemaScript.latin,
                Unicode.ThreemaScript.han,
                Unicode.ThreemaScript.bopomofo,
            ],
        
            [
                Unicode.ThreemaScript.latin,
                Unicode.ThreemaScript.han,
                Unicode.ThreemaScript.hangul,
            ],
        ]
    
    /// Finds the Unicode script for a given code
    /// - Parameter code: Code to retrieve script
    /// - Returns: `Unicode.Script`
    public static func script(for code: UInt32) -> ThreemaScript {
        switch code {
        case ..<0x0041:
            .common
        case ..<0x005B:
            .latin
        case ..<0x0061:
            .common
        case ..<0x007B:
            .latin
        case ..<0x00AA:
            .common
        case ..<0x00AB:
            .latin
        case ..<0x00BA:
            .common
        case ..<0x00BB:
            .latin
        case ..<0x00C0:
            .common
        case ..<0x00D7:
            .latin
        case ..<0x00D8:
            .common
        case ..<0x00F7:
            .latin
        case ..<0x00F8:
            .common
        case ..<0x02B9:
            .latin
        case ..<0x02E0:
            .common
        case ..<0x02E5:
            .latin
        case ..<0x02EA:
            .common
        case ..<0x02EC:
            .bopomofo
        case ..<0x0300:
            .common
        case ..<0x0370:
            .inherited
        case ..<0x0374:
            .greek
        case ..<0x0375:
            .common
        case ..<0x037E:
            .greek
        case ..<0x0384:
            .common
        case ..<0x0385:
            .greek
        case ..<0x0386:
            .common
        case ..<0x0387:
            .greek
        case ..<0x0388:
            .common
        case ..<0x03E2:
            .greek
        case ..<0x03F0:
            .coptic
        case ..<0x0400:
            .greek
        case ..<0x0485:
            .cyrillic
        case ..<0x0487:
            .inherited
        case ..<0x0531:
            .cyrillic
        case ..<0x0589:
            .armenian
        case ..<0x058A:
            .common
        case ..<0x0591:
            .armenian
        case ..<0x0600:
            .hebrew
        case ..<0x060C:
            .arabic
        case ..<0x060D:
            .common
        case ..<0x061B:
            .arabic
        case ..<0x061E:
            .common
        case ..<0x061F:
            .arabic
        case ..<0x0620:
            .common
        case ..<0x0640:
            .arabic
        case ..<0x0641:
            .common
        case ..<0x064B:
            .arabic
        case ..<0x0656:
            .inherited
        case ..<0x0660:
            .arabic
        case ..<0x066A:
            .common
        case ..<0x0670:
            .arabic
        case ..<0x0671:
            .inherited
        case ..<0x06DD:
            .arabic
        case ..<0x06DE:
            .common
        case ..<0x0700:
            .arabic
        case ..<0x0750:
            .syriac
        case ..<0x0780:
            .arabic
        case ..<0x07C0:
            .thaana
        case ..<0x0800:
            .nko
        case ..<0x0840:
            .samaritan
        case ..<0x08A0:
            .mandaic
        case ..<0x0900:
            .arabic
        case ..<0x0951:
            .devanagari
        case ..<0x0953:
            .inherited
        case ..<0x0964:
            .devanagari
        case ..<0x0966:
            .common
        case ..<0x0981:
            .devanagari
        case ..<0x0A01:
            .bengali
        case ..<0x0A81:
            .gurmukhi
        case ..<0x0B01:
            .gujarati
        case ..<0x0B82:
            .oriya
        case ..<0x0C01:
            .tamil
        case ..<0x0C82:
            .telugu
        case ..<0x0D02:
            .kannada
        case ..<0x0D82:
            .malayalam
        case ..<0x0E01:
            .sinhala
        case ..<0x0E3F:
            .thai
        case ..<0x0E40:
            .common
        case ..<0x0E81:
            .thai
        case ..<0x0F00:
            .lao
        case ..<0x0FD5:
            .tibetan
        case ..<0x0FD9:
            .common
        case ..<0x1000:
            .tibetan
        case ..<0x10A0:
            .myanmar
        case ..<0x10FB:
            .georgian
        case ..<0x10FC:
            .common
        case ..<0x1100:
            .georgian
        case ..<0x1200:
            .hangul
        case ..<0x13A0:
            .ethiopic
        case ..<0x1400:
            .cherokee
        case ..<0x1680:
            .canadianAboriginal
        case ..<0x16A0:
            .ogham
        case ..<0x16EB:
            .runic
        case ..<0x16EE:
            .common
        case ..<0x1700:
            .runic
        case ..<0x1720:
            .tagalog
        case ..<0x1735:
            .hanunoo
        case ..<0x1740:
            .common
        case ..<0x1760:
            .buhid
        case ..<0x1780:
            .tagbanwa
        case ..<0x1800:
            .khmer
        case ..<0x1802:
            .mongolian
        case ..<0x1804:
            .common
        case ..<0x1805:
            .mongolian
        case ..<0x1806:
            .common
        case ..<0x18B0:
            .mongolian
        case ..<0x1900:
            .canadianAboriginal
        case ..<0x1950:
            .limbu
        case ..<0x1980:
            .taiLe
        case ..<0x19E0:
            .newTaiLue
        case ..<0x1A00:
            .khmer
        case ..<0x1A20:
            .buginese
        case ..<0x1B00:
            .taiTham
        case ..<0x1B80:
            .balinese
        case ..<0x1BC0:
            .sundanese
        case ..<0x1C00:
            .batak
        case ..<0x1C50:
            .lepcha
        case ..<0x1CC0:
            .olChiki
        case ..<0x1CD0:
            .sundanese
        case ..<0x1CD3:
            .inherited
        case ..<0x1CD4:
            .common
        case ..<0x1CE1:
            .inherited
        case ..<0x1CE2:
            .common
        case ..<0x1CE9:
            .inherited
        case ..<0x1CED:
            .common
        case ..<0x1CEE:
            .inherited
        case ..<0x1CF4:
            .common
        case ..<0x1CF5:
            .inherited
        case ..<0x1D00:
            .common
        case ..<0x1D26:
            .latin
        case ..<0x1D2B:
            .greek
        case ..<0x1D2C:
            .cyrillic
        case ..<0x1D5D:
            .latin
        case ..<0x1D62:
            .greek
        case ..<0x1D66:
            .latin
        case ..<0x1D6B:
            .greek
        case ..<0x1D78:
            .latin
        case ..<0x1D79:
            .cyrillic
        case ..<0x1DBF:
            .latin
        case ..<0x1DC0:
            .greek
        case ..<0x1E00:
            .inherited
        case ..<0x1F00:
            .latin
        case ..<0x2000:
            .greek
        case ..<0x200C:
            .common
        case ..<0x200E:
            .inherited
        case ..<0x2071:
            .common
        case ..<0x2074:
            .latin
        case ..<0x207F:
            .common
        case ..<0x2080:
            .latin
        case ..<0x2090:
            .common
        case ..<0x20A0:
            .latin
        case ..<0x20D0:
            .common
        case ..<0x2100:
            .inherited
        case ..<0x2126:
            .common
        case ..<0x2127:
            .greek
        case ..<0x212A:
            .common
        case ..<0x212C:
            .latin
        case ..<0x2132:
            .common
        case ..<0x2133:
            .latin
        case ..<0x214E:
            .common
        case ..<0x214F:
            .latin
        case ..<0x2160:
            .common
        case ..<0x2189:
            .latin
        case ..<0x2800:
            .common
        case ..<0x2900:
            .braille
        case ..<0x2C00:
            .common
        case ..<0x2C60:
            .glagolitic
        case ..<0x2C80:
            .latin
        case ..<0x2D00:
            .coptic
        case ..<0x2D30:
            .georgian
        case ..<0x2D80:
            .tifinagh
        case ..<0x2DE0:
            .ethiopic
        case ..<0x2E00:
            .cyrillic
        case ..<0x2E80:
            .common
        case ..<0x2FF0:
            .han
        case ..<0x3005:
            .common
        case ..<0x3006:
            .han
        case ..<0x3007:
            .common
        case ..<0x3008:
            .han
        case ..<0x3021:
            .common
        case ..<0x302A:
            .han
        case ..<0x302E:
            .inherited
        case ..<0x3030:
            .hangul
        case ..<0x3038:
            .common
        case ..<0x303C:
            .han
        case ..<0x3041:
            .common
        case ..<0x3099:
            .hiragana
        case ..<0x309B:
            .inherited
        case ..<0x309D:
            .common
        case ..<0x30A0:
            .hiragana
        case ..<0x30A1:
            .common
        case ..<0x30FB:
            .katakana
        case ..<0x30FD:
            .common
        case ..<0x3105:
            .katakana
        case ..<0x3131:
            .bopomofo
        case ..<0x3190:
            .hangul
        case ..<0x31A0:
            .common
        case ..<0x31C0:
            .bopomofo
        case ..<0x31F0:
            .common
        case ..<0x3200:
            .katakana
        case ..<0x3220:
            .hangul
        case ..<0x3260:
            .common
        case ..<0x327F:
            .hangul
        case ..<0x32D0:
            .common
        case ..<0x3358:
            .katakana
        case ..<0x3400:
            .common
        case ..<0x4DC0:
            .han
        case ..<0x4E00:
            .common
        case ..<0xA000:
            .han
        case ..<0xA4D0:
            .yi
        case ..<0xA500:
            .lisu
        case ..<0xA640:
            .vai
        case ..<0xA6A0:
            .cyrillic
        case ..<0xA700:
            .bamum
        case ..<0xA722:
            .common
        case ..<0xA788:
            .latin
        case ..<0xA78B:
            .common
        case ..<0xA800:
            .latin
        case ..<0xA830:
            .sylotiNagri
        case ..<0xA840:
            .common
        case ..<0xA880:
            .phagsPa
        case ..<0xA8E0:
            .saurashtra
        case ..<0xA900:
            .devanagari
        case ..<0xA930:
            .kayahLi
        case ..<0xA960:
            .rejang
        case ..<0xA980:
            .hangul
        case ..<0xAA00:
            .javanese
        case ..<0xAA60:
            .cham
        case ..<0xAA80:
            .myanmar
        case ..<0xAAE0:
            .taiViet
        case ..<0xAB01:
            .meeteiMayek
        case ..<0xABC0:
            .ethiopic
        case ..<0xAC00:
            .meeteiMayek
        case ..<0xD7FC:
            .hangul
        case ..<0xF900:
            .unknown
        case ..<0xFB00:
            .han
        case ..<0xFB13:
            .latin
        case ..<0xFB1D:
            .armenian
        case ..<0xFB50:
            .hebrew
        case ..<0xFD3E:
            .arabic
        case ..<0xFD50:
            .common
        case ..<0xFDFD:
            .arabic
        case ..<0xFE00:
            .common
        case ..<0xFE10:
            .inherited
        case ..<0xFE20:
            .common
        case ..<0xFE30:
            .inherited
        case ..<0xFE70:
            .common
        case ..<0xFEFF:
            .arabic
        case ..<0xFF21:
            .common
        case ..<0xFF3B:
            .latin
        case ..<0xFF41:
            .common
        case ..<0xFF5B:
            .latin
        case ..<0xFF66:
            .common
        case ..<0xFF70:
            .katakana
        case ..<0xFF71:
            .common
        case ..<0xFF9E:
            .katakana
        case ..<0xFFA0:
            .common
        case ..<0xFFE0:
            .hangul
        case ..<0x10000:
            .common
        case ..<0x10100:
            .linearB
        case ..<0x10140:
            .common
        case ..<0x10190:
            .greek
        case ..<0x101FD:
            .common
        case ..<0x10280:
            .inherited
        case ..<0x102A0:
            .lycian
        case ..<0x10300:
            .carian
        case ..<0x10330:
            .oldItalic
        case ..<0x10380:
            .gothic
        case ..<0x103A0:
            .ugaritic
        case ..<0x10400:
            .oldPersian
        case ..<0x10450:
            .deseret
        case ..<0x10480:
            .shavian
        case ..<0x10800:
            .osmanya
        case ..<0x10840:
            .cypriot
        case ..<0x10900:
            .imperialAramaic
        case ..<0x10920:
            .phoenician
        case ..<0x10980:
            .lydian
        case ..<0x109A0:
            .meroiticHieroglyphs
        case ..<0x10A00:
            .meroiticCursive
        case ..<0x10A60:
            .kharoshthi
        case ..<0x10B00:
            .oldSouthArabian
        case ..<0x10B40:
            .avestan
        case ..<0x10B60:
            .inscriptionalParthian
        case ..<0x10C00:
            .inscriptionalPahlavi
        case ..<0x10E60:
            .oldTurkic
        case ..<0x11000:
            .arabic
        case ..<0x11080:
            .brahmi
        case ..<0x110D0:
            .kaithi
        case ..<0x11100:
            .soraSompeng
        case ..<0x11180:
            .chakma
        case ..<0x11680:
            .sharada
        case ..<0x12000:
            .takri
        case ..<0x13000:
            .cuneiform
        case ..<0x16800:
            .egyptianHieroglyphs
        case ..<0x16F00:
            .bamum
        case ..<0x1B000:
            .miao
        case ..<0x1B001:
            .katakana
        case ..<0x1D000:
            .hiragana
        case ..<0x1D167:
            .common
        case ..<0x1D16A:
            .inherited
        case ..<0x1D17B:
            .common
        case ..<0x1D183:
            .inherited
        case ..<0x1D185:
            .common
        case ..<0x1D18C:
            .inherited
        case ..<0x1D1AA:
            .common
        case ..<0x1D1AE:
            .inherited
        case ..<0x1D200:
            .common
        case ..<0x1D300:
            .greek
        case ..<0x1EE00:
            .common
        case ..<0x1F000:
            .arabic
        case ..<0x1F200:
            .common
        case ..<0x1F201:
            .hiragana
        case ..<0x20000:
            .common
        case ..<0xE0001:
            .han
        case ..<0xE0100:
            .common
        case ..<0xE01F0:
            .inherited
        default:
            .unknown
        }
    }
}

Messung
CHZG
839710093

¤ Dauer der Verarbeitung: 0.3 Sekunden  (vorverarbeitet am  2026-11-04) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover


Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.