@@ -652,30 +652,45 @@ elemToParagraphStyle ns element
653elemToParagraphStyle _ _ = defaultParagraphStyle
653elemToParagraphStyle _ _ = defaultParagraphStyle
655+checkOnOff :: NameSpaces -> Element -> QName -> Bool
656+checkOnOff ns rPr tag
657+ | Just t <- findChild tag rPr
658+ , Just val <- findAttr (elemName ns "w" "val") t =
667+ | Just _ <- findChild tag rPr = True
668+checkOnOff _ _ _ = False
656elemToRunStyle :: NameSpaces -> Element -> RunStyle
671elemToRunStyle :: NameSpaces -> Element -> RunStyle
657elemToRunStyle ns element
672elemToRunStyle ns element
658 | Just rPr <- findChild (elemName ns "w" "rPr") element =
673 | Just rPr <- findChild (elemName ns "w" "rPr") element =
661− isBold = isJust $ findChild (QName "b" (lookup "w" ns) (Just "w")) rPr
676+ isBold = checkOnOff ns rPr (elemName ns "w" "b")
662− , isItalic = isJust $ findChild (QName "i" (lookup "w" ns) (Just "w")) rPr
677+ , isItalic = checkOnOff ns rPr (elemName ns "w" "i")
663− , isSmallCaps = isJust $ findChild (QName "smallCaps" (lookup "w" ns) (Just "w")) rPr
678+ , isSmallCaps = checkOnOff ns rPr (elemName ns "w" "smallCaps")
664− , isStrike = isJust $ findChild (QName "strike" (lookup "w" ns) (Just "w")) rPr
679+ , isStrike = checkOnOff ns rPr (elemName ns "w" "strike")
665 , isSuperScript =
680 , isSuperScript =
666 (Just "superscript" ==
681 (Just "superscript" ==
667− (findChild (QName "vertAlign" (lookup "w" ns) (Just "w")) rPr >>=
682+ (findChild (elemName ns "w" "vertAlign") rPr >>=
668− findAttr (QName "val" (lookup "w" ns) (Just "w"))))
683+ findAttr (elemName ns "w" "val")))
669 , isSubScript =
684 , isSubScript =
670 (Just "subscript" ==
685 (Just "subscript" ==
671− (findChild (QName "vertAlign" (lookup "w" ns) (Just "w")) rPr >>=
686+ (findChild (elemName ns "w" "vertAlign") rPr >>=
672− findAttr (QName "val" (lookup "w" ns) (Just "w"))))
687+ findAttr (elemName ns "w" "val")))
673 , rUnderline =
688 , rUnderline =
674− findChild (QName "u" (lookup "w" ns) (Just "w")) rPr >>=
689+ findChild (elemName ns "w" "u") rPr >>=
675− findAttr (QName "val" (lookup "w" ns) (Just "w"))
690+ findAttr (elemName ns "w" "val")
676 , rStyle =
691 , rStyle =
677− findChild (QName "rStyle" (lookup "w" ns) (Just "w")) rPr >>=
692+ findChild (elemName ns "w" "rStyle") rPr >>=
678− findAttr (QName "val" (lookup "w" ns) (Just "w"))
693+ findAttr (elemName ns "w" "val")
680elemToRunStyle _ _ = defaultRunStyle
695elemToRunStyle _ _ = defaultRunStyle