Benutzer:Schnark/js/unicode-analyze.js

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

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
  • Internet Explorer/Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
  • Opera: Strg+F5
//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>