Index: scribus/pageitem.cpp
===================================================================
--- scribus/pageitem.cpp	(révision 17956)
+++ scribus/pageitem.cpp	(copie de travail)
@@ -2449,10 +2449,10 @@
                (glyph == font.char2CMap(QChar(' ')) || glyph >=  ScFace::CONTROL_GLYPHS))
        {
                bool stroke = false;
-		if (glyph >=  ScFace::CONTROL_GLYPHS)
+        if (glyph >=  ScFace::CONTROL_GLYPHS)
                        glyph -= ScFace::CONTROL_GLYPHS;
                else
-			glyph = 32;
+            glyph = 32;
                QTransform chma, chma4, chma5;
                FPointArray points;
                if (glyph == SpecialChars::TAB.unicode())
@@ -2480,17 +2480,24 @@
                        points = m_Doc->symNewLine.copy();
                        chma4.translate(glyphs.xoffset, glyphs.yoffset-((style.fontSize() / 10.0) * glyphs.scaleV * 0.4));
                }
-		else if (glyph == SpecialChars::NBSPACE.unicode() ||
-				 glyph == 32)
+        else if (glyph == 32)
                {
                        stroke = (glyph == 32);
-			points = m_Doc->symNonBreak.copy();
-			chma4.translate(glyphs.xoffset, glyphs.yoffset-((style.fontSize() / 10.0) * glyphs.scaleV * 0.4));
+            points = m_Doc->symNonBreak.copy();
+            chma4.scale(0.4,0.4);
+            chma4.translate(glyphs.xoffset+4, glyphs.yoffset-((style.fontSize() / 10.0) * glyphs.scaleV * 0.8));
                }
-		else if (glyph == SpecialChars::NBHYPHEN.unicode())
+        else if (glyph == SpecialChars::NBSPACE.unicode())
+        {
+            stroke = (glyph == 32);
+            points = m_Doc->symNonBreak.copy();
+            chma4.translate(glyphs.xoffset, glyphs.yoffset-((style.fontSize() / 10.0) * glyphs.scaleV * 0.8));
+        }
+        else if (glyph == SpecialChars::NBHYPHEN.unicode())
                {
-			points = font.glyphOutline(font.char2CMap(QChar('-')), style.fontSize() / 100);
+            points = font.glyphOutline(font.char2CMap(QChar('-')), style.fontSize() / 100);
                        chma4.translate(glyphs.xoffset, glyphs.yoffset-((style.fontSize() / 10.0) * glyphs.scaleV));
+            chma4.scale(0.5,0.5);
                }
                else if (glyph == SpecialChars::SHYPHEN.unicode())
                {
@@ -2522,8 +2529,8 @@
                if (stroke)
                {
                        QColor tmp = p->pen();
-			p->setPen(p->brush(), 1, Qt::SolidLine, Qt::FlatCap, Qt::MiterJoin);
-			p->setLineWidth(style.fontSize() * glyphs.scaleV / 200.0);
+            p->setPen(p->brush(), 1, Qt::SolidLine, Qt::FlatCap, Qt::MiterJoin);
+            p->setLineWidth(style.fontSize() * glyphs.scaleV / 400.0);
                        p->strokePath();
                        p->setPen(tmp, 1, Qt::SolidLine, Qt::FlatCap, Qt::MiterJoin);
                }
@@ -2540,9 +2547,9 @@
                }
                return;
        }
-	else if (glyph == (ScFace::CONTROL_GLYPHS + SpecialChars::NBSPACE.unicode()) ||
+    else if (glyph == (ScFace::CONTROL_GLYPHS + SpecialChars::NBSPACE.unicode()) ||
                         glyph == (ScFace::CONTROL_GLYPHS + 32))
-		glyph = font.char2CMap(QChar(' '));
+        glyph = font.char2CMap(QChar(' '));
        else if (glyph == (ScFace::CONTROL_GLYPHS + SpecialChars::NBHYPHEN.unicode()))
                glyph = font.char2CMap(QChar('-'));

Index: scribus/scribusdoc.h
===================================================================
--- scribus/scribusdoc.h	(révision 17956)
+++ scribus/scribusdoc.h	(copie de travail)
@@ -1352,7 +1352,8 @@
        FPointArray symNewLine;
        FPointArray symTab;
        FPointArray symNonBreak;
-	FPointArray symNewCol;
+    FPointArray symSpace;
+    FPointArray symNewCol;
        FPointArray symNewFrame;

        Hyphenator * docHyphenator;
Index: scribus/fonts/scface.cpp
===================================================================
--- scribus/fonts/scface.cpp	(révision 17956)
+++ scribus/fonts/scface.cpp	(copie de travail)
@@ -342,11 +342,11 @@
 {
        if (ch == SpecialChars::LINEBREAK || ch == SpecialChars::PARSEP
                || ch == SpecialChars::FRAMEBREAK || ch == SpecialChars::COLBREAK
-		|| ch == SpecialChars::TAB || ch == SpecialChars::SHYPHEN
-		 || ch == SpecialChars::ZWSPACE || ch == SpecialChars::ZWNBSPACE || ch==SpecialChars::OBJECT)
+        || ch == SpecialChars::TAB || ch == SpecialChars::SHYPHEN
+         || ch == SpecialChars::ZWSPACE || ch == SpecialChars::ZWNBSPACE || ch==SpecialChars::OBJECT)
                return CONTROL_GLYPHS + ch.unicode();
-	else if (ch == SpecialChars::NBSPACE)
-		return  m->char2CMap(QChar(' '));
+    else if (ch == SpecialChars::NBSPACE)
+        return  m->char2CMap(QChar(' '));
        else if(ch == SpecialChars::NBHYPHEN)
                return  m->char2CMap(QChar('-'));
        else
Index: scribus/scpageoutput.cpp
===================================================================
--- scribus/scpageoutput.cpp	(révision 17956)
+++ scribus/scpageoutput.cpp	(copie de travail)
@@ -500,7 +500,7 @@
 {
        uint glyph = glyphs.glyph;
        if (glyph == (ScFace::CONTROL_GLYPHS + SpecialChars::NBSPACE.unicode())) // NBSPACE
-		glyph = style.font().char2CMap(QChar(' '));
+        glyph = style.font().char2CMap(QChar(' '));
        else if (glyph == (ScFace::CONTROL_GLYPHS + SpecialChars::NBHYPHEN.unicode())) // NBHYPHEN
                glyph = style.font().char2CMap(QChar('-'));

Index: scribus/scribusdoc.cpp
===================================================================
--- scribus/scribusdoc.cpp	(révision 17956)
+++ scribus/scribusdoc.cpp	(copie de travail)
@@ -2512,7 +2512,10 @@
        symTab.addQuadPoint(5.90625, 0.828125, 5.90625, 0.828125, 6.9375, 1.79688, 6.9375, 1.64062);
        symTab.addQuadPoint(6.9375, 1.79688, 6.9375, 1.79688, 5.95312, 2.96875, 6.9375, 1.95312);
        symTab.addQuadPoint(5.95312, 2.96875, 5.95312, 2.96875, 4.82812, 3.96875, 4.98438, 3.96875);
-	symNonBreak.resize(0);
+    symSpace.resize(0);
+    symSpace.addQuadPoint(1.32812, 2.59375, 1.32812, 2.59375, 0.390625, 2.21875, 0.796875, 2.59375);
+//    symSpace.addQuadPoint(0.390625, 2.21875, 0.390625, 2.21875, 0, 1.3125, 0, 1.84375);
+    symNonBreak.resize(0);
        symNonBreak.addQuadPoint(1.32812, 2.59375, 1.32812, 2.59375, 0.390625, 2.21875, 0.796875, 2.59375);
        symNonBreak.addQuadPoint(0.390625, 2.21875, 0.390625, 2.21875, 0, 1.3125, 0, 1.84375);
        symNonBreak.addQuadPoint(0, 1.3125, 0, 1.3125, 0.390625, 0.390625, 0, 0.765625);
