diff --git a/markdown2svg.cabal b/markdown2svg.cabal
--- a/markdown2svg.cabal
+++ b/markdown2svg.cabal
@@ -2,7 +2,7 @@
 cabal-version:	>=1.8
 
 name:		markdown2svg
-version:	0.0.1.7
+version:	0.0.1.8
 stability:	Experimental
 author:		Yoshikuni Jujo <PAF01143@nifty.ne.jp>
 maintainer:	Yoshikuni Jujo <PAF01143@nifty.ne.jp>
@@ -31,7 +31,7 @@
 source-repository	this
   type:		git
   location:	git://github.com/YoshikuniJujo/markdown2svg.git
-  tag:		0.0.1.7
+  tag:		0.0.1.8
 
 executable markdown2svg
   hs-source-dirs:	src
diff --git a/src/SVG.hs b/src/SVG.hs
--- a/src/SVG.hs
+++ b/src/SVG.hs
@@ -4,7 +4,6 @@
 
 import Control.Applicative
 import Data.Maybe
-import Data.List
 import Data.Char
 import Text.XML.YJSVG
 
@@ -19,6 +18,7 @@
 
 textToSVG :: Bool -> Double -> [Text] -> [String]
 textToSVG n r = map (showSVG (width r) (height r)) . textToSVGData r (topMargin r) .
+	preprocess .
 	if n then addChapters [Nothing, Just 0, Just 0, Just 0, Nothing, Nothing] else id
 
 width, height :: Double -> Double
@@ -167,3 +167,14 @@
 	chaps = concatMap (++ ".") $ map show $ catMaybes $ take n newCs
 	newCs = take (n - 1) cs ++ [(+ 1) <$> cs !! (n - 1)] ++ drop n cs
 addChapters cs (t : ts) = t : addChapters cs ts
+
+preprocess :: [Text] -> [Text]
+preprocess [] = []
+preprocess (Paras strs : ts) = Paras (map remSpaces strs) : preprocess ts
+preprocess (t : ts) = t : preprocess ts
+
+remSpaces :: String -> String
+remSpaces "" = ""
+remSpaces (c : ' ' : c' : cs)
+	| not (isAscii c) && not (isAscii c') = c : c' : remSpaces cs
+remSpaces (c : cs) = c : remSpaces cs
