aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Text/Pandoc/Definition.hs1
-rw-r--r--Text/Pandoc/Writers/ConTeXt.hs1
-rw-r--r--Text/Pandoc/Writers/Docbook.hs1
-rw-r--r--Text/Pandoc/Writers/HTML.hs3
-rw-r--r--Text/Pandoc/Writers/LaTeX.hs1
-rw-r--r--Text/Pandoc/Writers/Man.hs1
-rw-r--r--Text/Pandoc/Writers/Markdown.hs1
-rw-r--r--Text/Pandoc/Writers/OpenDocument.hs22
-rw-r--r--Text/Pandoc/Writers/RST.hs1
-rw-r--r--Text/Pandoc/Writers/RTF.hs1
-rw-r--r--Text/Pandoc/Writers/Texinfo.hs2
11 files changed, 25 insertions, 10 deletions
diff --git a/Text/Pandoc/Definition.hs b/Text/Pandoc/Definition.hs
index 04deca1ea..e17b1b788 100644
--- a/Text/Pandoc/Definition.hs
+++ b/Text/Pandoc/Definition.hs
@@ -104,6 +104,7 @@ data Inline
| Superscript [Inline] -- ^ Superscripted text (list of inlines)
| Subscript [Inline] -- ^ Subscripted text (list of inlines)
| Quoted QuoteType [Inline] -- ^ Quoted text (list of inlines)
+ | SmallCaps [Inline] -- ^ Small caps text (list of inlines)
| Code String -- ^ Inline code (literal)
| Space -- ^ Inter-word space
| EmDash -- ^ Em dash
diff --git a/Text/Pandoc/Writers/ConTeXt.hs b/Text/Pandoc/Writers/ConTeXt.hs
index f3e8a839a..4f171f2ce 100644
--- a/Text/Pandoc/Writers/ConTeXt.hs
+++ b/Text/Pandoc/Writers/ConTeXt.hs
@@ -263,6 +263,7 @@ inlineToConTeXt (Quoted SingleQuote lst) = do
inlineToConTeXt (Quoted DoubleQuote lst) = do
contents <- inlineListToConTeXt lst
return $ text "\\quotation{" <> contents <> char '}'
+inlineToConTeXt (SmallCaps lst) = inlineListToConTeXt lst
inlineToConTeXt Apostrophe = return $ char '\''
inlineToConTeXt EmDash = return $ text "---"
inlineToConTeXt EnDash = return $ text "--"
diff --git a/Text/Pandoc/Writers/Docbook.hs b/Text/Pandoc/Writers/Docbook.hs
index d089116cf..6621c3d1d 100644
--- a/Text/Pandoc/Writers/Docbook.hs
+++ b/Text/Pandoc/Writers/Docbook.hs
@@ -225,6 +225,7 @@ inlineToDocbook opts (Subscript lst) =
inTagsSimple "subscript" $ inlinesToDocbook opts lst
inlineToDocbook opts (Quoted _ lst) =
inTagsSimple "quote" $ inlinesToDocbook opts lst
+inlineToDocbook opts (SmallCaps lst) = inlinesToDocbook opts lst
inlineToDocbook _ Apostrophe = char '\''
inlineToDocbook _ Ellipses = text "&#8230;"
inlineToDocbook _ EmDash = text "&#8212;"
diff --git a/Text/Pandoc/Writers/HTML.hs b/Text/Pandoc/Writers/HTML.hs
index 435d78fad..d0c45bec1 100644
--- a/Text/Pandoc/Writers/HTML.hs
+++ b/Text/Pandoc/Writers/HTML.hs
@@ -241,6 +241,7 @@ inlineListToIdentifier' (x:xs) =
Emph lst -> inlineListToIdentifier' lst
Strikeout lst -> inlineListToIdentifier' lst
Superscript lst -> inlineListToIdentifier' lst
+ SmallCaps lst -> inlineListToIdentifier' lst
Subscript lst -> inlineListToIdentifier' lst
Strong lst -> inlineListToIdentifier' lst
Quoted _ lst -> inlineListToIdentifier' lst
@@ -426,6 +427,8 @@ inlineToHtml opts inline =
(Code str) -> return $ thecode << str
(Strikeout lst) -> inlineListToHtml opts lst >>=
return . (thespan ! [thestyle "text-decoration: line-through;"])
+ (SmallCaps lst) -> inlineListToHtml opts lst >>=
+ return . (thespan ! [thestyle "font-variant: small-caps;"])
(Superscript lst) -> inlineListToHtml opts lst >>= return . sup
(Subscript lst) -> inlineListToHtml opts lst >>= return . sub
(Quoted quoteType lst) ->
diff --git a/Text/Pandoc/Writers/LaTeX.hs b/Text/Pandoc/Writers/LaTeX.hs
index be145922d..9b235c53a 100644
--- a/Text/Pandoc/Writers/LaTeX.hs
+++ b/Text/Pandoc/Writers/LaTeX.hs
@@ -290,6 +290,7 @@ inlineToLaTeX (Quoted DoubleQuote lst) = do
then text "\\,"
else empty
return $ text "``" <> s1 <> contents <> s2 <> text "''"
+inlineToLaTeX (SmallCaps lst) = inlineListToLaTeX lst
inlineToLaTeX Apostrophe = return $ char '\''
inlineToLaTeX EmDash = return $ text "---"
inlineToLaTeX EnDash = return $ text "--"
diff --git a/Text/Pandoc/Writers/Man.hs b/Text/Pandoc/Writers/Man.hs
index 139953104..4ea28e5f5 100644
--- a/Text/Pandoc/Writers/Man.hs
+++ b/Text/Pandoc/Writers/Man.hs
@@ -262,6 +262,7 @@ inlineToMan opts (Quoted SingleQuote lst) = do
inlineToMan opts (Quoted DoubleQuote lst) = do
contents <- inlineListToMan opts lst
return $ text "\\[lq]" <> contents <> text "\\[rq]"
+inlineToMan opts (SmallCaps lst) = inlineListToMan opts lst
inlineToMan _ EmDash = return $ text "\\[em]"
inlineToMan _ EnDash = return $ text "\\[en]"
inlineToMan _ Apostrophe = return $ char '\''
diff --git a/Text/Pandoc/Writers/Markdown.hs b/Text/Pandoc/Writers/Markdown.hs
index 93bb593f6..76b57343d 100644
--- a/Text/Pandoc/Writers/Markdown.hs
+++ b/Text/Pandoc/Writers/Markdown.hs
@@ -323,6 +323,7 @@ inlineToMarkdown opts (Quoted SingleQuote lst) = do
inlineToMarkdown opts (Quoted DoubleQuote lst) = do
contents <- inlineListToMarkdown opts lst
return $ char '"' <> contents <> char '"'
+inlineToMarkdown opts (SmallCaps lst) = inlineListToMarkdown opts lst
inlineToMarkdown _ EmDash = return $ text "--"
inlineToMarkdown _ EnDash = return $ char '-'
inlineToMarkdown _ Apostrophe = return $ char '\''
diff --git a/Text/Pandoc/Writers/OpenDocument.hs b/Text/Pandoc/Writers/OpenDocument.hs
index 9c041906c..ecaea2705 100644
--- a/Text/Pandoc/Writers/OpenDocument.hs
+++ b/Text/Pandoc/Writers/OpenDocument.hs
@@ -369,6 +369,7 @@ inlineToOpenDocument o ils
| Strikeout l <- ils = withTextStyle Strike $ inlinesToOpenDocument o l
| Superscript l <- ils = withTextStyle Sup $ inlinesToOpenDocument o l
| Subscript l <- ils = withTextStyle Sub $ inlinesToOpenDocument o l
+ | SmallCaps l <- ils = withTextStyle SmallC $ inlinesToOpenDocument o l
| Quoted t l <- ils = inQuotes t <$> inlinesToOpenDocument o l
| Code s <- ils = preformatted s
| Math s <- ils = inlinesToOpenDocument o (readTeXMath s)
@@ -508,19 +509,20 @@ paraTableStyles t s (a:xs)
[ ("fo:text-align", x)
, ("style:justify-single-word", "false")]
-data TextStyle = Italic | Bold | Strike | Sub | Sup deriving ( Eq )
+data TextStyle = Italic | Bold | Strike | Sub | Sup | SmallC deriving ( Eq )
textStyleAttr :: TextStyle -> [(String,String)]
textStyleAttr s
- | Italic <- s = [("fo:font-style" ,"italic" )
- ,("style:font-style-asian" ,"italic" )
- ,("style:font-style-complex" ,"italic" )]
- | Bold <- s = [("fo:font-weight" ,"bold" )
- ,("style:font-weight-asian" ,"bold" )
- ,("style:font-weight-complex" ,"bold" )]
- | Strike <- s = [("style:text-line-through-style", "solid" )]
- | Sub <- s = [("style:text-position" ,"sub 58%" )]
- | Sup <- s = [("style:text-position" ,"super 58%")]
+ | Italic <- s = [("fo:font-style" ,"italic" )
+ ,("style:font-style-asian" ,"italic" )
+ ,("style:font-style-complex" ,"italic" )]
+ | Bold <- s = [("fo:font-weight" ,"bold" )
+ ,("style:font-weight-asian" ,"bold" )
+ ,("style:font-weight-complex" ,"bold" )]
+ | Strike <- s = [("style:text-line-through-style", "solid" )]
+ | Sub <- s = [("style:text-position" ,"sub 58%" )]
+ | Sup <- s = [("style:text-position" ,"super 58%" )]
+ | SmallC <- s = [("fo:font-variant" ,"small-caps")]
| otherwise = []
openDocumentNameSpaces :: [(String, String)]
diff --git a/Text/Pandoc/Writers/RST.hs b/Text/Pandoc/Writers/RST.hs
index 1d95a5613..0c172ad54 100644
--- a/Text/Pandoc/Writers/RST.hs
+++ b/Text/Pandoc/Writers/RST.hs
@@ -282,6 +282,7 @@ inlineToRST (Quoted SingleQuote lst) = do
inlineToRST (Quoted DoubleQuote lst) = do
contents <- inlineListToRST lst
return $ char '"' <> contents <> char '"'
+inlineToRST (SmallCaps lst) = inlineListToRST lst
inlineToRST EmDash = return $ text "--"
inlineToRST EnDash = return $ char '-'
inlineToRST Apostrophe = return $ char '\''
diff --git a/Text/Pandoc/Writers/RTF.hs b/Text/Pandoc/Writers/RTF.hs
index fb7c58713..b95b218e9 100644
--- a/Text/Pandoc/Writers/RTF.hs
+++ b/Text/Pandoc/Writers/RTF.hs
@@ -268,6 +268,7 @@ inlineToRTF (Quoted SingleQuote lst) =
"\\u8216'" ++ (inlineListToRTF lst) ++ "\\u8217'"
inlineToRTF (Quoted DoubleQuote lst) =
"\\u8220\"" ++ (inlineListToRTF lst) ++ "\\u8221\""
+inlineToRTF (SmallCaps lst) = inlineListToRTF lst
inlineToRTF Apostrophe = "\\u8217'"
inlineToRTF Ellipses = "\\u8230?"
inlineToRTF EmDash = "\\u8212-"
diff --git a/Text/Pandoc/Writers/Texinfo.hs b/Text/Pandoc/Writers/Texinfo.hs
index 84563b966..e08448813 100644
--- a/Text/Pandoc/Writers/Texinfo.hs
+++ b/Text/Pandoc/Writers/Texinfo.hs
@@ -356,6 +356,7 @@ inlineForNode (Superscript lst) = inlineListForNode lst
inlineForNode (Subscript lst) = inlineListForNode lst
inlineForNode (Quoted _ lst) = inlineListForNode lst
inlineForNode (Code str) = inlineForNode (Str str)
+inlineForNode (SmallCaps lst) = inlineListForNode lst
inlineForNode Space = return $ char ' '
inlineForNode EmDash = return $ text "---"
inlineForNode EnDash = return $ text "--"
@@ -425,6 +426,7 @@ inlineToTexinfo (Quoted DoubleQuote lst) = do
contents <- inlineListToTexinfo lst
return $ text "``" <> contents <> text "''"
+inlineToTexinfo (SmallCaps lst) = inlineListToTexinfo lst
inlineToTexinfo Apostrophe = return $ char '\''
inlineToTexinfo EmDash = return $ text "---"
inlineToTexinfo EnDash = return $ text "--"