HB-VIEW(1)

NAME
hb-view - View text with given font.

DESCRIPTION

  Usage:

    hb-view [OPTION???] [FONT-FILE] [TEXT]

View text with given font.

  Help Options:

-h, --help
    Show help options

--help-all
    Show all help options

--help-face
    Options for the font face

--help-font
    Options for the font instance

--help-variations
    Options for font variations used

--help-text
    Options for the input text

--help-text-context
    Options for the input context text

--help-shape
    Options for the shaping process

--help-features
    Options for font features used

--help-view
    Options for output rendering

--help-output
    Options for the destination & form of the output

  Font-face options:

--font-file=filename
    Set font file-name

-y, --face-index=index
    Set face index (default: 0)

--face-loader=loader
    Set face loader to use (default: ot)

    Supported face loaders are: ot/ft

--list-face-loaders
    List available face loaders and quit

  Font-instance options:

--font-size=1/2 integers or 'upem'
    Font size (default: 256)

--font-ppem=1/2 integers
    Set x,y pixels per EM (default: 0; disabled)

--font-ptem=point-size
    Set font point-size (default: 0; disabled)

--font-bold=1/2 numbers; eg. 0.05
    Set synthetic bold (default: 0)

--font-grade=1/2 numbers; eg. 0.05
    Set synthetic grade (default: 0)

--font-slant=slant ratio; eg. 0.2
    Set synthetic slant (default: 0)

--font-funcs=impl
    Set font functions implementation to use (default: ot)

    Supported font function implementations are: ot/ft

--list-font-funcs
    List available font functions and quit

--ft-load-flags=integer
    Set FreeType load-flags (default: 2)

  Variations options:

--named-instance=index
    Set named-instance index (default: none)

--variations=list
    Comma-separated list of font variations

    Variations are set globally. The format for specifying variation settings follows. All valid CSS font-variation-settings values other than 'normal' and 'inherited' are also accepted, though, not documented below.

    The format is a tag, optionally followed by an equals sign, followed by a number. For example:

    "wght=500" "slnt=-7.5"

Text options:

If no text is provided, standard input is used for input.

--text=string
    Set input text

--text-file=filename
    Set input text file-name

-u, --unicodes=list of hex numbers
    Set input Unicode codepoints

--single-par
    Treat text as single paragraph

  Textual context options:

--text-before=string
    Set text context before each line

--text-after=string
    Set text context after each line

--unicodes-before=list of hex numbers
    Set Unicode codepoints context before each line

--unicodes-after=list of hex numbers
    Set Unicode codepoints context after each line

  Shape options:

--shapers=comma-separated list
    Set shapers to use (default: graphite2)

    Supported shapers are: graphite2/ot/fallback

--list-shapers
    List available shapers and quit

--direction=ltr/rtl/ttb/btt
    Set text direction (default: auto)

--language=BCP 47 tag
    Set text language (default: $LANG)

--script=ISO-15924 tag
    Set text script (default: auto)

--bot
    Treat text as beginning-of-paragraph

--eot
    Treat text as end-of-paragraph

--preserve-default-ignorables
    Preserve Default-Ignorable characters

--remove-default-ignorables
    Remove Default-Ignorable characters

--invisible-glyph
    Glyph value to replace Default-Ignorables with

--not-found-glyph
    Glyph value to replace not-found characters with

--not-found-variation-selector-glyph
    Glyph value to replace not-found variation-selector characters with

--utf8-clusters
    Use UTF8 byte indices, not char indices

--cluster-level=0/1/2/3
    Cluster merging level (default: 0)

--normalize-glyphs
    Rearrange glyph clusters in nominal order

--unsafe-to-concat
    Produce unsafe-to-concat glyph flag

--safe-to-insert-tatweel
    Produce safe-to-insert-tatweel glyph flag

--glyphs
    Interpret input as glyph string

--verify
    Perform sanity checks on shaping results

  Features options:

--features=list
    Comma-separated list of font features

    Features can be enabled or disabled, either globally or limited to specific character ranges. The format for specifying feature settings follows. All valid CSS font-feature-settings values other than 'normal' and the global values are also accepted, though not documented below. CSS string escapes are not supported. The range indices refer to the positions between Unicode characters, unless the --utf8-clusters is provided, in which case range indices refer to UTF-8 byte indices. The position before the first character is always 0.

The format is Python-esque.
    Here is how it all works:

Syntax:
    Value: Start: End:

    Setting value:

"kern"
    1 0 ??? # Turn feature on

"+kern"
    1 0 ??? # Turn feature on

"-kern"
    0 0 ??? # Turn feature off

"kern=0"
    0 0 ??? # Turn feature off

"kern=1"
    1 0 ??? # Turn feature on

"aalt=2"
    2 0 ??? # Choose 2nd alternate

    Setting index:

"kern[]"
    1 0 ??? # Turn feature on

"kern[:]"
    1 0 ??? # Turn feature on

"kern[5:]"
    1 5 ??? # Turn feature on, partial

"kern[:5]"
    1 0 5 # Turn feature on, partial

"kern[3:5]"
    1 3 5 # Turn feature on, range

"kern[3]"
    1 3 3+1 # Turn feature on, single char

    Mixing it all:

"aalt[3:5]=2" 2
    3 5 # Turn 2nd alternate on for range

  View options:

--background=rrggbb/rrggbbaa/none
    Set background color (default: #FFFFFF); use "none" for transparent

--foreground=rrggbb/rrggbbaa[,...]
    Set foreground color (default: #000000)

--rainbow
    Rotate glyph foreground colors through a default palette

--font-palette=index
    Set font palette (default: 0)

--custom-palette=comma-separated colors
    Custom palette

--line-space=units
    Set space between lines (default: 0)

--font-extents=one to three numbers
    Set font ascent/descent/line-gap (default: auto)

--margin=one to four numbers
    Margin around output (default: 16)

--logical
    Render to logical box instead of union of logical and ink boxes

--ink
    Render to ink box instead of union of logical and ink boxes

--show-extents
    Draw glyph extents

--draw
    Force monochrome draw path (overrides auto-detect)

--paint
    Force color paint path (overrides auto-detect)

  Output destination & format options:

-o, --output-file=filename
    Set output file-name (default: stdout)

-O, --output-format=format
    Set output format (default: png)

    Supported output formats are: png/svg/pdf/ps/eps/script/ansi

  Application Options:

--version
    Show version numbers

-n, --num-iterations=N
    Run N iterations (default: 1)

Shows image of rendering text with a given font in various formats.

EXIT CODES

    0: Success.

    1: Option parsing failed.

    2: Failed loading font face.

    3: Operation failed.

    4: Failed setting font functions.

ENVIRONMENT

    HB_FACE_LOADER=face-loader; Overrides the default face loader.

    HB_FONT_FUNCS=font-funcs; Overrides the default font-funcs.

    HB_SHAPER_LIST=shaper-list; Overrides the default shaper list.

SEE ALSO

    hb-view(1), hb-shape(1), hb-raster(1), hb-vector(1), hb-subset(1), hb-info(1)

Find more information or report bugs at <https://github.com/harfbuzz/harfbuzz>