# Typography

The Redux Typography field in second-to-none when it comes to other options out there. It's often copied in concept, but limited in functionality. Google fonts, font preview, color-picket, letter & word spacing, styles & weight selection, and much, much more!

# Arguments

Name Type
Default
Description
type string typography Value identifying the field type.
default array See Default Argument below.
units string px Sets the default unit value. This sets the unit measurement for all fields that accept it. Individual fields may be overriden using the arguments indicated below. Accepts: px em rem % in cm mm ex pt pc vh vw vmin vmax ch
google bool true Flag to set Google fonts.
fonts array An array of fonts in key pair format. Specifying a font array will override the default "standard" fonts.
weights array An array of default font weights in key pair format. Specifying this array will override the default "standard" font weights.
font-backup bool false Flag to display a selector specifying backup non-Google fonts when Google fonts are used.
font-style bool true Flag to display the font style selector.
font-weight bool true Flag to display the font weight selector.
font-size bool true Flag to display the font size input.
font-size-unit string Specific unit for font-size.
font-family bool true Flag to display the font family selector.
subsets bool true Subsets only appear if google is set to true and subsets is set to true.
line-height bool true Flag to display the font line height input.
line-size-unit string Specific unit for line-height (leave blank for none).
word-spacing bool false Flag to display the word spacing input.
word-spcaing-unit string Specific unit for word-spacing.
letter-spacing bool false Flag to display the letter spacing input.
letter-spacing-unit string Specific unit for letter-spacing.
text-align bool true Flag to display the text alignment selector.
text-transform bool false Flag to display the text transform selector.
color bool true Flag to display the font color input.
preview array Array value for preview settings. See Preview Options below.
all_styles bool false Flag to set all available styles for selected Google font in the CSS.
select2 array Array of select2 arguments. Select2 Documentation (opens new window).
font_family_clear bool true Flag to set the clear field button on the font-family selector.
margin-top bool false Flag to set the top margin field.
margin-top-unit string Specific unit for margin-top.
margin-bottom bool false Flag to set the bottom margin field.
margin-bottom-unit string Specific unit for margin-bottom.
text-shadow bool false Flag to set the text shadow slider.
allow_empty_line_height bool false Flag to allow an empty value for the line height field.
color_alpha array Enabled alpha color options. See Color Alpha options below.

# Default Argument

Name Type Description
font-backup bool Flag to select a backup non-Google font in addition to a Google font.
font-style string Sets the default font style.
font-weight string Sets the default font weight.
font-size string Sets the default font size.
font-family string Sets the default font family.
line-height string Sets the default line height.
word-spacing string Sets the default word spacing.
letter-spacing string Sets the default letter spacing.
google bool Flag to set Google fonts.
color string Hex string to set the color picker default.
text-align string Sets the default text align value. Accepts: inherit, left, right, center, justify, or initial.
text-transform string Sets the default text transform value. Accepts: none, capitalize, uppercase, lowercase, initial, or inherit.

# Preview Options

Name Type Default Description
text alphanumeric string Text to display in the font preview area.
font-size string 33px Value to set the font size in the preview area.
always_display bool false Flag that sets whether or not the font preview will display, even when no changes are made.

# Color Alpha Options

Name Type Default Description
color bool false Toggle font color picker.
shadow-color bool false Toggle the shadow color picker.

# Build Config

Build a Custom Configuration →
Changes you make to this form will be reflected in the generated code.
Field visibility requirements.

Redux::set_field( 'OPT_NAME', 'SECTION_ID', array(
    'type' => 'typography'
) );

# Example Config

Redux::set_field( 'OPT_NAME', 'SECTION_ID', array( 
    'id'          => 'opt-typography',
    'type'        => 'typography', 
    'title'       => esc_html__('Typography', 'your-textdomain-here'),
    'google'      => true, 
    'font-backup' => true,
    'output'      => array('h2.site-description'),
    'units'       =>'px',
    'subtitle'    => esc_html__('Typography option with each property can be called individually.', 'your-textdomain-here'),
    'default'     => array(
        'color'       => '#333', 
        'font-style'  => '700', 
        'font-family' => 'Abel', 
        'google'      => true,
        'font-size'   => '33px', 
        'line-height' => '40'
    ),
) );

# Example Usage

This example is based on the example usage provided above. Be sure to change $redux_demo to the value you specified in your opt_name argument.

global $redux_demo;

echo 'Color: '       . $redux_demo['opt-typography']['color'];
echo 'Font style: '  . $redux_demo['opt-typography']['font-style'];
echo 'Font family: ' . $redux_demo['opt-typography']['font-family'];
echo 'Google: '      . $redux_demo['opt-typography']['google'];
echo 'Font size: '   . $redux_demo['opt-typography']['font-size'];
echo 'Line height: ' . $redux_demo['opt-typography']['line-height'];