Skip to content

Instantly share code, notes, and snippets.

@4aficiona2
Last active August 29, 2015 14:09
Show Gist options
  • Save 4aficiona2/361a0a48a1d9d15301a7 to your computer and use it in GitHub Desktop.
Save 4aficiona2/361a0a48a1d9d15301a7 to your computer and use it in GitHub Desktop.
Web Font Loader v1.5.8 - Monotype Build only
/* Web Font Loader v1.5.8 - Monotype Build only - (c) Adobe Systems, Google. License: Apache 2.0 */
;(function(window,document,undefined){var h=this;function l(a,b){var c=a.split("."),d=h;c[0]in d||!d.execScript||d.execScript("var "+c[0]);for(var e;c.length&&(e=c.shift());)c.length||void 0===b?d=d[e]?d[e]:d[e]={}:d[e]=b}function m(a,b,c){return a.call.apply(a.bind,arguments)}
function p(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}}function q(a,b,c){q=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?m:p;return q.apply(null,arguments)}var r=Date.now||function(){return+new Date};function s(a,b){this.B=a;this.A=b||a;this.v=this.A.document}s.prototype.createElement=function(a,b,c){a=this.v.createElement(a);if(b)for(var d in b)b.hasOwnProperty(d)&&("style"==d?a.style.cssText=b[d]:a.setAttribute(d,b[d]));c&&a.appendChild(this.v.createTextNode(c));return a};function t(a,b){var c=a.v.getElementsByTagName("body")[0];c||(c=document.documentElement);c&&c.lastChild&&c.insertBefore(b,c.lastChild)}
function u(a,b,c){b=b||[];c=c||[];for(var d=a.className.split(/\s+/),e=0;e<b.length;e+=1){for(var f=!1,g=0;g<d.length;g+=1)if(b[e]===d[g]){f=!0;break}f||d.push(b[e])}b=[];for(e=0;e<d.length;e+=1){f=!1;for(g=0;g<c.length;g+=1)if(d[e]===c[g]){f=!0;break}f||b.push(d[e])}a.className=b.join(" ").replace(/\s+/g," ").replace(/^\s+|\s+$/,"")}function v(a,b){for(var c=a.className.split(/\s+/),d=0,e=c.length;d<e;d++)if(c[d]==b)return!0;return!1}
function aa(a,b,c){var d=a.v.getElementsByTagName("head")[0];if(d){var e=a.createElement("script",{src:b}),f=!1;e.onload=e.onreadystatechange=function(){f||this.readyState&&"loaded"!=this.readyState&&"complete"!=this.readyState||(f=!0,c&&c(null),e.onload=e.onreadystatechange=null,"HEAD"==e.parentNode.tagName&&d.removeChild(e))};d.appendChild(e);window.setTimeout(function(){f||(f=!0,c&&c(Error("Script load timeout")))},5E3);return e}return null};function w(a,b,c,d){this.U=a;this.K=b;this.pa=c;this.P=d}l("webfont.BrowserInfo",w);w.prototype.fa=function(){return this.U};w.prototype.hasWebFontSupport=w.prototype.fa;w.prototype.ga=function(){return this.K};w.prototype.hasWebKitFallbackBug=w.prototype.ga;w.prototype.ha=function(){return this.pa};w.prototype.hasWebKitMetricsBug=w.prototype.ha;w.prototype.ea=function(){return this.P};w.prototype.hasNativeFontLoading=w.prototype.ea;function x(a,b,c,d){this.b=null!=a?a:null;this.e=null!=b?b:null;this.o=null!=c?c:null;this.d=null!=d?d:null}var ba=/^([0-9]+)(?:[\._-]([0-9]+))?(?:[\._-]([0-9]+))?(?:[\._+-]?(.*))?$/;x.prototype.compare=function(a){return this.b>a.b||this.b===a.b&&this.e>a.e||this.b===a.b&&this.e===a.e&&this.o>a.o?1:this.b<a.b||this.b===a.b&&this.e<a.e||this.b===a.b&&this.e===a.e&&this.o<a.o?-1:0};x.prototype.toString=function(){return[this.b,this.e||"",this.o||"",this.d||""].join("")};
function y(a){a=ba.exec(a);var b=null,c=null,d=null,e=null;a&&(null!==a[1]&&a[1]&&(b=parseInt(a[1],10)),null!==a[2]&&a[2]&&(c=parseInt(a[2],10)),null!==a[3]&&a[3]&&(d=parseInt(a[3],10)),null!==a[4]&&a[4]&&(e=/^[0-9]+$/.test(a[4])?parseInt(a[4],10):a[4]));return new x(b,c,d,e)};function z(a,b,c,d,e,f,g,k,n,ca,da){this.t=a;this.oa=c;this.X=d;this.W=f;this.la=g;this.ka=n;this.V=ca;this.k=da}l("webfont.UserAgent",z);z.prototype.getName=function(){return this.t};z.prototype.getName=z.prototype.getName;z.prototype.da=function(){return this.oa};z.prototype.getVersion=z.prototype.da;z.prototype.$=function(){return this.X};z.prototype.getEngine=z.prototype.$;z.prototype.aa=function(){return this.W};z.prototype.getEngineVersion=z.prototype.aa;z.prototype.ba=function(){return this.la};
z.prototype.getPlatform=z.prototype.ba;z.prototype.ca=function(){return this.ka};z.prototype.getPlatformVersion=z.prototype.ca;z.prototype.Z=function(){return this.V};z.prototype.getDocumentMode=z.prototype.Z;z.prototype.Y=function(){return this.k};z.prototype.getBrowserInfo=z.prototype.Y;function A(a,b){this.a=a;this.i=b}var ea=new z("Unknown",0,"Unknown","Unknown",0,"Unknown","Unknown",0,"Unknown",void 0,new w(!1,!1,!1,!1));
A.prototype.parse=function(){var a;if(-1!=this.a.indexOf("MSIE")||-1!=this.a.indexOf("Trident/")){a=B(this);var b=C(this),c=y(b),d=null,e=null,f=null,g=D(this.a,/Trident\/([\d\w\.]+)/,1),k=E(this.i),d=-1!=this.a.indexOf("MSIE")?D(this.a,/MSIE ([\d\w\.]+)/,1):D(this.a,/rv:([\d\w\.]+)/,1),e=y(d);""!=g?(f="Trident",y(g)):g=f="Unknown";a=new z("MSIE",0,d,f,0,g,a,0,b,k,new w("Windows"==a&&6<=e.b||"Windows Phone"==a&&8<=c.b,!1,!1,!!this.i.fonts))}else if(-1!=this.a.indexOf("Opera"))a:if(a="Unknown",b=D(this.a,
/Presto\/([\d\w\.]+)/,1),e=y(b),c=C(this),y(c),d=E(this.i),null!==e.b?a="Presto":(-1!=this.a.indexOf("Gecko")&&(a="Gecko"),b=D(this.a,/rv:([^\)]+)/,1),y(b)),-1!=this.a.indexOf("Opera Mini/"))e=D(this.a,/Opera Mini\/([\d\.]+)/,1),f=y(e),a=new z("OperaMini",0,e,a,0,b,B(this),0,c,d,new w(!1,!1,!1,!!this.i.fonts));else{if(-1!=this.a.indexOf("Version/")&&(e=D(this.a,/Version\/([\d\.]+)/,1),f=y(e),null!==f.b)){a=new z("Opera",0,e,a,0,b,B(this),0,c,d,new w(10<=f.b,!1,!1,!!this.i.fonts));break a}e=D(this.a,
/Opera[\/ ]([\d\.]+)/,1);f=y(e);a=null!==f.b?new z("Opera",0,e,a,0,b,B(this),0,c,d,new w(10<=f.b,!1,!1,!!this.i.fonts)):new z("Opera",0,"Unknown",a,0,b,B(this),0,c,d,new w(!1,!1,!1,!!this.i.fonts))}else/OPR\/[\d.]+/.test(this.a)?a=F(this):/AppleWeb(K|k)it/.test(this.a)?a=F(this):-1!=this.a.indexOf("Gecko")?(a="Unknown",d=new x,b="Unknown",c=C(this),y(c),d=!1,-1!=this.a.indexOf("Firefox")?(a="Firefox",b=D(this.a,/Firefox\/([\d\w\.]+)/,1),d=y(b),d=3<=d.b&&5<=d.e):-1!=this.a.indexOf("Mozilla")&&(a="Mozilla"),
e=D(this.a,/rv:([^\)]+)/,1),f=y(e),d||(d=1<f.b||1==f.b&&9<f.e||1==f.b&&9==f.e&&2<=f.o||null!=e.match(/1\.9\.1b[123]/)||null!=e.match(/1\.9\.1\.[\d\.]+/)),a=new z(a,0,b,"Gecko",0,e,B(this),0,c,E(this.i),new w(d,!1,!1,!!this.i.fonts))):a=ea;return a};
function B(a){var b=D(a.a,/(iPod|iPad|iPhone|Android|Windows Phone|BB\d{2}|BlackBerry)/,1);if(""!=b)return/BB\d{2}/.test(b)&&(b="BlackBerry"),b;a=D(a.a,/(Linux|Mac_PowerPC|Macintosh|Windows|CrOS|PlayStation|CrKey)/,1);return""!=a?("Mac_PowerPC"==a?a="Macintosh":"PlayStation"==a&&(a="Linux"),a):"Unknown"}
function C(a){var b=D(a.a,/(OS X|Windows NT|Android) ([^;)]+)/,2);if(b||(b=D(a.a,/Windows Phone( OS)? ([^;)]+)/,2))||(b=D(a.a,/(iPhone )?OS ([\d_]+)/,2)))return b;if(b=D(a.a,/(?:Linux|CrOS|CrKey) ([^;)]+)/,1))for(var b=b.split(/\s/),c=0;c<b.length;c+=1)if(/^[\d\._]+$/.test(b[c]))return b[c];return(a=D(a.a,/(BB\d{2}|BlackBerry).*?Version\/([^\s]*)/,2))?a:"Unknown"}
function F(a){var b=B(a),c=C(a),d=y(c),e=D(a.a,/AppleWeb(?:K|k)it\/([\d\.\+]+)/,1),f=y(e),g="Unknown",k=new x,n="Unknown",k=!1;/OPR\/[\d.]+/.test(a.a)?g="Opera":-1!=a.a.indexOf("Chrome")||-1!=a.a.indexOf("CrMo")||-1!=a.a.indexOf("CriOS")?g="Chrome":/Silk\/\d/.test(a.a)?g="Silk":"BlackBerry"==b||"Android"==b?g="BuiltinBrowser":-1!=a.a.indexOf("PhantomJS")?g="PhantomJS":-1!=a.a.indexOf("Safari")?g="Safari":-1!=a.a.indexOf("AdobeAIR")?g="AdobeAIR":-1!=a.a.indexOf("PlayStation")&&(g="BuiltinBrowser");
"BuiltinBrowser"==g?n="Unknown":"Silk"==g?n=D(a.a,/Silk\/([\d\._]+)/,1):"Chrome"==g?n=D(a.a,/(Chrome|CrMo|CriOS)\/([\d\.]+)/,2):-1!=a.a.indexOf("Version/")?n=D(a.a,/Version\/([\d\.\w]+)/,1):"AdobeAIR"==g?n=D(a.a,/AdobeAIR\/([\d\.]+)/,1):"Opera"==g?n=D(a.a,/OPR\/([\d.]+)/,1):"PhantomJS"==g&&(n=D(a.a,/PhantomJS\/([\d.]+)/,1));k=y(n);k="AdobeAIR"==g?2<k.b||2==k.b&&5<=k.e:"BlackBerry"==b?10<=d.b:"Android"==b?2<d.b||2==d.b&&1<d.e:526<=f.b||525<=f.b&&13<=f.e;return new z(g,0,n,"AppleWebKit",0,e,b,0,c,E(a.i),
new w(k,536>f.b||536==f.b&&11>f.e,"iPhone"==b||"iPad"==b||"iPod"==b||"Macintosh"==b,!!a.i.fonts))}function D(a,b,c){return(a=a.match(b))&&a[c]?a[c]:""}function E(a){if(a.documentMode)return a.documentMode};function G(a){this.ja=a||"-"}G.prototype.d=function(a){for(var b=[],c=0;c<arguments.length;c++)b.push(arguments[c].replace(/[\W_]+/g,"").toLowerCase());return b.join(this.ja)};function H(a,b){this.t=a;this.D=4;this.C="n";var c=(b||"n4").match(/^([nio])([1-9])$/i);c&&(this.C=c[1],this.D=parseInt(c[2],10))}H.prototype.getName=function(){return this.t};function fa(a){return I(a)+" "+(a.D+"00")+" 300px "+J(a.t)}function J(a){var b=[];a=a.split(/,\s*/);for(var c=0;c<a.length;c++){var d=a[c].replace(/['"]/g,"");-1==d.indexOf(" ")?b.push(d):b.push("'"+d+"'")}return b.join(",")}function K(a){return a.C+a.D}
function I(a){var b="normal";"o"===a.C?b="oblique":"i"===a.C&&(b="italic");return b};function ga(a,b,c){this.c=a;this.l=b;this.F=c;this.g="wf";this.f=new G("-")}function L(a){var b=v(a.l,a.f.d(a.g,"active")),c=[],d=[a.f.d(a.g,"loading")];b||c.push(a.f.d(a.g,"inactive"));u(a.l,c,d);M(a,"inactive")}function M(a,b,c){if(a.F[b])if(c)a.F[b](c.getName(),K(c));else a.F[b]()};function ha(){this.S={}};function N(a,b){this.c=a;this.m=b;this.j=this.c.createElement("span",{"aria-hidden":"true"},this.m)}function O(a){return"display:block;position:absolute;top:-999px;left:-999px;font-size:300px;width:auto;height:auto;line-height:normal;margin:0;padding:0;font-variant:normal;white-space:nowrap;font-family:"+J(a.t)+";"+("font-style:"+I(a)+";font-weight:"+(a.D+"00")+";")}N.prototype.remove=function(){var a=this.j;a.parentNode&&a.parentNode.removeChild(a)};function P(a,b,c,d,e,f){this.u=a;this.w=b;this.h=d;this.c=c;this.p=e||3E3;this.m=f||void 0}P.prototype.start=function(){var a=this.c.A.document,b=this;Promise.race([new Promise(function(a,d){h.setTimeout(function(){d(b.h)},b.p)}),a.fonts.load(fa(this.h),this.m)]).then(function(a){1===a.length?b.u(b.h):b.w(b.h)},function(){b.w(b.h)})};function Q(a,b,c,d,e,f,g,k){this.u=a;this.w=b;this.c=c;this.h=d;this.m=k||"BESbswy";this.k=e;this.s={};this.p=f||3E3;this.R=g||null;this.r=this.q=null;a=new N(this.c,this.m);t(a.c,a.j);for(var n in R)R.hasOwnProperty(n)&&(b=new H(R[n],K(this.h)),b=O(b),a.j.style.cssText=b,this.s[R[n]]=a.j.offsetWidth);a.remove()}var R={sa:"serif",ra:"sans-serif",qa:"monospace"};
Q.prototype.start=function(){var a=this.q=new N(this.c,this.m);t(a.c,a.j);a=this.r=new N(this.c,this.m);t(a.c,a.j);this.ma=r();a=new H(this.h.getName()+",serif",K(this.h));a=O(a);this.q.j.style.cssText=a;a=new H(this.h.getName()+",sans-serif",K(this.h));a=O(a);this.r.j.style.cssText=a;S(this)};function T(a,b,c){for(var d in R)if(R.hasOwnProperty(d)&&b===a.s[R[d]]&&c===a.s[R[d]])return!0;return!1}
function S(a){var b=a.q.j.offsetWidth,c=a.r.j.offsetWidth;b===a.s.serif&&c===a.s["sans-serif"]||a.k.K&&T(a,b,c)?r()-a.ma>=a.p?a.k.K&&T(a,b,c)&&(null===a.R||a.R.hasOwnProperty(a.h.getName()))?U(a,a.u):U(a,a.w):ia(a):U(a,a.u)}function ia(a){setTimeout(q(function(){S(this)},a),25)}function U(a,b){a.q.remove();a.r.remove();b(a.h)};function V(a,b,c,d){this.c=b;this.n=c;this.H=0;this.T=this.Q=!1;this.p=d;this.k=a.k}function W(a,b,c,d,e){if(0===b.length&&e)L(a.n);else for(a.H+=b.length,e&&(a.Q=e),e=0;e<b.length;e++){var f=b[e],g=c[f.getName()],k=a.n,n=f;u(k.l,[k.f.d(k.g,n.getName(),K(n).toString(),"loading")]);M(k,"fontloading",n);k=null;k=a.k.P?new P(q(a.L,a),q(a.M,a),a.c,f,a.p,g):new Q(q(a.L,a),q(a.M,a),a.c,f,a.k,a.p,d,g);k.start()}}
V.prototype.L=function(a){var b=this.n;u(b.l,[b.f.d(b.g,a.getName(),K(a).toString(),"active")],[b.f.d(b.g,a.getName(),K(a).toString(),"loading"),b.f.d(b.g,a.getName(),K(a).toString(),"inactive")]);M(b,"fontactive",a);this.T=!0;X(this)};V.prototype.M=function(a){var b=this.n,c=v(b.l,b.f.d(b.g,a.getName(),K(a).toString(),"active")),d=[],e=[b.f.d(b.g,a.getName(),K(a).toString(),"loading")];c||d.push(b.f.d(b.g,a.getName(),K(a).toString(),"inactive"));u(b.l,d,e);M(b,"fontinactive",a);X(this)};
function X(a){0==--a.H&&a.Q&&(a.T?(a=a.n,u(a.l,[a.f.d(a.g,"active")],[a.f.d(a.g,"loading"),a.f.d(a.g,"inactive")]),M(a,"active")):L(a.n))};function Y(a){this.B=a;this.N=new ha;this.na=new A(a.navigator.userAgent,a.document);this.a=this.na.parse();this.I=this.J=0}
Y.prototype.load=function(a){var b=a.context||this.B;this.c=new s(this.B,b);var b=new ga(this.c,b.document.documentElement,a),c=[],d=a.timeout;u(b.l,[b.f.d(b.g,"loading")]);M(b,"loading");var c=this.N,e=this.c,f=[],g;for(g in a)if(a.hasOwnProperty(g)){var k=c.S[g];k&&f.push(k(a[g],e))}c=f;this.I=this.J=c.length;a=new V(this.a,this.c,b,d);g=0;for(d=c.length;g<d;g++)e=c[g],ja(e,this.a,q(this.ia,this,e,b,a))};
Y.prototype.ia=function(a,b,c,d){var e=this;d?a.load(function(a,b,d){ka(e,c,a,b,d)}):(a=0==--this.J,this.I--,a&&0==this.I?L(b):W(c,[],{},null,a))};function ka(a,b,c,d,e){var f=0==--a.J;setTimeout(function(){W(b,c,d||{},e||null,f)},0)};function Z(a,b){this.c=a;this.G=b;this.O=[]}function ja(a,b,c){var d=a.G.projectId,e=a.G.version;if(d){var f=a.c.A;aa(a.c,la(a,d,e),function(e){if(e)c(!1);else{if(f["__mti_fntLst"+d]&&(e=f["__mti_fntLst"+d]()))for(var k=0;k<e.length;k++)a.O.push(new H(e[k].fontfamily));c(b.k.U)}}).id="__MonotypeAPIScript__"+d}else c(!1)}
function la(a,b,c){var d;d=a.c;var e=d.A.location.protocol;"about:"==e&&(e=d.B.location.protocol);d="https:"==e?"https:":"http:";a=(a.G.api||"fast.fonts.net/jsapi").replace(/^.*http(s?):(\/\/)?/,"");return d+"//"+a+"/"+b+".js"+(c?"?v="+c:"")}Z.prototype.load=function(a){a(this.O)};var $=new Y(h);$.N.S.monotype=function(a,b){return new Z(b,a)};h.WebFont||(h.WebFont={},h.WebFont.load=q($.load,$),h.WebFontConfig&&$.load(h.WebFontConfig));})(this,document);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment