Module: Postsvg
- Defined in:
- lib/postsvg.rb,
lib/postsvg/cli.rb,
lib/postsvg/svg.rb,
lib/postsvg/color.rb,
lib/postsvg/model.rb,
lib/postsvg/colors.rb,
lib/postsvg/errors.rb,
lib/postsvg/matrix.rb,
lib/postsvg/parser.rb,
lib/postsvg/source.rb,
lib/postsvg/options.rb,
lib/postsvg/version.rb,
lib/postsvg/renderer.rb,
lib/postsvg/visitors.rb,
lib/postsvg/converter.rb,
lib/postsvg/svg/paint.rb,
lib/postsvg/tokenizer.rb,
lib/postsvg/serializer.rb,
lib/postsvg/svg/parser.rb,
lib/postsvg/svg/stroke.rb,
lib/postsvg/interpreter.rb,
lib/postsvg/model/token.rb,
lib/postsvg/svg/element.rb,
lib/postsvg/svg_builder.rb,
lib/postsvg/translation.rb,
lib/postsvg/path_builder.rb,
lib/postsvg/source/lexer.rb,
lib/postsvg/svg/document.rb,
lib/postsvg/svg/elements.rb,
lib/postsvg/format_number.rb,
lib/postsvg/model/program.rb,
lib/postsvg/svg/path_data.rb,
lib/postsvg/svg_generator.rb,
lib/postsvg/graphics_stack.rb,
lib/postsvg/graphics_state.rb,
lib/postsvg/model/literals.rb,
lib/postsvg/model/operator.rb,
lib/postsvg/model/operators.rb,
lib/postsvg/graphics_context.rb,
lib/postsvg/parser/transform.rb,
lib/postsvg/svg/elements/svg.rb,
lib/postsvg/svg/elements/defs.rb,
lib/postsvg/svg/elements/line.rb,
lib/postsvg/svg/elements/path.rb,
lib/postsvg/svg/elements/rect.rb,
lib/postsvg/svg/elements/text.rb,
lib/postsvg/model/literals/hex.rb,
lib/postsvg/source/ast_builder.rb,
lib/postsvg/svg/elements/group.rb,
lib/postsvg/svg/elements/image.rb,
lib/postsvg/svg/transform_list.rb,
lib/postsvg/model/literals/name.rb,
lib/postsvg/svg/elements/circle.rb,
lib/postsvg/translation/context.rb,
lib/postsvg/visitors/ps_visitor.rb,
lib/postsvg/model/literals/array.rb,
lib/postsvg/model/operators/font.rb,
lib/postsvg/model/operators/path.rb,
lib/postsvg/source/operand_stack.rb,
lib/postsvg/svg/attribute_parser.rb,
lib/postsvg/svg/elements/ellipse.rb,
lib/postsvg/svg/elements/polygon.rb,
lib/postsvg/svg/path_data/parser.rb,
lib/postsvg/translation/handlers.rb,
lib/postsvg/model/literals/number.rb,
lib/postsvg/model/literals/string.rb,
lib/postsvg/model/operators/color.rb,
lib/postsvg/model/operators/stack.rb,
lib/postsvg/svg/elements/polyline.rb,
lib/postsvg/svg/path_data/command.rb,
lib/postsvg/model/operators/device.rb,
lib/postsvg/svg/clip_path_registry.rb,
lib/postsvg/svg/elements/clip_path.rb,
lib/postsvg/model/operators/boolean.rb,
lib/postsvg/translation/ps_renderer.rb,
lib/postsvg/model/literals/procedure.rb,
lib/postsvg/model/operators/painting.rb,
lib/postsvg/parser/postscript_parser.rb,
lib/postsvg/translation/bounding_box.rb,
lib/postsvg/visitors/ps_visitor/font.rb,
lib/postsvg/visitors/ps_visitor/path.rb,
lib/postsvg/model/literals/dictionary.rb,
lib/postsvg/model/operators/container.rb,
lib/postsvg/translation/arc_converter.rb,
lib/postsvg/visitors/ps_visitor/color.rb,
lib/postsvg/visitors/ps_visitor/stack.rb,
lib/postsvg/model/operators/arithmetic.rb,
lib/postsvg/model/operators/dictionary.rb,
lib/postsvg/translation/record_emitter.rb,
lib/postsvg/visitors/ps_visitor/common.rb,
lib/postsvg/visitors/ps_visitor/device.rb,
lib/postsvg/translation/handlers/shared.rb,
lib/postsvg/visitors/ps_visitor/boolean.rb,
lib/postsvg/model/operators/control_flow.rb,
lib/postsvg/translation/handler_registry.rb,
lib/postsvg/visitors/ps_visitor/painting.rb,
lib/postsvg/visitors/ps_visitor/container.rb,
lib/postsvg/model/operators/graphics_state.rb,
lib/postsvg/visitors/ps_visitor/arithmetic.rb,
lib/postsvg/visitors/ps_visitor/dictionary.rb,
lib/postsvg/model/operators/transformations.rb,
lib/postsvg/translation/handlers/svg_handler.rb,
lib/postsvg/visitors/ps_visitor/control_flow.rb,
lib/postsvg/translation/handlers/defs_handler.rb,
lib/postsvg/translation/handlers/line_handler.rb,
lib/postsvg/translation/handlers/open_handler.rb,
lib/postsvg/translation/handlers/path_handler.rb,
lib/postsvg/translation/handlers/rect_handler.rb,
lib/postsvg/translation/handlers/text_handler.rb,
lib/postsvg/translation/handlers/group_handler.rb,
lib/postsvg/translation/handlers/image_handler.rb,
lib/postsvg/visitors/ps_visitor/graphics_state.rb,
lib/postsvg/translation/handlers/circle_handler.rb,
lib/postsvg/visitors/ps_visitor/transformations.rb,
lib/postsvg/translation/handlers/ellipse_handler.rb,
lib/postsvg/translation/handlers/polygon_handler.rb,
lib/postsvg/translation/handlers/polyline_handler.rb,
lib/postsvg/translation/handlers/clip_path_handler.rb
Defined Under Namespace
Modules: Colors, FormatNumber, Model, Source, Svg, Translation, Visitors Classes: CLI, Color, Converter, Error, ExitSignal, GraphicsContext, GraphicsStack, GraphicsState, Interpreter, LexError, Matrix, Options, ParseError, Parser, PathBuilder, QuitSignal, RecursionLimitError, RenderError, Renderer, SerializeError, Serializer, SizeLimitError, StackUnderflowError, SvgBuilder, SvgGenerator, SyntaxError, Token, Tokenizer, TranslationError, UndefinedOperatorError, UnresolvedReferenceError, UnsupportedElementError
Constant Summary collapse
- ConversionError =
Legacy aliases kept so older rescue clauses still match.
RenderError- UnsupportedOperatorError =
UndefinedOperatorError- VERSION =
"0.3.0"
Class Method Summary collapse
-
.to_eps(svg_string, **options) ⇒ Object
SVG string -> EPS source.
-
.to_ps(svg_string, eps: false, **options) ⇒ Object
SVG string -> PS source.
-
.to_ps_file(input_path, output_path = nil, eps: false, **options) ⇒ Object
SVG file -> PS source.
-
.to_svg(source, **options) ⇒ Object
(also: convert)
PS/EPS source -> SVG string.
-
.to_svg_file(input_path, output_path = nil, **options) ⇒ Object
(also: convert_file)
PS/EPS file -> SVG string.
Class Method Details
.to_eps(svg_string, **options) ⇒ Object
SVG string -> EPS source.
96 97 98 |
# File 'lib/postsvg.rb', line 96 def to_eps(svg_string, **) to_ps(svg_string, eps: true, **) end |
.to_ps(svg_string, eps: false, **options) ⇒ Object
SVG string -> PS source. Pass eps: true for EPS output.
89 90 91 92 93 |
# File 'lib/postsvg.rb', line 89 def to_ps(svg_string, eps: false, **) document = Svg::Parser.call(svg_string) program = Translation::PsRenderer.call(document, eps: eps) Serializer.call(program, eps: eps, **) end |
.to_ps_file(input_path, output_path = nil, eps: false, **options) ⇒ Object
SVG file -> PS source. Writes to output_path if given.
101 102 103 104 105 |
# File 'lib/postsvg.rb', line 101 def to_ps_file(input_path, output_path = nil, eps: false, **) ps = to_ps(File.read(input_path), eps: eps, **) File.write(output_path, ps) if output_path ps end |
.to_svg(source, **options) ⇒ Object Also known as: convert
PS/EPS source -> SVG string.
75 76 77 78 |
# File 'lib/postsvg.rb', line 75 def to_svg(source, **) program = Source.parse(source) Renderer.call(program, Options.new(**)) end |
.to_svg_file(input_path, output_path = nil, **options) ⇒ Object Also known as: convert_file
PS/EPS file -> SVG string. Writes to output_path if given;
returns the SVG string either way.
82 83 84 85 86 |
# File 'lib/postsvg.rb', line 82 def to_svg_file(input_path, output_path = nil, **) svg = to_svg(File.read(input_path), **) File.write(output_path, svg) if output_path svg end |