/* FontJazz 1.4 http://www.fontjazz.com (C) Copyright Rasmus Schultz, all rights reserved. Free for use on all private/commercial websites. You may not sell this script or FontJazz-generated fonts. Removing this copyright statement is a violation of the licensing terms. */ var FontJazz = { _fonts: {}, _initialized: false, _css: null, _initialize: function() { for (var fontname in FontJazz._fonts) { if (!FontJazz._fonts[fontname].initialized) { var image = FontJazz._fonts[fontname].image; var height = FontJazz._fonts[fontname].height; FontJazz._addRule( ".FontJazz-" + fontname + " div", "float:left; display:inline; overflow:visible;" ); FontJazz._addRule( ".FontJazz-" + fontname + " span", "display:block; float:left; background-image:url(" + image + "); height:" + height + "px;" ); FontJazz._addRule( ".FontJazz-" + fontname + " br", "clear:both;" ); FontJazz._fonts[fontname].initialized = true; } } }, _addRule: function(selector, rule) { if (!FontJazz._css) { if (document.createStyleSheet) { FontJazz._css = document.createStyleSheet(); } else { FontJazz._css = document.createElement('style'); FontJazz._css.setAttribute('type', 'text/css'); document.getElementsByTagName("head")[0].appendChild(FontJazz._css); } } if (FontJazz._css.addRule) { FontJazz._css.addRule(selector, rule); } else { FontJazz._css.appendChild( document.createTextNode(selector + ' { ' + rule + " }\n") ); } }, register: function(fontname, data) { FontJazz._fonts[fontname] = data; FontJazz.initialized = false; }, decode: function(html) { var div = document.createElement('div'); div.style.display = 'none'; div.innerHTML = ''; document.body.appendChild(div); var area = document.getElementById('fontjazz_decode'); var text = area.value; document.body.removeChild(div); return text; }, transform: function(element, fontname) { if (!document.styleSheets) return; if (!FontJazz.initialized) FontJazz._initialize(); var font = FontJazz._fonts[fontname]; var text = FontJazz.decode(element.innerHTML.replace(/(<([^>]+)>)/ig,"")) + ' '; var div = document.createElement('div'); div.className = "FontJazz-" + fontname; var html = '' + text + ''; var adjust = font[text.charAt(0)][2]; var word = '', w = 0, wm = 0; for (var i=0; i'; if (c == ' ') { html += '
' + word + '
'; word = ''; w = 0; wm = 0; } adjust = metrics[3]-metrics[1]; } } div.innerHTML = html + "
"; element.parentNode.insertBefore(div, element); element.parentNode.removeChild(element); }, apply: function(tagname, fontname, rootnode) { var collection = (rootnode || document.body).getElementsByTagName(tagname); var elements = new Array(); for (var i=0; i