<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -3,76 +3,76 @@
 &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;
 
 	&lt;head&gt;
-	
+
 		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
-	
+
 		&lt;title&gt;Chart of optimal scaling values&lt;/title&gt;
-		
+
 		&lt;style type=&quot;text/css&quot;&gt;
-		
+
 			body {
 				font: 9pt Arial, Verdana, Helvetica, sans-serif;
 			}
-		
+
 			#scale-value-chart {
 				border-collapse: collapse;
 				border-spacing: 0;
 			}
-			
+
 			#scale-value-chart caption {
 				font-size: 200%;
 				font-weight: bold;
 				padding: 0.5em;
 			}
-			
+
 			#scale-value-chart th {
 				background: #eee;
 				vertical-align: bottom;
 				width: 1em;
 			}
-			
+
 			#scale-value-chart th.col-text {
 				padding-left: 2em;
 				padding-right: 2em;
 				width: auto;
 			}
-			
+
 			#scale-value-chart td {
 				border: 2px solid #fff;
 				padding: 1px 2px;
 				text-align: center;
 			}
-		
+
 			#scale-value-chart .pos {
 				background: #00ff00;
 				color: #fff;
 			}
-			
+
 			#scale-value-chart .neg {
 				background: #ffdddd;
 			}
-			
+
 		&lt;/style&gt;
-		
+
 	&lt;/head&gt;
-	
+
 	&lt;body&gt;
-	
+
 		&lt;noscript&gt;
-		
+
 			&lt;h1&gt;Chart of optimal scaling values&lt;/h1&gt;
-			
+
 			&lt;p&gt;You need JavaScript to view this chart.&lt;/p&gt;
-			
+
 		&lt;/noscript&gt;
-	
+
 		&lt;script type=&quot;text/javascript&quot;&gt;
-		
+
 		var sizes = {};
 		var map = [];
 		var best = [];
 		var length = 0;
-		
+
 		for (var i = 8; i &lt;= 48; i += 1, ++length) {
 			sizes[i] = [];
 			for (var j = 1; j &lt; 100; ++j) {
@@ -83,9 +83,9 @@
 				map[size][i] = true;
 			}
 		}
-		
+
 		var table = document.createElement('table');
-		
+
 		table.id = 'scale-value-chart';
 
 		var caption = document.createElement('caption');
@@ -95,10 +95,10 @@
 		table.appendChild(caption);
 
 		var thead = table.createTHead();
-		
+
 		var header1 = thead.insertRow(-1);
 		var header2 = thead.insertRow(-1);
-		
+
 		var scaleHeading = document.createElement('th');
 		scaleHeading.className = 'col-text';
 		scaleHeading.rowSpan = 2;
@@ -110,7 +110,7 @@
 		header1.appendChild(pxHeading);
 
 		var count = 0;
-		
+
 		for (var size in sizes) {
 			var th = document.createElement('th');
 			th.appendChild(document.createTextNode(size));
@@ -125,9 +125,9 @@
 		matchHeading.rowSpan = 2;
 		matchHeading.innerHTML = 'Font sizes&lt;br /&gt;matched in total';
 		header1.appendChild(matchHeading);
-		
+
 		var tbody = document.createElement('tbody');
-		
+
 		table.appendChild(tbody);
 
 		for (var i = 0, l = map.length; i &lt; l; ++i) {
@@ -147,11 +147,11 @@
 			var matchCell = row.insertCell(-1);
 			matchCell.innerHTML = matches;
 		}
-		
+
 		document.body.appendChild(table);
-		
+
 		&lt;/script&gt;
-	
+
 	&lt;/body&gt;
-	
-&lt;/html&gt;
\ No newline at end of file
+
+&lt;/html&gt;</diff>
      <filename>doc/optimal-scaling.html</filename>
    </modified>
    <modified>
      <diff>@@ -7,20 +7,20 @@
 		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
 
 		&lt;title&gt;cuf&#243;n / examples / gradient&lt;/title&gt;
-		
+
 		&lt;style type=&quot;text/css&quot;&gt;
-		
+
 			body {
 				background: #fff;
 				color: #555;
 			}
-			
+
 			h1 {
 				font: normal 200px Arial, Verdana, Helvetica, sans-serif;
 				margin: 0.8em 0 0 0;
 				text-align: center;
 			}
-			
+
 		&lt;/style&gt;
 
 		&lt;script src=&quot;../js/cufon.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
@@ -42,4 +42,4 @@
 
 	&lt;/body&gt;
 
-&lt;/html&gt;
\ No newline at end of file
+&lt;/html&gt;</diff>
      <filename>examples/gradient.html</filename>
    </modified>
    <modified>
      <diff>@@ -3,20 +3,20 @@
 &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
 
 	&lt;head&gt;
-	
+
 		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
-		
+
 		&lt;title&gt;cuf&#243;n / examples / text-shadow&lt;/title&gt;
 		&lt;script src=&quot;../js/cufon.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
 		&lt;script src=&quot;../fonts/Vegur.font.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
-		
+
 		&lt;style type=&quot;text/css&quot;&gt;
-		
+
 			body {
 				background: #fff;
 				color: #000;
 			}
-		
+
 			h1, h2, h3, h4, h5, h6 {
 				background: #CCCCCC;
 				color: #D1D1D1;
@@ -25,25 +25,25 @@
 				margin: 1em 0;
 				padding: 20px;
 			}
-			
+
 			h3 {
 				background: #CCCCFF;
 				color: #fff;
 			}
-			
+
 			h4 {
 				background: #CCCCFF;
 				color: #ffa800;
 			}
-		
+
 		&lt;/style&gt;
-		
+
 		&lt;script type=&quot;text/javascript&quot;&gt;
 
 			Cufon.replace('h1', {
 				textShadow: '#fff -1px -1px, #333 1px 1px'
 			});
-			
+
 			Cufon.replace('h2', {
 				textShadow: '#fff 1px 1px, #333 -1px -1px'
 			});
@@ -55,25 +55,25 @@
 			Cufon.replace('h4', {
 				textShadow: '-1px -1px rgba(51, 51, 51, 0.6)'
 			});
-			
+
 		&lt;/script&gt;
-	
+
 	&lt;/head&gt;
-	
+
 	&lt;body&gt;
-	
+
 		&lt;p&gt;These examples are based on &lt;a href=&quot;http://www.w3.org/Style/Examples/007/text-shadow&quot;&gt;CSS: text shadows&lt;/a&gt; by Bert Bos. See the &lt;a href=&quot;http://www.w3.org/TR/CSS2/text.html#text-shadow-props&quot;&gt;CSS2 text-shadow specification&lt;/a&gt; for syntax. Please note that offsets can only be defined in pixels and that blur is not supported at all.&lt;/p&gt;
-		
+
 		&lt;p&gt;Additional limitations since the release of Internet Explorer 8: One element may only have two shadows, and they may not have varying levels of opacity.&lt;/p&gt;
-	
+
 		&lt;h1&gt;Lorem ipsum dolor sit amet, consectetuer adipiscing elit.&lt;/h1&gt;
-		
+
 		&lt;h2&gt;Lorem ipsum dolor sit amet, consectetuer adipiscing elit.&lt;/h2&gt;
-		
+
 		&lt;h3&gt;Lorem ipsum dolor sit amet, consectetuer adipiscing elit.&lt;/h3&gt;
-		
+
 		&lt;h4&gt;Lorem ipsum dolor sit amet, consectetuer adipiscing elit.&lt;/h4&gt;
-		
+
 	&lt;/body&gt;
-	
+
 &lt;/html&gt;</diff>
      <filename>examples/text-shadow.html</filename>
    </modified>
    <modified>
      <diff>@@ -9,49 +9,49 @@ Options:
 
   -b  --callback        The JavaScript function that handles the font.
                         Defaults to Cufon.registerFont.
-                        
+
                         Example: -b myRegisterFont
-                        
+
   -c  --characters      All of these characters are included in the
                         resulting font file.
-                        
+
                         Example: -c &quot;abc123&quot;
-                        
+
   -d  --domain          Restricts the font file to one or more domain
                         names.
-                        
+
                         Example: -d example.org -d example.com
-                        
+
   -f  --fontforge       Path to the FontForge binary.
-                        
+
   -h  --help            Displays this message.
-                        
+
   -n  --family-name     The font-family of the font. By default the
                         real name of the font is used, but it may not
                         always be what you need.
-                        
+
                         Example: -n &quot;Nifty Font&quot;
-                        
+
   -u  --unicode-range   See http://www.w3.org/TR/css3-webfonts/#dataqual
-  
+
                         Example: -u &quot;U+00??,U+20A7&quot;
-                        
+
   -s  --scale           Scales the font's em-size to this value. Defaults
                         to 360.
-                        
+
                         Example: --scale 720
-                        
+
   -k  --no-kerning      Disables kerning.
-  
+
   -l  --no-scaling      No scaling, use the native value instead.
-  
+
   -m  --no-simplify     Keep the paths as they are, do not attempt to
                         simplify them.
-                        
+
   -e  --simplify-delta  Simplified paths may differ from the original
                         by this many units (relative to scaling value).
                         Defaults to 2.
-                        
+
                         Example: -e 1
 
 Sample usage:
@@ -146,9 +146,9 @@ $files = array();
 switch (PHP_SAPI)
 {
 	case 'cli':
-		
+
 		$fontforge = trim(`which fontforge`);
-		
+
 		$options = array(
 			'family' =&gt; '',
 			'terms' =&gt; 'yes',
@@ -164,11 +164,11 @@ switch (PHP_SAPI)
 			'simplifyDelta' =&gt; 2,
 			'kerning' =&gt; 'yes'
 		);
-		
+
 		$domains = array();
-		
+
 		$args = $_SERVER['argv'];
-		
+
 		for (next($args); ($arg = current($args)) !== false; next($args))
 		{
 			switch ($arg)
@@ -231,33 +231,33 @@ switch (PHP_SAPI)
 					$files[] = $arg;
 			}
 		}
-		
+
 		if (!is_executable($fontforge))
 		{
 			echo &quot;Could not find FontForge binary\n&quot;;
 			exit(4);
 		}
-		
+
 		define('CUFON_FONTFORGE', $fontforge);
-		
+
 		if (empty($files))
 		{
 			echo 'Nothing to convert.';
 			exit(0);
 		}
-		
+
 		$options['domains'] = implode(', ', $domains);
-		
+
 		$options = filter_var_array($options, $filters);
-		
+
 		$errors = array_diff_key(array_filter($options, 'is_null'), $optional);
-		
+
 		if (!empty($errors))
 		{
 			usage();
 			exit(1);
 		}
-		
+
 		foreach ($files as $file)
 		{
 			try
@@ -265,9 +265,9 @@ switch (PHP_SAPI)
 				foreach (Cufon::generate($file, $options) as $id =&gt; $json)
 				{
 					echo $json;
-					
+
 					$fonts[] = $id;
-				}	
+				}
 			}
 			catch (ConversionException $e)
 			{
@@ -275,22 +275,22 @@ switch (PHP_SAPI)
 				exit(2);
 			}
 		}
-		
+
 		break;
 
 	default:
-				
+
 		if (!is_readable('settings.ini'))
 		{
 			echo 'settings.ini is missing';
 			exit(1);
 		}
-		
+
 		$config = parse_ini_file('settings.ini', false);
-		
+
 		define('CUFON_VALID', true);
 		define('CUFON_FONTFORGE', $config['fontforge']);
-				
+
 		switch ($_SERVER['REQUEST_METHOD'])
 		{
 			case 'POST':
@@ -300,9 +300,9 @@ switch (PHP_SAPI)
 				header('Location: ./');
 				exit(0);
 		}
-		
+
 		$options = filter_input_array(INPUT_POST, $filters);
-		
+
 		if (isset($_FILES['font']))
 		{
 			foreach ($_FILES['font']['error'] as $key =&gt; $error)
@@ -328,7 +328,7 @@ switch (PHP_SAPI)
 				}
 			}
 		}
-		
+
 		if (empty($files))
 		{
 			require 'view/upload-empty-error.php';
@@ -336,17 +336,17 @@ switch (PHP_SAPI)
 		}
 
 		$errors = array_diff_key(array_filter($options, 'is_null'), $optional);
-		
+
 		if (!empty($errors))
 		{
 			require 'view/input-error.php';
 			exit(0);
 		}
-		
+
 		ob_start();
-		
+
 		$fonts = array();
-		
+
 		foreach ($files as $file)
 		{
 			try
@@ -354,9 +354,9 @@ switch (PHP_SAPI)
 				foreach (Cufon::generate($file, $options) as $id =&gt; $json)
 				{
 					echo $json;
-					
+
 					$fonts[] = $id;
-				}	
+				}
 			}
 			catch (ConversionException $e)
 			{
@@ -365,7 +365,7 @@ switch (PHP_SAPI)
 				exit(0);
 			}
 		}
-		
+
 		$filename = preg_replace(
 			array(
 				'/\s+/',
@@ -376,7 +376,7 @@ switch (PHP_SAPI)
 				''
 			),
 			empty($fonts) ? 'Cufon Font' : implode('-', $fonts)) . '.font.js';
-		
+
 		header(sprintf('Content-Disposition: attachment; filename=%s', $filename));
 		header('Content-Type: text/javascript');
 }</diff>
      <filename>generate/convert.php</filename>
    </modified>
    <modified>
      <diff>@@ -164,4 +164,4 @@ button:hover, #nav a:hover, #nav a:active, .actions a:hover, .actions a:active {
 #lfont_3 {
 	font-style: italic;
 	font-weight: bold;
-}
\ No newline at end of file
+}</diff>
      <filename>generate/css/style.css</filename>
    </modified>
    <modified>
      <diff>@@ -3,39 +3,39 @@
 &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
 
 	&lt;head&gt;
-		
+
 		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
 		&lt;meta http-equiv=&quot;imagetoolbar&quot; content=&quot;no&quot; /&gt;
-	
+
 		&lt;title&gt;cuf&#243;n - fonts for the people&lt;/title&gt;
-		
+
 		&lt;meta name=&quot;description&quot; content=&quot;Fast text replacement with canvas and VML - no Flash or images required.&quot; /&gt;
-		
+
 		&lt;link rel=&quot;stylesheet&quot; href=&quot;css/style.css&quot; type=&quot;text/css&quot; /&gt;
-		
+
 		&lt;script src=&quot;js/ui.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
-		
+
 		&lt;script src=&quot;../js/cufon.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
 		&lt;script src=&quot;../fonts/Vegur.font.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
-		
+
 		&lt;script type=&quot;text/javascript&quot;&gt; Cufon.replace([ 'h1', 'h3' ]); &lt;/script&gt;
-	
+
 	&lt;/head&gt;
-	
+
 	&lt;body&gt;
-	
+
 		&lt;div id=&quot;doc&quot;&gt;
 
 			&lt;div id=&quot;page&quot;&gt;
-			
+
 				&lt;div id=&quot;head&quot;&gt;
-				
+
 					&lt;h1&gt;&lt;a href=&quot;/&quot;&gt;cuf&#243;n - fonts for the people&lt;/a&gt;&lt;/h1&gt;
-					
+
 				&lt;/div&gt;
-				
+
 				&lt;div id=&quot;nav&quot;&gt;
-				
+
 					&lt;ul class=&quot;nav&quot;&gt;
 						&lt;li&gt;&lt;a href=&quot;http://cufon.shoqolate.com/js/cufon-yui.js&quot;&gt;Download&lt;/a&gt;&lt;/li&gt;
 						&lt;li class=&quot;current&quot;&gt;&lt;a href=&quot;.&quot;&gt;Generator&lt;/a&gt;&lt;/li&gt;
@@ -43,17 +43,17 @@
 						&lt;li&gt;&lt;a href=&quot;http://groups.google.com/group/cufon&quot; class=&quot;external&quot;&gt;Community&lt;/a&gt;&lt;/li&gt;
 						&lt;li&gt;&lt;a href=&quot;http://github.com/sorccu/cufon/tree/master&quot;&gt;Source&lt;/a&gt;&lt;/li&gt;
 					&lt;/ul&gt;
-					
+
 				&lt;/div&gt;
-				
+
 				&lt;div id=&quot;content&quot;&gt;
-										
+
 					&lt;form action=&quot;convert.php&quot; method=&quot;post&quot; enctype=&quot;multipart/form-data&quot;&gt;
-						
+
 						&lt;div class=&quot;section&quot;&gt;
-							
+
 							&lt;h3&gt;Select the font you'd like to use&lt;/h3&gt;
-						
+
 							&lt;dl&gt;
 								&lt;dt&gt;&lt;label for=&quot;ifont_0&quot; id=&quot;lfont_0&quot;&gt;Regular typeface&lt;/label&gt;&lt;/dt&gt;
 								&lt;dd&gt;&lt;input type=&quot;file&quot; name=&quot;font[]&quot; id=&quot;ifont_0&quot; size=&quot;70&quot; /&gt;&lt;/dd&gt;
@@ -64,18 +64,18 @@
 								&lt;dt&gt;&lt;label for=&quot;ifont_3&quot; id=&quot;lfont_3&quot;&gt;Bold Italic typeface (optional)&lt;/label&gt;&lt;/dt&gt;
 								&lt;dd&gt;&lt;input type=&quot;file&quot; name=&quot;font[]&quot; id=&quot;ifont_3&quot; size=&quot;70&quot; /&gt;&lt;/dd&gt;
 							&lt;/dl&gt;
-							
+
 							&lt;p class=&quot;info&quot;&gt;On Windows, &lt;em&gt;you may first have to copy the font file out of the Fonts folder and paste it elsewhere&lt;/em&gt; in order to be able to select it.&lt;/p&gt;
-							
+
 							&lt;p class=&quot;info&quot;&gt;Currently only TrueType (TTF), OpenType (OTF), Printer Font Binary (PFB) and PostScript fonts are supported. Files are disposed of immediately after conversion.&lt;/p&gt;
-							
+
 							&lt;dl&gt;
 								&lt;dt&gt;&lt;label for=&quot;ifamily&quot;&gt;Use the following value as the &lt;code&gt;font-family&lt;/code&gt; of the generated font (optional)&lt;/label&gt;&lt;/dt&gt;
 								&lt;dd&gt;&lt;input type=&quot;text&quot; name=&quot;family&quot; id=&quot;ifamily&quot; size=&quot;70&quot; maxlength=&quot;150&quot; /&gt;
 									&lt;p class=&quot;info&quot;&gt;Useful if you're using multiple variants of the same font (bold, italic etc). Sometimes they may have slightly different family names, which may lead to unexpected behavior.&lt;/p&gt;
 								&lt;/dd&gt;
 							&lt;/dl&gt;
-							
+
 							&lt;dl&gt;
 								&lt;dt&gt;&lt;label for=&quot;ipermission&quot; class=&quot;important&quot;&gt;&lt;input type=&quot;checkbox&quot; name=&quot;permission&quot; id=&quot;ipermission&quot; value=&quot;yes&quot; /&gt; The EULAs of these fonts allow Web Embedding (without &lt;a href=&quot;http://www.adobe.com/products/flashplayer/&quot; class=&quot;external&quot;&gt;Adobe Flash&lt;/a&gt;)&lt;/label&gt;&lt;/dt&gt;
 								&lt;dd&gt;
@@ -89,13 +89,13 @@
 									&lt;a href=&quot;http://www.linotype.com/2061-28225/licenseagreementforfontsoftware.html&quot; class=&quot;external&quot;&gt;Linotype&lt;/a&gt; (extended).&lt;/p&gt;
 								&lt;/dd&gt;
 							&lt;/dl&gt;
-							
+
 						&lt;/div&gt;
-						
+
 						&lt;div class=&quot;section&quot;&gt;
-							
+
 							&lt;h3&gt;Include the following glyphs (if available)&lt;/h3&gt;
-						
+
 							&lt;dl&gt;
 								&lt;dt&gt;&lt;label for=&quot;iglyphs_all&quot;&gt;&lt;input type=&quot;checkbox&quot; name=&quot;glyphs[]&quot; id=&quot;iglyphs_all&quot; value=&quot;0x0-0xFFFF&quot; /&gt; All&lt;/label&gt;&lt;/dt&gt;
 								&lt;dd&gt;Includes all available glyphs. Highly unrecommended.&lt;/dd&gt;
@@ -126,13 +126,13 @@
 								&lt;dt&gt;&lt;label for=&quot;icustomGlyphs&quot;&gt; .. and also these single characters&lt;/label&gt;&lt;/dt&gt;
 								&lt;dd&gt;&lt;input type=&quot;text&quot; name=&quot;customGlyphs&quot; id=&quot;icustomGlyphs&quot; size=&quot;70&quot; maxlength=&quot;250&quot; /&gt;&lt;/dd&gt;
 							&lt;/dl&gt;
-							
+
 						&lt;/div&gt;
-						
+
 						&lt;div class=&quot;section&quot;&gt;
-							
+
 							&lt;h3&gt;Security&lt;/h3&gt;
-						
+
 							&lt;dl&gt;
 								&lt;dt&gt;&lt;label for=&quot;idomains&quot;&gt;Limit usage to the following domain(s)&lt;/label&gt;&lt;/dt&gt;
 								&lt;dd&gt;
@@ -141,13 +141,13 @@
 									&lt;p class=&quot;info&quot;&gt;Separate multiple domains by either commas or spaces. You can also use wildcards (e.g. *.example.org to cover all subdomains of example.org). Using a font that doesn't match any of the allowed domains results in no text showing up.&lt;/p&gt;
 								&lt;/dd&gt;
 							&lt;/dl&gt;
-							
+
 						&lt;/div&gt;
-						
+
 						&lt;div class=&quot;section&quot;&gt;
-						
+
 							&lt;h3&gt;Performance &amp;amp; file size&lt;/h3&gt;
-							
+
 							&lt;dl&gt;
 								&lt;dt&gt;&lt;label for=&quot;iemSize&quot;&gt;Scale the font to the following size&lt;/label&gt;&lt;/dt&gt;
 								&lt;dd&gt;
@@ -164,15 +164,15 @@
 								&lt;/dd&gt;
 								&lt;dt&gt;&lt;label for=&quot;ikerning&quot;&gt;&lt;input type=&quot;checkbox&quot; name=&quot;kerning&quot; id=&quot;ikerning&quot; value=&quot;yes&quot; checked=&quot;checked&quot; /&gt; Include kerning tables (improves readability but slightly increases file size)&lt;/label&gt;&lt;/dt&gt;
 							&lt;/dl&gt;
-							
+
 							&lt;p&gt;Also, try to make sure your server serves gzipped JavaScript. 70-80% drops in file size are not unheard of.&lt;/p&gt;
-						
+
 						&lt;/div&gt;
-						
+
 						&lt;div id=&quot;customization&quot; class=&quot;section&quot;&gt;
-							
+
 							&lt;h3&gt;Customization (for 3rd-party scripts only)&lt;/h3&gt;
-								
+
 							&lt;dl&gt;
 								&lt;dt&gt;&lt;label for=&quot;icallback&quot;&gt;The following JavaScript function will receive the font data&lt;/label&gt;&lt;/dt&gt;
 								&lt;dd&gt;&lt;input type=&quot;text&quot; name=&quot;callback&quot; id=&quot;icallback&quot; value=&quot;Cufon.registerFont&quot; size=&quot;70&quot; maxlength=&quot;250&quot; /&gt;
@@ -180,44 +180,44 @@
 									&lt;a href=&quot;#set-callback&quot; class=&quot;callback&quot; title=&quot;Raphael.registerFont&quot;&gt;&lt;img src=&quot;img/raphael16.png&quot; alt=&quot;Rapha&#235;l&quot; title=&quot;Rapha&#235;l&quot; width=&quot;16&quot; height=&quot;16&quot; /&gt;&lt;/a&gt;
 								&lt;/dd&gt;
 							&lt;/dl&gt;
-							
+
 						&lt;/div&gt;
-						
+
 						&lt;div class=&quot;section&quot;&gt;
-						
+
 							&lt;h3&gt;Terms&lt;/h3&gt;
-							
+
 							&lt;p&gt;Cuf&#243;n is distributed under the &lt;a href=&quot;http://en.wikipedia.org/wiki/MIT_License&quot; class=&quot;external&quot;&gt;MIT license&lt;/a&gt;. By using this tool you agree to its terms.&lt;/p&gt;
-							
+
 							&lt;p&gt;Should you require help you may ask for it at &lt;a href=&quot;http://groups.google.com/group/cufon&quot; class=&quot;external&quot;&gt;our Google Group&lt;/a&gt;, but keep
 							in mind that you are in no way entitled to support, which means that even if you do not
 							get a satisfactory answer you may not complain about it. Nice people are more likely to
 							get helpful answers.&lt;/p&gt;
-							
+
 							&lt;p&gt;&lt;label for=&quot;iterms&quot; class=&quot;important&quot;&gt;&lt;input type=&quot;checkbox&quot; name=&quot;terms&quot; id=&quot;iterms&quot; value=&quot;yes&quot; /&gt; I acknowledge and accept these terms&lt;/label&gt;&lt;/p&gt;
-						
+
 						&lt;/div&gt;
-						
+
 						&lt;div class=&quot;actions&quot;&gt;
-						
+
 							&lt;button type=&quot;submit&quot;&gt;Let's do this!&lt;/button&gt;
-						
+
 						&lt;/div&gt;
-						
+
 					&lt;/form&gt;
-					
+
 				&lt;/div&gt;
-				
+
 				&lt;div id=&quot;foot&quot;&gt;
-					
+
 					&lt;p&gt;Idea and implementation by Simo Kinnunen, 2008-. Bugs by nature.&lt;/p&gt;
-					
+
 				&lt;/div&gt;
-				
+
 			&lt;/div&gt;
-				
+
 		&lt;/div&gt;
-	
+
 	&lt;/body&gt;
-	
+
 &lt;/html&gt;</diff>
      <filename>generate/index.html</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 (function() {
-	
+
 	function addEvent(el, type, listener) {
 		if (el.addEventListener) {
 			el.addEventListener(type, listener, false);
@@ -10,7 +10,7 @@
 			});
 		}
 	}
-	
+
 	function handle(el) {
 		switch (el.nodeName.toLowerCase()) {
 			case '#text':
@@ -30,7 +30,7 @@
 		}
 		return false;
 	}
-	
+
 	addEvent(document, 'click', function(e) {
 		if (!handle(e.target || e.srcElement)) return;
 		if (e.preventDefault) e.preventDefault();
@@ -38,5 +38,5 @@
 		if (e.stopPropagation) e.stopPropagation();
 		else e.returnValue = false;
 	});
-	
-})();
\ No newline at end of file
+
+})();</diff>
      <filename>generate/js/ui.js</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,4 @@
 &lt;?php
 
 class ConversionException extends RuntimeException {
-}
\ No newline at end of file
+}</diff>
      <filename>generate/lib/ConversionException.php</filename>
    </modified>
    <modified>
      <diff>@@ -5,29 +5,29 @@ require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'SVGFontContainer.php';
 require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'UnicodeRange.php';
 
 class Cufon {
-	
+
 	public static function getUnusedFilename($suffix)
 	{
 		$filename = sys_get_temp_dir() . DIRECTORY_SEPARATOR . 'cufon_';
-		
+
 		do
 		{
 			$wanted = $filename . uniqid(mt_rand(), true) . $suffix;
 		}
 		while (file_exists($wanted));
-		
+
 		return $wanted;
 	}
-	
+
 	public static function log($message)
 	{
 		$args = func_get_args();
-		
+
 		array_shift($args);
-		
+
 		error_log(sprintf(&quot;[cufon]: %s&quot;, vsprintf($message, $args)), 0);
 	}
-	
+
 	/**
 	 * @param string $file
 	 * @param array $options
@@ -36,29 +36,29 @@ class Cufon {
 	public static function generate($file, array $options)
 	{
 		Cufon::log('Processing %s', $file);
-		
+
 		$script = new FontForgeScript();
-		
+
 		$script-&gt;open($file);
 		$script-&gt;flattenCID();
 		$script-&gt;reEncode('unicode');
 		$script-&gt;selectNone();
-		
+
 		if (!empty($options['glyphs']))
 		{
 			foreach ($options['glyphs'] as $glyph)
 			{
 				$ranges = explode(',', $glyph);
-				
+
 				foreach ($ranges as $range)
 				{
 					if (strpos($range, '-')) // can't be 0 anyway
 					{
 						// the range regex allows for things like 0xff-0xff-0xff, so we'll
 						// just ignore everything between the first and last one.
-						
+
 						$points = explode('-', $range);
-						
+
 						$script-&gt;selectUnicodeRange(intval(reset($points), 16), intval(end($points), 16));
 					}
 					else
@@ -68,54 +68,54 @@ class Cufon {
 				}
 			}
 		}
-		
+
 		if (!empty($options['customGlyphs']))
-		{	
+		{
 			$glyphs = preg_split('//u', $options['customGlyphs'], -1, PREG_SPLIT_NO_EMPTY);
-			
+
 			foreach ($glyphs as $glyph)
 			{
 				$script-&gt;selectUnicode(UnicodeRange::getCodePoint($glyph));
 			}
 		}
-		
+
 		$script-&gt;selectInvert();
 		$script-&gt;detachAndRemoveGlyphs();
-		
+
 		$script-&gt;setFontOrder(FontForgeScript::ORDER_CUBIC);
-		
+
 		if (!$options['disableScaling'])
 		{
 			$script-&gt;scaleToEm($options['emSize']);
 		}
-		
+
 		$script-&gt;selectAll();
 		$script-&gt;verticalFlip(0);
-		
+
 		if ($options['simplify'])
 		{
 			$script-&gt;simplify($options['simplifyDelta']);
 		}
-		
+
 		$script-&gt;roundToInt(1);
-		
+
 		$svgFile = Cufon::getUnusedFilename('.svg');
-		
+
 		Cufon::log('Converting to SVG with filename %s', $svgFile);
-		
+
 		$script-&gt;generate($svgFile);
 		$script-&gt;execute();
-		
+
 		$fonts = array();
-		
+
 		foreach (SVGFontContainer::fromFile($svgFile, $options) as $font)
 		{
 			$fonts[$font-&gt;getId()] = $options['callback'] . '(' . $font-&gt;toJavaScript() . ');';
 		}
-		
+
 		unlink($svgFile);
-		
+
 		return $fonts;
 	}
-	
+
 }</diff>
      <filename>generate/lib/Cufon.php</filename>
    </modified>
    <modified>
      <diff>@@ -3,27 +3,27 @@
 require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'ConversionException.php';
 
 class FontForgeScript {
-	
+
 	const ORDER_QUADRATIC = 2;
 	const ORDER_CUBIC = 3;
-	
+
 	/**
 	 * @var array
 	 */
 	private $commands = array();
-	
+
 	/**
 	 * @var array
 	 */
 	private $files = array();
-	
+
 	/**
 	 * @return void
 	 */
 	public function __construct()
 	{
 	}
-	
+
 	/**
 	 * @return string
 	 */
@@ -31,7 +31,7 @@ class FontForgeScript {
 	{
 		return implode(&quot;\n&quot;, $this-&gt;commands);
 	}
-	
+
 	/**
 	 * @return void
 	 */
@@ -45,17 +45,17 @@ class FontForgeScript {
 			}
 		}
 	}
-	
+
 	/**
 	 * @return FontForgeScript
 	 */
 	public function close()
 	{
 		$this-&gt;commands[] = 'Close()';
-		
+
 		return $this;
 	}
-	
+
 	/**
 	 * @fixme Sometimes removes glyphs it shouldn't.
 	 * @return FontForgeScript
@@ -63,63 +63,63 @@ class FontForgeScript {
 	public function clear()
 	{
 		$this-&gt;commands[] = 'Clear()';
-		
+
 		return $this;
 	}
-	
+
 	/**
 	 * @return FontForgeScript
 	 */
 	public function detachAndRemoveGlyphs()
 	{
 		$this-&gt;commands[] = 'DetachAndRemoveGlyphs()';
-		
+
 		return $this;
 	}
-	
+
 	/**
 	 * @return void
 	 */
 	public function execute()
 	{
 		$filename = Cufon::getUnusedFilename('.pe');
-		
+
 		file_put_contents($filename, $this-&gt;__toString());
-		
+
 		$this-&gt;files[] = $filename;
-		
+
 		chmod($filename, 0777);
-		
+
 		$command = sprintf('env %s -script %s 2&gt;&amp;1', CUFON_FONTFORGE, escapeshellarg($filename));
-		
+
 		Cufon::log('Executing command: %s', $command);
-		
+
 		$status = 0;
-		
+
 		$output = array();
-		
+
 		exec($command, $output, $status);
-		
+
 		Cufon::log('Exited with status %d, output: %s', $status, implode(' / ', $output));
-		
+
 		if ($status &gt; 0)
 		{
 			throw new ConversionException('Conversion failed');
 		}
-		
+
 		return $output;
 	}
-	
+
 	/**
 	 * @return FontForgeScript
 	 */
 	public function flattenCID()
 	{
 		$this-&gt;commands[] = 'if ($iscid); CIDFlatten(); endif;';
-		
+
 		return $this;
 	}
-	
+
 	/**
 	 * @param string $filename
 	 * @return FontForgeScript
@@ -127,10 +127,10 @@ class FontForgeScript {
 	public function generate($filename)
 	{
 		$this-&gt;commands[] = sprintf('Generate(&quot;%s&quot;)', addslashes($filename));
-		
+
 		return $this;
 	}
-	
+
 	/**
 	 * @param int $at
 	 * @return FontForgeScript
@@ -138,10 +138,10 @@ class FontForgeScript {
 	public function horizontalFlip($at = null)
 	{
 		$this-&gt;commands[] = sprintf('HFlip(%s)', is_int($at) ? $at : '');
-		
+
 		return $this;
 	}
-	
+
 	/**
 	 * @param string $filename
 	 * @return FontForgeScript
@@ -149,12 +149,12 @@ class FontForgeScript {
 	public function open($filename)
 	{
 		$this-&gt;commands[] = sprintf('Open(&quot;%s&quot;)', addslashes($filename));
-		
+
 		chmod($filename, 0777);
-		
+
 		return $this;
 	}
-	
+
 	/**
 	 * @param int $point
 	 * @return FontForgeScript
@@ -162,10 +162,10 @@ class FontForgeScript {
 	public function reduceUnicode($point)
 	{
 		$this-&gt;commands[] = sprintf('SelectFewerSingletons(0u%X)', $point);
-		
+
 		return $this;
 	}
-	
+
 	/**
 	 * @param int $from
 	 * @param int $to
@@ -174,10 +174,10 @@ class FontForgeScript {
 	public function reduceUnicodeRange($from, $to)
 	{
 		$this-&gt;commands[] = sprintf('SelectFewer(0u%X, 0u%X)', $from, $to);
-		
+
 		return $this;
 	}
-	
+
 	/**
 	 * @param string $encoding
 	 * @return FontForgeScript
@@ -185,20 +185,20 @@ class FontForgeScript {
 	public function reEncode($encoding)
 	{
 		$this-&gt;commands[] = sprintf('Reencode(&quot;%s&quot;)', $encoding);
-		
+
 		return $this;
 	}
-	
+
 	/**
 	 * @return FontForgeScript
 	 */
 	public function removeAllKerns()
 	{
 		$this-&gt;commands[] = 'RemoveAllKerns()';
-		
+
 		return $this;
 	}
-	
+
 	/**
 	 * http://fontforge.sourceforge.net/scripting-alpha.html#RoundToInt
 	 *
@@ -208,10 +208,10 @@ class FontForgeScript {
 	public function roundToInt($factor = 1)
 	{
 		$this-&gt;commands[] = sprintf('RoundToInt(%d)', $factor);
-	
+
 		return $this;
 	}
-	
+
 	/**
 	 * @param int $emSize
 	 * @return FontForgeScript
@@ -220,37 +220,37 @@ class FontForgeScript {
 	{
 		$this-&gt;commands[] = sprintf('ScaleToEm(%d)', $emSize);
 	}
-	
+
 	/**
 	 * @return FontForgeScript
 	 */
 	public function selectAll()
 	{
 		$this-&gt;commands[] = 'SelectAll()';
-		
+
 		return $this;
 	}
-	
+
 	/**
 	 * @return FontForgeScript
 	 */
 	public function selectInvert()
 	{
 		$this-&gt;commands[] = 'SelectInvert()';
-		
+
 		return $this;
 	}
-	
+
 	/**
 	 * @return FontForgeScript
 	 */
 	public function selectNone()
 	{
 		$this-&gt;commands[] = 'SelectNone()';
-		
+
 		return $this;
 	}
-	
+
 	/**
 	 * @param int $point
 	 * @return FontForgeScript
@@ -258,10 +258,10 @@ class FontForgeScript {
 	public function selectUnicode($point)
 	{
 		$this-&gt;commands[] = sprintf('SelectMoreSingletons(0u%X)', $point);
-		
+
 		return $this;
 	}
-	
+
 	/**
 	 * @param int $from
 	 * @param int $to
@@ -270,10 +270,10 @@ class FontForgeScript {
 	public function selectUnicodeRange($from, $to)
 	{
 		$this-&gt;commands[] = sprintf('SelectMore(0u%X, 0u%X)', $from, $to);
-		
+
 		return $this;
 	}
-	
+
 	/**
 	 * @param int $order
 	 * @return FontForgeScript
@@ -281,22 +281,22 @@ class FontForgeScript {
 	public function setFontOrder($order)
 	{
 		$this-&gt;commands[] = sprintf('SetFontOrder(%d)', $order);
-		
+
 		return $this;
 	}
-	
+
 	/**
 	 * http://fontforge.sourceforge.net/scripting-alpha.html#Simplify
-	 * 
+	 *
 	 * @return FontForgeScript
 	 */
 	public function simplify($error = 3)
 	{
 		$this-&gt;commands[] = sprintf('Simplify(1 | 2 | 4 | 8 | 32 | 64, %d)', $error);
-		
+
 		return $this;
 	}
-	
+
 	/**
 	 * @param int $at
 	 * @return FontForgeScript
@@ -304,8 +304,8 @@ class FontForgeScript {
 	public function verticalFlip($at = null)
 	{
 		$this-&gt;commands[] = sprintf('VFlip(%s)', is_int($at) ? $at : '');
-		
+
 		return $this;
 	}
-	
-}
\ No newline at end of file
+
+}</diff>
      <filename>generate/lib/FontForgeScript.php</filename>
    </modified>
    <modified>
      <diff>@@ -3,17 +3,17 @@
 require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'JSEncoderKey.php';
 
 class JSEncoder {
-	
+
 	/**
 	 * @var JSEncoderKey
 	 */
 	private $key;
-	
+
 	/**
 	 * @var string
 	 */
 	private $encoded = '';
-	
+
 	/**
 	 * @param string $str
 	 * @return void
@@ -21,57 +21,57 @@ class JSEncoder {
 	public function __construct($str)
 	{
 		$this-&gt;key = new JSEncoderKey();
-		
+
 		$this-&gt;encoded = $this-&gt;encode($str);
 	}
-	
+
 	/**
 	 * Based on Base64. Idea stolen from an old trojan, author unknown.
-	 * 
+	 *
 	 * @param string $str
 	 * @return string
 	 */
 	private function encode($str)
 	{
 		$length = strlen($str);
-		
+
 		$pad = $length % 3;
-		
+
 		if ($pad)
 		{
 			$length += 3 - $pad;
 		}
-		
+
 		$str = str_pad($str, $length, ' ');
-		
+
 		$value = '';
-		
+
 		for ($i = 0; $i &lt; $length - 2; $i += 3)
 		{
 			$mask = (ord($str{$i}) &lt;&lt; 16 &amp; 0xff0000) + (ord($str{$i + 1}) &lt;&lt; 8 &amp; 0xff00) + (ord($str{$i + 2}) &amp; 0xff);
-			
+
 			$bits = array(
 				($mask &amp; 0xfc0000) &gt;&gt; 18,
 				($mask &amp; 0x3f000) &gt;&gt; 12,
 				($mask &amp; 0xfc0) &gt;&gt; 6,
 				($mask &amp; 0x3f)
 			);
-			
+
 			$value .= $this-&gt;key[$bits[0]] . $this-&gt;key[$bits[1]] . $this-&gt;key[$bits[2]] . $this-&gt;key[$bits[3]];
 		}
-		
+
 		return $value;
 	}
-	
+
 	/**
 	 * @return string
 	 */
 	public function getDecoder()
 	{
 		$keyOffset = mt_rand(0, strlen($this-&gt;encoded));
-		
+
 		$data = substr($this-&gt;encoded, 0, $keyOffset) . $this-&gt;key . substr($this-&gt;encoded, $keyOffset);
-		
+
 		$decoder =
 			'function(s){var c=&quot;charAt&quot;,i=&quot;indexOf&quot;,a=String(arguments.cal' .
 			'lee).replace(/\s+/g,&quot;&quot;),z=s.length+%d-a.length+(a.charCodeAt(' .
@@ -82,28 +82,28 @@ class JSEncoder {
 			'x))&amp;255)&lt;&lt;6|k[i](v[c](++x))&amp;255;t+=String.fromCharCode((m&amp;167' .
 			'11680)&gt;&gt;16,(m&amp;65280)&gt;&gt;8,m&amp;255);}e.text=t;h.insertBefore(e,h.f' .
 			'irstChild);h.removeChild(e);}';
-		
+
 		$predictedSize = self::getInjectedSize(strlen($decoder) - 3);
-		
+
 		$blocker = $keyOffset - strlen($data) + $predictedSize;
-		
+
 		$lengthBeforeAdjustment = strlen($blocker);
-		
+
 		$blocker += $lengthBeforeAdjustment - strlen($predictedSize);
-		
+
 		do
 		{
 			$blocker -= $lengthBeforeAdjustment - strlen($blocker);
-			
+
 			$sizeChanged = strlen($blocker) !== $lengthBeforeAdjustment;
 
 			$lengthBeforeAdjustment = strlen($blocker);
 		}
 		while ($sizeChanged);
-		
+
 		return sprintf('(%s)(%s)', sprintf($decoder, $blocker), json_encode($data));
 	}
-	
+
 	/**
 	 * @param string $str
 	 * @return int
@@ -111,10 +111,10 @@ class JSEncoder {
 	private static function getInjectedSize($size)
 	{
 		$length = $size + strlen($size);
-		
+
 		$length += strlen($length) - strlen($size);
-		
+
 		return $length;
 	}
-	
-}
\ No newline at end of file
+
+}</diff>
      <filename>generate/lib/JSEncoder.php</filename>
    </modified>
    <modified>
      <diff>@@ -1,10 +1,10 @@
 &lt;?php
 
 class JSEncoderKey implements ArrayAccess, Countable {
-	
+
 	/**
 	 * Only 0x3f + 1 (64) values are needed.
-	 * 
+	 *
 	 * @var array
 	 */
 	private $salt = array();
@@ -15,12 +15,12 @@ class JSEncoderKey implements ArrayAccess, Countable {
 	public function __construct()
 	{
 		$this-&gt;salt = str_split('!#$%&amp;()*+,-.0123456789:;=&gt;?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~', 1);
-		
+
 		shuffle($this-&gt;salt);
-		
+
 		array_splice($this-&gt;salt, 64);
 	}
-	
+
 	/**
 	 * @return string
 	 */
@@ -28,7 +28,7 @@ class JSEncoderKey implements ArrayAccess, Countable {
 	{
 		return implode('', $this-&gt;salt);
 	}
-	
+
 	/**
 	 * @see Countable::count()
 	 *
@@ -83,5 +83,5 @@ class JSEncoderKey implements ArrayAccess, Countable {
 	{
 		throw new RuntimeException('JSEncoderKey is immutable');
 	}
-	
-}
\ No newline at end of file
+
+}</diff>
      <filename>generate/lib/JSEncoderKey.php</filename>
    </modified>
    <modified>
      <diff>@@ -6,7 +6,7 @@ require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'UnicodeRange.php';
 require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'VMLPath.php';
 
 class SVGFont {
-	
+
 	/**
 	 * @var SimpleXMLElement
 	 */
@@ -16,35 +16,35 @@ class SVGFont {
 	 * @var SVGFontContainer
 	 */
 	private $container;
-	
+
 	/**
 	 * @param string $file
 	 */
 	public function __construct(SimpleXMLElement $document, SVGFontContainer $container)
-	{		
+	{
 		$this-&gt;document = $document;
-		
+
 		$this-&gt;container = $container;
 	}
-	
+
 	public function __toString()
 	{
 		return $this-&gt;document-&gt;asXML();
 	}
-	
+
 	/**
 	 * @return string
 	 */
 	public function getId()
 	{
 		$faces = $this-&gt;document-&gt;xpath('//font-face');
-		
+
 		if (!empty($faces))
 		{
 			$face = $faces[0];
-			
+
 			$parts = array();
-			
+
 			foreach (array('font-family', 'font-style', 'font-weight') as $attribute)
 			{
 				if (isset($face[$attribute]))
@@ -52,13 +52,13 @@ class SVGFont {
 					$parts[] = $this-&gt;getSanitizedFaceValue($attribute, (string) $face[$attribute]);
 				}
 			}
-			
+
 			return implode('_', $parts);
 		}
-		
+
 		return null;
 	}
-	
+
 	/**
 	 * @param string $key
 	 * @param string $value
@@ -68,40 +68,40 @@ class SVGFont {
 		switch ($key)
 		{
 			case 'font-family':
-				
+
 				$options = $this-&gt;container-&gt;getOptions();
-				
+
 				$family = $options['family'];
-				
+
 				if (!is_null($family) &amp;&amp; $family !== '')
 				{
 					return $family;
 				}
-				
+
 				break;
-				
+
 			case 'font-weight':
-				
+
 				$weight = intval($value);
-				
+
 				if ($weight &lt; 100)
 				{
 					$weight *= 100;
 				}
-				
+
 				return max(100, min($weight, 900));
 		}
-		
+
 		return $value;
 	}
-	
+
 	/**
 	 * @return string
 	 */
 	public function toJavaScript()
 	{
 		$font = $this-&gt;document;
-		
+
 		$fontJSON = array(
 			'w' =&gt; (int) $font['horiz-adv-x'],
 			'face' =&gt; array(),
@@ -109,50 +109,50 @@ class SVGFont {
 				' ' =&gt; new stdClass() // some fonts do not contain a glyph for space
 			)
 		);
-		
+
 		$face = $font-&gt;xpath('font-face');
-		
+
 		if (empty($face))
 		{
 			return null;
 		}
-		
+
 		foreach ($face[0]-&gt;attributes() as $key =&gt; $val)
 		{
 			$fontJSON['face'][$key] = $this-&gt;getSanitizedFaceValue($key, (string) $val);
 		}
-		
+
 		$nameIndex = array();
 		$charIndex = array();
-		
+
 		foreach ($font-&gt;xpath('glyph') as $glyph)
 		{
 			if (!isset($glyph['unicode']))
 			{
 				continue;
 			}
-			
+
 			if (mb_strlen($glyph['unicode'], 'utf-8') &gt; 1)
 			{
 				// it's a ligature, for now we'll just ignore it
-				
+
 				continue;
 			}
-			
+
 			$data = new stdClass();
-			
+
 			if (isset($glyph['d']))
 			{
 				$data-&gt;d = substr(VMLPath::fromSVG((string) $glyph['d']), 1, -2); // skip m and xe
 			}
-			
+
 			if (isset($glyph['horiz-adv-x']))
 			{
 				$data-&gt;w = (int) $glyph['horiz-adv-x'];
 			}
-			
+
 			$char = (string) $glyph['unicode'];
-			
+
 			if (isset($glyph['glyph-name']))
 			{
 				foreach (explode(',', (string) $glyph['glyph-name']) as $glyphName)
@@ -161,53 +161,53 @@ class SVGFont {
 					$charIndex[$char] = $data;
 				}
 			}
-			
+
 			$fontJSON['glyphs'][$char] = $data;
 		}
-		
+
 		$options = $this-&gt;container-&gt;getOptions();
-		
+
 		$emSize = (int) $fontJSON['face']['units-per-em'];
-		
+
 		// for some extremely weird reason FontForge sometimes pumps out
 		// astronomical kerning values.
 		// @todo figure out what's really wrong
 		$kerningLimit = $emSize * 2;
-		
+
 		if ($options['kerning'])
 		{
 			foreach ($font-&gt;xpath('hkern') as $hkern)
 			{
 				$k = (int) $hkern['k'];
-				
+
 				if (abs($k) &gt; $kerningLimit)
 				{
 					continue;
 				}
-				
+
 				$firstSet = array();
 				$secondSet = array();
-				
+
 				if (isset($hkern['u1']))
 				{
 					$firstSet = self::getMatchingCharsFromUnicodeRange((string) $hkern['u1'], $charIndex);
 				}
-				
+
 				if (isset($hkern['g1']))
 				{
 					$firstSet = array_merge($firstSet, self::getMatchingCharsFromGlyphNames((string) $hkern['g1'], $nameIndex));
 				}
-				
+
 				if (isset($hkern['u2']))
 				{
 					$secondSet = self::getMatchingCharsFromUnicodeRange((string) $hkern['u2'], $charIndex);
 				}
-				
+
 				if (isset($hkern['g2']))
 				{
 					$secondSet = array_merge($secondSet, self::getMatchingCharsFromGlyphNames((string) $hkern['g2'], $nameIndex));
 				}
-				
+
 				if (!empty($secondSet))
 				{
 					foreach ($firstSet as $firstGlyph)
@@ -215,29 +215,29 @@ class SVGFont {
 						foreach ($secondSet as $secondGlyph)
 						{
 							$glyph = $fontJSON['glyphs'][$firstGlyph];
-							
+
 							if (!isset($glyph-&gt;k))
 							{
 								$glyph-&gt;k = array();
 							}
-							
+
 							$glyph-&gt;k[$secondGlyph] = $k;
 						}
 					}
 				}
 			}
 		}
-		
+
 		$nbsp = utf8_encode(chr(0xa0));
-		
+
 		if (!isset($fontJSON['glyphs'][$nbsp]) &amp;&amp; isset($fontJSON['glyphs'][' ']))
 		{
 			$fontJSON['glyphs'][$nbsp] = $fontJSON['glyphs'][' '];
 		}
-		
+
 		return self::processFont($fontJSON, $options);
 	}
-	
+
 	/**
 	 * @param array $data
 	 * @param array $options
@@ -246,22 +246,22 @@ class SVGFont {
 	private static function processFont($data, $options)
 	{
 		$domains = preg_split('/\s*[, ]\s*/', trim($options['domains']), -1, PREG_SPLIT_NO_EMPTY);
-		
+
 		if (empty($domains))
 		{
 			return json_encode($data);
 		}
-		
+
 		$domainMap = array();
-		
+
 		foreach ($domains as $domain)
 		{
 			$domain = preg_quote(preg_replace('@^\w+://@', '', mb_strtolower($domain, 'utf-8')), '/');
-			
+
 			// this is kind of ugly, but we have to make sure that JSEncoder
 			// only gets ASCII characters
 			$domain = str_replace('\\\\', '\\', substr(json_encode($domain), 1, -1));
-			
+
 			if (substr($domain, 0, 2) === '\\.')
 			{
 				$domain = &quot;.+{$domain}&quot;;
@@ -270,27 +270,27 @@ class SVGFont {
 			{
 				$domain = '.+' . substr($domain, 2);
 			}
-			
+
 			$domainMap[$domain] = 1;
 		}
-		
+
 		$glyphs = $data['glyphs'];
-		
+
 		unset($data['glyphs']);
-		
+
 		uasort($glyphs, array(__CLASS__, 'sortRandom'));
-		
+
 		$encoder = new JSEncoder(
 			sprintf('(function(){var b=_cufon_bridge_,c=%s.split(&quot;&quot;),i=0,p=b.p,l=p.length,g=b.f.glyphs={};if(/^(?:www\\.)?(?:%s)$/.test(location.hostname))for(;i&lt;l;++i)g[c[i]]=p[i]})()',
 				json_encode(implode('', array_keys($glyphs))),
 				implode('|', array_keys($domainMap))));
-		
+
 		return sprintf('(function(f){_cufon_bridge_={p:%s,f:f};try{%s}catch(e){}delete _cufon_bridge_;return f})(%s)',
 			json_encode(array_values($glyphs)),
 			$encoder-&gt;getDecoder(),
 			json_encode($data));
 	}
-	
+
 	/**
 	 * @param string $group
 	 * @param array $nameIndex
@@ -299,7 +299,7 @@ class SVGFont {
 	private static function getMatchingCharsFromGlyphNames($group, $nameIndex)
 	{
 		$matches = array();
-		
+
 		foreach (explode(',', $group) as $g)
 		{
 			if (isset($nameIndex[$g]))
@@ -307,10 +307,10 @@ class SVGFont {
 				$matches[] = $nameIndex[$g];
 			}
 		}
-		
+
 		return $matches;
 	}
-	
+
 	/**
 	 * @param string $unicodeRange
 	 * @param array $charIndex
@@ -319,9 +319,9 @@ class SVGFont {
 	private static function getMatchingCharsFromUnicodeRange($unicodeRange, $charIndex)
 	{
 		$matches = array();
-		
+
 		$range = new UnicodeRange($unicodeRange);
-		
+
 		if ($range-&gt;isSimple())
 		{
 			if ($charIndex[$unicodeRange])
@@ -332,7 +332,7 @@ class SVGFont {
 		else
 		{
 			reset($charIndex);
-			
+
 			while (list($char) = each($charIndex))
 			{
 				if ($range-&gt;contains($char))
@@ -341,10 +341,10 @@ class SVGFont {
 				}
 			}
 		}
-		
+
 		return $matches;
 	}
-	
+
 	/**
 	 * @param mixed $a
 	 * @param mixed $b
@@ -354,5 +354,5 @@ class SVGFont {
 	{
 		return mt_rand(-1, 1);
 	}
-	
-}
\ No newline at end of file
+
+}</diff>
      <filename>generate/lib/SVGFont.php</filename>
    </modified>
    <modified>
      <diff>@@ -3,7 +3,7 @@
 require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'SVGFont.php';
 
 class SVGFontContainer implements IteratorAggregate {
-	
+
 	/**
 	 * @param string $file
 	 * @return SVGFont
@@ -11,13 +11,13 @@ class SVGFontContainer implements IteratorAggregate {
 	public static function fromFile($file, array $options)
 	{
 		$xml = file_get_contents($file);
-		
+
 		// Get rid of unwanted control characters
 		// (only allow Tab, LF and CR)
 		$xml = preg_replace('/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/', '', $xml);
-		
+
 		$params = defined('LIBXML_COMPACT') ? constant('LIBXML_COMPACT') : 0;
-		
+
 		return new SVGFontContainer(simplexml_load_string($xml, 'SimpleXMLElement', $params), $options);
 	}
 
@@ -25,12 +25,12 @@ class SVGFontContainer implements IteratorAggregate {
 	 * @var SimpleXMLElement
 	 */
 	private $document;
-	
+
 	/**
 	 * @var array
 	 */
 	private $options;
-	
+
 	/**
 	 * @param SimpleXMLElement $document
 	 * @return void
@@ -38,22 +38,22 @@ class SVGFontContainer implements IteratorAggregate {
 	public function __construct(SimpleXMLElement $document, array $options)
 	{
 		$this-&gt;document = $document;
-		
+
 		$this-&gt;options = $options;
 	}
-	
+
 	/**
 	 * @return array of SVGFont
 	 */
 	public function getFonts()
 	{
 		$fonts = array();
-		
+
 		foreach ($this-&gt;document-&gt;xpath('//font') as $font)
 		{
 			$fonts[] = new SVGFont($font, $this);
 		}
-		
+
 		return $fonts;
 	}
 
@@ -65,7 +65,7 @@ class SVGFontContainer implements IteratorAggregate {
 	{
 		return new ArrayIterator($this-&gt;getFonts());
 	}
-	
+
 	/**
 	 * @return array
 	 */
@@ -73,5 +73,5 @@ class SVGFontContainer implements IteratorAggregate {
 	{
 		return $this-&gt;options;
 	}
-	
-}
\ No newline at end of file
+
+}</diff>
      <filename>generate/lib/SVGFontContainer.php</filename>
    </modified>
    <modified>
      <diff>@@ -1,10 +1,10 @@
 &lt;?php
 
 class UnicodeRange {
-	
+
 	/**
 	 * @see http://www.w3.org/TR/css3-webfonts/#dataqual
-	 * 
+	 *
 	 * @param string $range
 	 * @return UnicodeRange
 	 */
@@ -12,25 +12,25 @@ class UnicodeRange {
 	{
 		return new UnicodeRange($range);
 	}
-	
+
 	/**
 	 * @see http://www.php.net/manual/en/function.ord.php#68914
-	 * 
+	 *
 	 * @param string $char
 	 * @return int
 	 */
 	public static function getCodePoint($char)
 	{
 		$cp = unpack('N', mb_convert_encoding($char, 'UCS-4BE', 'UTF-8'));
-				
+
 		return $cp[1];
 	}
-	
+
 	/**
 	 * @var array
 	 */
 	private $ranges = array();
-	
+
 	/**
 	 * @param string $range
 	 * @return void
@@ -49,18 +49,18 @@ class UnicodeRange {
 			}
 		}
 	}
-	
+
 	/**
 	 * @return string
 	 */
 	public function asHexString()
 	{
 		$parts = array();
-		
+
 		foreach ($this-&gt;ranges as $range)
 		{
 			list($start, $end) = $range;
-			
+
 			if ($start === $end)
 			{
 				$parts[] = sprintf('0x%X', $start);
@@ -70,10 +70,10 @@ class UnicodeRange {
 				$parts[] = sprintf('0x%X-0x%X', $start, $end);
 			}
 		}
-		
+
 		return implode(',', $parts);
 	}
-	
+
 	/**
 	 * @param string $char
 	 * @return boolean
@@ -81,18 +81,18 @@ class UnicodeRange {
 	public function contains($char)
 	{
 		$cp = self::getCodePoint($char);
-		
+
 		foreach ($this-&gt;ranges as $range)
 		{
 			if ($cp &gt;= $range[0] &amp;&amp; $cp &lt;= $range[1])
 			{
-				return true;		
+				return true;
 			}
 		}
-		
+
 		return false;
 	}
-	
+
 	/**
 	 * @return boolean
 	 */
@@ -100,7 +100,7 @@ class UnicodeRange {
 	{
 		return count($this-&gt;ranges) == 1 &amp;&amp; $this-&gt;ranges[0][2];
 	}
-	
+
 	/**
 	 * @param string $range
 	 * @return array
@@ -110,36 +110,36 @@ class UnicodeRange {
 		if ($range === '-')
 		{
 			$start = ord($range);
-			
+
 			return array($start, $start, true);
 		}
-		
+
 		if (strpos($range, 'U+') !== 0)
 		{
 			$start = self::getCodePoint($range);
-			
+
 			return array($start, $start, true);
 		}
-		
+
 		$stops = explode('-', $range);
-		
+
 		$from = substr(reset($stops), 2);
-		
+
 		if (strpos($from, '?') !== false)
 		{
 			return array(hexdec($from), hexdec(str_replace('?', 'F', $from)), false);
 		}
-		
+
 		$from = hexdec($from);
-		
+
 		if (count($stops) &lt; 2)
 		{
 			return array($from, $from, false);
 		}
-		
+
 		$to = hexdec(substr(end($stops), 2));
-		
+
 		return array($from, $to);
 	}
-	
-}
\ No newline at end of file
+
+}</diff>
      <filename>generate/lib/UnicodeRange.php</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,7 @@
 &lt;?php
 
 class VMLPath {
-	
+
 	/**
 	 * @param string $type
 	 * @param array $coords
@@ -12,13 +12,13 @@ class VMLPath {
 		if (!is_array($coords))
 		{
 			$coords = func_get_args();
-			
+
 			array_shift($coords);
 		}
-		
+
 		return $type . implode(',', $coords);
 	}
-	
+
 	/**
 	 * @param string $path
 	 * @return VMLPath
@@ -26,25 +26,25 @@ class VMLPath {
 	public static function fromSVG($path)
 	{
 		$vml = new VMLPath();
-		
+
 		$matches = array();
-		
+
 		if (!preg_match_all('/([a-zA-Z])([0-9. \-,]*)/', $path, $matches, PREG_SET_ORDER))
 		{
 			return $vml;
 		}
-		
+
 		$at = (object) array('x' =&gt; 0, 'y' =&gt; 0);
 		$cp = (object) array('x' =&gt; 0, 'y' =&gt; 0);
-		
+
 		$previous = null;
-		
+
 		$zm = false;
-		
+
 		for (; $set = current($matches); next($matches))
 		{
 			list($cmd, $coords) = array($set[1], array_map('floatval', preg_split('/(?:,|\s+)/', trim($set[2]))));
-			
+
 			switch ($cmd)
 			{
 				case 'z':
@@ -200,37 +200,37 @@ class VMLPath {
 				case 'A':
 				case 'a':
 					break;
-				
+
 			}
-			
+
 			$zm = strcasecmp($cmd, 'm') === 0 &amp;&amp; strcasecmp($previous, 'z') === 0;
-			
+
 			$previous = $cmd;
 		}
-		
+
 		$vml-&gt;endPath();
-		
+
 		return $vml;
 	}
-	
+
 	private $parts = array();
-	
+
 	private $atX = 0;
 	private $atY = 0;
-	
+
 	private $cpX = 0;
 	private $cpY = 0;
-	
+
 	private $remainderX = 0;
 	private $remainderY = 0;
-	
+
 	/**
 	 * @return void
 	 */
 	public function __construct()
 	{
 	}
-	
+
 	/**
 	 * @return string
 	 */
@@ -251,20 +251,20 @@ class VMLPath {
 	public function bezierCurveTo($cp1x, $cp1y, $cp2x, $cp2y, $toX, $toY)
 	{
 		$this-&gt;parts[] = $this-&gt;draw('v', $cp1x, $cp1y, $cp2x, $cp2y, $toX, $toY);
-		
+
 		return $this;
 	}
-	
+
 	/**
 	 * @return VMLPath
 	 */
 	public function closePath()
 	{
 		$this-&gt;parts[] = 'x';
-		
+
 		return $this;
 	}
-	
+
 	/**
 	 * Returns a shortened, relative VML path part
 	 *
@@ -277,36 +277,36 @@ class VMLPath {
 		if (!is_array($coords))
 		{
 			$coords = func_get_args();
-			
+
 			array_shift($coords);
 		}
-		
+
 		$toY = array_pop($coords);
 		$toX = array_pop($coords);
-		
+
 		$parts = array();
-		
+
 		foreach ($coords as $i =&gt; $coord)
 		{
 			$parts[] = $coord === 0 ? '' : round($coord - ($i % 2 ? $this-&gt;atY : $this-&gt;atX));
 		}
-		
+
 		$parts[] = $this-&gt;moveX($toX);
 		$parts[] = $this-&gt;moveY($toY);
-	
+
 		return self::commandToString($type, $parts);
 	}
-	
+
 	/**
 	 * @return VMLPath
 	 */
 	public function endPath()
 	{
 		$this-&gt;parts[] = 'e';
-		
+
 		return $this;
 	}
-	
+
 	/**
 	 * @param float $toX
 	 * @param float $toY
@@ -315,25 +315,25 @@ class VMLPath {
 	public function lineTo($toX, $toY)
 	{
 		$this-&gt;parts[] = $this-&gt;draw('r', $toX, $toY);
-		
+
 		return $this;
 	}
-	
+
 	/**
 	 * @param float $toX
 	 * @param float $toY
 	 * @return VMLPath
 	 */
 	public function moveTo($toX, $toY)
-	{	
+	{
 		$this-&gt;moveX($toX);
 		$this-&gt;moveY($toY);
-		
+
 		$this-&gt;parts[] = self::commandToString('m', $this-&gt;atX, $this-&gt;atY);
-		
+
 		return $this;
 	}
-	
+
 	/**
 	 * @param float $to
 	 * @return int
@@ -341,14 +341,14 @@ class VMLPath {
 	private function moveX($to)
 	{
 		$delta = $to - $this-&gt;atX;
-		
+
 		$rounded = round($delta);
 
 		$this-&gt;atX += $rounded;
-		
+
 		return $rounded;
 	}
-	
+
 	/**
 	 * @param float $to
 	 * @return int
@@ -356,31 +356,31 @@ class VMLPath {
 	private function moveY($to)
 	{
 		$delta = $to - $this-&gt;atY;
-		
+
 		$rounded = round($delta);
 
 		$this-&gt;atY += $rounded;
-		
+
 		return $rounded;
 	}
-	
+
 	/**
 	 * Removes the last point from the path. Note: this does NOT
 	 * reset atX, atY and others to their prior values.
-	 * 
+	 *
 	 * @return VMLPath
 	 */
 	public function pop()
 	{
 		array_pop($this-&gt;parts);
-		
+
 		return $this;
 	}
-	
+
 	/**
 	 * IE has some trouble drawing quadratic beziers so we'll just convert
 	 * them to cubic ones which it can handle just fine.
-	 * 
+	 *
 	 * @link http://developer.mozilla.org/en/Canvas_tutorial/Drawing_shapes#Firefox_1.5_quadraticCurveTo()_bug_workaround
 	 * @param float $atX
 	 * @param float $atY
@@ -396,12 +396,12 @@ class VMLPath {
 			'x' =&gt; $this-&gt;atX + 2 / 3 * ($cpX - $this-&gt;atX),
 			'y' =&gt; $this-&gt;atY + 2 / 3 * ($cpY - $this-&gt;atY)
 		);
-	
+
 		$cp2 = (object) array(
 			'x' =&gt; $cp1-&gt;x + ($toX - $this-&gt;atX) / 3,
 			'y' =&gt; $cp1-&gt;y + ($toY - $this-&gt;atY) / 3
 		);
-		
+
 		return $this-&gt;bezierCurveTo(
 			$cp1-&gt;x,
 			$cp1-&gt;y,
@@ -411,5 +411,5 @@ class VMLPath {
 			$toY
 		);
 	}
-	
-}
\ No newline at end of file
+
+}</diff>
      <filename>generate/lib/VMLPath.php</filename>
    </modified>
    <modified>
      <diff>@@ -4,37 +4,37 @@
 &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
 
 	&lt;head&gt;
-		
+
 		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
 		&lt;meta http-equiv=&quot;imagetoolbar&quot; content=&quot;no&quot; /&gt;
-	
+
 		&lt;title&gt;cuf&#243;n - fonts for the people&lt;/title&gt;
-		
+
 		&lt;meta name=&quot;description&quot; content=&quot;Fast text replacement with canvas and VML - no Flash or images required.&quot; /&gt;
-		
+
 		&lt;link rel=&quot;stylesheet&quot; href=&quot;css/style.css&quot; type=&quot;text/css&quot; /&gt;
-		
+
 		&lt;script src=&quot;../js/cufon.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
 		&lt;script src=&quot;../fonts/Vegur.font.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
-		
+
 		&lt;script type=&quot;text/javascript&quot;&gt; Cufon.replace([ 'h1', 'h3' ]); &lt;/script&gt;
-	
+
 	&lt;/head&gt;
-	
+
 	&lt;body&gt;
-	
+
 		&lt;div id=&quot;doc&quot;&gt;
 
 			&lt;div id=&quot;page&quot;&gt;
-			
+
 				&lt;div id=&quot;head&quot;&gt;
-				
+
 					&lt;h1&gt;&lt;a href=&quot;/&quot;&gt;cuf&#243;n - fonts for the people&lt;/a&gt;&lt;/h1&gt;
-					
+
 				&lt;/div&gt;
-				
+
 				&lt;div id=&quot;nav&quot;&gt;
-				
+
 					&lt;ul class=&quot;nav&quot;&gt;
 						&lt;li&gt;&lt;a href=&quot;http://cufon.shoqolate.com/js/cufon-yui.js&quot;&gt;Download&lt;/a&gt;&lt;/li&gt;
 						&lt;li class=&quot;current&quot;&gt;&lt;a href=&quot;.&quot;&gt;Generator&lt;/a&gt;&lt;/li&gt;
@@ -42,45 +42,45 @@
 						&lt;li&gt;&lt;a href=&quot;http://groups.google.com/group/cufon&quot; class=&quot;external&quot;&gt;Community&lt;/a&gt;&lt;/li&gt;
 						&lt;li&gt;&lt;a href=&quot;http://github.com/sorccu/cufon/tree/master&quot;&gt;Source&lt;/a&gt;&lt;/li&gt;
 					&lt;/ul&gt;
-					
+
 				&lt;/div&gt;
-				
+
 				&lt;div id=&quot;content&quot;&gt;
-				
+
 					&lt;div class=&quot;section&quot;&gt;
-					
+
 						&lt;h3&gt;Sorry!&lt;/h3&gt;
-						
+
 						&lt;p&gt;The file you uploaded could not be converted. Currently only TrueType (TTF), OpenType (OTF), Printer Font Binary (PFB) and PostScript fonts are supported.&lt;/p&gt;
-						
+
 						&lt;p&gt;If you're sure the font is valid, it is likely that the author of the font has decided to not allow modification and/or embedding of the font. This can happen quite often especially with &quot;freeware&quot; TrueType fonts. You must contact the author of the font for a less restricted version.&lt;/p&gt;
-						
+
 						&lt;p&gt;Some files (especially old Mac PostScript fonts) require pre-processing that cannot be done on the server. For more information please read &lt;a href=&quot;http://wiki.github.com/sorccu/cufon/trouble-with-font-files&quot; class=&quot;external&quot;&gt;Trouble with font files&lt;/a&gt;.&lt;/p&gt;
-						
+
 						&lt;p class=&quot;info&quot;&gt;&lt;strong&gt;Tip:&lt;/strong&gt; did you upload an AFM or a PFM file? They only contain font metrics information which is not quite
 						what we need. There should be a PFA or a PFB file with the same name in the same folder, which contains the actual glyph data. If there isn't, your font manager
 						probably stashed it away somewhere, in which case you're going to have to hunt it down yourself. Once you've found the correct file you should be able to convert it with no trouble at all.&lt;/p&gt;
-						
+
 					&lt;/div&gt;
-										
+
 					&lt;div class=&quot;actions&quot;&gt;
-					
+
 						&lt;a href=&quot;./&quot;&gt;Back to the generator&lt;/a&gt;
-						
+
 					&lt;/div&gt;
-					
+
 				&lt;/div&gt;
-				
+
 				&lt;div id=&quot;foot&quot;&gt;
-					
+
 					&lt;p&gt;Idea and implementation by Simo Kinnunen, 2008-. Bugs by nature.&lt;/p&gt;
-					
+
 				&lt;/div&gt;
-				
+
 			&lt;/div&gt;
-				
+
 		&lt;/div&gt;
-	
+
 	&lt;/body&gt;
-	
-&lt;/html&gt;
\ No newline at end of file
+
+&lt;/html&gt;</diff>
      <filename>generate/view/conversion-error.php</filename>
    </modified>
    <modified>
      <diff>@@ -4,37 +4,37 @@
 &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
 
 	&lt;head&gt;
-		
+
 		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
 		&lt;meta http-equiv=&quot;imagetoolbar&quot; content=&quot;no&quot; /&gt;
-	
+
 		&lt;title&gt;cuf&#243;n - fonts for the people&lt;/title&gt;
-		
+
 		&lt;meta name=&quot;description&quot; content=&quot;Fast text replacement with canvas and VML - no Flash or images required.&quot; /&gt;
-		
+
 		&lt;link rel=&quot;stylesheet&quot; href=&quot;css/style.css&quot; type=&quot;text/css&quot; /&gt;
-		
+
 		&lt;script src=&quot;../js/cufon.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
 		&lt;script src=&quot;../fonts/Vegur.font.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
-		
+
 		&lt;script type=&quot;text/javascript&quot;&gt; Cufon.replace([ 'h1', 'h3' ]); &lt;/script&gt;
-	
+
 	&lt;/head&gt;
-	
+
 	&lt;body&gt;
-	
+
 		&lt;div id=&quot;doc&quot;&gt;
 
 			&lt;div id=&quot;page&quot;&gt;
-			
+
 				&lt;div id=&quot;head&quot;&gt;
-				
+
 					&lt;h1&gt;&lt;a href=&quot;/&quot;&gt;cuf&#243;n - fonts for the people&lt;/a&gt;&lt;/h1&gt;
-					
+
 				&lt;/div&gt;
-				
+
 				&lt;div id=&quot;nav&quot;&gt;
-				
+
 					&lt;ul class=&quot;nav&quot;&gt;
 						&lt;li&gt;&lt;a href=&quot;http://cufon.shoqolate.com/js/cufon-yui.js&quot;&gt;Download&lt;/a&gt;&lt;/li&gt;
 						&lt;li class=&quot;current&quot;&gt;&lt;a href=&quot;.&quot;&gt;Generator&lt;/a&gt;&lt;/li&gt;
@@ -42,41 +42,41 @@
 						&lt;li&gt;&lt;a href=&quot;http://groups.google.com/group/cufon&quot; class=&quot;external&quot;&gt;Community&lt;/a&gt;&lt;/li&gt;
 						&lt;li&gt;&lt;a href=&quot;http://github.com/sorccu/cufon/tree/master&quot;&gt;Source&lt;/a&gt;&lt;/li&gt;
 					&lt;/ul&gt;
-					
+
 				&lt;/div&gt;
-				
+
 				&lt;div id=&quot;content&quot;&gt;
-				
+
 					&lt;div class=&quot;section&quot;&gt;
-					
+
 						&lt;h3&gt;Sorry! Please fix these errors and try again.&lt;/h3&gt;
-						
+
 						&lt;ul&gt;
 						&lt;?php foreach (array_keys($errors) as $error): ?&gt;
 							&lt;li&gt;&lt;?php echo htmlspecialchars($filters[$error]['message'], ENT_QUOTES, 'utf-8') ?&gt;&lt;/li&gt;
 						&lt;?php endforeach; ?&gt;
 						&lt;/ul&gt;
-						
+
 					&lt;/div&gt;
-										
+
 					&lt;div class=&quot;actions&quot;&gt;
-					
+
 						&lt;a href=&quot;./&quot;&gt;Back to the generator&lt;/a&gt;
-						
+
 					&lt;/div&gt;
-					
+
 				&lt;/div&gt;
-				
+
 				&lt;div id=&quot;foot&quot;&gt;
-					
+
 					&lt;p&gt;Idea and implementation by Simo Kinnunen, 2008-. Bugs by nature.&lt;/p&gt;
-					
+
 				&lt;/div&gt;
-				
+
 			&lt;/div&gt;
-				
+
 		&lt;/div&gt;
-	
+
 	&lt;/body&gt;
-	
-&lt;/html&gt;
\ No newline at end of file
+
+&lt;/html&gt;</diff>
      <filename>generate/view/input-error.php</filename>
    </modified>
    <modified>
      <diff>@@ -4,37 +4,37 @@
 &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
 
 	&lt;head&gt;
-		
+
 		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
 		&lt;meta http-equiv=&quot;imagetoolbar&quot; content=&quot;no&quot; /&gt;
-	
+
 		&lt;title&gt;cuf&#243;n - fonts for the people&lt;/title&gt;
-		
+
 		&lt;meta name=&quot;description&quot; content=&quot;Fast text replacement with canvas and VML - no Flash or images required.&quot; /&gt;
-		
+
 		&lt;link rel=&quot;stylesheet&quot; href=&quot;css/style.css&quot; type=&quot;text/css&quot; /&gt;
-		
+
 		&lt;script src=&quot;../js/cufon.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
 		&lt;script src=&quot;../fonts/Vegur.font.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
-		
+
 		&lt;script type=&quot;text/javascript&quot;&gt; Cufon.replace([ 'h1', 'h3' ]); &lt;/script&gt;
-	
+
 	&lt;/head&gt;
-	
+
 	&lt;body&gt;
-	
+
 		&lt;div id=&quot;doc&quot;&gt;
 
 			&lt;div id=&quot;page&quot;&gt;
-			
+
 				&lt;div id=&quot;head&quot;&gt;
-				
+
 					&lt;h1&gt;&lt;a href=&quot;/&quot;&gt;cuf&#243;n - fonts for the people&lt;/a&gt;&lt;/h1&gt;
-					
+
 				&lt;/div&gt;
-				
+
 				&lt;div id=&quot;nav&quot;&gt;
-				
+
 					&lt;ul class=&quot;nav&quot;&gt;
 						&lt;li&gt;&lt;a href=&quot;http://cufon.shoqolate.com/js/cufon-yui.js&quot;&gt;Download&lt;/a&gt;&lt;/li&gt;
 						&lt;li class=&quot;current&quot;&gt;&lt;a href=&quot;.&quot;&gt;Generator&lt;/a&gt;&lt;/li&gt;
@@ -42,37 +42,37 @@
 						&lt;li&gt;&lt;a href=&quot;http://groups.google.com/group/cufon&quot; class=&quot;external&quot;&gt;Community&lt;/a&gt;&lt;/li&gt;
 						&lt;li&gt;&lt;a href=&quot;http://github.com/sorccu/cufon/tree/master&quot;&gt;Source&lt;/a&gt;&lt;/li&gt;
 					&lt;/ul&gt;
-					
+
 				&lt;/div&gt;
-				
+
 				&lt;div id=&quot;content&quot;&gt;
-				
+
 					&lt;div class=&quot;section&quot;&gt;
-					
+
 						&lt;h3&gt;Okay, but..&lt;/h3&gt;
-						
+
 						&lt;p&gt;.. can't do much without a font.&lt;/p&gt;
-						
+
 					&lt;/div&gt;
-										
+
 					&lt;div class=&quot;actions&quot;&gt;
-					
+
 						&lt;a href=&quot;./&quot;&gt;Back to the generator&lt;/a&gt;
-						
+
 					&lt;/div&gt;
-					
+
 				&lt;/div&gt;
-				
+
 				&lt;div id=&quot;foot&quot;&gt;
-					
+
 					&lt;p&gt;Idea and implementation by Simo Kinnunen, 2008-. Bugs by nature.&lt;/p&gt;
-					
+
 				&lt;/div&gt;
-				
+
 			&lt;/div&gt;
-				
+
 		&lt;/div&gt;
-	
+
 	&lt;/body&gt;
-	
-&lt;/html&gt;
\ No newline at end of file
+
+&lt;/html&gt;</diff>
      <filename>generate/view/upload-empty-error.php</filename>
    </modified>
    <modified>
      <diff>@@ -4,37 +4,37 @@
 &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
 
 	&lt;head&gt;
-		
+
 		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
 		&lt;meta http-equiv=&quot;imagetoolbar&quot; content=&quot;no&quot; /&gt;
-	
+
 		&lt;title&gt;cuf&#243;n - fonts for the people&lt;/title&gt;
-		
+
 		&lt;meta name=&quot;description&quot; content=&quot;Fast text replacement with canvas and VML - no Flash or images required.&quot; /&gt;
-		
+
 		&lt;link rel=&quot;stylesheet&quot; href=&quot;css/style.css&quot; type=&quot;text/css&quot; /&gt;
-		
+
 		&lt;script src=&quot;../js/cufon.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
 		&lt;script src=&quot;../fonts/Vegur.font.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
-		
+
 		&lt;script type=&quot;text/javascript&quot;&gt; Cufon.replace([ 'h1', 'h3' ]); &lt;/script&gt;
-	
+
 	&lt;/head&gt;
-	
+
 	&lt;body&gt;
-	
+
 		&lt;div id=&quot;doc&quot;&gt;
 
 			&lt;div id=&quot;page&quot;&gt;
-			
+
 				&lt;div id=&quot;head&quot;&gt;
-				
+
 					&lt;h1&gt;&lt;a href=&quot;/&quot;&gt;cuf&#243;n - fonts for the people&lt;/a&gt;&lt;/h1&gt;
-					
+
 				&lt;/div&gt;
-				
+
 				&lt;div id=&quot;nav&quot;&gt;
-				
+
 					&lt;ul class=&quot;nav&quot;&gt;
 						&lt;li&gt;&lt;a href=&quot;http://cufon.shoqolate.com/js/cufon-yui.js&quot;&gt;Download&lt;/a&gt;&lt;/li&gt;
 						&lt;li class=&quot;current&quot;&gt;&lt;a href=&quot;.&quot;&gt;Generator&lt;/a&gt;&lt;/li&gt;
@@ -42,37 +42,37 @@
 						&lt;li&gt;&lt;a href=&quot;http://groups.google.com/group/cufon&quot; class=&quot;external&quot;&gt;Community&lt;/a&gt;&lt;/li&gt;
 						&lt;li&gt;&lt;a href=&quot;http://github.com/sorccu/cufon/tree/master&quot;&gt;Source&lt;/a&gt;&lt;/li&gt;
 					&lt;/ul&gt;
-					
+
 				&lt;/div&gt;
-				
+
 				&lt;div id=&quot;content&quot;&gt;
-				
+
 					&lt;div class=&quot;section&quot;&gt;
-					
+
 						&lt;h3&gt;Sorry!&lt;/h3&gt;
-						
+
 						&lt;p&gt;The combined size of the uploaded files was too large. The limit is roughly 5 megabytes.&lt;/p&gt;
-						
+
 					&lt;/div&gt;
-										
+
 					&lt;div class=&quot;actions&quot;&gt;
-					
+
 						&lt;a href=&quot;./&quot;&gt;Back to the generator&lt;/a&gt;
-						
+
 					&lt;/div&gt;
-					
+
 				&lt;/div&gt;
-				
+
 				&lt;div id=&quot;foot&quot;&gt;
-					
+
 					&lt;p&gt;Idea and implementation by Simo Kinnunen, 2008-. Bugs by nature.&lt;/p&gt;
-					
+
 				&lt;/div&gt;
-				
+
 			&lt;/div&gt;
-				
+
 		&lt;/div&gt;
-	
+
 	&lt;/body&gt;
-	
-&lt;/html&gt;
\ No newline at end of file
+
+&lt;/html&gt;</diff>
      <filename>generate/view/upload-size-error.php</filename>
    </modified>
    <modified>
      <diff>@@ -4,38 +4,38 @@
  */
 
 var Cufon = (function() {
-	
-	var api = function() {	
+
+	var api = function() {
 		return api.replace.apply(null, arguments);
 	};
-	
+
 	var DOM = api.DOM = {
-			
+
 		ready: (function() {
-		
+
 			var complete = false, readyStatus = { loaded: 1, complete: 1 };
-		
+
 			var queue = [], perform = function() {
 				if (complete) return;
 				complete = true;
 				for (var fn; fn = queue.shift(); fn());
 			};
-			
+
 			// Gecko, Opera, WebKit r26101+
-			
+
 			if (document.addEventListener) {
 				document.addEventListener('DOMContentLoaded', perform, false);
 				window.addEventListener('pageshow', perform, false); // For cached Gecko pages
 			}
-			
+
 			// Old WebKit, Internet Explorer
-			
+
 			if (!window.opera &amp;&amp; document.readyState) (function() {
 				readyStatus[document.readyState] ? perform() : setTimeout(arguments.callee, 10);
 			})();
-			
+
 			// Internet Explorer
-			
+
 			if (document.readyState &amp;&amp; document.createStyleSheet) (function() {
 				try {
 					document.body.doScroll('left');
@@ -45,49 +45,49 @@ var Cufon = (function() {
 					setTimeout(arguments.callee, 1);
 				}
 			})();
-			
+
 			addEvent(window, 'load', perform); // Fallback
-			
+
 			return function(listener) {
 				if (!arguments.length) perform();
 				else complete ? listener() : queue.push(listener);
 			};
-			
+
 		})(),
-		
+
 		root: function() {
 			return document.documentElement || document.body;
 		}
-		
+
 	};
 
 	var CSS = api.CSS = {
-	
+
 		Size: function(value, base) {
-		
+
 			this.value = parseFloat(value);
 			this.unit = String(value).match(/[a-z%]*$/)[0] || 'px';
-		
+
 			this.convert = function(value) {
 				return value / base * this.value;
 			};
-			
+
 			this.convertFrom = function(value) {
 				return value / this.value * base;
 			};
-			
+
 			this.toString = function() {
 				return this.value + this.unit;
 			};
 
 		},
-		
+
 		addClass: function(el, className) {
 			var current = el.className;
 			el.className = current + (current &amp;&amp; ' ') + className;
 			return el;
 		},
-		
+
 		color: cached(function(value) {
 			var parsed = {};
 			parsed.color = value.replace(/^rgba\((.*?),\s*([\d.]+)\)/, function($0, $1, $2) {
@@ -96,7 +96,7 @@ var Cufon = (function() {
 			});
 			return parsed;
 		}),
-		
+
 		// has no direct CSS equivalent.
 		// @see http://msdn.microsoft.com/en-us/library/system.windows.fontstretches.aspx
 		fontStretch: cached(function(value) {
@@ -113,14 +113,14 @@ var Cufon = (function() {
 				'ultra-expanded': 2
 			}[value] || 1;
 		}),
-	
+
 		getStyle: function(el) {
 			var view = document.defaultView;
 			if (view &amp;&amp; view.getComputedStyle) return new Style(view.getComputedStyle(el, null));
 			if (el.currentStyle) return new Style(el.currentStyle);
 			return new Style(el.style);
 		},
-		
+
 		gradient: cached(function(value) {
 			var gradient = {
 				id: value,
@@ -133,7 +133,7 @@ var Cufon = (function() {
 			}
 			return gradient;
 		}),
-		
+
 		quotedList: cached(function(value) {
 			// doesn't work properly with empty quoted strings (&quot;&quot;), but
 			// it's not worth the extra code.
@@ -141,7 +141,7 @@ var Cufon = (function() {
 			while (match = re.exec(value)) list.push(match[3] || match[1]);
 			return list;
 		}),
-		
+
 		recognizesMedia: cached(function(media) {
 			var el = document.createElement('style'), sheet, container, supported;
 			el.type = 'text/css';
@@ -156,20 +156,20 @@ var Cufon = (function() {
 			container.removeChild(el);
 			return supported;
 		}),
-		
+
 		removeClass: function(el, className) {
 			var re = RegExp('(?:^|\\s+)' + className +  '(?=\\s|$)', 'g');
 			el.className = el.className.replace(re, '');
 			return el;
 		},
-		
+
 		supports: function(property, value) {
 			var checker = document.createElement('span').style;
 			if (checker[property] === undefined) return false;
 			checker[property] = value;
 			return checker[property] === value;
 		},
-		
+
 		textAlign: function(word, style, position, wordCount) {
 			if (style.get('textAlign') == 'right') {
 				if (position &gt; 0) word = ' ' + word;
@@ -177,7 +177,7 @@ var Cufon = (function() {
 			else if (position &lt; wordCount - 1) word += ' ';
 			return word;
 		},
-		
+
 		textDecoration: function(el, style) {
 			if (!style) style = this.getStyle(el);
 			var types = {
@@ -197,7 +197,7 @@ var Cufon = (function() {
 			}
 			return types;
 		},
-		
+
 		textShadow: cached(function(value) {
 			if (value == 'none') return null;
 			var shadows = [], currentShadow = {}, result, offCount = 0;
@@ -218,7 +218,7 @@ var Cufon = (function() {
 			shadows.push(currentShadow);
 			return shadows;
 		}),
-		
+
 		textTransform: (function() {
 			var map = {
 				uppercase: function(s) {
@@ -238,7 +238,7 @@ var Cufon = (function() {
 				return transform ? transform(text) : text;
 			};
 		})(),
-		
+
 		whiteSpace: (function() {
 			var ignore = {
 				inline: 1,
@@ -252,25 +252,25 @@ var Cufon = (function() {
 				return text;
 			};
 		})()
-		
+
 	};
-	
+
 	CSS.ready = (function() {
-		
+
 		// don't do anything in Safari 2 (it doesn't recognize any media type)
 		var complete = !CSS.recognizesMedia('all'), hasLayout = false;
-		
+
 		var queue = [], perform = function() {
 			complete = true;
 			for (var fn; fn = queue.shift(); fn());
 		};
-		
+
 		var links = elementsByTagName('link'), styles = elementsByTagName('style');
-		
+
 		function isContainerReady(el) {
 			return el.disabled || isSheetReady(el.sheet, el.media || 'screen');
 		}
-		
+
 		function isSheetReady(sheet, media) {
 			// in Opera sheet.disabled is true when it's still loading,
 			// even though link.disabled is false. they stay in sync if
@@ -301,7 +301,7 @@ var Cufon = (function() {
 			catch (e) {} // probably a style sheet from another domain
 			return true;
 		}
-		
+
 		function allStylesLoaded() {
 			// Internet Explorer's style sheet model, there's no need to do anything
 			if (document.createStyleSheet) return true;
@@ -315,32 +315,32 @@ var Cufon = (function() {
 			}
 			return true;
 		}
-		
+
 		DOM.ready(function() {
 			// getComputedStyle returns null in Gecko if used in an iframe with display: none
 			if (!hasLayout) hasLayout = CSS.getStyle(document.body).isUsable();
 			if (complete || (hasLayout &amp;&amp; allStylesLoaded())) perform();
 			else setTimeout(arguments.callee, 10);
 		});
-		
+
 		return function(listener) {
 			if (complete) listener();
 			else queue.push(listener);
 		};
-		
+
 	})();
-	
+
 	function Font(data) {
-		
+
 		var face = this.face = data.face;
 		this.glyphs = data.glyphs;
 		this.w = data.w;
 		this.baseSize = parseInt(face['units-per-em'], 10);
-		
+
 		this.family = face['font-family'].toLowerCase();
 		this.weight = face['font-weight'];
 		this.style = face['font-style'] || 'normal';
-		
+
 		this.viewBox = (function () {
 			var parts = face.bbox.split(/\s+/);
 			var box = {
@@ -356,25 +356,25 @@ var Cufon = (function() {
 			};
 			return box;
 		})();
-		
+
 		this.ascent = -parseInt(face.ascent, 10);
 		this.descent = -parseInt(face.descent, 10);
-		
+
 		this.height = -this.ascent + this.descent;
-		
+
 	}
-	
+
 	function FontFamily() {
 
 		var styles = {}, mapping = {
 			oblique: 'italic',
 			italic: 'oblique'
 		};
-		
+
 		this.add = function(font) {
 			(styles[font.style] || (styles[font.style] = {}))[font.weight] = font;
 		};
-		
+
 		this.get = function(style, weight) {
 			var weights = styles[style] || styles[mapping[style]]
 				|| styles.normal || styles.italic || styles.oblique;
@@ -411,22 +411,22 @@ var Cufon = (function() {
 			});
 			return weights[alts[0]];
 		};
-	
+
 	}
-	
+
 	function HoverHandler() {
-		
+
 		function contains(node, anotherNode) {
 			if (node.contains) return node.contains(anotherNode);
 			return node.compareDocumentPosition(anotherNode) &amp; 16;
 		}
-		
+
 		function onOverOut(e) {
 			var related = e.relatedTarget;
 			if (!related || contains(this, related)) return;
 			trigger(this);
 		}
-		
+
 		function onEnterLeave(e) {
 			trigger(this);
 		}
@@ -439,7 +439,7 @@ var Cufon = (function() {
 				api.replace(el, sharedStorage.get(el).options, true);
 			}, 10);
 		}
-		
+
 		this.attach = function(el) {
 			if (el.onmouseenter === undefined) {
 				addEvent(el, 'mouseover', onOverOut);
@@ -450,70 +450,70 @@ var Cufon = (function() {
 				addEvent(el, 'mouseleave', onEnterLeave);
 			}
 		};
-		
+
 	}
-	
+
 	function ReplaceHistory() {
-		
+
 		var list = [], map = {};
-		
+
 		function filter(keys) {
 			var values = [], key;
 			for (var i = 0; key = keys[i]; ++i) values[i] = list[map[key]];
 			return values;
 		}
-		
+
 		this.add = function(key, args) {
 			map[key] = list.push(args) - 1;
 		};
-		
+
 		this.repeat = function() {
 			var snapshot = arguments.length ? filter(arguments) : list, args;
 			for (var i = 0; args = snapshot[i++];) api.replace(args[0], args[1], true);
 		};
-		
+
 	}
-	
+
 	function Storage() {
-		
+
 		var map = {}, at = 0;
-		
+
 		function identify(el) {
 			return el.cufid || (el.cufid = ++at);
 		}
-		
+
 		this.get = function(el) {
 			var id = identify(el);
 			return map[id] || (map[id] = {});
 		};
-		
+
 	}
-	
+
 	function Style(style) {
-		
+
 		var custom = {}, sizes = {};
-		
+
 		this.extend = function(styles) {
 			for (var property in styles) {
 				if (hasOwnProperty(styles, property)) custom[property] = styles[property];
 			}
 			return this;
 		};
-		
+
 		this.get = function(property) {
 			return custom[property] != undefined ? custom[property] : style[property];
 		};
-		
+
 		this.getSize = function(property, base) {
 			return sizes[property] || (sizes[property] = new CSS.Size(this.get(property), base));
 		};
-		
+
 		this.isUsable = function() {
 			return !!style;
 		};
-		
+
 	}
-	
+
 	function addEvent(el, type, listener) {
 		if (el.addEventListener) {
 			el.addEventListener(type, listener, false);
@@ -524,7 +524,7 @@ var Cufon = (function() {
 			});
 		}
 	}
-	
+
 	function attach(el, options) {
 		var storage = sharedStorage.get(el);
 		if (storage.options) return el;
@@ -534,15 +534,15 @@ var Cufon = (function() {
 		storage.options = options;
 		return el;
 	}
-	
+
 	function cached(fun) {
 		var cache = {};
 		return function(key) {
 			if (!hasOwnProperty(cache, key)) cache[key] = fun.apply(null, arguments);
 			return cache[key];
-		};	
+		};
 	}
-	
+
 	function getFont(el, style) {
 		var families = CSS.quotedList(style.get('fontFamily').toLowerCase()), family;
 		for (var i = 0; family = families[i]; ++i) {
@@ -550,15 +550,15 @@ var Cufon = (function() {
 		}
 		return null;
 	}
-	
+
 	function elementsByTagName(query) {
 		return document.getElementsByTagName(query);
 	}
-	
+
 	function hasOwnProperty(obj, property) {
 		return obj.hasOwnProperty(property);
 	}
-	
+
 	function merge() {
 		var merged = {}, args, key;
 		for (var i = 0, l = arguments.length; args = arguments[i], i &lt; l; ++i) {
@@ -568,7 +568,7 @@ var Cufon = (function() {
 		}
 		return merged;
 	}
-	
+
 	function process(font, text, style, options, node, el) {
 		var fragment = document.createDocumentFragment(), processed;
 		if (text === '') return fragment;
@@ -587,7 +587,7 @@ var Cufon = (function() {
 		}
 		return fragment;
 	}
-	
+
 	function replaceElement(el, options) {
 		var style = CSS.getStyle(attach(el, options)).extend(options);
 		var font = getFont(el, style), node, type, next, anchor, text;
@@ -617,14 +617,14 @@ var Cufon = (function() {
 			}
 		}
 	}
-	
+
 	var HAS_BROKEN_REGEXP = ' '.split(/\s+/).length == 0;
-	
+
 	var sharedStorage = new Storage();
 	var hoverHandler = new HoverHandler();
 	var replaceHistory = new ReplaceHistory();
 	var initialized = false;
-	
+
 	var engines = {}, fonts = {}, defaultOptions = {
 		enableTextDecoration: false,
 		engine: null,
@@ -651,36 +651,36 @@ var Cufon = (function() {
 		separate: 'words', // 'none' and 'characters' are also accepted
 		textShadow: 'none'
 	};
-	
+
 	var separators = {
 		words: /[^\S\u00a0]+/,
 		characters: '',
 		none: /^/
 	};
-	
+
 	api.now = function() {
 		DOM.ready();
 		return api;
 	};
-	
+
 	api.refresh = function() {
 		replaceHistory.repeat.apply(replaceHistory, arguments);
 		return api;
 	};
-	
+
 	api.registerEngine = function(id, engine) {
 		if (!engine) return api;
 		engines[id] = engine;
 		return api.set('engine', id);
 	};
-	
+
 	api.registerFont = function(data) {
 		var font = new Font(data), family = font.family;
 		if (!fonts[family]) fonts[family] = new FontFamily();
 		fonts[family].add(font);
 		return api.set('fontFamily', '&quot;' + family + '&quot;');
 	};
-	
+
 	api.replace = function(elements, options, ignoreHistory) {
 		options = merge(defaultOptions, options);
 		if (!options.engine) return api; // there's no browser support so we'll just stop here
@@ -708,35 +708,35 @@ var Cufon = (function() {
 		});
 		return api;
 	};
-	
+
 	api.set = function(option, value) {
 		defaultOptions[option] = value;
 		return api;
 	};
-	
+
 	return api;
-	
+
 })();
 
 Cufon.registerEngine('canvas', (function() {
 
 	// Safari 2 doesn't support .apply() on native methods
-	
+
 	var check = document.createElement('canvas');
 	if (!check || !check.getContext || !check.getContext.apply) return;
 	check = null;
-	
+
 	var HAS_INLINE_BLOCK = Cufon.CSS.supports('display', 'inline-block');
-	
+
 	// Firefox 2 w/ non-strict doctype (almost standards mode)
 	var HAS_BROKEN_LINEHEIGHT = !HAS_INLINE_BLOCK &amp;&amp; (document.compatMode == 'BackCompat' || /frameset|transitional/i.test(document.doctype.publicId));
-	
+
 	var styleSheet = document.createElement('style');
 	styleSheet.type = 'text/css';
 	styleSheet.appendChild(document.createTextNode((
 		'.cufon-canvas{text-indent:0;}' +
 		'@media screen,projection{' +
-			'.cufon-canvas{display:inline;display:inline-block;position:relative;vertical-align:middle;' + 
+			'.cufon-canvas{display:inline;display:inline-block;position:relative;vertical-align:middle;' +
 			(HAS_BROKEN_LINEHEIGHT
 				? ''
 				: 'font-size:1px;line-height:1px;') +
@@ -778,27 +778,27 @@ Cufon.registerEngine('canvas', (function() {
 		}
 		return code;
 	}
-	
+
 	function interpret(code, context) {
 		for (var i = 0, l = code.length; i &lt; l; ++i) {
 			var line = code[i];
 			context[line.m].apply(context, line.a);
 		}
 	}
-	
+
 	return function(font, text, style, options, node, el) {
-		
+
 		var redraw = (text === null);
-		
+
 		if (redraw) text = node.alt;
-		
+
 		var viewBox = font.viewBox;
-		
+
 		var size = style.getSize('fontSize', font.baseSize);
-		
+
 		var letterSpacing = style.get('letterSpacing');
 		letterSpacing = (letterSpacing == 'normal') ? 0 : size.convertFrom(parseInt(letterSpacing, 10));
-		
+
 		var expandTop = 0, expandRight = 0, expandBottom = 0, expandLeft = 0;
 		var shadows = options.textShadow, shadowOffsets = [];
 		if (shadows) {
@@ -813,12 +813,12 @@ Cufon.registerEngine('canvas', (function() {
 				if (x &lt; expandLeft) expandLeft = x;
 			}
 		}
-		
+
 		var chars = Cufon.CSS.textTransform(text, style).split(''), chr;
-		
+
 		var glyphs = font.glyphs, glyph, kerning, k;
 		var width = 0, advance, jumps = [];
-		
+
 		for (var i = 0, j = 0, l = chars.length; i &lt; l; ++i) {
 			glyph = glyphs[chr = chars[i]] || font.missingGlyph;
 			if (!glyph) continue;
@@ -829,14 +829,14 @@ Cufon.registerEngine('canvas', (function() {
 			width += advance = jumps[j++] = ~~(glyph.w || font.w) + letterSpacing;
 			kerning = glyph.k;
 		}
-		
+
 		if (advance === undefined) return null; // there's nothing to render
-		
+
 		expandRight += viewBox.width - advance;
 		expandLeft += viewBox.minX;
-		
+
 		var wrapper, canvas;
-		
+
 		if (redraw) {
 			wrapper = node;
 			canvas = node.firstChild;
@@ -845,10 +845,10 @@ Cufon.registerEngine('canvas', (function() {
 			wrapper = document.createElement('span');
 			wrapper.className = 'cufon cufon-canvas';
 			wrapper.alt = text;
-			
+
 			canvas = document.createElement('canvas');
 			wrapper.appendChild(canvas);
-			
+
 			if (options.printable) {
 				var print = document.createElement('span');
 				print.className = 'cufon-alt';
@@ -856,34 +856,34 @@ Cufon.registerEngine('canvas', (function() {
 				wrapper.appendChild(print);
 			}
 		}
-		
+
 		var wStyle = wrapper.style;
 		var cStyle = canvas.style;
-		
+
 		var height = size.convert(viewBox.height);
 		var roundedHeight = Math.ceil(height);
 		var roundingFactor = roundedHeight / height;
 		var stretchFactor = roundingFactor * Cufon.CSS.fontStretch(style.get('fontStretch'));
 		var stretchedWidth = width * stretchFactor;
-		
+
 		var canvasWidth = Math.ceil(size.convert(stretchedWidth + expandRight - expandLeft));
 		var canvasHeight = Math.ceil(size.convert(viewBox.height - expandTop + expandBottom));
-		
+
 		canvas.width = canvasWidth;
 		canvas.height = canvasHeight;
-		
+
 		// needed for WebKit and full page zoom
 		cStyle.width = canvasWidth + 'px';
 		cStyle.height = canvasHeight + 'px';
-		
+
 		// minY has no part in canvas.height
 		expandTop += viewBox.minY;
-		
+
 		cStyle.top = Math.round(size.convert(expandTop - font.ascent)) + 'px';
 		cStyle.left = Math.round(size.convert(expandLeft)) + 'px';
-		
+
 		var wrapperWidth = Math.ceil(size.convert(stretchedWidth)) + 'px';
-		
+
 		if (HAS_INLINE_BLOCK) {
 			wStyle.width = wrapperWidth;
 			wStyle.height = size.convert(font.height) + 'px';
@@ -892,33 +892,33 @@ Cufon.registerEngine('canvas', (function() {
 			wStyle.paddingLeft = wrapperWidth;
 			wStyle.paddingBottom = (size.convert(font.height) - 1) + 'px';
 		}
-		
+
 		var g = canvas.getContext('2d'), scale = height / viewBox.height;
-		
+
 		// proper horizontal scaling is performed later
 		g.scale(scale, scale * roundingFactor);
 		g.translate(-expandLeft, -expandTop);
-		
+
 		g.lineWidth = font.face['underline-thickness'];
-		
+
 		g.save();
-		
+
 		function line(y, color) {
 			g.strokeStyle = color;
-			
+
 			g.beginPath();
-			
+
 			g.moveTo(0, y);
 			g.lineTo(width, y);
-			
+
 			g.stroke();
 		}
-		
+
 		var textDecoration = options.enableTextDecoration ? Cufon.CSS.textDecoration(el, style) : {};
-		
+
 		if (textDecoration.underline) line(-font.face['underline-position'], textDecoration.underline);
 		if (textDecoration.overline) line(font.ascent, textDecoration.overline);
-		
+
 		function renderText() {
 			g.scale(stretchFactor, 1);
 			for (var i = 0, j = 0, l = chars.length; i &lt; l; ++i) {
@@ -934,7 +934,7 @@ Cufon.registerEngine('canvas', (function() {
 			}
 			g.restore();
 		}
-		
+
 		if (shadows) {
 			for (var i = shadows.length; i--;) {
 				var shadow = shadows[i];
@@ -944,7 +944,7 @@ Cufon.registerEngine('canvas', (function() {
 				renderText();
 			}
 		}
-		
+
 		var gradient = options.textGradient;
 		if (gradient) {
 			var stops = gradient.stops, fill = g.createLinearGradient(0, viewBox.minY, 0, viewBox.maxY);
@@ -954,35 +954,35 @@ Cufon.registerEngine('canvas', (function() {
 			g.fillStyle = fill;
 		}
 		else g.fillStyle = style.get('color');
-		
+
 		renderText();
-		
+
 		if (textDecoration['line-through']) line(-font.descent, textDecoration['line-through']);
-		
+
 		return wrapper;
-			
+
 	};
-	
+
 })());
 
 Cufon.registerEngine('vml', (function() {
 
 	if (!document.namespaces) return;
-	
+
 	if (document.namespaces.cvml == null) {
 		document.namespaces.add('cvml', 'urn:schemas-microsoft-com:vml');
 	}
-	
+
 	var check = document.createElement('cvml:shape');
 	check.style.behavior = 'url(#default#VML)';
 	if (!check.coordsize) return; // VML isn't supported
 	check = null;
-	
+
 	var HAS_BROKEN_LINEHEIGHT = (document.documentMode || 0) &lt; 8;
-	
+
 	document.write(('&lt;style type=&quot;text/css&quot;&gt;' +
 		'.cufon-vml-canvas{text-indent:0;}' +
-		'@media screen{' + 
+		'@media screen{' +
 			'cvml\\:shape,cvml\\:rect,cvml\\:fill,cvml\\:shadow{behavior:url(#default#VML);display:block;antialias:true;position:absolute;}' +
 			'.cufon-vml-canvas{position:absolute;text-align:left;}' +
 			'.cufon-vml{display:inline-block;position:relative;vertical-align:' +
@@ -993,7 +993,7 @@ Cufon.registerEngine('vml', (function() {
 			'.cufon-vml .cufon-alt{position:absolute;left:-10000in;font-size:1px;}' +
 			'a .cufon-vml{cursor:pointer}' + // ignore !important here
 		'}' +
-		'@media print{' + 
+		'@media print{' +
 			'.cufon-vml *{display:none;}' +
 			'.cufon-vml .cufon-alt{display:inline;}' +
 		'}' +
@@ -1002,7 +1002,7 @@ Cufon.registerEngine('vml', (function() {
 	function getFontSizeInPixels(el, value) {
 		return getSizeInPixels(el, /(?:em|ex|%)$|^[a-z-]+$/i.test(value) ? '1em' : value);
 	}
-	
+
 	// Original by Dead Edwards.
 	// Combined with getFontSizeInPixels it also works with relative units.
 	function getSizeInPixels(el, value) {
@@ -1015,9 +1015,9 @@ Cufon.registerEngine('vml', (function() {
 		el.runtimeStyle.left = runtimeStyle;
 		return result;
 	}
-	
+
 	var fills = {};
-	
+
 	function gradientFill(gradient) {
 		var id = gradient.id;
 		if (!fills[id]) {
@@ -1036,28 +1036,28 @@ Cufon.registerEngine('vml', (function() {
 		}
 		return fills[id];
 	}
-	
+
 	return function(font, text, style, options, node, el, hasNext) {
-		
+
 		var redraw = (text === null);
-		
+
 		if (redraw) text = node.alt;
-		
+
 		// @todo word-spacing, text-decoration
-	
+
 		var viewBox = font.viewBox;
-		
+
 		var size = style.computedFontSize || (style.computedFontSize = new Cufon.CSS.Size(getFontSizeInPixels(el, style.get('fontSize')) + 'px', font.baseSize));
-		
+
 		var letterSpacing = style.computedLSpacing;
-		
+
 		if (letterSpacing == undefined) {
 			letterSpacing = style.get('letterSpacing');
 			style.computedLSpacing = letterSpacing = (letterSpacing == 'normal') ? 0 : ~~size.convertFrom(getSizeInPixels(el, letterSpacing));
 		}
-		
+
 		var wrapper, canvas;
-		
+
 		if (redraw) {
 			wrapper = node;
 			canvas = node.firstChild;
@@ -1066,48 +1066,48 @@ Cufon.registerEngine('vml', (function() {
 			wrapper = document.createElement('span');
 			wrapper.className = 'cufon cufon-vml';
 			wrapper.alt = text;
-			
+
 			canvas = document.createElement('span');
 			canvas.className = 'cufon-vml-canvas';
 			wrapper.appendChild(canvas);
-			
+
 			if (options.printable) {
 				var print = document.createElement('span');
 				print.className = 'cufon-alt';
 				print.appendChild(document.createTextNode(text));
 				wrapper.appendChild(print);
 			}
-			
+
 			// ie6, for some reason, has trouble rendering the last VML element in the document.
 			// we can work around this by injecting a dummy element where needed.
 			// @todo find a better solution
 			if (!hasNext) wrapper.appendChild(document.createElement('cvml:shape'));
 		}
-		
+
 		var wStyle = wrapper.style;
 		var cStyle = canvas.style;
-		
+
 		var height = size.convert(viewBox.height), roundedHeight = Math.ceil(height);
 		var roundingFactor = roundedHeight / height;
 		var stretchFactor = roundingFactor * Cufon.CSS.fontStretch(style.get('fontStretch'));
 		var minX = viewBox.minX, minY = viewBox.minY;
-		
+
 		cStyle.height = roundedHeight;
 		cStyle.top = Math.round(size.convert(minY - font.ascent));
 		cStyle.left = Math.round(size.convert(minX));
-		
+
 		wStyle.height = size.convert(font.height) + 'px';
-		
+
 		var textDecoration = options.enableTextDecoration ? Cufon.CSS.textDecoration(el, style) : {};
-		
+
 		var color = style.get('color');
 		var chars = Cufon.CSS.textTransform(text, style).split(''), chr;
-		
+
 		var glyphs = font.glyphs, glyph, kerning, k;
 		var width = 0, jumps = [], offsetX = 0, advance;
-		
+
 		var shape, shadows = options.textShadow;
-		
+
 		// pre-calculate width
 		for (var i = 0, j = 0, l = chars.length; i &lt; l; ++i) {
 			glyph = glyphs[chr = chars[i]] || font.missingGlyph;
@@ -1119,46 +1119,46 @@ Cufon.registerEngine('vml', (function() {
 			width += advance = jumps[j++] = ~~(glyph.w || font.w) + letterSpacing;
 			kerning = glyph.k;
 		}
-		
+
 		if (advance === undefined) return null;
-		
+
 		var fullWidth = -minX + width + (viewBox.width - advance);
-	
+
 		var shapeWidth = size.convert(fullWidth * stretchFactor), roundedShapeWidth = Math.round(shapeWidth);
-		
+
 		var coordSize = fullWidth + ',' + viewBox.height, coordOrigin;
 		var stretch = 'r' + coordSize + 'ns';
-		
+
 		var fill = options.textGradient &amp;&amp; gradientFill(options.textGradient);
-		
+
 		for (i = 0, j = 0; i &lt; l; ++i) {
-			
+
 			glyph = glyphs[chars[i]] || font.missingGlyph;
 			if (!glyph) continue;
-			
+
 			if (redraw) {
 				// some glyphs may be missing so we can't use i
 				shape = canvas.childNodes[j];
 				while (shape.firstChild) shape.removeChild(shape.firstChild); // shadow, fill
 			}
-			else { 
+			else {
 				shape = document.createElement('cvml:shape');
 				canvas.appendChild(shape);
 			}
-			
+
 			shape.stroked = 'f';
 			shape.coordsize = coordSize;
 			shape.coordorigin = coordOrigin = (minX - offsetX) + ',' + minY;
 			shape.path = (glyph.d ? 'm' + glyph.d + 'xe' : '') + 'm' + coordOrigin + stretch;
 			shape.fillcolor = color;
-			
+
 			if (fill) shape.appendChild(fill.cloneNode(false));
-			
+
 			// it's important to not set top/left or IE8 will grind to a halt
 			var sStyle = shape.style;
 			sStyle.width = roundedShapeWidth;
 			sStyle.height = roundedHeight;
-			
+
 			if (shadows) {
 				// due to the limitations of the VML shadow element there
 				// can only be two visible shadows. opacity is shared
@@ -1178,16 +1178,16 @@ Cufon.registerEngine('vml', (function() {
 				shadow.opacity = color1.opacity || (color2 &amp;&amp; color2.opacity) || 1;
 				shape.appendChild(shadow);
 			}
-			
+
 			offsetX += jumps[j++];
 		}
-		
+
 		// addresses flickering issues on :hover
-		
+
 		var cover = shape.nextSibling, coverFill, vStyle;
-		
+
 		if (options.forceHitArea) {
-			
+
 			if (!cover) {
 				cover = document.createElement('cvml:rect');
 				cover.stroked = 'f';
@@ -1197,37 +1197,37 @@ Cufon.registerEngine('vml', (function() {
 				cover.appendChild(coverFill);
 				canvas.appendChild(cover);
 			}
-			
+
 			vStyle = cover.style;
-			
+
 			vStyle.width = roundedShapeWidth;
 			vStyle.height = roundedHeight;
-			
+
 		}
 		else if (cover) canvas.removeChild(cover);
-		
+
 		wStyle.width = Math.max(Math.ceil(size.convert(width * stretchFactor)), 0);
-		
+
 		if (HAS_BROKEN_LINEHEIGHT) {
-			
+
 			var yAdjust = style.computedYAdjust;
-			
+
 			if (yAdjust === undefined) {
 				var lineHeight = style.get('lineHeight');
 				if (lineHeight == 'normal') lineHeight = '1em';
 				else if (!isNaN(lineHeight)) lineHeight += 'em'; // no unit
 				style.computedYAdjust = yAdjust = 0.5 * (getSizeInPixels(el, lineHeight) - parseFloat(wStyle.height));
 			}
-			
+
 			if (yAdjust) {
 				wStyle.marginTop = Math.ceil(yAdjust) + 'px';
 				wStyle.marginBottom = yAdjust + 'px';
 			}
-			
+
 		}
-		
+
 		return wrapper;
-		
+
 	};
-	
+
 })());</diff>
      <filename>js/cufon.js</filename>
    </modified>
    <modified>
      <diff>@@ -7,4 +7,4 @@ body {
 	margin: 0;
 	padding: 0;
 	width: &lt;?php echo filter_input(INPUT_GET, 'w', FILTER_SANITIZE_NUMBER_INT) ?&gt;px;
-}
\ No newline at end of file
+}</diff>
      <filename>tests/cssready/delayed-css.php</filename>
    </modified>
    <modified>
      <diff>@@ -3,77 +3,77 @@
 &lt;html&gt;
 
 	&lt;head&gt;
-	
+
 		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
-	
+
 		&lt;title&gt;CSS.ready() tests&lt;/title&gt;
-		
+
 		&lt;style type=&quot;text/css&quot;&gt;
-		
+
 			html, body {
 				margin: 0;
 				padding: 0;
 			}
-			
+
 			body {
 				background: #FFF2D2;
 				color: #000;
 				font: 10pt Arial, Helvetica, sans-serif;
 				padding: 20px;
 			}
-			
+
 			h1 {
 				font-size: 160%;
 				margin: 0.5em 0;
 			}
-			
+
 			#testframe {
 				height: 1px;
 				visibility: hidden;
 				width: 1px;
 			}
-			
+
 			#results {
 				background: #fff;
 				border: 1px solid #D6DEE7;
 				margin: 0;
 				width: 100%;
 			}
-			
+
 			#results th {
 				border-bottom: 1px solid #EFD6AA;
 				color: #FEA202;
 				padding: 2px;
 				text-align: left;
 			}
-			
+
 			#results tfoot th {
 				border-bottom: 0;
 				border-top: 1px solid #EFD6AA;
 			}
-			
+
 			#results td {
 				padding: 2px;
 				text-align: left;
 			}
-			
+
 			#results .col-result {
 				width: 10em;
 			}
-			
+
 			#results .pass {
 				background: #00cc00;
 				color: #fff;
 			}
-			
+
 			#results .fail, #results .stalled {
 				background: red;
 				color: #fff;
 				font-weight: bold;
 			}
-			
+
 		&lt;/style&gt;
-		
+
 		&lt;script type=&quot;text/javascript&quot;&gt;
 
 		var testRunner = (function() {
@@ -154,7 +154,7 @@
 				var autoFail = setTimeout(this.timeout, timeout);
 
 				update();
-				
+
 			}
 
 			api.registerTest = function(name, timeout, cooldown) {
@@ -169,7 +169,7 @@
 			};
 
 			return api;
-			
+
 		})();
 
 		window.onload = function() {
@@ -212,19 +212,19 @@
 				'style-404import/',
 				'style-404import-print/'
 			]);
-			
+
 		};
-		
+
 		&lt;/script&gt;
-	
+
 	&lt;/head&gt;
-	
+
 	&lt;body&gt;
-		
+
 		&lt;h1&gt;CSS.ready() tests&lt;/h1&gt;
-	
+
 		&lt;p&gt;Tests must be run at least twice, with both empty and full cache. Some tests take longer than others.&lt;/p&gt;
-	
+
 		&lt;table id=&quot;results&quot;&gt;
 			&lt;thead&gt;
 				&lt;tr&gt;
@@ -240,15 +240,15 @@
 				&lt;/tr&gt;
 			&lt;/tfoot&gt;
 		&lt;/table&gt;
-	
+
 		&lt;iframe id=&quot;testframe&quot; src=&quot;about:blank&quot;&gt;&lt;/iframe&gt;
-		
+
 		&lt;script type=&quot;text/javascript&quot;&gt;
 
 			document.getElementById('testframe').src = 'about:blank';
-			
+
 		&lt;/script&gt;
-		
+
 	&lt;/body&gt;
-	
+
 &lt;/html&gt;</diff>
      <filename>tests/cssready/index.html</filename>
    </modified>
    <modified>
      <diff>@@ -5,11 +5,11 @@
 	&lt;head&gt;
 
 		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
-	
+
 		&lt;link rel=&quot;alternate stylesheet&quot; type=&quot;text/css&quot; href=&quot;style.css&quot; media=&quot;fake&quot; /&gt;
-	
+
 		&lt;script src=&quot;../../../js/cufon.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
-		
+
 		&lt;script type=&quot;text/javascript&quot;&gt;
 
 			(function(test) {
@@ -21,11 +21,11 @@
 			})(parent.testRunner.registerTest('&lt;link rel=&quot;alternate stylesheet&quot; media=&quot;fake&quot;&gt; with a simple and short style sheet'));
 
 		&lt;/script&gt;
-	
+
 	&lt;/head&gt;
-	
+
 	&lt;body&gt;
-	
+
 	&lt;/body&gt;
-	
+
 &lt;/html&gt;</diff>
      <filename>tests/cssready/link-altstylesheet-simple-fake/index.html</filename>
    </modified>
    <modified>
      <diff>@@ -5,11 +5,11 @@
 	&lt;head&gt;
 
 		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
-	
+
 		&lt;link rel=&quot;alternate stylesheet&quot; type=&quot;text/css&quot; href=&quot;style.css&quot; media=&quot;print&quot; /&gt;
-	
+
 		&lt;script src=&quot;../../../js/cufon.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
-		
+
 		&lt;script type=&quot;text/javascript&quot;&gt;
 
 			(function(test) {
@@ -21,11 +21,11 @@
 			})(parent.testRunner.registerTest('&lt;link rel=&quot;alternate stylesheet&quot; media=&quot;print&quot;&gt; with a simple and short style sheet'));
 
 		&lt;/script&gt;
-	
+
 	&lt;/head&gt;
-	
+
 	&lt;body&gt;
-	
+
 	&lt;/body&gt;
-	
+
 &lt;/html&gt;</diff>
      <filename>tests/cssready/link-altstylesheet-simple-print/index.html</filename>
    </modified>
    <modified>
      <diff>@@ -3,13 +3,13 @@
 &lt;html&gt;
 
 	&lt;head&gt;
-	
+
 		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
-	
+
 		&lt;link rel=&quot;alternate stylesheet&quot; type=&quot;text/css&quot; href=&quot;style.css&quot; /&gt;
-	
+
 		&lt;script src=&quot;../../../js/cufon.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
-		
+
 		&lt;script type=&quot;text/javascript&quot;&gt;
 
 			(function(test) {
@@ -21,11 +21,11 @@
 			})(parent.testRunner.registerTest('&lt;link rel=&quot;alternate stylesheet&quot;&gt; with a simple and short style sheet'));
 
 		&lt;/script&gt;
-	
+
 	&lt;/head&gt;
-	
+
 	&lt;body&gt;
-	
+
 	&lt;/body&gt;
-	
-&lt;/html&gt;
\ No newline at end of file
+
+&lt;/html&gt;</diff>
      <filename>tests/cssready/link-altstylesheet-simple/index.html</filename>
    </modified>
    <modified>
      <diff>@@ -5,11 +5,11 @@
 	&lt;head&gt;
 
 		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
-	
+
 		&lt;link rel=&quot;next&quot; href=&quot;next.html&quot; /&gt;
-	
+
 		&lt;script src=&quot;../../../js/cufon.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
-		
+
 		&lt;script type=&quot;text/javascript&quot;&gt;
 
 			(function(test) {
@@ -21,11 +21,11 @@
 			})(parent.testRunner.registerTest('&lt;link rel=&quot;next&quot;&gt;'));
 
 		&lt;/script&gt;
-	
+
 	&lt;/head&gt;
-	
+
 	&lt;body&gt;
-	
+
 	&lt;/body&gt;
-	
+
 &lt;/html&gt;</diff>
      <filename>tests/cssready/link-next/index.html</filename>
    </modified>
    <modified>
      <diff>@@ -5,11 +5,11 @@
 	&lt;head&gt;
 
 		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
-	
+
 	&lt;/head&gt;
-	
+
 	&lt;body&gt;
-	
+
 	&lt;/body&gt;
-	
+
 &lt;/html&gt;</diff>
      <filename>tests/cssready/link-next/next.html</filename>
    </modified>
    <modified>
      <diff>@@ -5,11 +5,11 @@
 	&lt;head&gt;
 
 		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
-	
+
 		&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;404.css&quot; media=&quot;print&quot; /&gt;
-	
+
 		&lt;script src=&quot;../../../js/cufon.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
-		
+
 		&lt;script type=&quot;text/javascript&quot;&gt;
 
 			(function(test) {
@@ -21,11 +21,11 @@
 			})(parent.testRunner.registerTest('&lt;link rel=&quot;stylesheet&quot; media=&quot;print&quot;&gt; with a 404 URL'));
 
 		&lt;/script&gt;
-	
+
 	&lt;/head&gt;
-	
+
 	&lt;body&gt;
-	
+
 	&lt;/body&gt;
-	
+
 &lt;/html&gt;</diff>
      <filename>tests/cssready/link-stylesheet-404-print/index.html</filename>
    </modified>
    <modified>
      <diff>@@ -5,11 +5,11 @@
 	&lt;head&gt;
 
 		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
-	
+
 		&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;404.css&quot; /&gt;
-	
+
 		&lt;script src=&quot;../../../js/cufon.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
-		
+
 		&lt;script type=&quot;text/javascript&quot;&gt;
 
 			(function(test) {
@@ -21,11 +21,11 @@
 			})(parent.testRunner.registerTest('&lt;link rel=&quot;stylesheet&quot;&gt; with a 404 URL'));
 
 		&lt;/script&gt;
-	
+
 	&lt;/head&gt;
-	
+
 	&lt;body&gt;
-	
+
 	&lt;/body&gt;
-	
+
 &lt;/html&gt;</diff>
      <filename>tests/cssready/link-stylesheet-404/index.html</filename>
    </modified>
    <modified>
      <diff>@@ -5,11 +5,11 @@
 	&lt;head&gt;
 
 		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
-	
+
 		&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;charset.css&quot; media=&quot;print&quot; /&gt;
-	
+
 		&lt;script src=&quot;../../../js/cufon.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
-		
+
 		&lt;script type=&quot;text/javascript&quot;&gt;
 
 			(function(test) {
@@ -21,11 +21,11 @@
 			})(parent.testRunner.registerTest('&lt;link rel=&quot;stylesheet&quot; media=&quot;print&quot;&gt; with a CSS file that only contains a @charset rule'));
 
 		&lt;/script&gt;
-	
+
 	&lt;/head&gt;
-	
+
 	&lt;body&gt;
-	
+
 	&lt;/body&gt;
-	
+
 &lt;/html&gt;</diff>
      <filename>tests/cssready/link-stylesheet-charsetempty-print/index.html</filename>
    </modified>
    <modified>
      <diff>@@ -5,11 +5,11 @@
 	&lt;head&gt;
 
 		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
-	
+
 		&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;charset.css&quot; /&gt;
-	
+
 		&lt;script src=&quot;../../../js/cufon.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
-		
+
 		&lt;script type=&quot;text/javascript&quot;&gt;
 
 			(function(test) {
@@ -21,11 +21,11 @@
 			})(parent.testRunner.registerTest('&lt;link rel=&quot;stylesheet&quot;&gt; with a CSS file that only contains a @charset rule'));
 
 		&lt;/script&gt;
-	
+
 	&lt;/head&gt;
-	
+
 	&lt;body&gt;
-	
+
 	&lt;/body&gt;
-	
+
 &lt;/html&gt;</diff>
      <filename>tests/cssready/link-stylesheet-charsetempty/index.html</filename>
    </modified>
    <modified>
      <diff>@@ -5,11 +5,11 @@
 	&lt;head&gt;
 
 		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
-	
+
 		&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;comment.css&quot; media=&quot;print&quot; /&gt;
-	
+
 		&lt;script src=&quot;../../../js/cufon.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
-		
+
 		&lt;script type=&quot;text/javascript&quot;&gt;
 
 			(function(test) {
@@ -21,11 +21,11 @@
 			})(parent.testRunner.registerTest('&lt;link rel=&quot;stylesheet&quot; media=&quot;print&quot;&gt; with a CSS file that only contains a CSS comment'));
 
 		&lt;/script&gt;
-	
+
 	&lt;/head&gt;
-	
+
 	&lt;body&gt;
-	
+
 	&lt;/body&gt;
-	
+
 &lt;/html&gt;</diff>
      <filename>tests/cssready/link-stylesheet-commentempty-print/index.html</filename>
    </modified>
    <modified>
      <diff>@@ -5,11 +5,11 @@
 	&lt;head&gt;
 
 		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
-	
+
 		&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;comment.css&quot; /&gt;
-	
+
 		&lt;script src=&quot;../../../js/cufon.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
-		
+
 		&lt;script type=&quot;text/javascript&quot;&gt;
 
 			(function(test) {
@@ -21,11 +21,11 @@
 			})(parent.testRunner.registerTest('&lt;link rel=&quot;stylesheet&quot;&gt; with a CSS file that only contains a CSS comment'));
 
 		&lt;/script&gt;
-	
+
 	&lt;/head&gt;
-	
+
 	&lt;body&gt;
-	
+
 	&lt;/body&gt;
-	
+
 &lt;/html&gt;</diff>
      <filename>tests/cssready/link-stylesheet-commentempty/index.html</filename>
    </modified>
    <modified>
      <diff>@@ -5,17 +5,17 @@
 	&lt;head&gt;
 
 		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
-	
+
 		&lt;link id=&quot;mainsheet&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;style.css&quot; /&gt;
-		
+
 		&lt;script type=&quot;text/javascript&quot;&gt;
 
 			document.getElementById('mainsheet').disabled = true;
-			
+
 		&lt;/script&gt;
-		
+
 		&lt;script src=&quot;../../../js/cufon.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
-		
+
 		&lt;script type=&quot;text/javascript&quot;&gt;
 
 			(function(test) {
@@ -27,11 +27,11 @@
 			})(parent.testRunner.registerTest('disabled &lt;link rel=&quot;stylesheet&quot;&gt; with a simple and short style sheet'));
 
 		&lt;/script&gt;
-	
+
 	&lt;/head&gt;
-	
+
 	&lt;body&gt;
-	
+
 	&lt;/body&gt;
-	
+
 &lt;/html&gt;</diff>
      <filename>tests/cssready/link-stylesheet-disabled/index.html</filename>
    </modified>
    <modified>
      <diff>@@ -5,11 +5,11 @@
 	&lt;head&gt;
 
 		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
-	
+
 		&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;empty.css&quot; media=&quot;print&quot; /&gt;
-	
+
 		&lt;script src=&quot;../../../js/cufon.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
-		
+
 		&lt;script type=&quot;text/javascript&quot;&gt;
 
 			(function(test) {
@@ -21,11 +21,11 @@
 			})(parent.testRunner.registerTest('&lt;link rel=&quot;stylesheet&quot; media=&quot;print&quot;&gt; with an empty CSS file'));
 
 		&lt;/script&gt;
-	
+
 	&lt;/head&gt;
-	
+
 	&lt;body&gt;
-	
+
 	&lt;/body&gt;
-	
+
 &lt;/html&gt;</diff>
      <filename>tests/cssready/link-stylesheet-empty-print/index.html</filename>
    </modified>
    <modified>
      <diff>@@ -5,11 +5,11 @@
 	&lt;head&gt;
 
 		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
-	
+
 		&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;empty.css&quot; /&gt;
-	
+
 		&lt;script src=&quot;../../../js/cufon.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
-		
+
 		&lt;script type=&quot;text/javascript&quot;&gt;
 
 			(function(test) {
@@ -21,11 +21,11 @@
 			})(parent.testRunner.registerTest('&lt;link rel=&quot;stylesheet&quot;&gt; with an empty CSS file'));
 
 		&lt;/script&gt;
-	
+
 	&lt;/head&gt;
-	
+
 	&lt;body&gt;
-	
+
 	&lt;/body&gt;
-	
+
 &lt;/html&gt;</diff>
      <filename>tests/cssready/link-stylesheet-empty/index.html</filename>
    </modified>
    <modified>
      <diff>@@ -5,11 +5,11 @@
 	&lt;head&gt;
 
 		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
-	
+
 		&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;style.css&quot; media=&quot;print&quot; /&gt;
-	
+
 		&lt;script src=&quot;../../../js/cufon.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
-		
+
 		&lt;script type=&quot;text/javascript&quot;&gt;
 
 			(function(test) {
@@ -21,11 +21,11 @@
 			})(parent.testRunner.registerTest('&lt;link rel=&quot;stylesheet&quot; media=&quot;print&quot;&gt; with slow-loading @import', 5000, 2000));
 
 		&lt;/script&gt;
-	
+
 	&lt;/head&gt;
-	
+
 	&lt;body&gt;
-	
+
 	&lt;/body&gt;
-	
+
 &lt;/html&gt;</diff>
      <filename>tests/cssready/link-stylesheet-import-print/index.html</filename>
    </modified>
    <modified>
      <diff>@@ -5,11 +5,11 @@
 	&lt;head&gt;
 
 		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
-	
+
 		&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;style.css&quot; /&gt;
-	
+
 		&lt;script src=&quot;../../../js/cufon.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
-		
+
 		&lt;script type=&quot;text/javascript&quot;&gt;
 
 			(function(test) {
@@ -26,11 +26,11 @@
 			})(parent.testRunner.registerTest('&lt;link rel=&quot;stylesheet&quot;&gt; with slow-loading @import', 5000, 2000));
 
 		&lt;/script&gt;
-	
+
 	&lt;/head&gt;
-	
+
 	&lt;body&gt;
-	
+
 	&lt;/body&gt;
-	
+
 &lt;/html&gt;</diff>
      <filename>tests/cssready/link-stylesheet-import/index.html</filename>
    </modified>
    <modified>
      <diff>@@ -5,11 +5,11 @@
 	&lt;head&gt;
 
 		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
-	
+
 		&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;style.css&quot; /&gt;
-	
+
 		&lt;script src=&quot;../../../js/cufon.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
-		
+
 		&lt;script type=&quot;text/javascript&quot;&gt;
 
 			(function(test) {
@@ -21,11 +21,11 @@
 			})(parent.testRunner.registerTest('&lt;link rel=&quot;stylesheet&quot;&gt; with slow-loading print @import', 5000, 2000));
 
 		&lt;/script&gt;
-	
+
 	&lt;/head&gt;
-	
+
 	&lt;body&gt;
-	
+
 	&lt;/body&gt;
-	
+
 &lt;/html&gt;</diff>
      <filename>tests/cssready/link-stylesheet-printimport/index.html</filename>
    </modified>
    <modified>
      <diff>@@ -5,11 +5,11 @@
 	&lt;head&gt;
 
 		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
-	
+
 		&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;style.css&quot; media=&quot;fake&quot; /&gt;
-	
+
 		&lt;script src=&quot;../../../js/cufon.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
-		
+
 		&lt;script type=&quot;text/javascript&quot;&gt;
 
 			(function(test) {
@@ -21,11 +21,11 @@
 			})(parent.testRunner.registerTest('&lt;link rel=&quot;stylesheet&quot; media=&quot;fake&quot;&gt; with a simple and short style sheet'));
 
 		&lt;/script&gt;
-	
+
 	&lt;/head&gt;
-	
+
 	&lt;body&gt;
-	
+
 	&lt;/body&gt;
-	
+
 &lt;/html&gt;</diff>
      <filename>tests/cssready/link-stylesheet-simple-fake/index.html</filename>
    </modified>
    <modified>
      <diff>@@ -5,11 +5,11 @@
 	&lt;head&gt;
 
 		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
-	
+
 		&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;style.css&quot; media=&quot;print&quot; /&gt;
-	
+
 		&lt;script src=&quot;../../../js/cufon.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
-		
+
 		&lt;script type=&quot;text/javascript&quot;&gt;
 
 			(function(test) {
@@ -21,11 +21,11 @@
 			})(parent.testRunner.registerTest('&lt;link rel=&quot;stylesheet&quot; media=&quot;print&quot;&gt; with a simple and short style sheet'));
 
 		&lt;/script&gt;
-	
+
 	&lt;/head&gt;
-	
+
 	&lt;body&gt;
-	
+
 	&lt;/body&gt;
-	
+
 &lt;/html&gt;</diff>
      <filename>tests/cssready/link-stylesheet-simple-print/index.html</filename>
    </modified>
    <modified>
      <diff>@@ -5,11 +5,11 @@
 	&lt;head&gt;
 
 		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
-	
+
 		&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;style.css&quot; /&gt;
-	
+
 		&lt;script src=&quot;../../../js/cufon.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
-		
+
 		&lt;script type=&quot;text/javascript&quot;&gt;
 
 			(function(test) {
@@ -26,11 +26,11 @@
 			})(parent.testRunner.registerTest('&lt;link rel=&quot;stylesheet&quot;&gt; with a simple and short style sheet'));
 
 		&lt;/script&gt;
-	
+
 	&lt;/head&gt;
-	
+
 	&lt;body&gt;
-	
+
 	&lt;/body&gt;
-	
+
 &lt;/html&gt;</diff>
      <filename>tests/cssready/link-stylesheet-simple/index.html</filename>
    </modified>
    <modified>
      <diff>@@ -5,11 +5,11 @@
 	&lt;head&gt;
 
 		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
-	
+
 		&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;../delayed-css.php?w=100#id=link-stylesheet-slow-print&quot; media=&quot;print&quot; /&gt;
-	
+
 		&lt;script src=&quot;../../../js/cufon.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
-		
+
 		&lt;script type=&quot;text/javascript&quot;&gt;
 
 			(function(test) {
@@ -21,11 +21,11 @@
 			})(parent.testRunner.registerTest('&lt;link rel=&quot;stylesheet&quot; media=&quot;print&quot;&gt; with a slow-loading CSS file', 5000, 2000));
 
 		&lt;/script&gt;
-	
+
 	&lt;/head&gt;
-	
+
 	&lt;body&gt;
-	
+
 	&lt;/body&gt;
-	
+
 &lt;/html&gt;</diff>
      <filename>tests/cssready/link-stylesheet-slow-print/index.html</filename>
    </modified>
    <modified>
      <diff>@@ -5,11 +5,11 @@
 	&lt;head&gt;
 
 		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
-	
+
 		&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;../delayed-css.php?w=100#id=link-stylesheet-slow&quot; /&gt;
-	
+
 		&lt;script src=&quot;../../../js/cufon.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
-		
+
 		&lt;script type=&quot;text/javascript&quot;&gt;
 
 			(function(test) {
@@ -26,11 +26,11 @@
 			})(parent.testRunner.registerTest('&lt;link rel=&quot;stylesheet&quot;&gt; with a slow-loading CSS file', 5000, 2000));
 
 		&lt;/script&gt;
-	
+
 	&lt;/head&gt;
-	
+
 	&lt;body&gt;
-	
+
 	&lt;/body&gt;
-	
+
 &lt;/html&gt;</diff>
      <filename>tests/cssready/link-stylesheet-slow/index.html</filename>
    </modified>
    <modified>
      <diff>@@ -5,11 +5,11 @@
 	&lt;head&gt;
 
 		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
-	
+
 		&lt;link id=&quot;mainsheet&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;../delayed-css.php?w=100#id=link-stylesheet-slowdisabled&quot; /&gt;
-	
+
 		&lt;script src=&quot;../../../js/cufon.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
-		
+
 		&lt;script type=&quot;text/javascript&quot;&gt;
 
 			(function(test) {
@@ -23,11 +23,11 @@
 			})(parent.testRunner.registerTest('disabled &lt;link rel=&quot;stylesheet&quot;&gt; with a slow-loading CSS file', 5000, 2000));
 
 		&lt;/script&gt;
-	
+
 	&lt;/head&gt;
-	
+
 	&lt;body&gt;
-	
+
 	&lt;/body&gt;
-	
+
 &lt;/html&gt;</diff>
      <filename>tests/cssready/link-stylesheet-slowdisabled/index.html</filename>
    </modified>
    <modified>
      <diff>@@ -5,9 +5,9 @@
 	&lt;head&gt;
 
 		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
-	
+
 		&lt;script src=&quot;../../../js/cufon.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
-		
+
 		&lt;script type=&quot;text/javascript&quot;&gt;
 
 			// Note: this test is actually invalid because cufon.js
@@ -22,11 +22,11 @@
 			})(parent.testRunner.registerTest('No style sheets'));
 
 		&lt;/script&gt;
-	
+
 	&lt;/head&gt;
-	
+
 	&lt;body&gt;
-	
+
 	&lt;/body&gt;
-	
+
 &lt;/html&gt;</diff>
      <filename>tests/cssready/no-stylesheets/index.html</filename>
    </modified>
    <modified>
      <diff>@@ -5,15 +5,15 @@
 	&lt;head&gt;
 
 		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
-	
+
 		&lt;style type=&quot;text/css&quot; media=&quot;print&quot;&gt;
-		
+
 			@import url(404.css);
-			
+
 		&lt;/style&gt;
-	
+
 		&lt;script src=&quot;../../../js/cufon.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
-		
+
 		&lt;script type=&quot;text/javascript&quot;&gt;
 
 			(function(test) {
@@ -25,11 +25,11 @@
 			})(parent.testRunner.registerTest('&lt;style media=&quot;print&quot;&gt; with 404 @import'));
 
 		&lt;/script&gt;
-	
+
 	&lt;/head&gt;
-	
+
 	&lt;body&gt;
-	
+
 	&lt;/body&gt;
-	
+
 &lt;/html&gt;</diff>
      <filename>tests/cssready/style-404import-print/index.html</filename>
    </modified>
    <modified>
      <diff>@@ -5,15 +5,15 @@
 	&lt;head&gt;
 
 		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
-	
+
 		&lt;style type=&quot;text/css&quot;&gt;
-		
+
 			@import url(404.css);
-			
+
 		&lt;/style&gt;
-	
+
 		&lt;script src=&quot;../../../js/cufon.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
-		
+
 		&lt;script type=&quot;text/javascript&quot;&gt;
 
 			(function(test) {
@@ -25,11 +25,11 @@
 			})(parent.testRunner.registerTest('&lt;style&gt; with 404 @import'));
 
 		&lt;/script&gt;
-	
+
 	&lt;/head&gt;
-	
+
 	&lt;body&gt;
-	
+
 	&lt;/body&gt;
-	
+
 &lt;/html&gt;</diff>
      <filename>tests/cssready/style-404import/index.html</filename>
    </modified>
    <modified>
      <diff>@@ -4,12 +4,12 @@
 
 	&lt;head&gt;
 
-		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;	
+		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
 
 		&lt;style type=&quot;text/css&quot; media=&quot;print&quot;&gt;&lt;/style&gt;
-	
+
 		&lt;script src=&quot;../../../js/cufon.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
-		
+
 		&lt;script type=&quot;text/javascript&quot;&gt;
 
 			(function(test) {
@@ -21,11 +21,11 @@
 			})(parent.testRunner.registerTest('&lt;style media=&quot;print&quot;&gt; with no content'));
 
 		&lt;/script&gt;
-	
+
 	&lt;/head&gt;
-	
+
 	&lt;body&gt;
-	
+
 	&lt;/body&gt;
-	
+
 &lt;/html&gt;</diff>
      <filename>tests/cssready/style-empty-print/index.html</filename>
    </modified>
    <modified>
      <diff>@@ -4,12 +4,12 @@
 
 	&lt;head&gt;
 
-		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;	
+		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
 
 		&lt;style type=&quot;text/css&quot;&gt;&lt;/style&gt;
-	
+
 		&lt;script src=&quot;../../../js/cufon.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
-		
+
 		&lt;script type=&quot;text/javascript&quot;&gt;
 
 			(function(test) {
@@ -21,11 +21,11 @@
 			})(parent.testRunner.registerTest('&lt;style&gt; with no content'));
 
 		&lt;/script&gt;
-	
+
 	&lt;/head&gt;
-	
+
 	&lt;body&gt;
-	
+
 	&lt;/body&gt;
-	
+
 &lt;/html&gt;</diff>
      <filename>tests/cssready/style-empty/index.html</filename>
    </modified>
    <modified>
      <diff>@@ -5,15 +5,15 @@
 	&lt;head&gt;
 
 		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
-	
+
 		&lt;style type=&quot;text/css&quot; media=&quot;print&quot;&gt;
-		
+
 			@import url(empty.css);
-			
+
 		&lt;/style&gt;
-	
+
 		&lt;script src=&quot;../../../js/cufon.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
-		
+
 		&lt;script type=&quot;text/javascript&quot;&gt;
 
 			(function(test) {
@@ -25,11 +25,11 @@
 			})(parent.testRunner.registerTest('&lt;style media=&quot;print&quot;&gt; with an empty @imported CSS file'));
 
 		&lt;/script&gt;
-	
+
 	&lt;/head&gt;
-	
+
 	&lt;body&gt;
-	
+
 	&lt;/body&gt;
-	
+
 &lt;/html&gt;</diff>
      <filename>tests/cssready/style-emptyimport-print/index.html</filename>
    </modified>
    <modified>
      <diff>@@ -4,16 +4,16 @@
 
 	&lt;head&gt;
 
-		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;	
+		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
 
 		&lt;style type=&quot;text/css&quot;&gt;
-		
+
 			@import url(empty.css);
-			
+
 		&lt;/style&gt;
-	
+
 		&lt;script src=&quot;../../../js/cufon.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
-		
+
 		&lt;script type=&quot;text/javascript&quot;&gt;
 
 			(function(test) {
@@ -25,11 +25,11 @@
 			})(parent.testRunner.registerTest('&lt;style&gt; with an empty @imported CSS file'));
 
 		&lt;/script&gt;
-	
+
 	&lt;/head&gt;
-	
+
 	&lt;body&gt;
-	
+
 	&lt;/body&gt;
-	
+
 &lt;/html&gt;</diff>
      <filename>tests/cssready/style-emptyimport/index.html</filename>
    </modified>
    <modified>
      <diff>@@ -5,15 +5,15 @@
 	&lt;head&gt;
 
 		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
-	
+
 		&lt;style type=&quot;text/css&quot; media=&quot;fake&quot;&gt;
-		
+
 			@import url(../delayed-css.php?w=200#id=style-import-fake);
-			
+
 		&lt;/style&gt;
-	
+
 		&lt;script src=&quot;../../../js/cufon.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
-		
+
 		&lt;script type=&quot;text/javascript&quot;&gt;
 
 			(function(test) {
@@ -25,11 +25,11 @@
 			})(parent.testRunner.registerTest('&lt;style media=&quot;fake&quot;&gt; with slow-loading @import', 5000, 2000));
 
 		&lt;/script&gt;
-	
+
 	&lt;/head&gt;
-	
+
 	&lt;body&gt;
-	
+
 	&lt;/body&gt;
-	
+
 &lt;/html&gt;</diff>
      <filename>tests/cssready/style-import-fake/index.html</filename>
    </modified>
    <modified>
      <diff>@@ -5,15 +5,15 @@
 	&lt;head&gt;
 
 		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
-	
+
 		&lt;style type=&quot;text/css&quot; media=&quot;print&quot;&gt;
-		
+
 			@import url(../delayed-css.php?w=200#id=style-import-print);
-			
+
 		&lt;/style&gt;
-	
+
 		&lt;script src=&quot;../../../js/cufon.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
-		
+
 		&lt;script type=&quot;text/javascript&quot;&gt;
 
 			(function(test) {
@@ -25,11 +25,11 @@
 			})(parent.testRunner.registerTest('&lt;style media=&quot;print&quot;&gt; with slow-loading @import', 5000, 2000));
 
 		&lt;/script&gt;
-	
+
 	&lt;/head&gt;
-	
+
 	&lt;body&gt;
-	
+
 	&lt;/body&gt;
-	
+
 &lt;/html&gt;</diff>
      <filename>tests/cssready/style-import-print/index.html</filename>
    </modified>
    <modified>
      <diff>@@ -5,15 +5,15 @@
 	&lt;head&gt;
 
 		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
-	
+
 		&lt;style type=&quot;text/css&quot;&gt;
-		
+
 			@import url(../delayed-css.php?w=200#id=style-import);
-			
+
 		&lt;/style&gt;
-	
+
 		&lt;script src=&quot;../../../js/cufon.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
-		
+
 		&lt;script type=&quot;text/javascript&quot;&gt;
 
 			(function(test) {
@@ -30,11 +30,11 @@
 			})(parent.testRunner.registerTest('&lt;style&gt; with slow-loading @import', 5000, 2000));
 
 		&lt;/script&gt;
-	
+
 	&lt;/head&gt;
-	
+
 	&lt;body&gt;
-	
+
 	&lt;/body&gt;
-	
+
 &lt;/html&gt;</diff>
      <filename>tests/cssready/style-import/index.html</filename>
    </modified>
    <modified>
      <diff>@@ -5,15 +5,15 @@
 	&lt;head&gt;
 
 		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
-	
+
 		&lt;style type=&quot;text/css&quot;&gt;
-		
+
 			@import url(../delayed-css.php?w=200#id=style-printimport) print;
-			
+
 		&lt;/style&gt;
-	
+
 		&lt;script src=&quot;../../../js/cufon.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
-		
+
 		&lt;script type=&quot;text/javascript&quot;&gt;
 
 			(function(test) {
@@ -25,11 +25,11 @@
 			})(parent.testRunner.registerTest('&lt;style&gt; with slow-loading print @import', 5000, 2000));
 
 		&lt;/script&gt;
-	
+
 	&lt;/head&gt;
-	
+
 	&lt;body&gt;
-	
+
 	&lt;/body&gt;
-	
+
 &lt;/html&gt;</diff>
      <filename>tests/cssready/style-printimport/index.html</filename>
    </modified>
    <modified>
      <diff>@@ -5,9 +5,9 @@
 	&lt;head&gt;
 
 		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
-	
+
 		&lt;style type=&quot;text/css&quot; media=&quot;fake&quot;&gt;
-		
+
 			body {
 				border: 0;
 				margin: 0;
@@ -16,9 +16,9 @@
 			}
 
 		&lt;/style&gt;
-	
+
 		&lt;script src=&quot;../../../js/cufon.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
-		
+
 		&lt;script type=&quot;text/javascript&quot;&gt;
 
 			(function(test) {
@@ -30,11 +30,11 @@
 			})(parent.testRunner.registerTest('&lt;style media=&quot;fake&quot;&gt; with simple CSS'));
 
 		&lt;/script&gt;
-	
+
 	&lt;/head&gt;
-	
+
 	&lt;body&gt;
-	
+
 	&lt;/body&gt;
-	
+
 &lt;/html&gt;</diff>
      <filename>tests/cssready/style-simple-fake/index.html</filename>
    </modified>
    <modified>
      <diff>@@ -5,9 +5,9 @@
 	&lt;head&gt;
 
 		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
-	
+
 		&lt;style type=&quot;text/css&quot; media=&quot;print&quot;&gt;
-		
+
 			body {
 				border: 0;
 				margin: 0;
@@ -16,9 +16,9 @@
 			}
 
 		&lt;/style&gt;
-	
+
 		&lt;script src=&quot;../../../js/cufon.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
-		
+
 		&lt;script type=&quot;text/javascript&quot;&gt;
 
 			(function(test) {
@@ -30,11 +30,11 @@
 			})(parent.testRunner.registerTest('&lt;style media=&quot;print&quot;&gt; with simple CSS'));
 
 		&lt;/script&gt;
-	
+
 	&lt;/head&gt;
-	
+
 	&lt;body&gt;
-	
+
 	&lt;/body&gt;
-	
+
 &lt;/html&gt;</diff>
      <filename>tests/cssready/style-simple-print/index.html</filename>
    </modified>
    <modified>
      <diff>@@ -5,9 +5,9 @@
 	&lt;head&gt;
 
 		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
-	
+
 		&lt;style type=&quot;text/css&quot;&gt;
-		
+
 			body {
 				border: 0;
 				margin: 0;
@@ -16,9 +16,9 @@
 			}
 
 		&lt;/style&gt;
-	
+
 		&lt;script src=&quot;../../../js/cufon.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
-		
+
 		&lt;script type=&quot;text/javascript&quot;&gt;
 
 			(function(test) {
@@ -35,11 +35,11 @@
 			})(parent.testRunner.registerTest('&lt;style&gt; with simple CSS'));
 
 		&lt;/script&gt;
-	
+
 	&lt;/head&gt;
-	
+
 	&lt;body&gt;
-	
+
 	&lt;/body&gt;
-	
+
 &lt;/html&gt;</diff>
      <filename>tests/cssready/style-simple/index.html</filename>
    </modified>
    <modified>
      <diff>@@ -459,4 +459,4 @@
 
 	&lt;/body&gt;
 
-&lt;/html&gt;
\ No newline at end of file
+&lt;/html&gt;</diff>
      <filename>tests/line-height/index.html</filename>
    </modified>
    <modified>
      <diff>@@ -457,4 +457,4 @@
 
 	&lt;/body&gt;
 
-&lt;/html&gt;
\ No newline at end of file
+&lt;/html&gt;</diff>
      <filename>tests/line-height/quirks.html</filename>
    </modified>
    <modified>
      <diff>@@ -459,4 +459,4 @@
 
 	&lt;/body&gt;
 
-&lt;/html&gt;
\ No newline at end of file
+&lt;/html&gt;</diff>
      <filename>tests/line-height/transitional.html</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>2bd440dd0b806b4e433ca2ed20ef2898bd1a4573</id>
    </parent>
  </parents>
  <author>
    <name>Simo Kinnunen</name>
    <email>simo@shoqolate.com</email>
  </author>
  <url>http://github.com/sorccu/cufon/commit/5c3ea394bf41a4bf27a4a379151570db1a4617d8</url>
  <id>5c3ea394bf41a4bf27a4a379151570db1a4617d8</id>
  <committed-date>2009-07-22T11:04:30-07:00</committed-date>
  <authored-date>2009-07-22T11:04:30-07:00</authored-date>
  <message>Got rid of all trailing spaces. From now on no trailing spaces will be allowed in any patch.</message>
  <tree>d273f79b8853c72021e75b8e7923cd96bb92192d</tree>
  <committer>
    <name>Simo Kinnunen</name>
    <email>simo@shoqolate.com</email>
  </committer>
</commit>
