Benutzer:Schnark/js/unicode-analyze.js
< Benutzer:Schnark | js
Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.
- Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
- Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
- Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
//Dokumentation unter [[Benutzer:Schnark/js/unicode-analyze]] <nowiki>
/*global mediaWiki*/
/*jshint bitwise: false*/
(function ($, mw) {
"use strict";
$.when(mw.loader.using('mediawiki.util'), $.ready).then(function () {
//virtual indent
function link (page, text) {
return mw.html.element('a', {href: 'https://de.wikipedia.org/wiki/' +
mw.util.wikiUrlencode(page)}, text || page);
}
function hex (c) {
return 'U+' + ('000' + c.toString(16).toUpperCase()).replace(/^0+([0-9A-F]{4,})$/, '$1');
}
var chars = {
0x0020: link('Leerzeichen'),
0x00A0: link('Geschütztes Leerzeichen'),
0x00AD: link('Weiches Trennzeichen'),
0x034F: link('Combining Grapheme Joiner', 'CGJ'),
0x061C: link('Bidirektionales Steuerzeichen', 'ALM'),
0x2000: 'EN QUAD',
0x2001: 'EM QUAD',
0x2002: 'EN SPACE',
0x2003: 'EM SPACE',
0x2004: 'THREE-PER-EM SPACE',
0x2005: 'FOUR-PER-EM SPACE',
0x2006: 'SIX-PER-EM SPACE',
0x2007: 'FIGURE SPACE',
0x2008: 'PUNCTUATION SPACE',
0x2009: 'THIN SPACE',
0x200A: 'HAIR SPACE',
0x200B: link('Breitenloses Leerzeichen', 'ZERO WIDTH SPACE'),
0x200C: link('Bindehemmer', 'ZWNJ'),
0x200D: link('Breitenloser Verbinder', 'ZWJ'),
0x200E: link('Bidirektionales Steuerzeichen', 'LRM'),
0x200F: link('Bidirektionales Steuerzeichen', 'RLM'),
0x2010: 'HYPHEN',
0x2011: 'NON-BREAKING HYPHEN',
0x2012: 'FIGURE DASH',
0x2013: 'EN DASH',
0x2014: 'EM DASH',
0x2015: 'HORIZONTAL BAR',
0x2028: 'LINE SEPARATOR',
0x2029: 'PARAGRAPH SEPARATOR',
0x202A: link('Bidirektionales Steuerzeichen', 'LRE'),
0x202B: link('Bidirektionales Steuerzeichen', 'RLE'),
0x202C: link('Bidirektionales Steuerzeichen', 'PDF'),
0x202D: link('Bidirektionales Steuerzeichen', 'LRO'),
0x202E: link('Bidirektionales Steuerzeichen', 'RLO'),
0x202F: 'NARROW NO-BREAK SPACE',
0x205F: 'MEDIUM MATHEMATICAL SPACE',
0x2060: 'WORD JOINER',
0x2061: 'FUNCTION APPLICATION',
0x2062: 'INVISIBLE TIMES',
0x2063: 'INVISIBLE SEPARATOR',
0x2064: 'INVISIBLE PLUS',
0x2066: link('Bidirektionales Steuerzeichen', 'LRI'),
0x2067: link('Bidirektionales Steuerzeichen', 'RLI'),
0x2068: link('Bidirektionales Steuerzeichen', 'FSI'),
0x2069: link('Bidirektionales Steuerzeichen', 'PDI')
//TODO evt. weitere Zeichen
},
blocks = [
//[Ende, 'Name'] bzw. [Ende, 'Name', true] für unverlinkte
//geplante und noch unbelegte Blöcke auskommentiert
[0x007F, 'Basis-Lateinisch'],
[0x00FF, 'Lateinisch-1, Ergänzung'],
[0x017F, 'Lateinisch, erweitert-A'],
[0x024F, 'Lateinisch, erweitert-B'],
[0x02AF, 'IPA-Erweiterungen'],
[0x02FF, 'Spacing Modifier Letters'],
[0x036F, 'Kombinierende diakritische Zeichen'],
[0x03FF, 'Griechisch und Koptisch'],
[0x04FF, 'Kyrillisch'],
[0x052F, 'Kyrillisch, Ergänzung'],
[0x058F, 'Armenisch'],
[0x05FF, 'Hebräisch'],
[0x06FF, 'Arabisch'],
[0x074F, 'Syrisch'],
[0x077F, 'Arabisch, Ergänzung'],
[0x07BF, 'Thaana'],
[0x07FF, 'N’Ko'],
[0x083F, 'Samaritanisch'],
[0x085F, 'Mandäisch'],
[0x086F, 'Syrisch, Ergänzung'],
//[0x089F, ''],
[0x08FF, 'Arabisch, erweitert-A'],
[0x097F, 'Devanagari'],
[0x09FF, 'Bengalisch'],
[0x0A7F, 'Gurmukhi'],
[0x0AFF, 'Gujarati'],
[0x0B7F, 'Oriya'],
[0x0BFF, 'Tamilisch'],
[0x0C7F, 'Telugu'],
[0x0CFF, 'Kannada'],
[0x0D7F, 'Malayalam'],
[0x0DFF, 'Singhalesisch'],
[0x0E7F, 'Thailändisch'],
[0x0EFF, 'Laotisch'],
[0x0FFF, 'Tibetisch'],
[0x109F, 'Birmanisch'],
[0x10FF, 'Georgisch'],
[0x11FF, 'Hangeul-Jamo'],
[0x137F, 'Äthiopisch'],
[0x139F, 'Äthiopisch, Zusatz'],
[0x13FF, 'Cherokee'],
[0x167F, 'Vereinheitlichte Silbenzeichen kanadischer Ureinwohner'],
[0x169F, 'Ogam'],
[0x16FF, 'Runen'],
[0x171F, 'Tagalog'],
[0x173F, 'Hanunóo'],
[0x175F, 'Buid'],
[0x177F, 'Tagbanuwa'],
[0x17FF, 'Khmer'],
[0x18AF, 'Mongolisch'],
[0x18FF, 'Vereinheitlichte Silbenzeichen kanadischer Ureinwohner, erweitert'],
[0x194F, 'Limbu'],
[0x197F, 'Tai Le'],
[0x19DF, 'Neu-Tai-Lue'],
[0x19FF, 'Khmer-Symbole'],
[0x1A1F, 'Buginesisch'],
[0x1AAF, 'Lanna'],
[0x1AFF, 'Kombinierende diakritische Zeichen, erweitert'],
[0x1B7F, 'Balinesisch'],
[0x1BBF, 'Sundanesisch'],
[0x1BFF, 'Batak'],
[0x1C4F, 'Lepcha'],
[0x1C7F, 'Ol Chiki'],
[0x1C8F, 'Kyrillisch, erweitert-C'],
[0x1CBF, 'Georgisch, erweitert'],
[0x1CCF, 'Sundanesisch, Ergänzung'],
[0x1CFF, 'Vedische Erweiterungen'],
[0x1D7F, 'Phonetische Erweiterungen'],
[0x1DBF, 'Phonetische Erweiterungen, Ergänzung'],
[0x1DFF, 'Kombinierende diakritische Zeichen, Ergänzung'],
[0x1EFF, 'Lateinisch, weiterer Zusatz'],
[0x1FFF, 'Griechisch, Zusatz'],
[0x206F, 'Allgemeine Interpunktion'],
[0x209F, 'Hoch- und tiefgestellte Zeichen'],
[0x20CF, 'Währungszeichen'],
[0x20FF, 'Kombinierende diakritische Zeichen für Symbole'],
[0x214F, 'Buchstabenähnliche Symbole'],
[0x218F, 'Zahlzeichen'],
[0x21FF, 'Pfeile'],
[0x22FF, 'Mathematische Operatoren'],
[0x23FF, 'Verschiedene technische Zeichen'],
[0x243F, 'Symbole für Steuerzeichen'],
[0x245F, 'Optische Zeichenerkennung'],
[0x24FF, 'Umschlossene alphanumerische Zeichen'],
[0x257F, 'Rahmenzeichnung'],
[0x259F, 'Blockelemente'],
[0x25FF, 'Geometrische Formen'],
[0x26FF, 'Verschiedene Symbole'],
[0x27BF, 'Dingbats'],
[0x27EF, 'Verschiedene mathematische Symbole-A'],
[0x27FF, 'Zusätzliche Pfeile-A'],
[0x28FF, 'Braille-Zeichen'],
[0x297F, 'Zusätzliche Pfeile-B'],
[0x29FF, 'Verschiedene mathematische Symbole-B'],
[0x2AFF, 'Zusätzliche Mathematische Operatoren'],
[0x2BFF, 'Verschiedene Symbole und Pfeile'],
[0x2C5F, 'Glagolitisch'],
[0x2C7F, 'Lateinisch, erweitert-C'],
[0x2CFF, 'Koptisch'],
[0x2D2F, 'Georgisch, Ergänzung'],
[0x2D7F, 'Tifinagh'],
[0x2DDF, 'Äthiopisch, erweitert'],
[0x2DFF, 'Kyrillisch, erweitert-A'],
[0x2E7F, 'Zusätzliche Interpunktion'],
[0x2EFF, 'CJK-Radikale, Ergänzung'],
[0x2FDF, 'Kangxi-Radikale'],
//[0x2FEF, ''],
[0x2FFF, 'Ideographische Beschreibungszeichen'],
[0x303F, 'CJK-Symbole und -Interpunktion'],
[0x309F, 'Hiragana'],
[0x30FF, 'Katakana'],
[0x312F, 'Bopomofo'],
[0x318F, 'Hangeul-Jamo, Kompatibilität'],
[0x319F, 'Kanbun'],
[0x31BF, 'Bopomofo, erweitert'],
[0x31EF, 'CJK-Striche'],
[0x31FF, 'Katakana, Phonetische Erweiterungen'],
[0x32FF, 'Umschlossene CJK-Zeichen und -Monate'],
[0x33FF, 'CJK-Kompatibilität'],
[0x4DBF, 'Vereinheitlichte CJK-Ideogramme, Erweiterung A'],
[0x4DFF, 'I-Ging-Hexagramme'],
[0x9FFF, 'Vereinheitlichte CJK-Ideogramme'],
[0xA48F, 'Yi-Silbenzeichen'],
[0xA4CF, 'Yi-Radikale'],
[0xA4FF, 'Lisu'],
[0xA63F, 'Vai'],
[0xA69F, 'Kyrillisch, erweitert-B'],
[0xA6FF, 'Bamum'],
[0xA71F, 'Modifizierende Tonzeichen'],
[0xA7FF, 'Lateinisch, erweitert-D'],
[0xA82F, 'Syloti Nagri'],
[0xA83F, 'Allgemeine indische Ziffern'],
[0xA87F, 'Phagspa'],
[0xA8DF, 'Saurashtra'],
[0xA8FF, 'Devanagari, erweitert'],
[0xA92F, 'Kayah Li'],
[0xA95F, 'Rejang'],
[0xA97F, 'Hangeul-Jamo, erweitert-A'],
[0xA9DF, 'Javanisch'],
[0xA9FF, 'Birmanisch, erweitert-B'],
[0xAA5F, 'Cham'],
[0xAA7F, 'Birmanisch, erweitert-A'],
[0xAADF, 'Tai Viet'],
[0xAAFF, 'Meitei-Mayek, Erweiterungen'],
[0xAB2F, 'Äthiopisch, erweitert-A'],
[0xAB6F, 'Lateinisch, erweitert-E'],
[0xABBF, 'Cherokee, Ergänzung'],
[0xABFF, 'Meitei-Mayek'],
[0xD7AF, 'Hangeul-Silbenzeichen'],
[0xD7FF, 'Hangeul-Jamo, erweitert-B'],
[0xDB7F, 'High Surrogates', true],
[0xDBFF, 'High Surrogates (privater Bereich)', true],
[0xDFFF, 'Low Surrogates', true],
[0xF8FF, 'Private Use Zone', true],
[0xFAFF, 'CJK-Ideogramme, Kompatibilität'],
[0xFB4F, 'Alphabetische Präsentationsformen'],
[0xFDFF, 'Arabische Präsentationsformen-A'],
[0xFE0F, 'Variantenselektoren'],
[0xFE1F, 'Vertikale Formen'],
[0xFE2F, 'Kombinierende halbe diakritische Zeichen'],
[0xFE4F, 'CJK-Kompatibilitätsformen'],
[0xFE6F, 'Kleine Formvarianten'],
[0xFEFF, 'Arabische Präsentationsformen-B'],
[0xFFEF, 'Halbbreite und vollbreite Formen'],
[0xFFFD, 'Spezielles'],
[0x1007F, 'Linear-B-Silbenzeichen'],
[0x100FF, 'Linear-B-Ideogramme'],
[0x1013F, 'Ägäische Zahlzeichen'],
[0x1018F, 'Altgriechische Zahlzeichen'],
[0x101CF, 'Alte Symbole'],
[0x101FF, 'Diskos von Phaistos'],
//[0x1027F, ''],
[0x1029F, 'Lykisch'],
[0x102DF, 'Karisch'],
[0x102FF, 'Koptische Zahlzeichen'],
[0x1032F, 'Altitalisch'],
[0x1034F, 'Gotisch'],
[0x1037F, 'Altpermisch'],
[0x1039F, 'Ugaritisch'],
[0x103DF, 'Altpersisch'],
//[0x103FF, 'Shaw-Alphabet QS'], //?
[0x1044F, 'Mormonenalphabet'],
[0x1047F, 'Shaw-Alphabet'],
[0x104AF, 'Osmaniya'],
[0x104FF, 'Osage'],
[0x1052F, 'Albanisch'],
[0x1056F, 'Alwanisch'],
//[0x105BF, 'Vithkuqi-Alphabet'], //?
//[0x105FF, 'Nordost-Iberisch'],
[0x1077F, 'Linear A'],
//[0x107BF, 'Todhri-Schrift'], //?
//[0x107FF, 'Zyprisch-Minoisch'], //?
[0x1083F, 'Kyprische Schrift'],
[0x1085F, 'Aramäisch'],
[0x1087F, 'Palmyrenisch'],
[0x108AF, 'Nabatäisch'],
//[0x108BF, ''],
//[0x108DF, 'Numidisch'], //?
[0x108FF, 'Hatran'],
[0x1091F, 'Phönizisch'],
[0x1093F, 'Lydisch'],
//[0x1097F, ''],
[0x1099F, 'Meroitische Hieroglyphen'],
[0x109FF, 'Meroitisch-demotisch'],
[0x10A5F, 'Kharoshthi'],
[0x10A7F, 'Altsüdarabisch'],
[0x10A9F, 'Altnordarabisch'],
//[0x10ABF, 'Baltisch'],
[0x10AFF, 'Manichäisch'],
[0x10B3F, 'Avestisch'],
[0x10B5F, 'Parthisch'],
[0x10B7F, 'Inschriften-Pahlavi'],
[0x10BAF, 'Psalter-Pahlavi'],
//[0x10BDF, 'Buch-Pahlavi'],
//[0x10BFF, 'Altsogdisch'],
[0x10C4F, 'Alttürkisch'],
//[0x10C6F, 'Baburisch'],
//[0x10C7F, ''],
[0x10CFF, 'Altungarisch'],
[0x10D3F, 'Hanifi Rohingya'],
//[0x10D7F, 'Wolof'],
//[0x10D8F, ''],
//[0x10DFF, 'Byblos-Schrift'], //?
//[0x10E5F, 'Sogdisch'], //?
[0x10E7F, 'Rumi-Ziffern'],
//[0x10EDF, 'Uigurisch'], //?
//[0x10EFF, ''],
[0x10F2F, 'Altsogdisch'],
[0x10F6F, 'Sogdisch'],
//[0x10FDF, ''],
[0x10FFF, 'Elymaisch'],
[0x1107F, 'Brahmi'],
[0x110CF, 'Kaithi'],
[0x110FF, 'Sorang-Sompeng'],
[0x1114F, 'Chakma'],
[0x1117F, 'Mahajani'],
[0x111DF, 'Sharada'],
[0x111FF, 'Singhalesische Zahlzeichen'],
[0x1124F, 'Khojki'],
//[0x1127F, 'Landa-Alphabet'],
[0x112AF, 'Multanisch'],
[0x112FF, 'Khudabadi'],
[0x1137F, 'Grantha'],
//[0x113DF, 'Tulu'],
//[0x113FF, 'Scharada, erweitert'], //?
[0x1147F, 'Newa'],
[0x114DF, 'Tirhuta'],
//[0x114FF, 'Tanisch'],
//[0x1155F, 'Ranjana'],
//[0x1157F, ''],
[0x115FF, 'Siddham'],
[0x1165F, 'Modi'],
[0x1167F, 'Mongolisch, Ergänzung'],
[0x116CF, 'Takri'],
//[0x116FF, 'Jenticha-Schrift'],
[0x1173F, 'Ahom'],
//[0x1179F, 'Zou'],
//[0x117FF, 'Pyu-Schrift'],
[0x1184F, 'Dogra'],
//[0x1187F, 'Khe Prih (Gurung)'], //?
//[0x1189F, ''],
[0x118FF, 'Varang Kshiti'],
//[0x1193F, 'Tolong Siki'],
//[0x1197F, 'Tikamuli'],
//[0x1199F, ''],
[0x119FF, 'Nandinagari'],
[0x11A4F, 'Dsanabadsar-Quadratschrift'],
[0x11AAF, 'Sojombo'],
//[0x11ABF, ''],
[0x11AFF, 'Pau Cin Hau'],
//[0x11B4F, 'Dhives Akuru'],
//[0x11B8F, 'Leke'],
//[0x11BFF, ''],
[0x11C6F, 'Bhaiksuki'],
[0x11CBF, 'Marchen'],
//[0x11CFF, 'Baltisch-B'],
[0x11D5F, 'Masaram Gondi'],
[0x11DAF, 'Gunjala Gondi'],
//[0x11DFF, 'Kawi'],
//[0x11E6F, 'Tocharisch'],
//[0x11EDF, ''],
[0x11EFF, 'Makassar'],
//[0x11F5F, '"Chalukya (Box-Headed)"'], //?
//[0x11FBF, '"Chola"'], //?
[0x11FFF, 'Tamilisch, Ergänzung'],
[0x123FF, 'Keilschrift'],
[0x1247F, 'Keilschrift-Zahlzeichen und -Interpunktion'],
[0x1254F, 'Frühe Keilschrift'],
//[0x125FF, ''],
//[0x12DFF, 'Proto-Keilschrift'], //?
//[0x12F8F, 'Indus-Schrift'],
//[0x12FFF, ''],
[0x1342F, 'Ägyptische Hieroglyphen'],
[0x1343F, 'Ägyptische Hieroglyphen-Steuerzeichen'],
//[0x134FF, ''],
//[0x140FF, 'Ägypt. Hieroglyphen, erweitert'],
//[0x143FF, 'Pau-Cin-Hau-Silben'],
[0x1467F, 'Anatolische Hieroglyphen'],
//[0x146FF, ''],
//[0x14B5F, 'Eskaya-Schrift'],
//[0x153FF, ''],
//[0x158FF, 'Maya-Hieroglyphen'], //?
//[0x15BFF, ''],
//[0x15FFF, 'Atzteken-Piktogramme'], //?
//[0x1607F, 'Cirth'],
//[0x160FF, 'Tengwar'],
//[0x1619F, ''],
//[0x161FF, 'Moonalphabet'],
//[0x166FF, 'Bliss-Symbole'],
//[0x167AF, 'Bagam-Schrift'],
//[0x167FF, ''],
[0x16A3F, 'Bamum, Ergänzung'],
[0x16A6F, 'Mro'],
//[0x16ACF, 'Tangsa-Schrift (Mossang)'],
[0x16AFF, 'Bassa Vah'],
[0x16B8F, 'Pahawh Hmong'],
//[0x16BFF, 'Woleai-Schrift'],
//[0x16C7F, 'Kpelle'],
//[0x16CCF, 'Afaka'],
//[0x16CFF, 'Tangsa-Schrift (Khimhun)'],
//[0x16DCF, 'Loma'],
//[0x16DFF, 'Beria'], //?
//[0x16E3F, 'Mwangwego'],
[0x16E9F, 'Medefaidrin'],
//[0x16EFF, 'Mandombe'],
[0x16F9F, 'Pollard-Schrift'],
//[0x16FDF, ''],
[0x16FFF, 'Ideographische Symbole und Interpunktion'],
[0x187FF, 'Xixia'],
[0x18AFF, 'Xixia-Komponenten'],
//[0x18FFF, ''],
//[0x1955F, 'Jurchen'],
//[0x1959F, 'Jurchen Radikale'],
//[0x195FF, ''],
//[0x1977F, 'Khitan-Schmalschrift'], //?
//[0x197FF, ''],
//[0x1A0FF, 'Khitan-Ideographen'],
//[0x1A7FF, ''],
//[0x1AAAF, '"Naxi Geba"'], //?
//[0x1AABF, ''],
//[0x1AFFF, 'Naxi Dongba'],
[0x1B0FF, 'Kana, Ergänzung'],
[0x1B12F, 'Kana, erweitert-A'],
[0x1B16F, 'Kleine Kana, erweitert'],
[0x1B2FF, 'Nüshu'],
//[0x1B37F, '"Kaida"'], //?
//[0x1B4FF, ''],
//[0x1BBFF, '"Proto-Elamite"'], //?
[0x1BC9F, 'Duployé-Kurzschrift'],
[0x1BCAF, 'Kurzschrift-Steuerzeichen'],
//[0x1BCFF, 'Pitman-Kurzschrift'],
//[0x1BFFF, 'Kurzschrift'], //?
//[0x1CA7F, 'Micmac-Hieroglyphen'], //?
//[0x1CDBF, 'Rongorongo'], //?
//[0x1CFFF, ''],
[0x1D0FF, 'Byzantinische Notenschriftzeichen'],
[0x1D1FF, 'Notenschriftzeichen'],
[0x1D24F, 'Altgriechische Notenschriftzeichen'],
//[0x1D2DF, ''],
[0x1D2FF, 'Maya-Zahlzeichen'],
[0x1D35F, 'Tai-Xuan-Jing-Symbole'],
[0x1D37F, 'Zählstabziffern'],
//[0x1D3FF, ''],
[0x1D7FF, 'Mathematische alphanumerische Symbole'],
[0x1DAAF, 'Sutton-SignWriting'],
//[0x1DFFF, ''],
[0x1E02F, 'Glagolitisch, Ergänzung'],
//[0x1E0FF, ''],
[0x1E14F, 'Nyiakeng Puachue Hmong'],
//[0x1E2DF, ''],
[0x1E2FF, 'Wancho'],
//[0x1E7FF, ''],
[0x1E8DF, 'Mende-Schrift'],
//[0x1E8FF, ''],
[0x1E95F, 'Adlam'],
//[0x1EBFF, ''],
//[0x1EC6F, '"Persian Siyaq Numbers"'],
[0x1ECBF, 'Indische Siyaq-Zahlzeichen'],
//[0x1ECFF, '"Diwani Siyaq Numbers"'],
[0x1ED4F, 'Ottomanische Siyaq-Zahlzeichen'],
//[0x1EDFF, ''],
[0x1EEFF, 'Arabische mathematische alphanumerische Symbole'],
//[0x1EFFF, ''],
[0x1F02F, 'Mahjonggsteine'],
[0x1F09F, 'Dominosteine'],
[0x1F0FF, 'Spielkarten'],
[0x1F1FF, 'Zusätzliche umschlossene alphanumerische Zeichen'],
[0x1F2FF, 'Zusätzliche umschlossene CJK-Zeichen'],
[0x1F5FF, 'Verschiedene piktografische Symbole'],
[0x1F64F, 'Smileys'],
[0x1F67F, 'Ziersymbole'],
[0x1F6FF, 'Verkehrs- und Kartensymbole'],
[0x1F77F, 'Alchemistische Symbole'],
[0x1F7FF, 'Geometrische Formen, erweitert'],
[0x1F8FF, 'Zusätzliche Pfeile-C'],
[0x1F9FF, 'Zusätzliche piktografische Symbole'],
[0x1FA6F, 'Schachsymbole'],
[0x1FAFF, 'Piktografische Symbole, erweitert-A'],
//[0x1FFFD, ''],
[0x2A6DF, 'Vereinheitlichte CJK-Ideogramme, Erweiterung B'],
//[0x2A6FF, ''],
[0x2B73F, 'Vereinheitlichte CJK-Ideogramme, Erweiterung C'],
[0x2B81F, 'Vereinheitlichte CJK-Ideogramme, Erweiterung D'],
[0x2CEAF, 'Vereinheitlichte CJK-Ideogramme, Erweiterung E'],
[0x2EBEF, 'Vereinheitlichte CJK-Ideogramme, Erweiterung F'],
//[0x2F7FF, ''],
[0x2FA1F, 'CJK-Ideogramme, Kompatibilität, Ergänzung'],
//[0x2FFFD, ''],
//[0x3FFFD, ''],
[0xE007F, 'Tags'],
//[0xE00FF, ''],
[0xE01EF, 'Variantenselektoren, Ergänzung'],
//[0xEFFFD, ''],
[0xFFFFD, 'Supplementary Private Use Area-A', true],
[0x10FFFD, 'Supplementary Private Use Area-B', true]
],
lastString = '';
function getBlock (c) {
var i, block;
for (i = 0; i < blocks.length; i++) {
if (c <= blocks[i][0]) {
block = blocks[i];
return block[2] ? block[1] : link('Unicodeblock ' + block[1], block[1]);
}
}
return false; //sollte nicht passieren
}
function getInformation (c) {
var info = [], block;
if (c in chars) {
info.push(chars[c]);
}
info.push(hex(c));
block = getBlock(c);
if (block) {
info.push(block);
}
return info.join(', ');
}
function splitFirstChar (s) {
if (s.length === 1) {
return [s, s.charCodeAt(0), ''];
}
var c = s.charAt(0), cc = s.charCodeAt(0);
s = s.slice(1);
//jscs:disable disallowYodaConditions
//ja, ich sollte einfach jscs aktualisieren
if (0xD800 <= cc && cc <= 0xDBFF && 0xDC00 <= s.charCodeAt(0) && s.charCodeAt(0) <= 0xDFFF) {
c += s.charAt(0);
cc -= 0xD800;
cc <<= 10;
cc += (s.charCodeAt(0) - 0xDC00);
cc += 0x10000;
s = s.slice(1);
}
//jscs:enable disallowYodaConditions
return [c, cc, s];
}
function analyzeChar (c, cc) {
return mw.html.element('span', {style: 'font-size: 200%; margin-right: 1em;'}, c) +
' ' + getInformation(cc);
}
function analyzeString (s) {
if (s.length === 0) {
return '';
}
var html = '', ret;
while (s.length > 0) {
ret = splitFirstChar(s);
html += mw.html.element('li', {}, new mw.html.Raw(analyzeChar(ret[0], ret[1])));
s = ret[2];
}
return mw.html.element('ul', {style: 'height: 5em; overflow: auto; border: 1px dotted #00af89;'},
new mw.html.Raw(html));
}
function init () {
$('#footer').prepend(
mw.html.element('input', {id: 'unicode-analyze-input', class: 'noprint', size: 50, style: 'width: 100%;'}) +
mw.html.element('a', {id: 'unicode-analyze-alternative',
href: 'https://schnark.github.io/unicode/index.html#chars'},
'Alternative Analyse') +
mw.html.element('div', {id: 'unicode-analyze-output'}, '')
);
var $input = $('#unicode-analyze-input'),
$link = $('#unicode-analyze-alternative').hide(), //zu aufdringlich
$output = $('#unicode-analyze-output');
$input.on('change keyup paste', function () {
if ($input.val() !== lastString) {
lastString = $input.val();
$link.show().attr('href', function (i, href) {
return href.replace(/#.*/, '#chars' + (lastString ? '=' + encodeURIComponent(lastString) : ''));
});
$output.html(analyzeString(lastString));
mw.hook('wikipage.content').fire($output);
}
});
}
init();
//virtual outdent
});
})(jQuery, mediaWiki);
//</nowiki>