@@ -110,6 +110,7 @@ import qualified Text.Pandoc.UTF8 as UTF8
110import qualified System.Directory as Directory
110import qualified System.Directory as Directory
111import Data.Time (UTCTime)
111import Data.Time (UTCTime)
112import Text.Pandoc.Logging
112import Text.Pandoc.Logging
113+import Text.Pandoc.Shared (uriPathToPath)
113import Text.Parsec (ParsecT, getPosition, sourceLine, sourceName)
114import Text.Parsec (ParsecT, getPosition, sourceLine, sourceName)
114import qualified Data.Time as IO (getCurrentTime)
115import qualified Data.Time as IO (getCurrentTime)
115import Text.Pandoc.MIME (MimeType, getMimeType, extensionFromMimeType)
116import Text.Pandoc.MIME (MimeType, getMimeType, extensionFromMimeType)
@@ -598,7 +599,7 @@ downloadOrRead s = do
598 -- We don't want to treat C:/ as a scheme:
599 -- We don't want to treat C:/ as a scheme:
599 Just u' | length (uriScheme u') > 2 -> openURL (show u')
600 Just u' | length (uriScheme u') > 2 -> openURL (show u')
600 Just u' | uriScheme u' == "file:" ->
601 Just u' | uriScheme u' == "file:" ->
601− readLocalFile $ dropWhile (=='/') (uriPath u')
602+ readLocalFile $ uriPathToPath (uriPath u')
602 _ -> readLocalFile fp -- get from local file system
603 _ -> readLocalFile fp -- get from local file system
603 where readLocalFile f = do
604 where readLocalFile f = do
604 resourcePath <- getResourcePath
605 resourcePath <- getResourcePath