Created
June 29, 2012 13:09
-
-
Save zzandy/3017836 to your computer and use it in GitHub Desktop.
Fraktur
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | |
| <html xmlns="http://www.w3.org/1999/xhtml" > | |
| <head> | |
| <title>Fraktur</title> | |
| <style type="text/css"> | |
| #fraktur{display:none; font-weight:bold} | |
| </style> | |
| </head> | |
| <body> | |
| <textarea id="input" rows="3" cols="20"></textarea> | |
| <pre id="output"></pre> | |
| <script type="text/javascript"> | |
| Array.prototype.times = function(num) | |
| { | |
| var res = []; | |
| for(var i=0;i<num;++i) | |
| for(var j=0;j<this.length;++j) | |
| res.push(this[j]); | |
| return res; | |
| } | |
| Array.prototype.map = function(fn){ | |
| var res = []; | |
| for(var i=0;i<this.length;++i){ | |
| res.push(fn(this[i], i, this)); | |
| } | |
| return res; | |
| } | |
| Array.prototype.reduce = function(init, fn){ | |
| if(!fn){ | |
| fn = init; | |
| var res = this[0]; | |
| var n = 1; | |
| } | |
| else { | |
| var res = init; | |
| var n = 0; | |
| } | |
| for(var i=n;i<this.length;++i){ | |
| res = fn(res, this[i], i, this); | |
| } | |
| return res; | |
| } | |
| var input = document.getElementById('input'); | |
| var output = document.getElementById('output'); | |
| var fontdef = document.getElementById('fraktur'); | |
| input.onkeyup = function () { | |
| // TODO: Kerning | |
| var h = 15; | |
| var text = [''].times(h); | |
| for (var i = 0; i < input.value.length; ++i) { | |
| var c = input.value[i]; | |
| var n = c.charCodeAt(0) - 'A'.charCodeAt(0) - ((c.charCodeAt(0) >= 'a'.charCodeAt(0)) ? 6 : 0); | |
| var a = document.getElementById('fraktur').innerHTML; | |
| var b = a.split(/\n/); | |
| var g = b.slice(n * h, (n + 1) * h); | |
| var trailing = text.map(function(s){return s.match(/\s*$/)[0].length}); | |
| var leading = g.map(function(s){return s.match(/^\s*/)[0].length}); | |
| var gap = trailing.reduce(1000, function(xgap, trail, i){ | |
| var haveSpecial = !!g[i].match(/^\s*[)'`,\\\/]/) || !!text[i].match(/[)'`,\\\/]\s*$/); | |
| return Math.min(xgap, trail + leading[i] + (haveSpecial?1:0)); | |
| }); | |
| var spacing = 2; | |
| if(gap > spacing){ | |
| text = text.map(function(s, i){ | |
| var cut = Math.min(gap - spacing, trailing[i]); | |
| var rx = new RegExp('\\s{'+cut+'}$'); | |
| return s.replace(rx, ''); | |
| }); | |
| g = g.map(function(s, i){ | |
| var cut = (gap-spacing) - Math.min(gap - spacing, trailing[i]); | |
| var rx = new RegExp('^\\s{'+cut+'}'); | |
| return s.replace(rx, ''); | |
| }); | |
| } | |
| for (var j = 0; j < h; ++j) text[j] = text[j] + g[j]; | |
| } | |
| output.innerHTML = text.join('<br/>').replace(/\s/g, ' '); | |
| } | |
| </script> | |
| <pre id="fraktur"> | |
| __ :l, | |
| .dWAWAb-, | "fb, | |
| d' 'Y&0_ | ; ' | |
| f '%W | f! | |
| WY | B| | |
| _. HP |==H! | |
| fd) ,P' |P*M| | |
| ',_,f* | H! | |
| _,__ | M| | |
| ,;*''**Gb,y/ WA,,' | |
| f 'Y' 'V* | |
| ', _ | |
| *-===-' | |
| __ _ | |
| .dWAWAb- , 'd" | |
| d' 'Y&0_d'| A, | |
| f '%W | Yd | |
| WY | :B | |
| _. HP =|=* | |
| fdW ,P' | *b | |
| ',_.f* | Hb | |
| _,_ ,a,| Mf | |
| ,;*'*Gb;,/("d| ,D' | |
| f 'V' '-==d*' | |
| ', _ | |
| *-===-' | |
| __ , | |
| ,/AVb,/ | |
| ,-,d *" | |
| d' Gb, | | |
| dj 'Gb, | | |
| ;Bj *AV,-|- | |
| ;Mj Yq | | |
| YA 'f | | |
| 'VA==y_/ | , | |
| ,;'XMb,___,-' | |
| f *YAVAV*' | |
| ', _ | |
| *-===-' | |
| .=_ ___ | |
| 'YAbgfBGDEbj, | |
| '**' . '*Yb, | |
| ,f VM, | |
| Hb, VA | |
| 'Yb, BD | |
| 'W; Hf | |
| Y' dY | |
| __/ ;7 | |
| ,;''*YNb,,-' | |
| f V* | |
| ', _ | |
| *-===-' | |
| _ | |
| ,dAb,,f | |
| d **' | |
| ,b, | | |
| :Gb, -=| | |
| *AV,f GD | |
| 'YM| | | |
| Xf | | |
| ,=g=_ ,P | | |
| ,*'"*YAVb=,_ , | |
| f '*YAVf* | |
| ', _' | |
| *-=-' | |
| ____ | |
| d*"*YBXbg=,_,j | |
| f '*YdP*' | |
| \ ,-,/ | | |
| *=+* b, _| | |
| AV,f GD | |
| 'YM| | | |
| Xf | | |
| Y* | | |
| ;'*YAb, / | |
| f '*A* | |
| ', _' | |
| *--==-' | |
| , | |
| -hb | |
| _-,/ 'D | |
| dP'd ' | |
| dP Gb, ,, | |
| ;d| 'Gb,' 'G, | |
| ;B| *Ab *A; | |
| ;M; *G| ;M| | |
| YA f' ;HP | |
| \Vy=,_/ ,NP | |
| ,' 'b,*' ,d* | |
| f '"**"' | |
| ', _ | |
| *-==-' | |
| _g, , | |
| ,'qYaf | |
| d ' | ; | |
| ,b, .|4d, | |
| :Gb,,' |'VA | |
| *AV, | *MA, | |
| YM| | 'VA | |
| Xf | 'H | |
| ,==_ P GD B | |
| ,*'"*YAb/ \' d' | |
| f '* '**' | |
| ', _ ' | |
| *-=-' | |
| ,ga,_ | |
| f *YAb,=-' | |
| l |' 7 | |
| '--'| ,G | |
| | ;W; | |
| _| 'QB, | |
| 'T 'GD, | |
| | '5| | |
| _,==,| P' | |
| ,*' '*Gb,,f' | |
| f 'Y*' | |
| * ' | |
| '-.__.-' | |
| ,ga,_ | |
| f *YAb,=-' | |
| l |' 7 | |
| '--'| ,G | |
| | ;W; | |
| | Gh, | |
| | VA\ | |
| _| 'QB, | |
| 'T 'GD, | |
| | '5| | |
| _,==,| P' | |
| ,*' '*Gb,,f' | |
| f 'Y*' | |
| '-.__.-' | |
| ,g, ,' | |
| ,f*bGf' | |
| ,d " ,,dP | |
| !B, .| YA | |
| :Gb, / | !M | |
| *AVf | !P | |
| 'YM-=|=' | |
| 'B| |'Y, | |
| ,;eg=_ P | 'M, . | |
| ,f "*YA,f | qYb' | |
| f '* *' | |
| ', _' | |
| *-==-' | |
| _ , | |
| ,dAb,f | |
| d, '" | |
| ;B, | | |
| :Gb, | | |
| *AV,_|_ | |
| 'YM | | |
| 'f | | |
| ,ageg=_ d' | | |
| ,f "*YAVb=,__,' | |
| f '*Yf*' | |
| ', _' | |
| *-==-' | |
| ____ _,,_ , | |
| .dPAPAXb, ,f,'"*bqby' | |
| d' 'Y&b f, "' | |
| f 'W; *b, ,f | |
| WY Yy, d' | |
| ,= Hf *& H| | |
| dW; d* d W M! | |
| '-=df* Yb * N; | |
| _,,==_ '6b, Xb | |
| /' '*GBby/ 'YA,' YA,/ | |
| f 'V * 'V | |
| i, _ | |
| *====-' | |
| _,_ _,_ , | |
| .d"'*YXb, ,f*bqgy' | |
| d' 'Y&b/ | d | |
| VH | ;f | |
| YM | d' | |
| ,qy, fP | !H| | |
| l"* P' | ;M! | |
| '=df* | |N; | |
| ,=;;=,_ | ;Xb | |
| / '*GBby/ YA,/ | |
| f 'V 'V | |
| i _ | |
| '*===-' | |
| db,_ | |
| *YAVb-_ | |
| ,/' '*YAVA, | |
| dP ,f 'XGb | |
| dP Hb YA; | |
| ;Ml *Vb 'Mj | |
| |Nj 'Gb HP | |
| 'Gb YP ,MY | |
| *B;_ f' AV | |
| -'*Yb'-=' ,d' | |
| f '*===-* | |
| i _ | |
| *-____-' | |
| _,_ _,_ | |
| .d"'*YXb, .' 7' | |
| d' 'Y&,,/ dA | |
| VH | 'Gb | |
| YM db jD | |
| , fP *__=' | |
| !GD ,P' | | |
| '-=f* | | |
| _,_,_ | , | |
| ' '*GBb,,f' | |
| f 'VP | |
| i _ | |
| ".___. ' | |
| fb,_ | |
| *YAs=-_ | |
| gf' '*YAVA, | |
| dP ,/' 'XGb | |
| dP fb YA; | |
| ;Ml Vb, 'Mj | |
| |Nj 'Gb; HP | |
| 'Gb YP ,MY | |
| *B; f' AV | |
| *Yb-'"*a,,d' | |
| ,'*===-*Yb, . | |
| l *gKf | |
| -.__.-' | |
| _,_ _,_ | |
| .d"'*YXb, .' X | |
| d' 'Y&, /| ;D; | |
| VH7 | 'Gb | |
| YM' | jD | |
| ,_ fP =|_-' | |
| !GD ,P' |'Y, | |
| '-=f* | 'M, | |
| _,_,_ | VA , | |
| . ' '*GBb,,f YBl/ | |
| f 'V' 'Yf | |
| i _ | |
| '*-___-' | |
| _, | |
| ,=' 'Gb,_/ | |
| /d' '*" | |
| GH + | |
| Ydb | | |
| 'Mb=--|*Yb;_ | |
| | YAV, | |
| + HM' | |
| ,-==_ | AV | |
| . ' '*GBb, ,f' | |
| f 'V* | |
| i _ | |
| '.___.-' | |
| ___ | |
| d*'"**Yby-,_ , | |
| ,' ,'*YAVP* | |
| f ,d .f | | |
| -._.-A* G, | | |
| dB *A, |_ | |
| HN \V;| | |
| ME *P| | |
| *Wb,_ f'| , | |
| .'"MA,"* _,f' | |
| f "YVAVf' | |
| i | |
| '-.___.-' | |
| ___ | |
| ,adYGXb, | / | |
| ,' *Y&b | d | |
| ; VHb | fG | |
| ' 'HM | Hj | |
| , ,MP | M! | |
| GD: dP' | H| | |
| '*._.f' | M! | |
| __,_,_ |,VA , | |
| .' '*GBb,,-' YBl / | |
| f 'V' 'Yf | |
| i _ | |
| '-.__.-' | |
| _,_ _,_ , | |
| .d"'*YXb, fHYbqgy' | |
| d' 'Y&b' | / | |
| " VH | f | |
| YM | ,M | |
| ,-, fP _|_!H; | |
| l0* d" | Yb; | |
| '==f' | |D' | |
| ,==:ag=, | Xf | |
| / 'YBb, ,-' | |
| f 'V*' | |
| i _ | |
| '*===*' | |
| __ __ , | |
| .dVAVAb-, ;fD&Vbgegi' | |
| d' 'Y&0_f ,; '"*"7 | |
| f '%Y d; A' | |
| AY YA; GA | |
| _. bP *Yb VAb | |
| fdY; .d*' d 'V YA | |
| '*=dP* Ysj* ;Y; | |
| _,,--_ '69b, jP | |
| ,;*''"*GYby/ 'YA;,' | |
| f 'V 'V* | |
| i, _ | |
| *====*' | |
| ,,_ , , | |
| ,df"*YAb /GDby | |
| ,f 'YA,f "' | |
| 'MY | |
| Bh | |
| ,=YE=-' | |
| -'""BN" | |
| EH | |
| __ ,YG, , | |
| ,='*Yg-,, "Ai,' | |
| f 'Y* *V | |
| l , | |
| '+,_,-+' | |
| ___ __ , | |
| ,f*"*GXa, ,dMNHbgf | |
| .' 'V&,f | "'/ | |
| ; VP | f | |
| ' !H | j; | |
| ., Jf | Gl | |
| GD: ,P' | Ml | |
| '-='' | YA | |
| _,==,_ | 'V, | |
| .' '*GBb,-' 'B | |
| f 'V' Y; | |
| i _. ay jf | |
| '*--' f*' / | |
| '-____' | |
| \,__,=gyjr, | |
| '*YdP*|"*Yb | |
| | 'l | |
| GD| f | |
| *_|__-' | |
| .*|PYA;, | |
| |_ 'YA; | |
| | XB; | |
| ,=++eg,_| ,MP | |
| / 'YAb,-*' | |
| f *' | |
| '-_ _- | |
| '**'" | |
| ,gj | |
| ,f''WA* | |
| ,A' HG | |
| gD DE | |
| GW HW | |
| 'Db ,*%b/ | |
| 'W' 'V | |
| ,-, | |
| .f'gD | |
| A! '* | |
| N| | |
| M! ,; | |
| DE/*YA | |
| FW 'M. | |
| B| W| | |
| W| ,W' | |
| ,MN,,d* | |
| *VP' | |
| .dg , | |
| ,f' **' | |
| fG | |
| HF | |
| WA | |
| 'Wb./ | |
| 'W' | |
| , | |
| f, | |
| Wb | |
| 'WA | |
| ,'VX | |
| ,f; 'WA | |
| fW VG| | |
| DG 'W! | |
| 'W, .Q' | |
| '%,,f' | |
| 'W' | |
| ,=g; | |
| f' W' | |
| Af j* | |
| DL-' | |
| Wj | |
| *W;./ | |
| 'W' | |
| ,, , | |
| .d*Gy* | |
| fj | |
| Wj | |
| _=Hf__ | |
| 'Mf | |
| W! | |
| Hj | |
| %! | |
| Wj | |
| Mj | |
| P | |
| | | |
| | | |
| ,gj | |
| ,f 'WP' | |
| ;W HE | |
| BH BF | |
| DA HE | |
| 'WA.-WA | |
| 'W* Hb | |
| 'Yb | |
| ,g; 'B | |
| f*' y | |
| '.__. | |
| ,-, | |
| .f'gD | |
| AU '* | |
| NH | |
| Mh ,, | |
| DE,*YA | |
| FW' 'W; | |
| BF EJ | |
| WH RU | |
| ,MN, B7 | |
| Y' ,H' | |
| .7' | |
| |V | |
| 'i_e | |
| _L_ | |
| 'T' | |
| ,d, | |
| ,YGf | |
| W| | |
| M| | |
| H| | |
| ,YA,' | |
| 'V | |
| _L_ | |
| 'T' | |
| .q, | |
| .fhf | |
| H| | |
| D! | |
| N| | |
| M| | |
| D! | |
| H| | |
| W! | |
| aW: B' | |
| \*_.* | |
| ,-, | |
| .f'gD | |
| A| '* | |
| N| | |
| M! ,a | |
| D|.'YA; | |
| F! jV' | |
| B|-=P' | |
| W! Yb | |
| ,M|, 'WA./ | |
| Y' *V' | |
| _-. | |
| ,f gb | |
| fB '* | |
| DG | |
| HM | |
| NH | |
| BF | |
| ME | |
| HG | |
| ,WA,' | |
| 'Y | |
| ,a, g, ,a, | |
| ' Yb,"VAf'*Yb- | |
| hW' |W BN | |
| HM |M NH | |
| DG |N EN | |
| ,HM, jK_ fW , | |
| *P 'W' 'VP | |
| ,i ,g, | |
| '*Ab,'VAY' | |
| Yf Wh | |
| H! BH | |
| D| UN | |
| .Hj, KA,- | |
| 'V 'P' | |
| ,'Yb | |
| ,j' YA | |
| fb 'G| | |
| DG W! | |
| 'W; Q' | |
| '%b,f' | |
| '*P | |
| ,b d, | |
| .dW;,'Yb, | |
| Bf W| | |
| D! G| | |
| E| H| | |
| _Bj, ,P | |
| f D|'V' | |
| ' E! | |
| B| | |
| D! | |
| P' | |
| ,g;, | |
| ,f''WV' | |
| ,A' !G | |
| gD |B | |
| GW !E | |
| 'Db ,jB | |
| 'Y" |E | |
| !B | |
| |E | |
| |B | |
| !' | |
| , d., | |
| ,dhb,*Gf' | |
| Hf | |
| NE | |
| M5 | |
| _DG,- | |
| '*V' | |
| ./db__/ | |
| ,df 'db' | |
| GH, | |
| '*ba=mdb, | |
| YW | |
| ,-=g, ,9* | |
| ( Vf* | |
| ,;' | |
| ,M | |
| fW | |
| --hM-- | |
| MH' | |
| BM | |
| DG | |
| HM | |
| .MH,/ | |
| 'W' | |
| ,d, d; | |
| .fA, *YA | |
| Wf M| | |
| HE W| | |
| DG D| | |
| .WK,-*WA.' | |
| 'Y' 'V | |
| .a, ,b. | |
| / WA,* YA | |
| |W WH | |
| |G HD | |
| jH DP | |
| 'Wp.-* | |
| 'V' | |
| .a .b, ,b. | |
| .fhAf'YA,* YA | |
| BH W| WH | |
| DG G| HD | |
| EH Hj DP | |
| .WA_ ,hp.-* | |
| Y' 'V' | |
| a, q,_ | |
| ,f*b,f =' | |
| Ml | |
| _,M|_, | |
| f"'Hf | |
| _, ,M|,- | |
| .'*P" 'V' | |
| g, ,g, | |
| ,fYb,fYb, | |
| ' |W' Wh | |
| !M YH | |
| |G |N | |
| .fM, AP | |
| 'V dV' | |
| dP' | |
| f' | |
| Y e | |
| '" | |
| g, | |
| ,fYb, | |
| W; | |
| _+P _ | |
| " *g" | |
| ,'Yb, | |
| , 'Mj | |
| | Bf | |
| ' jB' | |
| '=p* | |
| </pre> | |
| </body> | |
| </html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment