1313using System ;
1414using System . Collections . Generic ;
1515using System . Drawing ;
16- using System . Drawing . Imaging ;
17- using System . IO ;
1816using System . Text ;
1917using HtmlRenderer . Dom ;
2018using HtmlRenderer . Entities ;
@@ -616,17 +614,16 @@ private static void WriteHtml(StringBuilder sb, CssBox box, int indent, HtmlGene
616614
617615 if ( styleGen == HtmlGenerationStyle . InHeader && box . HtmlTag . Name == "html" && box . HtmlContainer . CssData != null )
618616 {
619- sb . Append ( new string ( ' ' , indent * 4 ) ) ;
617+ sb . Append ( new string ( ' ' , indent * 2 ) ) ;
620618 sb . AppendLine ( "<head>" ) ;
621619 WriteStylesheet ( sb , box . HtmlContainer . CssData , indent + 1 ) ;
622- sb . Append ( new string ( ' ' , indent * 4 ) ) ;
620+ sb . Append ( new string ( ' ' , indent * 2 ) ) ;
623621 sb . AppendLine ( "</head>" ) ;
624622 }
625623 }
626624
627625 if ( box . Words . Count > 0 )
628626 {
629- sb . Append ( new string ( ' ' , indent * 4 ) ) ;
630627 foreach ( var word in box . Words )
631628 {
632629 if ( selectedTags == null || word . Selected )
@@ -635,7 +632,6 @@ private static void WriteHtml(StringBuilder sb, CssBox box, int indent, HtmlGene
635632 sb . Append ( HtmlUtils . EncodeHtml ( wordText ) ) ;
636633 }
637634 }
638- sb . AppendLine ( ) ;
639635 }
640636
641637 foreach ( var childBox in box . Boxes )
@@ -645,9 +641,9 @@ private static void WriteHtml(StringBuilder sb, CssBox box, int indent, HtmlGene
645641
646642 if ( box . HtmlTag != null && ! box . HtmlTag . IsSingle )
647643 {
648- sb . Append ( new string ( ' ' , Math . Max ( ( indent - 1 ) * 4 , 0 ) ) ) ;
649644 sb . AppendFormat ( "</{0}>" , box . HtmlTag . Name ) ;
650- sb . AppendLine ( ) ;
645+ if ( ! box . IsInline && ! box . IsBrElement )
646+ sb . AppendLine ( ) ;
651647 }
652648 }
653649 }
@@ -661,7 +657,8 @@ private static void WriteHtml(StringBuilder sb, CssBox box, int indent, HtmlGene
661657 /// <param name="styleGen">Controls the way styles are generated when html is generated</param>
662658 private static void WriteHtmlTag ( StringBuilder sb , CssBox box , int indent , HtmlGenerationStyle styleGen )
663659 {
664- sb . Append ( new string ( ' ' , indent * 4 ) ) ;
660+ if ( ! box . IsInline && ! box . IsBrElement )
661+ sb . Append ( new string ( ' ' , indent * 2 ) ) ;
665662 sb . AppendFormat ( "<{0}" , box . HtmlTag . Name ) ;
666663
667664 // collect all element style properties including from stylesheet
@@ -725,7 +722,8 @@ private static void WriteHtmlTag(StringBuilder sb, CssBox box, int indent, HtmlG
725722 }
726723
727724 sb . AppendFormat ( "{0}>" , box . HtmlTag . IsSingle ? "/" : "" ) ;
728- sb . AppendLine ( ) ;
725+ if ( ! box . IsInline && ! box . IsBrElement )
726+ sb . AppendLine ( ) ;
729727 }
730728
731729 /// <summary>
@@ -768,11 +766,11 @@ private static Dictionary<string, string> StripDefaultStyles(CssBox box, Diction
768766 /// <param name="indent">the indent to use for nice formatting</param>
769767 private static void WriteStylesheet ( StringBuilder sb , CssData cssData , int indent )
770768 {
771- sb . Append ( new string ( ' ' , indent * 4 ) ) ;
769+ sb . Append ( new string ( ' ' , indent * 2 ) ) ;
772770 sb . AppendLine ( "<style type=\" text/css\" >" ) ;
773771 foreach ( var cssBlocks in cssData . MediaBlocks [ "all" ] )
774772 {
775- sb . Append ( new string ( ' ' , ( indent + 1 ) * 4 ) ) ;
773+ sb . Append ( new string ( ' ' , ( indent + 1 ) * 2 ) ) ;
776774 sb . Append ( cssBlocks . Key ) ;
777775 sb . Append ( " { " ) ;
778776 foreach ( var cssBlock in cssBlocks . Value )
@@ -786,7 +784,7 @@ private static void WriteStylesheet(StringBuilder sb, CssData cssData, int inden
786784 sb . Append ( " }" ) ;
787785 sb . AppendLine ( ) ;
788786 }
789- sb . Append ( new string ( ' ' , indent * 4 ) ) ;
787+ sb . Append ( new string ( ' ' , indent * 2 ) ) ;
790788 sb . AppendLine ( "</style>" ) ;
791789 }
792790
0 commit comments