git.iko.soy/typeable/pandoc
on master help sign in
Man reader: add predefined strings (e.g. `\*[R]`).
commit00f1f4a220f870046ca4d257baf0e8f8e0e221e0 authorJohn MacFarlane <jgm@berkeley.edu> dateSun 21 Oct 2018, 21:27 (8 years ago) parent8523662
1 file changed+12−12
src/Text/Pandoc/Readers/Man.hs+12−12
src/Text/Pandoc/Readers/Man.hs+12−12
@@ -95,7 +95,14 @@ data RoffState = RoffState { fontKind :: Font
9595 } deriving Show
9696
9797instance Default RoffState where
98− def = RoffState { customMacros = mempty
98+ def = RoffState { customMacros = M.fromList
99+ $ map (\(n, s) ->
100+ (n, singleTok
101+ (MLine [RoffStr (s, mempty)])))
102+ [ ("Tm", "\x2122")
103+ , ("lq", "\x201C")
104+ , ("rq", "\x201D")
105+ , ("R", "\x00AE") ]
99106 , fontKind = S.singleton Regular }
100107
101108data ManState = ManState { readerOptions :: ReaderOptions
@@ -366,22 +373,15 @@ escStar :: PandocMonad m => ManLexer m [LinePart]
366373escStar = try $ do
367374 char '\\'
368375 char '*'
369− font <- currentFont
370− let retstr s = return [RoffStr (s, font)]
371376 c <- anyChar
372377 case c of
373378 '(' -> do
374379 cs <- count 2 anyChar
375− case cs of
376− "Tm" -> retstr "\x2122"
377− "lq" -> retstr "\x201c"
378− "rq" -> retstr "\x201d"
379− _ -> resolveString cs
380+ resolveString cs
380381 '[' -> do
381− cs <- many (noneOf "\t\n\r ]")
382− char ']'
383− resolveString cs
384− 'R' -> retstr "\xae"
382+ cs <- many (noneOf "\t\n\r ]")
383+ char ']'
384+ resolveString cs
385385 'S' -> return mempty -- switch back to default font size
386386 _ -> resolveString [c]
387387