/**
  * Merges all fonts properties.
  *
  * @since 1.0.0
  *
  * @param [type] $input_css [description]
  * @return [type] [description]
  */
 public function merge_font($input_css)
 {
     $font_prop_default =& $this->parser->data['csstidy']['font_prop_default'];
     $new_font_value = '';
     $important = '';
     // Skip if no font-family and font-size set.
     if (isset($input_css['font-family']) && isset($input_css['font-size'])) {
         // Fix several words in font-family - add quotes.
         if (isset($input_css['font-family'])) {
             $families = explode(",", $input_css['font-family']);
             $result_families = array();
             foreach ($families as $family) {
                 $family = trim($family);
                 $len = strlen($family);
                 if (strpos($family, " ") && !('"' === $family[0] && '"' === $family[$len - 1] || "'" === $family[0] && "'" === $family[$len - 1])) {
                     $family = '"' . $family . '"';
                 }
                 $result_families[] = $family;
             }
             $input_css['font-family'] = implode(",", $result_families);
         }
         foreach ($font_prop_default as $font_property => $default_value) {
             // Skip if property does not exist.
             if (!isset($input_css[$font_property])) {
                 continue;
             }
             $cur_value = $input_css[$font_property];
             // Skip if default value is used.
             if ($cur_value === $default_value) {
                 continue;
             }
             // Remove !important.
             if ($this->parser->is_important($cur_value)) {
                 $important = ' !important';
                 $cur_value = $this->parser->gvw_important($cur_value);
             }
             $new_font_value .= $cur_value;
             // Add delimiter.
             $new_font_value .= 'font-size' === $font_property && isset($input_css['line-height']) ? '/' : ' ';
         }
         $new_font_value = trim($new_font_value);
         // Delete all font properties.
         foreach ($font_prop_default as $font_property => $default_value) {
             if ('font' !== $font_property || !$new_font_value) {
                 unset($input_css[$font_property]);
             }
         }
         // Add new font property.
         if ('' !== $new_font_value) {
             $input_css['font'] = $new_font_value . $important;
         }
     }
     return $input_css;
 }