prawn-svg 0.22.1 → 0.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +29 -13
- data/lib/prawn-svg.rb +7 -0
- data/lib/prawn/svg/attributes.rb +1 -1
- data/lib/prawn/svg/attributes/color.rb +5 -0
- data/lib/prawn/svg/attributes/display.rb +1 -1
- data/lib/prawn/svg/attributes/font.rb +11 -11
- data/lib/prawn/svg/attributes/opacity.rb +3 -3
- data/lib/prawn/svg/css.rb +40 -0
- data/lib/prawn/svg/document.rb +23 -8
- data/lib/prawn/svg/elements/base.rb +20 -10
- data/lib/prawn/svg/elements/container.rb +1 -1
- data/lib/prawn/svg/elements/gradient.rb +7 -4
- data/lib/prawn/svg/elements/image.rb +2 -6
- data/lib/prawn/svg/elements/root.rb +4 -0
- data/lib/prawn/svg/elements/text.rb +14 -14
- data/lib/prawn/svg/font.rb +9 -91
- data/lib/prawn/svg/font_registry.rb +73 -0
- data/lib/prawn/svg/interface.rb +9 -22
- data/lib/prawn/svg/loaders/data.rb +18 -0
- data/lib/prawn/svg/loaders/file.rb +66 -0
- data/lib/prawn/svg/loaders/web.rb +28 -0
- data/lib/prawn/svg/state.rb +39 -0
- data/lib/prawn/svg/ttf.rb +61 -0
- data/lib/prawn/svg/url_loader.rb +35 -23
- data/lib/prawn/svg/version.rb +1 -1
- data/spec/integration_spec.rb +7 -6
- data/spec/prawn/svg/attributes/font_spec.rb +8 -5
- data/spec/prawn/svg/css_spec.rb +24 -0
- data/spec/prawn/svg/document_spec.rb +35 -10
- data/spec/prawn/svg/elements/base_spec.rb +32 -10
- data/spec/prawn/svg/elements/gradient_spec.rb +1 -1
- data/spec/prawn/svg/elements/text_spec.rb +4 -4
- data/spec/prawn/svg/font_registry_spec.rb +54 -0
- data/spec/prawn/svg/font_spec.rb +0 -27
- data/spec/prawn/svg/loaders/data_spec.rb +55 -0
- data/spec/prawn/svg/loaders/file_spec.rb +84 -0
- data/spec/prawn/svg/loaders/web_spec.rb +37 -0
- data/spec/prawn/svg/ttf_spec.rb +32 -0
- data/spec/prawn/svg/url_loader_spec.rb +90 -24
- data/spec/sample_svg/image03.svg +30 -0
- data/spec/sample_svg/tspan03-cc.svg +21 -0
- data/spec/sample_ttf/OpenSans-SemiboldItalic.ttf +0 -0
- data/spec/spec_helper.rb +17 -2
- metadata +28 -2
| @@ -0,0 +1,30 @@ | |
| 1 | 
            +
            <?xml version="1.0" standalone="no"?>
         | 
| 2 | 
            +
            <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
         | 
| 3 | 
            +
            <svg width="210mm" height="297mm" viewBox="0 0 1050 1485"
         | 
| 4 | 
            +
                 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">
         | 
| 5 | 
            +
             | 
| 6 | 
            +
              <g transform="translate(50 0)">
         | 
| 7 | 
            +
                <text y="25" font-size="12pt">wide image, aspect ratio meet</text>
         | 
| 8 | 
            +
             | 
| 9 | 
            +
                <rect y="50" width="100" height="100" fill="none" stroke="blue" stroke-width="2"/>
         | 
| 10 | 
            +
                <image y="50" width="100" height="100" preserveAspectRatio="xMidYMid" xlink:href="sample_images/mushroom-wide.jpg"></image>
         | 
| 11 | 
            +
             | 
| 12 | 
            +
                <rect y="200" width="150" height="100" fill="none" stroke="blue" stroke-width="2"/>
         | 
| 13 | 
            +
                <image y="200" width="150" height="100" xlink:href="sample_images/mushroom-wide.jpg"></image>
         | 
| 14 | 
            +
             | 
| 15 | 
            +
                <rect y="350" width="100" height="150" fill="none" stroke="blue" stroke-width="2"/>
         | 
| 16 | 
            +
                <image y="350" width="100" height="150" xlink:href="sample_images/mushroom-wide.jpg"></image>
         | 
| 17 | 
            +
             | 
| 18 | 
            +
                <rect y="550" width="150" height="100" fill="none" stroke="blue" stroke-width="2"/>
         | 
| 19 | 
            +
                <image y="550" width="150" height="100" preserveAspectRatio="xMinYMin" xlink:href="sample_images/mushroom-wide.jpg"></image>
         | 
| 20 | 
            +
             | 
| 21 | 
            +
                <rect y="700" width="100" height="150" fill="none" stroke="blue" stroke-width="2"/>
         | 
| 22 | 
            +
                <image y="700" width="100" height="150" preserveAspectRatio="xMinYMin" xlink:href="sample_images/mushroom-wide.jpg"></image>
         | 
| 23 | 
            +
             | 
| 24 | 
            +
                <rect y="900" width="150" height="100" fill="none" stroke="blue" stroke-width="2"/>
         | 
| 25 | 
            +
                <image y="900" width="150" height="100" preserveAspectRatio="xMaxYMax" xlink:href="sample_images/mushroom-wide.jpg"></image>
         | 
| 26 | 
            +
             | 
| 27 | 
            +
                <rect y="1050" width="100" height="150" fill="none" stroke="blue" stroke-width="2"/>
         | 
| 28 | 
            +
                <image y="1050" width="100" height="150" preserveAspectRatio="xMaxYMax" xlink:href="sample_images/mushroom-wide.jpg"></image>
         | 
| 29 | 
            +
              </g>
         | 
| 30 | 
            +
            </svg>
         | 
| @@ -0,0 +1,21 @@ | |
| 1 | 
            +
            <?xml version="1.0" standalone="no"?>
         | 
| 2 | 
            +
            <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
         | 
| 3 | 
            +
              "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
         | 
| 4 | 
            +
            <svg width="10cm" height="3cm" viewBox="0 0 1000 300"
         | 
| 5 | 
            +
                 xmlns="http://www.w3.org/2000/svg" version="1.1">
         | 
| 6 | 
            +
              <desc>Example tspan03 - using tspan's x and y attributes
         | 
| 7 | 
            +
                    for multiline text and precise glyph positioning</desc>
         | 
| 8 | 
            +
              <g font-family="Verdana" font-size="45" style="color: rgb(255,164,0)">
         | 
| 9 | 
            +
                <text style="fill: currentColor">
         | 
| 10 | 
            +
                  <tspan x="300 350 400 450 500 550 600 650" y="100">
         | 
| 11 | 
            +
                    Cute and
         | 
| 12 | 
            +
                  </tspan>
         | 
| 13 | 
            +
                  <tspan x="375 425 475 525 575" y="200">
         | 
| 14 | 
            +
                     fuzzy
         | 
| 15 | 
            +
                  </tspan>
         | 
| 16 | 
            +
                </text>
         | 
| 17 | 
            +
              </g>
         | 
| 18 | 
            +
              <!-- Show outline of canvas using 'rect' element -->
         | 
| 19 | 
            +
              <rect x="1" y="1" width="998" height="298"
         | 
| 20 | 
            +
                    fill="none" stroke="blue" stroke-width="2" />
         | 
| 21 | 
            +
            </svg>
         | 
| Binary file | 
    
        data/spec/spec_helper.rb
    CHANGED
    
    | @@ -5,6 +5,21 @@ Bundler.require(:default, :development) | |
| 5 5 | 
             
            # in ./support/ and its subdirectories.
         | 
| 6 6 | 
             
            Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
         | 
| 7 7 |  | 
| 8 | 
            +
            module Support
         | 
| 9 | 
            +
              def flatten_calls(calls)
         | 
| 10 | 
            +
                [].tap do |flattened_calls|
         | 
| 11 | 
            +
                  add = -> (calls) do
         | 
| 12 | 
            +
                    calls.each do |call|
         | 
| 13 | 
            +
                      flattened_calls << call[0..1]
         | 
| 14 | 
            +
                      add.call call[2]
         | 
| 15 | 
            +
                    end
         | 
| 16 | 
            +
                  end
         | 
| 17 | 
            +
             | 
| 18 | 
            +
                  add.call element.base_calls
         | 
| 19 | 
            +
                end
         | 
| 20 | 
            +
              end
         | 
| 21 | 
            +
            end
         | 
| 22 | 
            +
             | 
| 8 23 | 
             
            RSpec.configure do |config|
         | 
| 9 24 | 
             
              config.mock_with :rspec do |c|
         | 
| 10 25 | 
             
                c.syntax = [:should, :expect]
         | 
| @@ -13,6 +28,6 @@ RSpec.configure do |config| | |
| 13 28 | 
             
              config.expect_with :rspec do |c|
         | 
| 14 29 | 
             
                c.syntax = [:should, :expect]
         | 
| 15 30 | 
             
              end
         | 
| 16 | 
            -
            end
         | 
| 17 31 |  | 
| 18 | 
            -
             | 
| 32 | 
            +
              config.include Support
         | 
| 33 | 
            +
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: prawn-svg
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.23.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Roger Nesbitt
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date:  | 
| 11 | 
            +
            date: 2016-03-24 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: prawn
         | 
| @@ -90,6 +90,7 @@ files: | |
| 90 90 | 
             
            - lib/prawn-svg.rb
         | 
| 91 91 | 
             
            - lib/prawn/svg/attributes.rb
         | 
| 92 92 | 
             
            - lib/prawn/svg/attributes/clip_path.rb
         | 
| 93 | 
            +
            - lib/prawn/svg/attributes/color.rb
         | 
| 93 94 | 
             
            - lib/prawn/svg/attributes/display.rb
         | 
| 94 95 | 
             
            - lib/prawn/svg/attributes/font.rb
         | 
| 95 96 | 
             
            - lib/prawn/svg/attributes/opacity.rb
         | 
| @@ -99,6 +100,7 @@ files: | |
| 99 100 | 
             
            - lib/prawn/svg/calculators/document_sizing.rb
         | 
| 100 101 | 
             
            - lib/prawn/svg/calculators/pixels.rb
         | 
| 101 102 | 
             
            - lib/prawn/svg/color.rb
         | 
| 103 | 
            +
            - lib/prawn/svg/css.rb
         | 
| 102 104 | 
             
            - lib/prawn/svg/document.rb
         | 
| 103 105 | 
             
            - lib/prawn/svg/elements.rb
         | 
| 104 106 | 
             
            - lib/prawn/svg/elements/base.rb
         | 
| @@ -119,7 +121,13 @@ files: | |
| 119 121 | 
             
            - lib/prawn/svg/elements/use.rb
         | 
| 120 122 | 
             
            - lib/prawn/svg/extension.rb
         | 
| 121 123 | 
             
            - lib/prawn/svg/font.rb
         | 
| 124 | 
            +
            - lib/prawn/svg/font_registry.rb
         | 
| 122 125 | 
             
            - lib/prawn/svg/interface.rb
         | 
| 126 | 
            +
            - lib/prawn/svg/loaders/data.rb
         | 
| 127 | 
            +
            - lib/prawn/svg/loaders/file.rb
         | 
| 128 | 
            +
            - lib/prawn/svg/loaders/web.rb
         | 
| 129 | 
            +
            - lib/prawn/svg/state.rb
         | 
| 130 | 
            +
            - lib/prawn/svg/ttf.rb
         | 
| 123 131 | 
             
            - lib/prawn/svg/url_loader.rb
         | 
| 124 132 | 
             
            - lib/prawn/svg/version.rb
         | 
| 125 133 | 
             
            - prawn-svg.gemspec
         | 
| @@ -129,14 +137,20 @@ files: | |
| 129 137 | 
             
            - spec/prawn/svg/calculators/aspect_ratio_spec.rb
         | 
| 130 138 | 
             
            - spec/prawn/svg/calculators/document_sizing_spec.rb
         | 
| 131 139 | 
             
            - spec/prawn/svg/color_spec.rb
         | 
| 140 | 
            +
            - spec/prawn/svg/css_spec.rb
         | 
| 132 141 | 
             
            - spec/prawn/svg/document_spec.rb
         | 
| 133 142 | 
             
            - spec/prawn/svg/elements/base_spec.rb
         | 
| 134 143 | 
             
            - spec/prawn/svg/elements/gradient_spec.rb
         | 
| 135 144 | 
             
            - spec/prawn/svg/elements/path_spec.rb
         | 
| 136 145 | 
             
            - spec/prawn/svg/elements/style_spec.rb
         | 
| 137 146 | 
             
            - spec/prawn/svg/elements/text_spec.rb
         | 
| 147 | 
            +
            - spec/prawn/svg/font_registry_spec.rb
         | 
| 138 148 | 
             
            - spec/prawn/svg/font_spec.rb
         | 
| 139 149 | 
             
            - spec/prawn/svg/interface_spec.rb
         | 
| 150 | 
            +
            - spec/prawn/svg/loaders/data_spec.rb
         | 
| 151 | 
            +
            - spec/prawn/svg/loaders/file_spec.rb
         | 
| 152 | 
            +
            - spec/prawn/svg/loaders/web_spec.rb
         | 
| 153 | 
            +
            - spec/prawn/svg/ttf_spec.rb
         | 
| 140 154 | 
             
            - spec/prawn/svg/url_loader_spec.rb
         | 
| 141 155 | 
             
            - spec/sample_images/mushroom-long.jpg
         | 
| 142 156 | 
             
            - spec/sample_images/mushroom-wide.jpg
         | 
| @@ -158,6 +172,7 @@ files: | |
| 158 172 | 
             
            - spec/sample_svg/highcharts.svg
         | 
| 159 173 | 
             
            - spec/sample_svg/image01.svg
         | 
| 160 174 | 
             
            - spec/sample_svg/image02_base64.svg
         | 
| 175 | 
            +
            - spec/sample_svg/image03.svg
         | 
| 161 176 | 
             
            - spec/sample_svg/line01.svg
         | 
| 162 177 | 
             
            - spec/sample_svg/maths.svg
         | 
| 163 178 | 
             
            - spec/sample_svg/matrix_transform.svg
         | 
| @@ -182,11 +197,13 @@ files: | |
| 182 197 | 
             
            - spec/sample_svg/triangle01.svg
         | 
| 183 198 | 
             
            - spec/sample_svg/tspan01.svg
         | 
| 184 199 | 
             
            - spec/sample_svg/tspan02.svg
         | 
| 200 | 
            +
            - spec/sample_svg/tspan03-cc.svg
         | 
| 185 201 | 
             
            - spec/sample_svg/tspan03.svg
         | 
| 186 202 | 
             
            - spec/sample_svg/tspan04.svg
         | 
| 187 203 | 
             
            - spec/sample_svg/use.svg
         | 
| 188 204 | 
             
            - spec/sample_svg/viewbox.svg
         | 
| 189 205 | 
             
            - spec/sample_svg/viewport.svg
         | 
| 206 | 
            +
            - spec/sample_ttf/OpenSans-SemiboldItalic.ttf
         | 
| 190 207 | 
             
            - spec/spec_helper.rb
         | 
| 191 208 | 
             
            homepage: http://github.com/mogest/prawn-svg
         | 
| 192 209 | 
             
            licenses:
         | 
| @@ -219,14 +236,20 @@ test_files: | |
| 219 236 | 
             
            - spec/prawn/svg/calculators/aspect_ratio_spec.rb
         | 
| 220 237 | 
             
            - spec/prawn/svg/calculators/document_sizing_spec.rb
         | 
| 221 238 | 
             
            - spec/prawn/svg/color_spec.rb
         | 
| 239 | 
            +
            - spec/prawn/svg/css_spec.rb
         | 
| 222 240 | 
             
            - spec/prawn/svg/document_spec.rb
         | 
| 223 241 | 
             
            - spec/prawn/svg/elements/base_spec.rb
         | 
| 224 242 | 
             
            - spec/prawn/svg/elements/gradient_spec.rb
         | 
| 225 243 | 
             
            - spec/prawn/svg/elements/path_spec.rb
         | 
| 226 244 | 
             
            - spec/prawn/svg/elements/style_spec.rb
         | 
| 227 245 | 
             
            - spec/prawn/svg/elements/text_spec.rb
         | 
| 246 | 
            +
            - spec/prawn/svg/font_registry_spec.rb
         | 
| 228 247 | 
             
            - spec/prawn/svg/font_spec.rb
         | 
| 229 248 | 
             
            - spec/prawn/svg/interface_spec.rb
         | 
| 249 | 
            +
            - spec/prawn/svg/loaders/data_spec.rb
         | 
| 250 | 
            +
            - spec/prawn/svg/loaders/file_spec.rb
         | 
| 251 | 
            +
            - spec/prawn/svg/loaders/web_spec.rb
         | 
| 252 | 
            +
            - spec/prawn/svg/ttf_spec.rb
         | 
| 230 253 | 
             
            - spec/prawn/svg/url_loader_spec.rb
         | 
| 231 254 | 
             
            - spec/sample_images/mushroom-long.jpg
         | 
| 232 255 | 
             
            - spec/sample_images/mushroom-wide.jpg
         | 
| @@ -248,6 +271,7 @@ test_files: | |
| 248 271 | 
             
            - spec/sample_svg/highcharts.svg
         | 
| 249 272 | 
             
            - spec/sample_svg/image01.svg
         | 
| 250 273 | 
             
            - spec/sample_svg/image02_base64.svg
         | 
| 274 | 
            +
            - spec/sample_svg/image03.svg
         | 
| 251 275 | 
             
            - spec/sample_svg/line01.svg
         | 
| 252 276 | 
             
            - spec/sample_svg/maths.svg
         | 
| 253 277 | 
             
            - spec/sample_svg/matrix_transform.svg
         | 
| @@ -272,9 +296,11 @@ test_files: | |
| 272 296 | 
             
            - spec/sample_svg/triangle01.svg
         | 
| 273 297 | 
             
            - spec/sample_svg/tspan01.svg
         | 
| 274 298 | 
             
            - spec/sample_svg/tspan02.svg
         | 
| 299 | 
            +
            - spec/sample_svg/tspan03-cc.svg
         | 
| 275 300 | 
             
            - spec/sample_svg/tspan03.svg
         | 
| 276 301 | 
             
            - spec/sample_svg/tspan04.svg
         | 
| 277 302 | 
             
            - spec/sample_svg/use.svg
         | 
| 278 303 | 
             
            - spec/sample_svg/viewbox.svg
         | 
| 279 304 | 
             
            - spec/sample_svg/viewport.svg
         | 
| 305 | 
            +
            - spec/sample_ttf/OpenSans-SemiboldItalic.ttf
         | 
| 280 306 | 
             
            - spec/spec_helper.rb
         |