Sha256: 05eca497f46bec1659da90514dfd83f59cc2f6780704b77b7302900b17b859e9
Contents?: true
Size: 1.62 KB
Versions: 3
Compression:
Stored size: 1.62 KB
Contents
/** * @constructor */ webfont.FontApiUrlBuilder = function(apiUrl) { if (apiUrl) { this.apiUrl_ = apiUrl; } else { var protocol = 'https:' == window.location.protocol ? 'https:' : 'http:'; this.apiUrl_ = protocol + webfont.FontApiUrlBuilder.DEFAULT_API_URL; } this.fontFamilies_ = []; this.subsets_ = []; }; webfont.FontApiUrlBuilder.DEFAULT_API_URL = '//fonts.googleapis.com/css'; webfont.FontApiUrlBuilder.prototype.setFontFamilies = function(fontFamilies) { this.parseFontFamilies_(fontFamilies); }; webfont.FontApiUrlBuilder.prototype.parseFontFamilies_ = function(fontFamilies) { var length = fontFamilies.length; for (var i = 0; i < length; i++) { var elements = fontFamilies[i].split(':'); if (elements.length == 3) { this.subsets_.push(elements.pop()); } var joinCharacter = ''; if (elements.length == 2 && elements[1] != ''){ joinCharacter = ':'; } this.fontFamilies_.push(elements.join(joinCharacter)); } }; webfont.FontApiUrlBuilder.prototype.webSafe = function(string) { return string.replace(/ /g, '+'); }; webfont.FontApiUrlBuilder.prototype.build = function() { if (this.fontFamilies_.length == 0) { throw new Error('No fonts to load !'); } if (this.apiUrl_.indexOf("kit=") != -1) { return this.apiUrl_; } var length = this.fontFamilies_.length; var sb = []; for (var i = 0; i < length; i++) { sb.push(this.webSafe(this.fontFamilies_[i])); } var url = this.apiUrl_ + '?family=' + sb.join('%7C'); // '|' escaped. if (this.subsets_.length > 0) { url += '&subset=' + this.subsets_.join(','); } return url; };
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
webfontloader-1.0.31 | src/google/fontapiurlbuilder.js |
webfontloader-1.0.30 | src/google/fontapiurlbuilder.js |
webfontloader-1.0.29 | src/google/fontapiurlbuilder.js |