git.iko.soy/typeable/pandoc
on master help sign in
Docx Reader: Parse soft, no-break hyphen elements
commit0b899ce7efa80df700b17b7a4b9f6de1fb88ce8c authorOphir Lifshitz <hangfromthefloor@gmail.com> dateSun 4 Oct 2015, 06:07 (11 years ago) parent6d0e586
2 files changed+7−1
src/Text/Pandoc/Readers/Docx.hs+4 src/Text/Pandoc/Readers/Docx/Parse.hs+3−1
src/Text/Pandoc/Readers/Docx.hs+4
@@ -206,11 +206,15 @@ runElemToInlines :: RunElem -> Inlines
206206runElemToInlines (TextRun s) = text s
207207runElemToInlines (LnBrk) = linebreak
208208runElemToInlines (Tab) = space
209+runElemToInlines (SoftHyphen) = text "\xad"
210+runElemToInlines (NoBreakHyphen) = text "\x2011"
209211
210212runElemToString :: RunElem -> String
211213runElemToString (TextRun s) = s
212214runElemToString (LnBrk) = ['\n']
213215runElemToString (Tab) = ['\t']
216+runElemToString (SoftHyphen) = ['\xad']
217+runElemToString (NoBreakHyphen) = ['\x2011']
214218
215219runToString :: Run -> String
216220runToString (Run _ runElems) = concatMap runElemToString runElems
src/Text/Pandoc/Readers/Docx/Parse.hs+3−1
@@ -208,7 +208,7 @@ data Run = Run RunStyle [RunElem]
208208 | InlineDrawing FilePath B.ByteString
209209 deriving Show
210210
211−data RunElem = TextRun String | LnBrk | Tab
211+data RunElem = TextRun String | LnBrk | Tab | SoftHyphen | NoBreakHyphen
212212 deriving Show
213213
214214data VertAlign = BaseLn | SupScrpt | SubScrpt
@@ -877,6 +877,8 @@ elemToRunElem ns element
877877 map (\x -> fromMaybe x . getUnicode f . lowerFromPrivate $ x) str
878878 | isElem ns "w" "br" element = return LnBrk
879879 | isElem ns "w" "tab" element = return Tab
880+ | isElem ns "w" "softHyphen" element = return SoftHyphen
881+ | isElem ns "w" "noBreakHyphen" element = return NoBreakHyphen
880882 | isElem ns "w" "sym" element = return (getSymChar ns element)
881883 | otherwise = throwError WrongElem
882884 where