Typography Stylist Icon

Typography Stylist

By matthewneilcowan

Active Installs

10+

Last Updated

October 26, 2026

First Released

January 25, 2026

Download History (Last one month)


Contributors

Some of your fonts’ best work is hidden.

Professional fonts often contain swashes, stylistic sets, ligatures, and alternate characters. Without a tool, you must type these characters by hand inside inline spans. This is slow, mistakes are easy, and the result can be difficult for screen readers. Typography Stylist adds controls for these features to the block editor, and it keeps the text accessible.

If you set type in professional design tools, you know what these fonts can do. Typography Stylist brings that control to WordPress. You decide how your type looks, down to a single character. Pick the alternate you want for one letter. Set a variable font to weight 435. Save the result as a paragraph style for the rest of the site, and later update the style everywhere at one time. Typography Stylist also manages your fonts: upload webfont kits, connect Adobe Fonts, or use fonts from the WordPress Font Library.

Glyphs Panel

The Glyphs Panel shows every character in a font, like the Glyphs panel in Adobe Illustrator.

  • Search by character, by codepoint (U+XXXX), or by glyph name.
  • Filter by OpenType feature (this includes the stylistic sets) or by Unicode block.
  • Select a letter in your text to see all of its alternates. Click an alternate to put it in place of the letter.
  • Click any glyph to insert it into your text.
  • Move through the grid with the keyboard. Screen readers announce each glyph.

The panel reads the font in your browser, and it reads only the font’s metadata. It does not extract glyph outlines, and it does not store font data on your server.

Paragraph Styles

A paragraph style is a named set of typography settings, like a paragraph style in Adobe InDesign. Save a style one time, then apply it to text in any heading, paragraph, or Typography Stylist block.

  • A style holds the font, weight, italic, case (All Caps, Small Caps and others), size, letter spacing, line height, OpenType features, variable font axes, and the First Letter Hang. Fit-to-width sizes can also go into a style.
  • “Browse styles…” shows each style in its own typeface, with your selected words as the sample text. You can search the list, and group it by font family, by size mode, or by recent use.
  • Each style is one CSS class. Change a style and click “Update Style”. All text that uses the style then changes.
  • A style can be based on another style, like “Based On” in InDesign. It uses that style’s value for every setting it does not set itself, so one change to a “Body” style also changes “Caption” and the other styles based on it.
  • If the selected text already has its own settings, the editor asks before the style replaces them.
  • “Detach Style” changes styled text back to independent settings.
  • In a core Paragraph or Heading block, a style can apply to the whole block. Use the Paragraph Style panel in the block sidebar, or the toolbar button with no text selected. The block’s own sidebar settings override the style, and the theme’s block styles (such as “Outline”) keep working.
  • Edit, rename and delete styles on the Paragraph Styles tab in Settings Typography Stylist. Edit changes every setting of a style: font, weight, font style, size, spacing, line height, First Letter Hang, case, OpenType features and variable font axes, and the style it is based on. Every post that uses the style shows the change.

Granular typography control

Set the typography of a whole block, or of one word or one letter in it.

  • OpenType features: Ligatures, swashes, stylistic sets ss01–ss20, small capitals, figure styles, and more. The full list is below.
  • Variable fonts: The plugin reads the axes from the font file, and each axis gets a slider. You can set a weight of 435, not only 400 or 700. Custom axes also get sliders.
  • Size: The text can keep the size it inherits, use a responsive size (a CSS clamp() between a minimum and a maximum), or use fit-to-width.
  • Fit-to-width: Each line of a Typography Stylist block fills the width of the block, as on a poster or a wedding invitation. In a fitted line, you can make one glyph smaller or move it up or down, and the line still fills the width.
  • Spacing and style: You can set the letter spacing, line height, weight, and italic.

Your site’s front end gets CSS only. The plugin adds no JavaScript to your pages.

Two ways to style text

  1. In a heading, paragraph, or other text block. Select the text, then click “Typography Stylist Features” (a swash “T”) in the block toolbar. Use this for whole words and phrases. Changes apply at once.
  2. In a Typography Stylist block. Use this block for letter-by-letter work. Set the options for the whole block in the sidebar. Select text in the block to change only that text.

Two settings in Settings Typography Stylist Options add a Glyphs button and a Paragraph Styles button to the block toolbar. Both settings are off by default.

Accessibility

A style on part of a word puts the letters in separate elements. Some screen readers then read the word in pieces, or skip it. The Typography Stylist block prevents this. It writes two copies of your text:

  • A plain heading for screen readers. It is hidden from view, and it keeps the document outline correct.
  • A styled copy for the screen, with aria-hidden="true".

If you style part of a word in a heading or paragraph block, a notice tells you about the risk. The notice has a button that converts the block to a Typography Stylist block. Your change applies whether you convert or not. You can turn the notice off in Settings Typography Stylist Accessibility.

The editor panels work with the keyboard and with screen readers.

Fonts

Use fonts from these sources:

  • Webfont kits from MyFonts, Font Squirrel, and other providers. A ZIP with only font files also works. The plugin makes the @font-face CSS for you.
  • Adobe Fonts projects.
  • Fonts that your theme, another plugin, or a CDN already loads.
  • Fonts in the WordPress Font Library (WordPress 6.5+). You can also add your uploaded fonts to the Font Library, and remove them again.

By default, a font loads only on the pages that use it. This includes blog, category, and tag archives. When you delete a font, you can choose a replacement font, and content that used the deleted font shows the replacement.

Supported OpenType Features

Ligatures:
* Standard Ligatures (liga)
* Discretionary Ligatures (dlig)
* Contextual Alternates (calt)
* Contextual Ligatures (clig)
* Historical Ligatures (hlig)

Stylistic Sets:
* ss01 through ss20

Swashes & Alternates:
* Swashes (swsh)
* Contextual Swashes (cswh)
* Stylistic Alternates (salt)
* Titling (titl)
* Historical Forms (hist)

Decorative:
* Ornaments (ornm)

Numerals & Figures:
* Proportional Figures (pnum)
* Tabular Figures (tnum)
* Lining Figures (lnum)
* Oldstyle Figures (onum)
* Fractions (frac)
* Slashed Zero (zero)

Capitals & Case:
* Small Capitals (smcp)
* Capitals to Small Caps (c2sc)
* Petite Capitals (pcap)
* Case-Sensitive Forms (case)

Positional Forms:
* Initial Forms (init)
* Medial Forms (medi)
* Terminal Forms (fina)
* Isolated Forms (isol)

Superscript & Ordinals:
* Superscript (sups)
* Subscript (subs)
* Ordinals (ordn)

Other Features:
* Kerning (kern)
* Localized Forms (locl)
* Randomize (rand)

Recommended Fonts

The OpenType features work only with fonts that contain them. Many script fonts and professional typefaces do. Some examples:

  • Script fonts by Alejandro Paul, such as Inglesa and Gratitude Script (with the wonderful Kathy Milici)
  • Bookmania by Mark Simonson
  • Orpheus, designed by Kevin King, Patrick Griffin, and Walter Tiemann, from Canada Type
  • Elaina and other fonts by Laura Worthington
  • Liza from Underware
  • Memoriam by Patrick Griffin
  • ITC Avant Garde, designed by André Gürtler, Christian Mengelt, Ed Benguiat, Erich Gschwind, Herb Lubalin, and others, from Monotype

To see which features a font has, read its specimen or open the font in the Glyphs Panel.

Bundled Third-Party Libraries

The Glyphs Panel reads font files in the browser with two open-source libraries. They are bundled unmodified in glyphs-panel/assets/js/vendor/. They load only when you open the Glyphs Panel, and they run in the browser. No font data goes to a server.

  • opentype.js v1.3.4: reads TTF, OTF, and WOFF font files. MIT License. Source: https://github.com/opentypejs/opentype.js
  • wawoff2: decompresses WOFF2 font files (a WebAssembly build of Google’s woff2). MIT License. Source: https://github.com/fontello/wawoff2

See BUILD.txt for build and source details.

Source, Docs & Support

If you like the plugin, a short review helps other type lovers find it.

Technical Details

Data Storage

The plugin keeps the typography of your text in the post content, as inline styles and data attributes. It keeps fonts, paragraph styles, and settings in the WordPress options table. The plugin adds no database tables. Uploaded font files go in wp-content/uploads/typography-stylist/fonts/.

Extensibility

Developers can extend the plugin with WordPress hooks and filters. HOOKS.md on GitHub has the full reference, with examples. The REST API endpoints are at /wp-json/typost/v1/.

Source Code

The plugin contains its compiled and minified files, and also their source code. WordPress.org requires this for security and transparency.

Minified and compiled files:

  • Each assets/js/*.min.js file has its source file in assets/js/.
  • Each assets/css/*.min.css file has its source file in assets/css/.
  • The files in blocks/typography-stylist/build/ are compiled from the source files in blocks/typography-stylist/.

Credits

Developed by Matthew Cowan.

Special thanks to my wife for her support and inspiration, and to my dog, Sugar, for taking long walks with me between adding features.

  1. Upload the plugin files to /wp-content/plugins/typography-stylist, or install the plugin from the Plugins screen.
  2. Activate the plugin on the Plugins screen.
  3. Go to Settings Typography Stylist to add your fonts and set the options.
  4. Open a post in the block editor.
  5. Select text in a heading, then click “Typography Stylist Features” in the block toolbar.

Do I need special fonts?

For OpenType features such as stylistic sets and swashes, the font must contain them. Many professional typefaces do. Many free fonts have few features or none. Letter spacing, line height, size, and weight work with any font. If a font does not have a feature, the feature has no effect.

Does this work with Google Fonts?

Yes. Some Google Fonts have OpenType features. Read the font’s specimen page to see which ones.

Can I use my own web fonts?

Yes. You can add fonts in four ways:

  1. Upload a webfont kit from MyFonts, Font Squirrel, or a different provider on the Custom Fonts tab.
  2. Connect Adobe Fonts (Typekit). Paste the embed code of your project.
  3. Define a custom font that your theme, a different plugin, or a CDN (such as Google Fonts) loads. The font then shows in the editor’s font list.
  4. Use a WordPress Font Library font (WordPress 6.5+) from the editor’s font list.

The plugin can also apply OpenType features to a font that your site already loads, without a selection in the font list. The previews on the settings page work only for fonts that you upload or connect through the plugin.

How do I upload a font?

  1. Go to Settings Typography Stylist Custom Fonts.
  2. Open “Add Font”, then open “Upload Font Kit”.
  3. Click “Choose ZIP File” and select your webfont kit ZIP.
  4. Click “Upload Font Kit”. The plugin reads the font names from the kit.

Kits from MyFonts and Font Squirrel, and font downloads from Google Fonts, all work. The ZIP does not need a stylesheet. If the ZIP has only font files, the plugin reads the metadata of each font and makes the @font-face CSS. For a variable font, the CSS includes the weight range. The server cannot read WOFF2 metadata. For a ZIP with only WOFF2 files, the plugin gets the family and the weight from the file names, and a warning asks you to check them.

The plugin also finds the weights that each font has, and checks only those weights in “Available Font Weights”. You can change the checkboxes at any time.

How do I add Adobe Fonts?

  1. Go to Settings Typography Stylist Custom Fonts.
  2. Open “Add Font”, then open “Add Adobe Fonts Project”.
  3. Paste the embed code of your Adobe Fonts project (the <link> tag) into “Adobe Fonts Embed Code”. The older <script> embed code also works.
  4. In “Font Family Names”, enter the font family names from your project, with commas between them. This field is necessary.
  5. Click “Add Adobe Fonts Project”.

Make sure that your domain is authorized in your Adobe Fonts project settings. The fonts load from Adobe’s servers.

How do I use a font that my theme already loads?

  1. Go to Settings Typography Stylist Custom Fonts.
  2. Open “Add Font”, then open “Add Custom Font Definition”.
  3. In “Font Name”, enter a display name for the font.
  4. In “CSS Font Family”, enter the exact CSS font-family value, for example 'Playfair Display', serif. You can include fallback fonts in this value.
  5. Click “Add Custom Font”.

The font shows in the block editor’s font list. The plugin does not load the font. The settings page cannot preview features for it.

Can I set fallback fonts?

Yes. Click the name of a font on the Custom Fonts tab to open its settings. Enter the fallback fonts in “Fallback Fonts (optional)”, with commas between them. The browser uses them if the main font does not load. Content refers to a font through a CSS variable, so the change applies to existing content too.

What happens to my content if I delete a font?

When you delete a font, you can choose a replacement font. Content that used the deleted font then shows the replacement. You can manage these replacements on the Replacement Fonts tab. Use this when you change fonts for a rebrand.

How do paragraph styles work?

  1. Set the typography of some text in either editor.
  2. Click “Save Current Settings as Style” and give the style a name.
  3. Select other text.
  4. To apply the style in a heading or paragraph, click “Browse styles…” and pick the style. In a Typography Stylist block, pick the style from the Paragraph Style list.

To style a whole Paragraph or Heading block, open Paragraph Style in the block sidebar and click “Browse styles…”. The style goes into the block’s “Additional CSS class(es)” field as typost-styled typost-ps-N. Do not remove those two classes by hand; use “Detach Style” instead.

To change a style everywhere, change the settings on text that uses the style and click “Update Style”. The style browser shows 24 styles at a time. A button under the list shows the next styles.

To base a style on another style, click “Edit” on the style in Settings Typography Stylist Paragraph Styles and choose a style in “Based on”. The style then uses that style’s value for every setting it does not set itself, and follows later changes to it. The card marks each value as “Inherited” or “Override”, and “Reset to Base” in the Edit form removes all overrides. When you delete a style, the styles based on it keep their look.

Is this plugin accessible?

Yes. See the Accessibility section in the description for the two-copy pattern and the word-boundary notice. Settings Typography Stylist Accessibility has these options:

  • Disable Word Boundary Warning: Turns off the notice about styles on part of a word.

Each Typography Stylist block also has an Accessibility panel in its sidebar. There, choose the class that hides the plain heading: visually-hidden, sr-only, screen-reader-text, or your own class.

Does the hidden heading cause a duplicate content problem for SEO?

No. Google’s spam policies name “text that’s only accessible to screen readers and is intended to improve the experience for those using screen readers” as hidden text that does not break their rules. The hidden heading and the styled copy contain the same text.

Should I style text in a heading block or use the Typography Stylist block?

  • Use a heading or paragraph block to style whole words or phrases.
  • Use a Typography Stylist block for letter-by-letter work, fit-to-width lines, or the most control over accessibility.

What file types can I upload?

A ZIP file that contains:

  • Font files: WOFF, WOFF2, TTF, OTF, or EOT.
  • Optional: a CSS file with @font-face rules. The plugin uses it as it is.

Is font upload secure?

The upload has these protections:

  • File type validation
  • Safe ZIP extraction, with protection against path traversal
  • CSS sanitization
  • A 10 MB size limit for the ZIP, and 1 MB for a CSS file
  • Storage in a directory with .htaccess protection

Does this work with page builders?

The plugin is for the WordPress block editor. It works in a page builder only if the page builder uses block editor rich text.

Will this slow down my site?

The front end gets CSS only, with no JavaScript. A font loads only on the pages that use it. Font file size is the main cost, as with any web font. The JavaScript loads only in the block editor.

How do I know which features my font supports?

Open the font in the Glyphs Panel. It lists the OpenType features that the font contains, and shows every glyph for each feature. You can also read the font’s documentation.

Do variable fonts work?

Yes. When you upload a variable font, the plugin reads its axes from the font file: weight, width, slant, optical size, and any custom axis. Each axis gets a slider in both editors, and the output is standard font-variation-settings CSS. The server reads TTF and OTF files. For a kit with only WOFF2 files, click “Detect Axes from Font File” in the font’s settings to read the axes in your browser. You can also enter the axes by hand.

What does “register in the WordPress Font Library” do?

On WordPress 6.5+, the plugin adds new uploaded fonts to the WordPress Font Library automatically. You can turn this off in Options. To add older fonts, use the Custom Fonts tab, one font at a time or all together. WordPress can then use them like any Library font. In WordPress 7.1, the Font Library is at Appearance Fonts. In earlier versions, open it from the Site Editor, in Styles Typography. The font files stay where they are, and your existing content does not change. You can remove a font from the Library again. Adobe Fonts and custom font definitions stay in the plugin, because Adobe fonts load from Adobe’s servers.

Where can I get beta versions or report bugs?

Beta builds are pre-releases on the GitHub Releases page. Download the attached ZIP and install it from Plugins Add New Upload. Report bugs on the GitHub issue tracker or on the WordPress.org support forum.

Changelog

2.3.4

  • New: edit every setting of a paragraph style on the Paragraph Styles tab. Edit on a style card opens a form with the font, weight, font style, size, letter spacing, line height, First Letter Hang, case, OpenType features, and variable font axes. Save changes the style on every post that uses it.
  • New: a paragraph style can be based on another style, as with “Based On” in Adobe InDesign. The style uses the values of the other style for each setting that it does not set itself, and follows later changes to that style. “Reset to Base” removes the settings of the style itself, and tells you when the Edit form has changes that are not saved.
  • Fixed: with text selected, the Paragraph Style panel in the Quick Feature Toggles applied a style to the whole Typography Stylist block. It now works on the selected text only, and “Detach Style” on selected text keeps the look of the style.
  • Fixed: fonts that the plugin registered in the WordPress Font Library had no family name in the Library. When an administrator opens the dashboard after the update, the plugin repairs these fonts one time.
  • Fixed: on the settings page, some messages showed HTML codes instead of apostrophes and quotation marks, and some parts used the site language instead of your profile language.
  • Improved: the Edit and Delete buttons on each Paragraph Styles card include the name of the style for screen readers.
  • Before you go back to an earlier version, choose “None” in “Based on” for each style that is based on another style. Earlier versions show such a style with only its own settings.
  • Full details are in changelog.txt.

2.3.3

  • New: a Case setting in the Typography Stylist block, in the inline format panel, and in paragraph styles. Choose All Caps, Lowercase, Title Case, Small Caps, All Small Caps, or Normal to remove a case the theme sets. The text keeps the case you typed. Only the look changes.
  • New: paragraph styles on whole core Paragraph and Heading blocks. Use the Paragraph Style panel in the block sidebar, or the Paragraph Styles toolbar button with no text selected. The block’s own sidebar settings override the style, and the theme’s block styles (such as “Outline”) keep working.
  • Fixed: Authors and Contributors lost OpenType features, variable font axes, and small caps when they saved a post. On WordPress 7.0.1 and later, all of them are kept. On earlier versions, only small caps are kept.
  • Fixed: paragraph styles used the font and weight of the theme as if you had set them. A style showed “(modified)” at once, and “Detach Style” and “Save Current Settings as Style” stored the font of the theme. “Detach Style” in the inline format panel now also keeps the weight of the style.
  • Fixed: italic text lost its italic in the inline format panel after the post was reloaded.
  • Fixed: a toolbar button in the inline format, such as Glyphs or Paragraph Styles, read the settings that the format panel last showed, not the settings of the selected text.
  • Full details are in changelog.txt.

2.3.2

  • Improved: new font sizes follow the default font size of the reader. New blocks, new inline sizes and new paragraph styles write their sizes in rem. You still enter sizes in px. Content saved before keeps px and looks the same.
  • Improved: new font sizes grow with browser zoom. At 500% zoom, a new responsive size is at least two times its size at 100%. A note under the size sliders tells you when a size grows more slowly than set. New fit-to-width lines of two or more words also grow and wrap when a reader zooms in.
  • New: Options setting to write new font sizes in px. Use it when the theme changes the root font size. With this setting on, new sizes do not grow with browser zoom.
  • New: First Letter Hang in the Typography Stylist block. A swash capital can hang into the margin, while the main shape of the letter aligns with the text edge. A paragraph style keeps the value.
  • Removed: the “Inline Format: Add aria-label Attributes” setting. NVDA ignores the label, and the label made NVDA read a styled part of a word in pieces.
  • Improved: all plugin REST API write requests share one limit of 50 a minute for each user. Before, most write routes had no limit.
  • Fixed: fit-to-width blocks. A block with no font of its own was too wide for its column. A block in a theme that makes the content area only as wide as its content had a width of 0.
  • Fixed: a fixed inline font size showed at the size of the sliders, for example 64 from a paragraph style showed at 32px. The font size menu now shows “Fixed” and the size.
  • Fixed: presets, glyphs and the settings page. A preset that names a font now applies that font. A glyph from the Glyphs panel gets the weight of the text around it. About 250 strings that had no French or Spanish translation are translated.
  • Full details are in changelog.txt.

2.3.1

  • NEW: the Paragraph Styles tab shows a preview of each style. Each card shows sample text in the style’s own font, weight, spacing and OpenType features, and says when a style’s font was deleted and replaced.
  • Improved: the settings page loads only the fonts it shows. Fonts load only for the open tab, and on the Custom Fonts tab only when a card comes into view. On a test site with 148 fonts, the Custom Fonts tab went from 133 font downloads to 12, and the page HTML from 5.97 MB to 1.84 MB.
  • Improved: the block editor loads only the Adobe Fonts kits that the post uses. Another kit loads when you use or preview its font. On a test site with 77 kits, opening a post went from 154 kit requests to 9.
  • Improved: a single post or page prints CSS only for the paragraph styles it uses. Archive pages, the blog page and search results still print every style, so posts that a “load more” button adds keep their styles. The block editor still gets every style.
  • Fixed: translations did not load on WordPress 5.8 to 6.4. The French and Spanish files had a format error that earlier versions rejected.
  • Fixed: French used the plural form for zero.
  • Fixed: a fixed font size showed in the editor but not on the page. The Typography Stylist block now saves the size. For a block saved before this fix, edit any block in the post and save the post.
  • Fixed: the weight checkboxes came back for variable fonts after you saved, added or deleted a font, and the settings page printed its data two times.
  • Developers: the new typost_force_enqueue_paragraph_style_ids filter prints the CSS and loads the fonts of the styles you name on every page. See HOOKS.md.
  • Full details are in changelog.txt.

2.3.0

  • NEW: Paragraph Styles are built in. Save the current typography as a named style and apply it anywhere. Styled text renders through a shared CSS class, so “Update Style” changes every use at once. Fit-to-width blocks save as styles too.
  • NEW: a visual style browser. “Browse styles…” in the inline editor (and an optional block toolbar button) shows every style rendered in its own typeface, with your selected words as the sample. Search, group by font family, size mode or recently used, and move through the list with the keyboard.
  • NEW: optional Glyphs and Paragraph Styles buttons in the block toolbar, and a choice of what Enter does in a Typography Stylist block. All three settings are in Options. The toolbar buttons are off by default, and Enter keeps its line-break behavior until you change it.
  • Improved: the settings page updates in place. Uploading, adding, editing, deleting and registering fonts, and every settings form, no longer reload the page. Buttons keep keyboard focus while a request runs.
  • Improved: the font menus are searchable. Type any part of a font name to narrow the list, in the sidebar, the Quick Feature Toggles and the inline editor.
  • Improved: screen-reader and keyboard use of the editor panels. Dialog names are read first, every control is named, the panels have fewer Tab stops, focus stays inside an open panel, and contrast meets WCAG AA.
  • Fixed: styled text kept the wrong weight or font. A feature toggle no longer makes a bold heading light; text styled only by the theme keeps its weight; a Font Library font that is installed but not activated now prints its @font-face; a font installed in the Library appears in the pickers on the next editor load.
  • Fixed: conversion, nesting and sizing in the editors. “Convert to Typography Stylist Block” keeps the selection’s styling on the selection only; the block reports when styling cannot nest deeper; the inline editor warns when responsive sizes are out of order; “Responsive (fluid)” applies at once in the Quick Feature Toggles.
  • Fixed: the Glyphs Panel swapped or duplicated the wrong glyph, opened on the wrong font for theme-styled text, and refused U+XXXX input.
  • Fixed: paragraph styles dropped italic, went stale after in-session saves, lost to theme heading CSS, and did not load fonts for class-only content.
  • Full details are in changelog.txt.

2.2.3

  • NEW: Relative size and vertical shift for selected text in Fit-to-width blocks. Select part of a fitted line — a single glyph like the ampersand in “April & Andy” — and scale it down relative to the line’s fitted size or nudge it up and down. Because the adjustments are relative, the line still fills the block width exactly at every screen size, and the frontend stays zero-JavaScript. The two new sliders appear in the Quick Feature Toggles when the block uses Fit to width sizing.
  • Full details are in changelog.txt.

2.2.2

  • NEW: Fit-to-width sizing. A third font-size mode on the Typography Stylist block: each line is sized so its text spans the full block width — the classic wedding-invitation/poster look where a short line renders huge and a long line smaller, all flush to the same width. Editing is fully WYSIWYG: every line renders at its true fitted size while you type and style selections. Lines are measured with their real fonts, features, and letter spacing; the frontend stays zero-JavaScript (CSS container queries), with an optional maximum-size cap and a responsive fallback for older browsers. Existing blocks are untouched.
  • Fixed: variable-font axis sliders in the Quick Feature Toggles now change only the selected text instead of restyling the whole block (the sidebar sliders intentionally remain block-level), and an axis change no longer leaks into other Typography Stylist blocks on the page. The sliders also now read their starting values from your selection correctly in the iframed editor.
  • Fixed: fonts registered in the WP Font Library keep their webfont on the frontend. Registered-but-unactivated fonts previously fell back to a local or system font on the frontend while the editor looked correct; the plugin now prints its own @font-face whenever WordPress won’t.
  • Full details are in changelog.txt.

2.2.1

  • Fixed: fonts uploaded together in one ZIP no longer share each other’s variable-font axes. Axis detection scanned the whole kit directory, so every family in a multi-font ZIP inherited the axes of whichever file parsed first — Fraunces lost its optical size, SOFT, and WONK sliders when uploaded alongside a weight-only font, and non-variable fonts in the same ZIP gained a phantom weight slider. Detection is now scoped to each family’s own font files. Fonts uploaded on their own were never affected.
  • Improved: “Detect Axes from Font File” repairs fonts in place. Use it on any font whose axes were mis-detected before this fix. It now falls back to reading the font on the server when the browser can’t, so it works either way. It also states plainly that it replaces every axis row and discards hand-set values, and asks for confirmation before overwriting axes you have already defined — nothing is stored until you save.
  • Changed: variable-font axis sliders now sit directly beneath the weight control in the inline editor and Quick Feature Toggles, matching the block sidebar.
  • Full details are in changelog.txt.

2.2.0

  • NEW: Font Style (visual italic) controls on all three editing surfaces — block-level, Quick Feature Toggles, and the inline editor. Deliberately style-only: it selects the font’s italic face without adding emphasis semantics; the editor’s own Italic button remains the way to emphasize text for screen readers.
  • Italic-aware previews and Glyphs Panel — feature previews render with the italic face when the selection is italic, and the Glyphs Panel now loads and displays the face variant actually rendering at your selection (no toggle; the selection decides). Italic-only glyph sets like EB Garamond’s swash italic capitals are finally browsable.
  • Glyphs Panel opens to your selection — a selected letter pre-fills the alternates view; short combinations (“Th”) show their exact ligature alternates.
  • A large editor-robustness batch: Quick Feature Toggle changes always land on the selected text; mixed-selection edits change only the setting you touched; converting a styled heading to a Typography Stylist block preserves every span; glyph alternates survive font and feature changes; variable-font axis sliders no longer alter untouched axes (and the QFT weight slider works); font changes clear stale axis values; multi-span font changes actually take effect; quote-bearing attribute values survive span splits; the span-nesting limit is enforced everywhere.
  • Full details for every fix are in changelog.txt.

2.1.2

  • Automatic font-weight detection — newly added fonts (uploaded kits, Adobe Fonts, and Library fonts adopted in the editor) get their “Available Font Weights” pre-set to only the weights they actually ship, instead of all nine being enabled by default. A one-click “Auto-detect weights for existing fonts” button on the Custom Fonts tab covers fonts added before this release. Detection never narrows unless it is confident, and the checkboxes stay fully editable.
  • Fixed: variable fonts uploaded as font-only ZIPs now glyph-browse correctly in the Glyphs Panel (the generated format('truetype-variations') hint was not recognized by the panel’s file picker).

2.1.1

  • Packaging: re-release of the 2.1.0 feature set under a fresh version number. The 2.1.0 tag’s downloadable ZIP was cached against stale contents and never delivered the new files (Variable Fonts core integration, font metadata/sources modules, WordPress Font Library integration); 2.1.1 ships them correctly. See the 2.1.0 entry below for the full list of changes included in this release.

2.1.0

  • WordPress Font Library integration (WP 6.5+) — register uploaded fonts into the Font Library, per font or in bulk (opt-in and fully reversible), and use Library fonts straight from the editor font pickers. Existing content keeps rendering no matter what.
  • Variable font support — automatic axis detection on upload, a “Detect Axes from Font File” button, per-font axis configuration, and axis sliders in both editors.
  • Font-only ZIP uploads — kits containing just font files (e.g. a Google Fonts download) are now accepted; the @font-face stylesheet is generated automatically from the fonts’ metadata.
  • New typost_force_enqueue_font_ids filter — themes and extensions can force specific fonts to load on every page.
  • Plus many fixes and improvements across the Glyphs Panel, variable fonts, editor font loading, and admin accessibility (including a WCAG color-contrast audit of all admin color schemes) — the complete list is in changelog.txt.

2.0.1

  • Fixed: Mixed-content blocking of locally-hosted fonts in the Glyphs Panel — same-host http:// font file URLs are now upgraded to https:// before fetching, so fonts whose stored kit CSS contains absolute insecure URLs load correctly on HTTPS sites (cross-origin URLs are left untouched)

Older releases are documented in changelog.txt (bundled with the plugin) and on the GitHub Releases page.

Available Versions

Version Download Type
2.3.4 Download Stable
2.3.3 Download Stable
2.3.2 Download Stable
2.3.1 Download Stable
2.3.0 Download Stable
2.2.3 Download Stable
2.2.2 Download Stable
2.2.1 Download Stable
2.2.0 Download Stable
2.1.2 Download Stable
2.1.1 Download Stable
2.0.1 Download Stable
2.0.0 Download Stable
1.2.2 Download Stable
1.2.1 Download Stable
1.2.0 Download Stable
1.1.9 Download Stable
1.1.8 Download Stable
1.1.7 Download Stable
1.1.6 Download Stable
1.1.5 Download Stable
1.1.4 Download Stable
1.1.3 Download Stable
Development Download Trunk

Plugin Info

  • Version: 2.3.4
  • Last Updated: October 26, 2026
  • Active Installs: 10+
  • WordPress Version: 5.8 or higher
  • Tested up to: 7.1.3
  • PHP Version: 7.4 or higher
  • Tags:    
    glyphs ligatures opentype typography variable-fonts

Ratings


0.0 out of 5 stars. (0 reviews)

See all reviews
Scroll to Top