MSC-GENERATOR(1)

NAME
Msc-generator - draws signalling charts from textual descriptions

SYNOPSIS
msc-gen [OPTIONS] [infile]

DESCRIPTION
Msc-generator draws signalling charts from textual descriptions.

  Program information:

-h, --help
    Display this help and exit.

-l  Display program license and exit.

--version
    Display version information and exit.

  Operation mode selection:

--gui
    Using this mode pops up a GUI for interactive editing of a chart. Some options apply in GUI mode, such as -S to start an empty chart of a given type; 'infile' to open a file; --nodesigns, -D to control design libraries; -F and -L to control the default font.

--tei-mode
    Using this option puts msc-generator into text editor integration mode. In this mode msc-gen can produce color syntax highlighting, quick error, text indent and hinting/autocomplete information. Input file(s) are read from standard input, output is written to standard output, thus no input or output filename can be specified and options -i and -o are invalid. Same with option -T option, but -S is mandatory. Option --tei-mode implies -Pno, as well. See the documentation for details.

--list-embedded

    Lists the charts embedded in a PPT file.

  Input control:

<infile>
    The file from which to read input. If specified as '-', input will be read from stdin (and '-S' must be used). The filename extension determines what type of chart the input file contains. You can also specify a PNG image, in which case Msc-generator searches for the chart text embedded in an iTXT chunk. You can also specify a PPT file optionally followed by a slide number, like: 'my.pptx:2'. In this case the chart text is looked for in the PPT file on the given slide (2). You can omit the slide if the file contains only one embedded chart. If the slide contains multiple embedded charts, you can append a number (in increasing Z-order of the chart) to select one. (You can embed charts with Msc-generator using, e.g., '-T embed:1' or update embedded charts by using them both as input and output: 'msc-gen my.pptx:2:1 -T embed:2:1 -o my.pptx'

-i <infile> To retain compatibility with mscgen, this is an alternate way to

    specify the input file.

-S <lang>
    Forces Msc-generator to interpret the input file as a specific type of chart. This overrides the guess from the filename extension. Current chart types are 'signalling' for Signalling Charts and 'graph' for Graphviz graphs and 'block' for Block Diagrams.

--utf8
    Forces the input file to be interpreted as UTF-8, even if it does not look like it.

--utf16
    Forces the input file to be interpreted as UTF-16, even if it looks like UTF-8 or ASCII.

--opt=<chart_option>=<value>

    These options will be evaluated before the input file. Any value here will be overwritten by a conflicting option in the file.

--design=<chart_design>

    Any chart design can be specified here, taking precedence over the design specified in the input file.

  Output control:

-a[h]
    Automatic pagination. Used only with full-page output. If specified, scale cannot be 'auto'. Specifying -ah will insert a heading after automatically inserted page breaks.

-D <design_file>

    Load file containing additional chart design definitions. You can have multiple of this option to load several design files, after the default ones. These files are loaded even if --nodesigns is specified.

-e  If output type is PNG, specifying this will embed the chart text into the PNG file as an iTXt chunk. In case of multiple pages (and multiple output files) all will have it embedded. Results in a warning if the output type is not PNG.

-F <font>
    Use specified font. This must be a font name available in the local system, and overrides the MSCGEN_FONT environment variable if that is also set. (On Linux\Unix try fontconfig.)

-L <lang>
    Use the specified language to select fonts. It must be an RFC 3066 style language specifier, and will override any value in the MSCGEN_FONT_LANG environment variable. Use either 2 letter lang codes, such as 'ja' for Japanese, 'zh' for Chinese, etc. Ignored on Windows, as font names are language specific there.

-m{lrud}=<margin>

    Useful only for full-page output, specifies the margin. A separate option is needed to specify the left, right, upwards and downwards margins, denoted by the second letter of the option. Margins are to be specified in inches (number only) or in centimeters, if appended with 'cm' (no spaces). The default margin is half inches everywhere.

--nodesigns

    If you specify this no design files will be loaded (except the ones you specify with -D). This is useful to increase performance when you do not use them anyway.

--nopaths
    Only the filename will be printed in error messages without its path.

-o <file>
    Write output to the named file. If omitted, the input filename will be appended by an extension suitable for the output format. If neither input nor output file is given, msc-gen_out.* will be used. Specifying '-' will result in the out be written to standard output.

-p[=<page size]

    Full-page output. (PDF or PPT only, automatically implied for PPT) In this case the chart is drawn on fixed-size pages (following pagination) with one pixel equaling to 1/72 inches for PDF and 1/96 inches for PPT. If a chart page is larger than a physical page it is simply cropped with a warning. Setting the scale with the -s option enables zooming. Page size can be set to ISO sizes from A0 to A6, and to US sizes, such as letter, legal, ledger and tabloid. Append a 'p' or an 'l' for portrait and landscape, respectively (except for 'tabloid' and 'ledger', which are by definition portrait and landscape, resp.). E.g., use 'A4p', 'A2l' or 'letter_l'. Default is 'A4p' for PDF and 'widescreen_l' for PPT, but you can also use 'on_screen_4_3_l' or 'on_screen_16_9' as well.

--no-pedantic

--pedantic
    Set or unset the pedantic chart option (defaults to what is set in the design lib or false if not defined).

-Pno
    No progress indicator displayed.

-q  No progress indicator displayed, plus any final 'Success.' is also suppressed. On success with no warnings msc-gen prints nothing.

-s=<scale>
    Can be used to scale chart size up or down. Default is 1.0. Cannot be used together with any of the -x or -y options. Only for bitmap or full-page output (-p). For full-page output, you can set <scale> to 'width' which results in the chart width being set to the page width, or to 'auto', which scales such that all pages fit. For full-page output, you can specify multiple -s options, which makes msc-gen to try them in the order specified until one is found for which no pages need to be cropped. If none is such, the last one will be used and a warning will be given.

-T <type>
    Specifies the output file type, which may be 'png', 'eps', 'pdf', 'svg', 'ppt' or 'emf' (if supported on your system). Default is 'png'. The token 'ismap' produces an NCSA formatted ismap file. The token 'lmap' is accepted and results in a text file listing (the first line of) all labels and their page number and coordinates. 'src' will simply save the chart text; useful if you want to extract the source of charts embedded in PNG and PPT input files. You can also use 'embed' with a PPT output file to append a page with a PNG of the chart that includes the chart text (and can be later edited by Msc-generator). 'embed:<page>' will add the PNG to an existing page, while 'embed:<page>:<chart>' will update an existing chart (<chart> is the number of the chart on that page in Z-order starting from 1).

--TI
    Additional Technical Info is printed about compilation.

-va=<center|up|down>

-ha=<center|left|right>

    Set the vertical and horizontal alignment within a page for fullpage output.

-Wno
    No warnings displayed.

-x=<width>
    Specifies chart width (in pixels). Only for bitmap output.

-y=<height> Specifies chart height (in pixels). If only one of -x or -y

    is specified, the aspect ratio is kept. Only for bitmap output.

--fps=<fps> Can be used to select the maximum frames per second for the GUI.

    Silently ignored when not using the GUI. Ignored on Windows, as there frame presentation is synchronized to the refresh of the screen maxing the FPS to the screen FPS.

  Signalling chart specific options:

--force-mscgen

    Forces the chart to be interpreted in mscgen mode. Note that many Msc-generator attributes, commands and keywords are still recognized. This setting makes conflicting syntax be interpreted as mscgen would do. Without this switch Msc-generator uses the mscgen mode only if the chart starts with the text 'msc {'.

--prevent-mscgen

    Prevents the chart to be interpreted in mscgen mode. Note that some mscgen attributes and symbols are still recognized. This setting makes conflicting syntax be interpreted as Msc-generator would do. Without this switch Msc-generator uses the mscgen mode if the chart starts with the text 'msc {'.

-Wno-mscgen Disables warnings for deprecated constructs kept only for

    backwards compatibility with mscgen. Has no effect with --force-mscgen, in that case no such warnings are emitted anyway.

  Environment variables:

    MSCGEN_FONT: can be used to define the default font similar to the -F option. MSCGEN_FONT_LANG: can be used to define the default language for fontconfig

    based systems, similar to the -L option.

    MSCGEN_NOFONT: When set (to any value), Msc-generator draws no text to any

    output (but considers the place of the text at layout as normally. Useful for testing.

    MSCGEN_FPS: When set to a number, the GUI will use it as maximum frames per

    second. Can be overridden by the --fps option. Ignored on Windows, as there frame presentation is synchronized to the refresh of the screen maxing the FPS to the screen FPS.

COPYRIGHT
Copyright © 2008-2023 Zoltan Turanyi Msc-generator comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it under certain conditions; type `msc-gen -l' for details.

SEE ALSO
The full documentation for Msc-generator is maintained as a Texinfo manual. If the info and Msc-generator programs are properly installed at your site, the command

    info msc-gen

should give you access to the complete manual.