Font Fingerprinter

Fingerprints fonts, see https://gist.github.com/KOLANICH/00b9145743d841cff4d7

HTML

<progress id="pr"></progress><br/>
<progress id="tpr"></progress>
<div id="res"></div>

JavaScript 1.7

//@license public domain //@site https://github.com/dchest/blake2s-js/ "use strict"; var BLAKE2s=function(){function L(b,n){"undefined"===typeof b&&(b=32);if(0>=b||32<b)throw Error("bad digestLength");this.digestLength=b;if("string"===typeof n)throw new TypeError("key must be a Uint8Array or an Array of bytes");var m=n?n.length:0;if(32<m)throw Error("key is too long");this.isFinished=!1;this.h=new Uint32Array(K);var l=[b&255,m,1,1];this.h[0]^=l[0]&255|(l[1]&255)<<8|(l[2]&255)<<16|(l[3]&255)<<24;this.x=new Uint8Array(64);this.f1=this.f0=this.t1=this.t0=this.nx=0;if(0<m){for(l=0;l< m;l++)this.x[l]=n[l];for(l=m;64>l;l++)this.x[l]=0;this.nx=64}}var K=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);L.prototype.processBlock=function(b){this.t0+=b;this.t0!=this.t0>>>0&&(this.t0=0,this.t1++);b=this.h[0];var n=this.h[1],m=this.h[2],l=this.h[3],a=this.h[4],g=this.h[5],h=this.h[6],k=this.h[7],p=K[0],q=K[1],r=K[2],t=K[3],c=K[4]^this.t0,d=K[5]^this.t1,e=K[6]^this.f0,f=K[7]^this.f1,u=this.x,v=u[0]&255|(u[1]&255)<<8|(u[2]&255)<<16| (u[3]&255)<<24,w=u[4]&255|(u[5]&255)<<8|(u[6]&255)<<16|(u[7]&255)<<24,x=u[8]&255|(u[9]&255)<<8|(u[10]&255)<<16|(u[11]&255)<<24,y=u[12]&255|(u[13]&255)<<8|(u[14]&255)<<16|(u[15]&255)<<24,z=u[16]&255|(u[17]&255)<<8|(u[18]&255)<<16|(u[19]&255)<<24,A=u[20]&255|(u[21]&255)<<8|(u[22]&255)<<16|(u[23]&255)<<24,B=u[24]&255|(u[25]&255)<<8|(u[26]&255)<<16|(u[27]&255)<<24,C=u[28]&255|(u[29]&255)<<8|(u[30]&255)<<16|(u[31]&255)<<24,D=u[32]&255|(u[33]&255)<<8|(u[34]&255)<<16|(u[35]&255)<<24,E=u[36]&255|(u[37]&255)<<...