Module: Emfsvg

Defined in:
lib/emfsvg.rb,
lib/emfsvg/error.rb,
lib/emfsvg/options.rb,
lib/emfsvg/version.rb,
lib/emfsvg/bsd_rand.rb,
lib/emfsvg/renderer.rb,
lib/emfsvg/visitors.rb,
lib/emfsvg/clip_region.rb,
lib/emfsvg/dib_decoder.rb,
lib/emfsvg/png_encoder.rb,
lib/emfsvg/svg_builder.rb,
lib/emfsvg/object_table.rb,
lib/emfsvg/device_context.rb,
lib/emfsvg/format_helpers.rb,
lib/emfsvg/transform_stack.rb,
lib/emfsvg/glyph_index_mapper.rb,
lib/emfsvg/visitors/emr_visitor.rb

Defined Under Namespace

Modules: FormatHelpers, Visitors Classes: Brush, BsdRand, ClipRegion, CoordinateState, DeviceContext, DibDecoder, Error, Font, FormatError, GlyphIndexMapper, ObjectTable, Options, Pen, PngEncoder, RenderError, Renderer, SvgBuilder, TransformStack

Constant Summary collapse

VERSION =
"0.1.1"

Class Method Summary collapse

Class Method Details

.from_bytes(bytes, **options) ⇒ Object

Parse from bytes then render.



39
40
41
# File 'lib/emfsvg.rb', line 39

def from_bytes(bytes, **options)
  to_svg(Emf.parse(bytes), **options)
end

.from_file(path, **options) ⇒ Object

Parse from a file path then render.



44
45
46
# File 'lib/emfsvg.rb', line 44

def from_file(path, **options)
  from_bytes(File.binread(path), **options)
end

.to_svg(metafile, **options) ⇒ Object

Render an Emf::Model::Metafile to an SVG string.

Options:

namespace:  XML namespace prefix, e.g. "svg" (default: none)
width:      override viewport width (default: from metafile header)
height:     override viewport height
verbose:    print record-by-record dispatch to STDERR (default: false)
emf_plus:   attempt to render EMF+ records instead of EMF fallback
          (default: false — EMF+ is structured-parsed by emf but
          not yet rendered)


34
35
36
# File 'lib/emfsvg.rb', line 34

def to_svg(metafile, **options)
  Renderer.call(metafile, Options.new(**options))
end