--- original-cufon.module	2010-12-10 14:18:57.000000000 -0800
+++ cufon.module	2010-12-10 14:03:49.000000000 -0800
@@ -92,6 +92,30 @@ function _cufon_get_font_family($filenam
   return $family;
 }
 
+/**
+ * _cufon_parse_css_properties().
+ *
+ * Parses out all extra effects added to the selector. Example:
+ * CSS Format: <selector> { <effect>:<value>; <effect>:<value>; }
+ * h2 { textShadow:0 1px #fff; color:-linear-gradient(white, #990000); };
+ */
+function _cufon_parse_css_properties(&$selectors) {
+	foreach($selectors as &$selector) {
+	  $a = explode('{',$selector['selector']);
+	  if(count($a)>1) {
+		  $new = array();
+		  $new['selector'] = $a[0];
+		  $new['options'] = $selector['options'];
+		  $p = explode(';', str_replace(array('  ','}'), array(' ',''), $a[1]));
+		  foreach($p as $property) {
+			  $parts = explode(':', $property);
+			  if(trim($parts[0])=='' || trim($parts[1])=='') continue;
+			  $new['options'][trim($parts[0])] = trim($parts[1]);
+		  }
+		  $selector = $new;
+	  }
+  }
+}
 
 /**
  * Implementation of template_preprocess_page().
@@ -106,6 +130,7 @@ function cufon_preprocess_page(&$vars) {
     drupal_add_js($filename, 'module');
   }
   $selectors = variable_get('cufon_selectors', array());
+  _cufon_parse_css_properties($selectors);
   drupal_add_js(array('cufonSelectors' => $selectors), 'setting');
 
   $vars['scripts'] = drupal_get_js();
