SVGFonts 1.5.0.0 → 1.5.0.1
raw patch · 3 files changed
+17/−13 lines, 3 filesdep ~data-default-classPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: data-default-class
API changes (from Hackage documentation)
- Graphics.SVGFonts: mode :: TextOpts n -> Mode
- Graphics.SVGFonts: spacing :: TextOpts n -> Spacing
- Graphics.SVGFonts: textFont :: TextOpts n -> PreparedFont n
- Graphics.SVGFonts: textHeight :: TextOpts n -> n
- Graphics.SVGFonts: textWidth :: TextOpts n -> n
- Graphics.SVGFonts: underline :: TextOpts n -> Bool
- Graphics.SVGFonts.ReadFont: fontDataAccentHeight :: FontData n -> Maybe n
- Graphics.SVGFonts.ReadFont: fontDataAlphabeticBaseline :: FontData n -> Maybe n
- Graphics.SVGFonts.ReadFont: fontDataAscent :: FontData n -> n
- Graphics.SVGFonts.ReadFont: fontDataBoundingBox :: FontData n -> [n]
- Graphics.SVGFonts.ReadFont: fontDataCapHeight :: FontData n -> n
- Graphics.SVGFonts.ReadFont: fontDataDescent :: FontData n -> n
- Graphics.SVGFonts.ReadFont: fontDataFamily :: FontData n -> String
- Graphics.SVGFonts.ReadFont: fontDataFileName :: FontData n -> String
- Graphics.SVGFonts.ReadFont: fontDataGlyphs :: FontData n -> SvgGlyphs n
- Graphics.SVGFonts.ReadFont: fontDataHangingBaseline :: FontData n -> Maybe n
- Graphics.SVGFonts.ReadFont: fontDataHorizontalAdvance :: FontData n -> n
- Graphics.SVGFonts.ReadFont: fontDataHorizontalStem :: FontData n -> Maybe n
- Graphics.SVGFonts.ReadFont: fontDataIdeographicBaseline :: FontData n -> Maybe n
- Graphics.SVGFonts.ReadFont: fontDataKerning :: FontData n -> Kern n
- Graphics.SVGFonts.ReadFont: fontDataMathematicalBaseline :: FontData n -> Maybe n
- Graphics.SVGFonts.ReadFont: fontDataOverlinePos :: FontData n -> Maybe n
- Graphics.SVGFonts.ReadFont: fontDataOverlineThickness :: FontData n -> Maybe n
- Graphics.SVGFonts.ReadFont: fontDataPanose :: FontData n -> String
- Graphics.SVGFonts.ReadFont: fontDataRawKernings :: FontData n -> [(String, [String], [String], [String], [String])]
- Graphics.SVGFonts.ReadFont: fontDataSize :: FontData n -> Maybe String
- Graphics.SVGFonts.ReadFont: fontDataSlope :: FontData n -> Maybe n
- Graphics.SVGFonts.ReadFont: fontDataStretch :: FontData n -> String
- Graphics.SVGFonts.ReadFont: fontDataStrikethroughPos :: FontData n -> Maybe n
- Graphics.SVGFonts.ReadFont: fontDataStrikethroughThickness :: FontData n -> Maybe n
- Graphics.SVGFonts.ReadFont: fontDataStyle :: FontData n -> String
- Graphics.SVGFonts.ReadFont: fontDataUnderlinePos :: FontData n -> n
- Graphics.SVGFonts.ReadFont: fontDataUnderlineThickness :: FontData n -> n
- Graphics.SVGFonts.ReadFont: fontDataUnicodeRange :: FontData n -> String
- Graphics.SVGFonts.ReadFont: fontDataUnitsPerEm :: FontData n -> n
- Graphics.SVGFonts.ReadFont: fontDataVAlphabeticBaseline :: FontData n -> Maybe n
- Graphics.SVGFonts.ReadFont: fontDataVHangingBaseline :: FontData n -> Maybe n
- Graphics.SVGFonts.ReadFont: fontDataVIdeographicBaseline :: FontData n -> Maybe n
- Graphics.SVGFonts.ReadFont: fontDataVMathematicalBaseline :: FontData n -> Maybe n
- Graphics.SVGFonts.ReadFont: fontDataVariant :: FontData n -> String
- Graphics.SVGFonts.ReadFont: fontDataVerticalStem :: FontData n -> Maybe n
- Graphics.SVGFonts.ReadFont: fontDataWeight :: FontData n -> String
- Graphics.SVGFonts.ReadFont: fontDataWidths :: FontData n -> Maybe String
- Graphics.SVGFonts.ReadFont: fontDataXHeight :: FontData n -> n
- Graphics.SVGFonts.ReadFont: instance Show n => Show (Kern n)
- Graphics.SVGFonts.ReadPath: instance Show n => Show (PathCommand n)
- Graphics.SVGFonts.Text: instance (Read n, RealFloat n) => Default (TextOpts n)
- Graphics.SVGFonts.Text: instance Show Mode
- Graphics.SVGFonts.Text: instance Show Spacing
- Graphics.SVGFonts.Text: mode :: TextOpts n -> Mode
- Graphics.SVGFonts.Text: spacing :: TextOpts n -> Spacing
- Graphics.SVGFonts.Text: textFont :: TextOpts n -> PreparedFont n
- Graphics.SVGFonts.Text: textHeight :: TextOpts n -> n
- Graphics.SVGFonts.Text: textWidth :: TextOpts n -> n
- Graphics.SVGFonts.Text: underline :: TextOpts n -> Bool
+ Graphics.SVGFonts: [mode] :: TextOpts n -> Mode
+ Graphics.SVGFonts: [spacing] :: TextOpts n -> Spacing
+ Graphics.SVGFonts: [textFont] :: TextOpts n -> PreparedFont n
+ Graphics.SVGFonts: [textHeight] :: TextOpts n -> n
+ Graphics.SVGFonts: [textWidth] :: TextOpts n -> n
+ Graphics.SVGFonts: [underline] :: TextOpts n -> Bool
+ Graphics.SVGFonts.ReadFont: [fontDataAccentHeight] :: FontData n -> Maybe n
+ Graphics.SVGFonts.ReadFont: [fontDataAlphabeticBaseline] :: FontData n -> Maybe n
+ Graphics.SVGFonts.ReadFont: [fontDataAscent] :: FontData n -> n
+ Graphics.SVGFonts.ReadFont: [fontDataBoundingBox] :: FontData n -> [n]
+ Graphics.SVGFonts.ReadFont: [fontDataCapHeight] :: FontData n -> n
+ Graphics.SVGFonts.ReadFont: [fontDataDescent] :: FontData n -> n
+ Graphics.SVGFonts.ReadFont: [fontDataFamily] :: FontData n -> String
+ Graphics.SVGFonts.ReadFont: [fontDataFileName] :: FontData n -> String
+ Graphics.SVGFonts.ReadFont: [fontDataGlyphs] :: FontData n -> SvgGlyphs n
+ Graphics.SVGFonts.ReadFont: [fontDataHangingBaseline] :: FontData n -> Maybe n
+ Graphics.SVGFonts.ReadFont: [fontDataHorizontalAdvance] :: FontData n -> n
+ Graphics.SVGFonts.ReadFont: [fontDataHorizontalStem] :: FontData n -> Maybe n
+ Graphics.SVGFonts.ReadFont: [fontDataIdeographicBaseline] :: FontData n -> Maybe n
+ Graphics.SVGFonts.ReadFont: [fontDataKerning] :: FontData n -> Kern n
+ Graphics.SVGFonts.ReadFont: [fontDataMathematicalBaseline] :: FontData n -> Maybe n
+ Graphics.SVGFonts.ReadFont: [fontDataOverlinePos] :: FontData n -> Maybe n
+ Graphics.SVGFonts.ReadFont: [fontDataOverlineThickness] :: FontData n -> Maybe n
+ Graphics.SVGFonts.ReadFont: [fontDataPanose] :: FontData n -> String
+ Graphics.SVGFonts.ReadFont: [fontDataRawKernings] :: FontData n -> [(String, [String], [String], [String], [String])]
+ Graphics.SVGFonts.ReadFont: [fontDataSize] :: FontData n -> Maybe String
+ Graphics.SVGFonts.ReadFont: [fontDataSlope] :: FontData n -> Maybe n
+ Graphics.SVGFonts.ReadFont: [fontDataStretch] :: FontData n -> String
+ Graphics.SVGFonts.ReadFont: [fontDataStrikethroughPos] :: FontData n -> Maybe n
+ Graphics.SVGFonts.ReadFont: [fontDataStrikethroughThickness] :: FontData n -> Maybe n
+ Graphics.SVGFonts.ReadFont: [fontDataStyle] :: FontData n -> String
+ Graphics.SVGFonts.ReadFont: [fontDataUnderlinePos] :: FontData n -> n
+ Graphics.SVGFonts.ReadFont: [fontDataUnderlineThickness] :: FontData n -> n
+ Graphics.SVGFonts.ReadFont: [fontDataUnicodeRange] :: FontData n -> String
+ Graphics.SVGFonts.ReadFont: [fontDataUnitsPerEm] :: FontData n -> n
+ Graphics.SVGFonts.ReadFont: [fontDataVAlphabeticBaseline] :: FontData n -> Maybe n
+ Graphics.SVGFonts.ReadFont: [fontDataVHangingBaseline] :: FontData n -> Maybe n
+ Graphics.SVGFonts.ReadFont: [fontDataVIdeographicBaseline] :: FontData n -> Maybe n
+ Graphics.SVGFonts.ReadFont: [fontDataVMathematicalBaseline] :: FontData n -> Maybe n
+ Graphics.SVGFonts.ReadFont: [fontDataVariant] :: FontData n -> String
+ Graphics.SVGFonts.ReadFont: [fontDataVerticalStem] :: FontData n -> Maybe n
+ Graphics.SVGFonts.ReadFont: [fontDataWeight] :: FontData n -> String
+ Graphics.SVGFonts.ReadFont: [fontDataWidths] :: FontData n -> Maybe String
+ Graphics.SVGFonts.ReadFont: [fontDataXHeight] :: FontData n -> n
+ Graphics.SVGFonts.ReadFont: instance GHC.Show.Show n => GHC.Show.Show (Graphics.SVGFonts.ReadFont.Kern n)
+ Graphics.SVGFonts.ReadPath: instance GHC.Show.Show n => GHC.Show.Show (Graphics.SVGFonts.ReadPath.PathCommand n)
+ Graphics.SVGFonts.Text: [mode] :: TextOpts n -> Mode
+ Graphics.SVGFonts.Text: [spacing] :: TextOpts n -> Spacing
+ Graphics.SVGFonts.Text: [textFont] :: TextOpts n -> PreparedFont n
+ Graphics.SVGFonts.Text: [textHeight] :: TextOpts n -> n
+ Graphics.SVGFonts.Text: [textWidth] :: TextOpts n -> n
+ Graphics.SVGFonts.Text: [underline] :: TextOpts n -> Bool
+ Graphics.SVGFonts.Text: instance (GHC.Read.Read n, GHC.Float.RealFloat n) => Data.Default.Class.Default (Graphics.SVGFonts.Text.TextOpts n)
+ Graphics.SVGFonts.Text: instance GHC.Show.Show Graphics.SVGFonts.Text.Mode
+ Graphics.SVGFonts.Text: instance GHC.Show.Show Graphics.SVGFonts.Text.Spacing
- Graphics.SVGFonts: textSVG_ :: (TypeableFloat n, Renderable (Path V2 n) b) => TextOpts n -> String -> QDiagram b V2 n Any
+ Graphics.SVGFonts: textSVG_ :: forall b n. (TypeableFloat n, Renderable (Path V2 n) b) => TextOpts n -> String -> QDiagram b V2 n Any
- Graphics.SVGFonts.ReadFont: bbox_lx :: RealFloat n => FontData n -> n
+ Graphics.SVGFonts.ReadFont: bbox_lx :: FontData n -> n
- Graphics.SVGFonts.ReadFont: bbox_ly :: RealFloat n => FontData n -> n
+ Graphics.SVGFonts.ReadFont: bbox_ly :: FontData n -> n
- Graphics.SVGFonts.ReadFont: horizontalAdvance :: RealFloat n => String -> FontData n -> n
+ Graphics.SVGFonts.ReadFont: horizontalAdvance :: String -> FontData n -> n
- Graphics.SVGFonts.ReadFont: underlinePosition :: RealFloat n => FontData n -> n
+ Graphics.SVGFonts.ReadFont: underlinePosition :: FontData n -> n
- Graphics.SVGFonts.ReadFont: underlineThickness :: RealFloat n => FontData n -> n
+ Graphics.SVGFonts.ReadFont: underlineThickness :: FontData n -> n
- Graphics.SVGFonts.Text: textSVG_ :: (TypeableFloat n, Renderable (Path V2 n) b) => TextOpts n -> String -> QDiagram b V2 n Any
+ Graphics.SVGFonts.Text: textSVG_ :: forall b n. (TypeableFloat n, Renderable (Path V2 n) b) => TextOpts n -> String -> QDiagram b V2 n Any
Files
- CHANGES.md +7/−0
- SVGFonts.cabal +2/−2
- src/Graphics/SVGFonts/ReadFont.hs +8/−11
CHANGES.md view
@@ -1,3 +1,10 @@+1.5.0.1 (6 June 2016)+---------------------++- allow `base-4.9`+- allow `data-default-class-0.1`+- test with GHC 8.0.1+ 1.5.0.0 (19 April 2015) -----------------------
SVGFonts.cabal view
@@ -1,5 +1,5 @@ Name: SVGFonts-Version: 1.5.0.0+Version: 1.5.0.1 Synopsis: Fonts from the SVG-Font format Description: Native font support for the diagrams framework (<http://projects.haskell.org/diagrams/>). Note that this package can be used with any diagrams backend, not just the SVG backend. The SVG-font format is easy to parse and was therefore chosen for a font library completely written in Haskell.@@ -61,7 +61,7 @@ attoparsec, base == 4.*, containers >= 0.4 && < 0.6,- data-default-class < 0.1,+ data-default-class < 0.2, diagrams-core >= 1.3 && < 1.4, diagrams-lib >= 1.3 && < 1.4, directory >= 1.1,
src/Graphics/SVGFonts/ReadFont.hs view
@@ -24,7 +24,6 @@ fromMaybe, isJust, isNothing, maybeToList) import Data.Tuple.Select-import Data.Vector (Vector) import qualified Data.Vector as V import Diagrams.Path import Diagrams.Prelude hiding (font)@@ -209,7 +208,7 @@ -- ^ \[ (unicode, (glyph_name, horiz_advance, ds)) \] -- | Horizontal advance of a character consisting of its width and spacing, extracted out of the font data-horizontalAdvance :: RealFloat n => String -> FontData n -> n+horizontalAdvance :: String -> FontData n -> n horizontalAdvance ch fontD | isJust char = sel2 (fromJust char) | otherwise = fontDataHorizontalAdvance fontD@@ -234,7 +233,7 @@ , kernU2S :: Map.Map String [Int] , kernG1S :: Map.Map String [Int] , kernG2S :: Map.Map String [Int]- , kernK :: Vector n+ , kernK :: V.Vector n } deriving Show -- | Change the horizontal advance of two consective chars (kerning)@@ -280,19 +279,19 @@ where bbox = fontDataBoundingBox fontData -- bbox = [lowest x, lowest y, highest x, highest y] -- | Lowest x-value of bounding box-bbox_lx :: RealFloat n => FontData n -> n+bbox_lx :: FontData n -> n bbox_lx fontData = (fontDataBoundingBox fontData) !! 0 -- | Lowest y-value of bounding box-bbox_ly :: RealFloat n => FontData n -> n+bbox_ly :: FontData n -> n bbox_ly fontData = (fontDataBoundingBox fontData) !! 1 -- | Position of the underline bar-underlinePosition :: RealFloat n => FontData n -> n+underlinePosition :: FontData n -> n underlinePosition fontData = fontDataUnderlinePos fontData -- | Thickness of the underline bar-underlineThickness :: RealFloat n => FontData n -> n+underlineThickness :: FontData n -> n underlineThickness fontData = fontDataUnderlineThickness fontData -- | A map of unicode characters to outline paths.@@ -305,8 +304,7 @@ type PreparedFont n = (FontData n, OutlineMap n) -- | Compute a font's outline map, collecting errors in a second map.-outlineMap :: (Read n, RealFloat n) =>- FontData n -> (OutlineMap n, ErrorMap)+outlineMap :: RealFloat n => FontData n -> (OutlineMap n, ErrorMap) outlineMap fontData = ( Map.fromList [(ch, outl) | (ch, Right outl) <- allOutlines] , Map.fromList [(ch, err) | (ch, Left err) <- allOutlines]@@ -319,8 +317,7 @@ allOutlines = [(ch, outlines ch) | ch <- allUnicodes] -- | Prepare font for rendering, by determining its outline map.-prepareFont :: (Read n, RealFloat n) =>- FontData n -> (PreparedFont n, ErrorMap)+prepareFont :: RealFloat n => FontData n -> (PreparedFont n, ErrorMap) prepareFont fontData = ((fontData, outlines), errs) where (outlines, errs) = outlineMap fontData