--- elinks-0.12pre6/src/viewer/dump/dump.c.orig	2012-10-28 21:57:15.000000000 +0900
+++ elinks-0.12pre6/src/viewer/dump/dump.c	2014-05-23 20:53:22.000000000 +0900
@@ -140,13 +140,14 @@
 }
 
 static int
-write_color_16(unsigned char color, struct dump_output *out)
+write_color_16(unsigned char color, unsigned bold, struct dump_output *out)
 {
 	unsigned char bufor[] = "\033[0;30;40m";
 	unsigned char *data = bufor;
 	int background = (color >> 4) & 7;
 	int foreground = color & 7;
 
+	if (bold) bufor[2] = '1';
 	bufor[5] += foreground;
 	if (background)	bufor[8] += background;
 	else {
@@ -176,12 +177,12 @@
 
 static int
 write_color_256(const unsigned char *str, unsigned char color,
-		struct dump_output *out)
+		unsigned bold, struct dump_output *out)
 {
-	unsigned char bufor[16];
+	unsigned char bufor[18];
 	unsigned char *data = bufor;
 
-	snprintf(bufor, 16, "\033[%s;5;%dm", str, color);
+	snprintf(bufor, 18, "\033[%d;%s;5;%dm", bold, str, color);
 	while(*data) {
 		if (write_char(*data++, out)) return -1;
 	}
@@ -204,12 +205,12 @@
 
 static int
 write_true_color(const unsigned char *str, const unsigned char *color,
-		 struct dump_output *out)
+		 unsigned bold, struct dump_output *out)
 {
-	unsigned char bufor[24];
+	unsigned char bufor[26];
 	unsigned char *data = bufor;
 
-	snprintf(bufor, 24, "\033[%s;2;%d;%d;%dm", str, color[0], color[1], color[2]);
+	snprintf(bufor, 26, "\033[%d;%s;2;%d;%d;%dm", bold, str, color[0], color[1], color[2]);
 	while(*data) {
 		if (write_char(*data++, out)) return -1;
 	}
--- elinks-0.12pre6/src/viewer/dump/dump-specialized.h.orig	2012-10-28 21:57:15.000000000 +0900
+++ elinks-0.12pre6/src/viewer/dump/dump-specialized.h	2014-05-23 20:46:42.000000000 +0900
@@ -48,13 +48,13 @@
 		int x;
 
 #ifdef DUMP_COLOR_MODE_16
-		write_color_16(color, out);
+		write_color_16(color, 0, out);
 #elif defined(DUMP_COLOR_MODE_256)
-		write_color_256("38", foreground, out);
-		write_color_256("48", background, out);
+		write_color_256("38", foreground, 0, out);
+		write_color_256("48", background, 0, out);
 #elif defined(DUMP_COLOR_MODE_TRUE)
-		write_true_color("38", foreground, out);
-		write_true_color("48", background, out);
+		write_true_color("38", foreground, 0, out);
+		write_true_color("48", background, 0, out);
 #endif	/* DUMP_COLOR_MODE_TRUE */
 
 		for (x = 0; x < document->data[y].length; x++) {
@@ -69,16 +69,22 @@
 #ifdef DUMP_COLOR_MODE_16
 			const unsigned char color1
 				= document->data[y].chars[x].color[0];
+			unsigned char bold
+				= attr & SCREEN_ATTR_BOLD ? 1 : 0;
 #elif defined(DUMP_COLOR_MODE_256)
 			const unsigned char color1
 				= document->data[y].chars[x].color[0];
 			const unsigned char color2
 				= document->data[y].chars[x].color[1];
+			unsigned char bold
+				= attr & SCREEN_ATTR_BOLD ? 1 : 0;
 #elif defined(DUMP_COLOR_MODE_TRUE)
 			const unsigned char *const new_foreground
 				= &document->data[y].chars[x].color[0];
 			const unsigned char *const new_background
 				= &document->data[y].chars[x].color[3];
+			unsigned char bold
+				= attr & SCREEN_ATTR_BOLD ? 1 : 0;
 #endif	/* DUMP_COLOR_MODE_TRUE */
 
 			c = document->data[y].chars[x].data;
@@ -94,33 +100,33 @@
 #ifdef DUMP_COLOR_MODE_16
 			if (color != color1) {
 				color = color1;
-				if (write_color_16(color, out))
+				if (write_color_16(color, bold, out))
 					return -1;
 			}
 
 #elif defined(DUMP_COLOR_MODE_256)
 			if (foreground != color1) {
 				foreground = color1;
-				if (write_color_256("38", foreground, out))
+				if (write_color_256("38", foreground, bold, out))
 					return -1;
 			}
 
 			if (background != color2) {
 				background = color2;
-				if (write_color_256("48", background, out))
+				if (write_color_256("48", background, 0, out))
 					return -1;
 			}
 
 #elif defined(DUMP_COLOR_MODE_TRUE)
 			if (memcmp(foreground, new_foreground, 3)) {
 				foreground = new_foreground;
-				if (write_true_color("38", foreground, out))
+				if (write_true_color("38", foreground, bold, out))
 					return -1;
 			}
 
 			if (memcmp(background, new_background, 3)) {
 				background = new_background;
-				if (write_true_color("48", background, out))
+				if (write_true_color("48", background, 0, out))
 					return -1;
 			}
 #endif	/* DUMP_COLOR_MODE_TRUE */
