Skip to content
This repository has been archived by the owner on Apr 30, 2021. It is now read-only.

Commit

Permalink
Don't fail to parse langid if langidopts missing.
Browse files Browse the repository at this point in the history
Closes #21.
  • Loading branch information
John MacFarlane committed Jan 8, 2014
1 parent c433dc2 commit d1e696d
Showing 1 changed file with 12 additions and 10 deletions.
22 changes: 12 additions & 10 deletions src/Text/CSL/Input/Bibtex.hs
Original file line number Diff line number Diff line change
Expand Up @@ -782,16 +782,18 @@ itemToReference lang bibtex = bib $ do
let defaultHyphenation = case lang of
Lang x y -> x ++ "-" ++ y
let getLangId = do
idopts <- getRawField "langidopts"
case map toLower idopts of
"variant=british" -> return "british"
"variant=american" -> return "american"
"variant=us" -> return "american"
"variant=usmax" -> return "american"
"variant=uk" -> return "british"
"varant=australian" -> return "australian"
"variant=newzealand" -> return "newzealand"
_ -> getRawField "langid"
langid <- (trim . map toLower) <$> getRawField "langid"
idopts <- (trim . map toLower) <$>
getRawField "langidopts" <|> return ""
case (langid, idopts) of
("english","variant=british") -> return "british"
("english","variant=american") -> return "american"
("english","variant=us") -> return "american"
("english","variant=usmax") -> return "american"
("english","variant=uk") -> return "british"
("english","varant=australian") -> return "australian"
("english","variant=newzealand") -> return "newzealand"
(x,_) -> return x
hyphenation <- ((toLocale . map toLower) <$>
(getLangId <|> getRawField "hyphenation"))
<|> return mempty
Expand Down

0 comments on commit d1e696d

Please sign in to comment.