1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123
// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPLv3.0 var Convert = (function() { function convert(format, str) { return str.split("").map(function(c) { var code = c.charCodeAt(0); var big = String.fromCharCode(format.big[0], format.big[1] - 65 + code); var small = String.fromCharCode(format.small[0], format.small[1] - 97 + code); if (code >= 65 && code <= 90) { return big; } else if (code >= 97 && code <= 122) { return small; } return c; }).join(format.spaceCharacters ? format.spaceCharacters : ""); } function partial(fn, args) { return function() { var mergedArgs = args.concat(Array.prototype.slice.apply(arguments)); return fn.apply(this, mergedArgs); } } var formats = [ { format: { big: [0xD835, 0xDD6C], small: [0xD835, 0xDD86] }, key: "Fraktur" }, { format: { big: [0xD835, 0xDCD0], small: [0xD835, 0xDCEA] }, key: "Script" }, { format: { big: [0xD835, 0xDD38], small: [0xD835, 0xDD52] }, key: "Double Struck" }, { format: { big: [0x0000, 0xFF21], small: [0x0000, 0xFF41], }, key: "Full width" }, { format: { big: [0xD835, 0xDE70], small: [0xD835, 0xDE8A] }, key: "Monospace" }, { format: { big: [0xD835, 0xDC00], small: [0xD835, 0xDC1A] }, key: "Bold" }, { format: { big: [0xD83C, 0xDD10], small: [0xD83C, 0xDD10] }, key: "Parenthesized" }, { format: { big: [0xD83C, 0xDD30], small: [0xD83C, 0xDD30] }, key: "Squared" }, { format: { big: [0xD83C, 0xDD50], small: [0xD83C, 0xDD50] }, key: "Negative Circled" }, { format: { big: [0xD83C, 0xDD70], small: [0xD83C, 0xDD70] }, key: "Negative Squared" }, { format: { big: [0xD83C, 0xDDE6], small: [0xD83C, 0xDDE6], spaceCharacters: " " }, key: "Regional Indicator" }, { format: { big: [0xD83C, 0xDDE6], small: [0xD83C, 0xDDE6], spaceCharacters: "\u200b" }, key: "Regional Indicator (zero space)" } ]; var fromatsWithFn = formats.map(function(obj) { obj.fn = partial(convert, [obj.format]); return obj; }); return { formats: fromatsWithFn } })();