Font Ligature Toggle
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
Font Ligature Toggle gives you full control over how fonts render on any webpage by toggling five types of ligatures: standard (fi, fl, ff), contextual (ct, st, ft), discretionary (Th, Qu, Wh), historical forms (long s, ſ), and stylistic sets (alternative glyph shapes). Using the CSS font-feature-settings property, the script injects styles that enable or disable these typographic features in real-time. A panel overlay provides toggle switches for each ligature type, so you can instantly see the effect on the page. A live preview shows example text with your current ligature settings, helping you understand what each type does. You can also view the exact CSS being applied, making it useful for developers debugging font rendering. Preferences are saved per-site, so you can have different ligature settings for news sites vs. coding documentation.
WHERE IT RUNS
This script runs on any webpage, applying CSS overrides to control font rendering. It operates entirely within your browser tab, injecting a style element into the page's head. The script cannot access other tabs, your browsing history, bookmarks, downloads, or any data outside the current page. All settings—including ligature toggles, per-site override, auto-apply preference, and include/exclude code blocks—are stored locally using GM_setValue and never transmitted anywhere.
HOW TO USE
After installing with the BotGentz extension, the script automatically applies your default ligature settings to every page you visit (if auto-apply is enabled). The panel shows toggle switches for each ligature type—flip any switch to see changes instantly across the entire page. The preview section displays example text rendered with your current settings, so you can compare before and after without leaving the panel. Use the "Copy CSS" button to copy the generated CSS to your clipboard for use in your own stylesheets. Toggle "Per-site Override" to save different settings for each domain—for example, keep ligatures enabled on reading sites and disabled on code documentation. Use "Include Code Blocks" and "Include Preformatted Text" to control whether ligatures apply to code elements. Click "Disable All Ligatures" to turn everything off, or "Reset to Defaults" to restore standard settings.
THE REAL MECHANISM
The script injects a style element into the page's head containing CSS rules that target all elements using the font-feature-settings property. For each enabled ligature type, the script appends the corresponding OpenType feature tag to a comma-separated list: "liga" for standard ligatures, "calt" for contextual alternates, "dlig" for discretionary ligatures, "hist" for historical forms, and "ss01" for stylistic sets. If no ligatures are enabled, the script generates rules that explicitly turn off all supported features (e.g., "liga" 0, "calt" 0) to ensure consistent behavior across browsers. The !important flag overrides any existing font-feature-settings from page styles. For code blocks and preformatted text, the script can optionally exclude these elements by adding additional CSS rules that reset font-feature-settings to normal. Preferences are stored per-site using GM_setValue with a domain-specific key, allowing independent configurations across different websites. The real-time preview creates a separate element with the same font-feature-settings applied, demonstrating the effect on a controlled sample.
THE PANEL
The Font Ligature Toggle panel is a BGPanel component that you can drag anywhere on your screen by its header. It snaps to the nearest edge when released, keeping your workspace organized. The panel collapses to a small bubble showing only the emoji icon when minimised—click to expand it again. You can resize the panel horizontally to see more of the preview text and settings. Press the Escape key to collapse the panel instantly. Your panel position and size are saved per-site.
PLEASE NOTE
This script requires the free BotGentz browser extension to function. Ligature support depends on the font being used on the page—not all fonts include all ligature types. The script enables the feature in the browser, but the font must have the corresponding OpenType tables for the ligatures to render. Some web fonts may not support all ligature types, resulting in no visible change when toggling certain options. The script uses the !important flag to override page styles, which may cause conflicts with other font-feature-settings rules. The script never reads or writes password fields, hidden inputs, or file inputs. It stores only your ligature preferences, per-site override setting, auto-apply preference, and code/preformatted inclusion preferences locally. No page content, font data, or personal information is ever collected, transmitted, or shared.