$panel, 'title' => __( 'Global Typography Options', 'absolute-weaver' ), 'description' => aweaver_sanitize_mixed( __( 'This section covers global typography attributes, including available font families and base font size and spacing. **Default Site Font options:** See the *Typography → Wrapping Areas* menu.', 'absolute-weaver' ) ), 'options' => array( 'typo-intro' => array( 'control' => array( 'control_type' => 'AWeaver_Misc_Control', 'label' => __( 'Using Font Families', 'absolute-weaver' ), 'description' => __( '*Absolute Weaver* includes support for over 30 font family choices: 16 **Web Safe** fonts, and the remaining from a carefully selected set of **Google Fonts**. The **Google Fonts** will be displayed the same on every browser, *including* Android and iOS devices. The **Web Safe** will be displayed as specified for most modern browsers, but will likely revert to one of the three basic fonts supported by Android devices, or a limited set for iOS devices. *We highly recommend selecting **Google Fonts** for your site.* You can see a demonstration of *Absolute Weaver\'s* fonts here: ', 'absolute-weaver' ) . aweaver_help_link( 'font-demo.html', __( 'Examples of supported fonts', 'absolute-weaver' ), __( 'Font Examples', 'absolute-weaver' ), false ), 'type' => 'html', ) , ), 'sizing-intro' => aweaver_cz_group_title( __( 'Base Font Size and Spacing', 'absolute-weaver' ), '' ), 'site_fontsize_int' => array( 'setting' => array( 'sanitize_callback' => 'aweaver_cz_sanitize_int', 'transport' => 'postMessage', 'default' => 16, ), 'control' => array( 'control_type' => 'AWeaver_Range_Control', 'label' => __( 'Site Base Font Size (px)', 'absolute-weaver' ), 'description' => __( "Base font size of standard text. This value determines the default medium font size. Note that visitors can change their browser's font size, so final font size can vary, as expected. Default is 16px.", 'absolute-weaver' ), 'type' => 'range', 'input_attrs' => array( 'min' => 2, 'max' => 50, 'step' => 1, ), ), ), 'moreinfo1' => aweaver_cz_html( '', '' . __( '"Absolute Weaver Plus" includes options for additional font spacing, and Google Font options.', 'absolute-weaver' ) . '' ), ), ); $level = array( 'site_line_height_dec' => array( 'setting' => array( 'sanitize_callback' => 'aweaver_cz_sanitize_float', 'transport' => 'postMessage', 'default' => 1.5, ), 'control' => array( 'control_type' => AWEAVER_PLUS_RANGE_CONTROL, 'label' => __( 'Site Base Line Height', 'absolute-weaver' ) . AWEAVER_PLUS_ICON, 'description' => __( 'Set the Base line-height. Line heights for various font sizes based on this multiplier. (Default: 1.5 - no units)', 'absolute-weaver' ), 'type' => 'range', 'input_attrs' => array( 'min' => .1, 'max' => 10., 'step' => .1, ), ), ), 'site_fontsize_tablet_int' => array( 'setting' => array( 'sanitize_callback' => 'aweaver_cz_sanitize_int', 'transport' => 'refresh', 'default' => 16, ), 'control' => array( 'control_type' => AWEAVER_PLUS_RANGE_CONTROL, 'label' => __( 'Site Base Font Size - Small Tablets (px)', 'absolute-weaver' ) . AWEAVER_PLUS_ICON . AWEAVER_REFRESH_ICON, 'description' => __( 'Small Tablet base font size of standard text. (Default medium font size: 16px)', 'absolute-weaver' ), 'type' => 'range', 'input_attrs' => array( 'min' => 2, 'max' => 50, 'step' => 1, ), ), ), 'site_fontsize_phone_int' => array( 'setting' => array( 'sanitize_callback' => 'aweaver_cz_sanitize_int', 'transport' => 'refresh', 'default' => 16, ), 'control' => array( 'control_type' => AWEAVER_PLUS_RANGE_CONTROL, 'label' => __( 'Site Base Font Size - Phones (px)', 'absolute-weaver' ) . AWEAVER_PLUS_ICON . AWEAVER_REFRESH_ICON, 'description' => __( 'Phone base font size of standard text. (Default medium font size: 16px)', 'absolute-weaver' ), 'type' => 'range', 'input_attrs' => array( 'min' => 2, 'max' => 50, 'step' => 1, ), ), ), 'custom_fontsize_a' => array( 'setting' => array( 'sanitize_callback' => 'aweaver_cz_sanitize_float', 'transport' => 'refresh', 'default' => 1.0, ), 'control' => array( 'control_type' => AWEAVER_PLUS_RANGE_CONTROL, 'label' => __( 'Custom Font Size A (em)', 'absolute-weaver' ) . AWEAVER_PLUS_ICON . AWEAVER_REFRESH_ICON, 'description' => __( 'Font Size for Custom Font Size A on the Font Size selection options.', 'absolute-weaver' ), 'type' => 'range', 'input_attrs' => array( 'min' => 0, 'max' => 20, 'step' => .1, ), ), ), 'custom_fontsize_b' => array( 'setting' => array( 'sanitize_callback' => 'aweaver_cz_sanitize_float', 'transport' => 'refresh', 'default' => 1.0, ), 'control' => array( 'control_type' => AWEAVER_PLUS_RANGE_CONTROL, 'label' => __( 'Custom Font Size B (em)', 'absolute-weaver' ) . AWEAVER_PLUS_ICON . AWEAVER_REFRESH_ICON, 'description' => __( 'Font Size for Custom Font Size B on the Font Size selection options.', 'absolute-weaver' ), 'type' => 'range', 'input_attrs' => array( 'min' => 0, 'max' => 20, 'step' => .1, ), ), ), 'font_letter_spacing_global_dec' => array( 'setting' => array( 'sanitize_callback' => 'aweaver_cz_sanitize_float', 'transport' => 'postMessage', 'default' => 0.0, ), 'control' => array( 'control_type' => AWEAVER_PLUS_RANGE_CONTROL, 'label' => __( 'Character Spacing (em)', 'absolute-weaver' ) . AWEAVER_PLUS_ICON, 'description' => __( 'Add extra spacing between characters. (Default: 0)', 'absolute-weaver' ), 'type' => 'range', 'input_attrs' => array( 'min' => - .1, 'max' => .25, 'step' => .0025, ), ), ), 'font_word_spacing_global_dec' => array( 'setting' => array( 'sanitize_callback' => 'aweaver_cz_sanitize_float', 'transport' => 'postMessage', 'default' => 0.0, ), 'control' => array( 'control_type' => AWEAVER_PLUS_RANGE_CONTROL, 'label' => __( 'Word Spacing (em)', 'absolute-weaver' ) . AWEAVER_PLUS_ICON, 'description' => __( 'Add extra spacing between words. (Default: 0)', 'absolute-weaver' ), 'type' => 'range', 'input_attrs' => array( 'min' => - .5, 'max' => 1.0, 'step' => .05, ), ), ), 'typo-google-font-opts' => aweaver_cz_group_title( __( 'Integrated Google Fonts', 'absolute-weaver' ), __( 'Absolute Weaver integrates a selected set of Google Font families. You can disable them, or add different language support in this section.', 'absolute-weaver' ) ), 'disable_google_fonts' => aweaver_cz_checkbox_refresh( __( 'Disable Google Font Integration', 'absolute-weaver' ), __( 'ADVANCED OPTION! Be sure you understand the consequences of this option. By disabling Google Font Integration, the Google Fonts definitions will not be loaded for your site, and the options will not be displayed on Font Family options subsequently. Please note: Any previously selected Google Font Families will revert to generic serif, sans, mono, and script fonts. Google Font Families WILL be displayed in the Customizer options until you manually refresh the Customizer page.', 'absolute-weaver' ) ) , 'typo-lang-intro' => aweaver_cz_heading( __( 'Google Font Language Character Sets', 'absolute-weaver' ), __( 'By default, integrated Google Fonts will include the Latin Extended character set. If you need a Crylic, Greek, Hebrew, or Vietnamese character set, these are currently supported by Google Fonts for some font families. Google Fonts not supported for these character sets, and character sets for most other world languages will be displayed using the default browser serif and sans fonts.', 'absolute-weaver' ) ), 'font_set_cryllic' => aweaver_cz_checkbox_refresh( __( 'Cryllic', 'absolute-weaver' ), __( 'Add Cryllic character set to Open Sans, Open Sans Condensed, Roboto ( all ), Arimo, and Tinos font families.', 'absolute-weaver' ) ), 'font_set_greek' => aweaver_cz_checkbox_refresh( __( 'Greek', 'absolute-weaver' ), __( 'Add Greek character set to Open Sans, Open Sans Condensed, Roboto ( all ), Arimo, and Tinos font families.', 'absolute-weaver' ) ), 'font_set_hebrew' => aweaver_cz_checkbox_refresh( __( 'Hebrew', 'absolute-weaver' ), __( 'Add Hebrew character set to Arimo and Tinos font families.', 'absolute-weaver' ) ), 'font_set_vietnamese' => aweaver_cz_checkbox_refresh( __( 'Vietnamese', 'absolute-weaver' ), __( 'Add Vietnamese character set to Open Sans, Open Sans Condensed, Roboto ( all ), Source Sans Pro, Alegreya Sans, Arimo, and Tinos font families.', 'absolute-weaver' ) ), ); $typography_sections['typo-global']['options'] = array_merge( $typography_sections['typo-global']['options'], $level ); /** * General */ $typography_sections['typo-wrapping'] = array( 'panel' => $panel, 'title' => esc_html__( 'Wrapping Areas', 'absolute-weaver' ), 'description' => esc_html__( 'Set font and other typography attributes. Use Site Colors to set colors.', 'absolute-weaver' ), 'options' => array(), ); $new_opts = aweaver_cz_add_fonts( 'wrapper', __( 'Site Wrapper Fonts', 'absolute-weaver' ), __( '***Default typography for site.*** Set font attributes for the Wrapper that will apply to the entire site. To override other areas, set typography for individual areas and items on other Typography menu panels. (The inherited default Font Family is Open Sans.)', 'absolute-weaver' ), 'postMessage' ); $typography_sections['typo-wrapping']['options'] = array_merge( $typography_sections['typo-wrapping']['options'], $new_opts ); $new_opts = aweaver_cz_add_fonts( 'container', __( 'Container Fonts', 'absolute-weaver' ), __( 'Container typography for site. Wraps content and sidebars.', 'absolute-weaver' ), 'postMessage' ); $typography_sections['typo-wrapping']['options'] = array_merge( $typography_sections['typo-wrapping']['options'], $new_opts ); /** * Links */ $typography_sections['typo-links'] = array( 'panel' => $panel, 'title' => esc_html__( 'Links', 'absolute-weaver' ), 'options' => array(), ); $new_opts = aweaver_cz_add_link_fonts( 'link', __( 'Global Links', 'absolute-weaver' ), __( 'Global default for link typography ( not including menus and titles ). Set Bold, Italic, and Underline by setting those options for specific areas rather than globally to have more control.', 'absolute-weaver' ) , 'refresh' ); $typography_sections['typo-links']['options'] = array_merge( $typography_sections['typo-links']['options'], $new_opts ); $new_opts = aweaver_cz_add_link_fonts( 'ibarlink', __( 'Info Bar Links', 'absolute-weaver' ), __( 'Typography for links in Info Bar ( uses Standard Link colors if left inherit ).', 'absolute-weaver' ) ); $typography_sections['typo-links']['options'] = array_merge( $typography_sections['typo-links']['options'], $new_opts ); $new_opts = aweaver_cz_add_link_fonts( 'contentlink', __( 'Content Links', 'absolute-weaver' ), __( 'Typography for links in Content ( uses Standard Link colors if left inherit ).', 'absolute-weaver' ) ); $typography_sections['typo-links']['options'] = array_merge( $typography_sections['typo-links']['options'], $new_opts ); $new_opts = aweaver_cz_add_link_fonts( 'ilink', __( 'Post Meta Info Links', 'absolute-weaver' ), __( 'Typography for links in post meta information top and bottom lines. ( uses Standard Link colors if left inherit ).', 'absolute-weaver' ) ); $typography_sections['typo-links']['options'] = array_merge( $typography_sections['typo-links']['options'], $new_opts ); $new_opts = aweaver_cz_add_link_fonts( 'wlink', __( 'Individual Widget Links', 'absolute-weaver' ), __( 'Typography for links in widgets ( uses Standard Link colors if inherit ).', 'absolute-weaver' ) ); $typography_sections['typo-links']['options'] = array_merge( $typography_sections['typo-links']['options'], $new_opts ); $new_opts = aweaver_cz_add_link_fonts( 'footerlink', __( 'Footer Area Links', 'absolute-weaver' ), __( 'Typography for links in Footer ( Uses Standard Link colors if left inherit ).', 'absolute-weaver' ) ); $typography_sections['typo-links']['options'] = array_merge( $typography_sections['typo-links']['options'], $new_opts ); /** * Site Header */ $typography_sections['typo-header'] = array( 'panel' => $panel, 'title' => esc_html__( 'Header Area', 'absolute-weaver' ), 'options' => array(), ); $new_opts = aweaver_cz_add_fonts( 'header', __( 'Header Area', 'absolute-weaver' ), '', 'postMessage' ); $typography_sections['typo-header']['options'] = array_merge( $typography_sections['typo-header']['options'], $new_opts ); $new_opts = aweaver_cz_add_fonts( 'site_title', __( 'Site Title', 'absolute-weaver' ), '', 'postMessage' ); $typography_sections['typo-header']['options'] = array_merge( $typography_sections['typo-header']['options'], $new_opts ); $new_opts = aweaver_cz_add_fonts( 'tagline', __( 'Site Tagline', 'absolute-weaver' ), '', 'postMessage' ); $typography_sections['typo-header']['options'] = array_merge( $typography_sections['typo-header']['options'], $new_opts ); $new_opts = aweaver_cz_add_fonts( 'header_sb', __( 'Header Widget Area', 'absolute-weaver' ), '', 'postMessage' ); $typography_sections['typo-header']['options'] = array_merge( $typography_sections['typo-header']['options'], $new_opts ); $new_opts = aweaver_cz_add_fonts( 'header_html', __( 'Header HTML', 'absolute-weaver' ), '', 'postMessage' ); $typography_sections['typo-header']['options'] = array_merge( $typography_sections['typo-header']['options'], $new_opts ); /** * Main Menu */ $typography_sections['typo-menus'] = array( 'panel' => $panel, 'title' => esc_html__( 'Menus', 'absolute-weaver' ), 'description' => esc_html__( 'Set typography for Menus.', 'absolute-weaver' ), 'options' => array(), ); $new_opts = aweaver_cz_add_fonts( 'm_primary', __( 'Primary Menu', 'absolute-weaver' ), '', 'postMessage' ); $typography_sections['typo-menus']['options'] = array_merge( $typography_sections['typo-menus']['options'], $new_opts ); $new_opts = aweaver_cz_add_fonts( 'm_header_mini', __( 'Header Mini Menu', 'absolute-weaver' ), '', 'postMessage' ); $typography_sections['typo-menus']['options'] = array_merge( $typography_sections['typo-menus']['options'], $new_opts ); // current page $cur_page = array( 'typo-am-line1' => aweaver_cz_line(), 'typo-allmenus-heading' => aweaver_cz_group_title( __( 'Typography For All Menus', 'absolute-weaver' ), __( 'These options specify current page attributes for all menus.', 'absolute-weaver' ) ), 'menubar_curpage_bold' => array( 'setting' => array(), 'control' => array( 'label' => __( 'Bold Current Page', 'absolute-weaver' ) . AWEAVER_REFRESH_ICON, 'description' => __( 'Bold Face Current Page and ancestors.', 'absolute-weaver' ), 'type' => 'checkbox', ), ), 'menubar_curpage_em' => array( 'setting' => array(), 'control' => array( 'label' => __( 'Italic Current Page', 'absolute-weaver' ) . AWEAVER_REFRESH_ICON, 'description' => __( 'Italic Current Page and ancestors.', 'absolute-weaver' ), 'type' => 'checkbox', ), ), 'menubar_curpage_noancestors' => array( 'setting' => array(), 'control' => array( 'label' => __( 'Do Not Highlight Ancestors', 'absolute-weaver' ) . AWEAVER_REFRESH_ICON, 'description' => __( 'Highlight Current Page only - do not also highlight ancestor items.', 'absolute-weaver' ), 'type' => 'checkbox', ), ), ); $typography_sections['typo-menus']['options'] = array_merge( $typography_sections['typo-menus']['options'], $cur_page ); /** * Info Bar */ $typography_sections['typo-info-bar'] = array( 'panel' => $panel, 'title' => esc_html__( 'Info Bar', 'absolute-weaver' ), 'description' => esc_html__( 'Info Bar with breadcrumbs and paged navigation displayed under Primary Menu.', 'absolute-weaver' ), 'options' => array(// options added below ), ); $new_opts = aweaver_cz_add_fonts( 'info_bar', __( 'Info Bar', 'absolute-weaver' ), '', 'postMessage' ); $typography_sections['typo-info-bar']['options'] = array_merge( $typography_sections['typo-info-bar']['options'], $new_opts ); /** * Content */ $typography_sections['typo-content'] = array( 'panel' => $panel, 'title' => esc_html__( 'Content', 'absolute-weaver' ), 'description' => esc_html__( 'Typography for general page and post content.', 'absolute-weaver' ), 'options' => array(// options added below ), ); $new_opts = aweaver_cz_add_fonts( 'content', __( 'Content Area', 'absolute-weaver' ), '', 'postMessage' ); $typography_sections['typo-content']['options'] = array_merge( $typography_sections['typo-content']['options'], $new_opts ); $new_opts = aweaver_cz_add_fonts( 'page_title', __( 'Page Title', 'absolute-weaver' ), '', 'postMessage' ); $typography_sections['typo-content']['options'] = array_merge( $typography_sections['typo-content']['options'], $new_opts ); $new_opts = aweaver_cz_add_fonts( 'content_h', __( 'Content Headings', 'absolute-weaver' ), __( 'Headings ( <h1>-<h6> ) in page and post content.', 'absolute-weaver' ), 'refresh', 'normal' ); $typography_sections['typo-content']['options'] = array_merge( $typography_sections['typo-content']['options'], $new_opts ); /** * Post Specific */ $typography_sections['typo-post-specific'] = array( 'panel' => $panel, 'title' => esc_html__( 'Post Specific', 'absolute-weaver' ), 'description' => esc_html__( 'Post Specific Typography - override Content Typography.', 'absolute-weaver' ), 'options' => array(), ); $new_opts = aweaver_cz_add_fonts( 'post', __( 'Post Area', 'absolute-weaver' ), '', 'postMessage' ); $typography_sections['typo-post-specific']['options'] = array_merge( $typography_sections['typo-post-specific']['options'], $new_opts ); $new_opts = aweaver_cz_add_fonts( 'post_title', __( 'Post Title', 'absolute-weaver' ), '', 'postMessage' ); $typography_sections['typo-post-specific']['options'] = array_merge( $typography_sections['typo-post-specific']['options'], $new_opts ); $new_opts = aweaver_cz_add_fonts( 'post_info_top', __( 'Top Post Info Line', 'absolute-weaver' ), '', 'postMessage' ); $typography_sections['typo-post-specific']['options'] = array_merge( $typography_sections['typo-post-specific']['options'], $new_opts ); $new_opts = aweaver_cz_add_fonts( 'post_info_bottom', __( 'Bottom Post Info Line', 'absolute-weaver' ), '', 'postMessage' ); $typography_sections['typo-post-specific']['options'] = array_merge( $typography_sections['typo-post-specific']['options'], $new_opts ); /** * Sidebars */ $typography_sections['typo-sidebars'] = array( 'panel' => $panel, 'title' => esc_html__( 'Sidebars', 'absolute-weaver' ), 'description' => esc_html__( 'Main Sidebars and Widget areas. Header and Footer areas options under Header and Footer panels.', 'absolute-weaver' ), 'options' => array(), ); $new_opts = aweaver_cz_add_fonts( 'primary', __( 'Primary Sidebar', 'absolute-weaver' ), '', 'postMessage' ); $typography_sections['typo-sidebars']['options'] = array_merge( $typography_sections['typo-sidebars']['options'], $new_opts ); $new_opts = aweaver_cz_add_fonts( 'secondary', __( 'Secondary Sidebar', 'absolute-weaver' ), '', 'postMessage' ); $typography_sections['typo-sidebars']['options'] = array_merge( $typography_sections['typo-sidebars']['options'], $new_opts ); /** * Widgets */ $typography_sections['typo-widgets'] = array( 'panel' => $panel, 'title' => esc_html__( 'Individual Widgets', 'absolute-weaver' ), 'options' => array(), ); $new_opts = aweaver_cz_add_fonts( 'widget', __( 'Individual Widgets', 'absolute-weaver' ), '', 'postMessage' ); $typography_sections['typo-widgets']['options'] = array_merge( $typography_sections['typo-widgets']['options'], $new_opts ); $new_opts = aweaver_cz_add_fonts( 'widget_title', __( 'Individual Widgets Title', 'absolute-weaver' ), '', 'postMessage' ); $typography_sections['typo-widgets']['options'] = array_merge( $typography_sections['typo-widgets']['options'], $new_opts ); /** * Footer */ $typography_sections['typo-footer'] = array( 'panel' => $panel, 'title' => esc_html__( 'Footer Area', 'absolute-weaver' ), 'options' => array(), ); $new_opts = aweaver_cz_add_fonts( 'footer', __( 'Footer Area', 'absolute-weaver' ), '', 'postMessage' ); $typography_sections['typo-footer']['options'] = array_merge( $typography_sections['typo-footer']['options'], $new_opts ); $new_opts = aweaver_cz_add_fonts( 'footer_sb', __( 'Footer Widget Area', 'absolute-weaver' ), '', 'postMessage' ); $typography_sections['typo-footer']['options'] = array_merge( $typography_sections['typo-footer']['options'], $new_opts ); $new_opts = aweaver_cz_add_fonts( 'footer_html', __( 'Footer HTML', 'absolute-weaver' ), '', 'postMessage' ); $typography_sections['typo-footer']['options'] = array_merge( $typography_sections['typo-footer']['options'], $new_opts ); return $typography_sections; } endif;