This project is not covered by Drupal’s security advisory policy.

Adds the new official Saudi Riyal Symbol ( / Unicode U+20C1) to your Drupal site and makes it render correctly everywhere: in the CKEditor 5 editor and on the front-end, on any theme.

The symbol was introduced in 2025 and most system/web fonts don't yet include the glyph, so it normally shows as a "tofu" box (□). This module bundles the official Saudi Riyal font and renders the sign with it, without touching your theme's own fonts.

Features

  • CKEditor 5 toolbar button to insert the Saudi Riyal Symbol directly while editing.
  • [riyal] token: type [riyal] in any text field (a title/string field or a rich-text body) and it's replaced with the symbol on display. No closing tag needed.
  • Bundled font: ships the official Saudi Riyal font; no external requests or CDN.
  • Theme-agnostic: uses a dedicated .saudi-riyal-sign wrapper and CSS unicode-range, so only the symbol glyph uses the bundled font. Your theme's fonts (including custom fonts) are never overridden. Works with Bootstrap themes and fully custom themes alike.
  • Loads only when needed: the font CSS is attached to a page only when the symbol/token is actually present, so there's no performance cost on pages that don't use it.
  • Works with any field formatter: rich-text fields are handled by a text filter inside the normal text-format pipeline (so it composes correctly with "Trimmed", "Summary", etc.); plain-text fields are handled by a field preprocess hook.

Requirements

  • Drupal 10 / 11
  • Core CKEditor 5 and Filter modules

Installation

Install as you would any contributed module:

composer require drupal/saudi_riyal_symbol
drush en saudi_riyal_symbol

Or download and place in modules/contrib, then enable it from the Drupal admin interface.

Usage

In CKEditor 5: add the "Saudi Riyal Sign" button to your toolbar via Configuration → Content authoring → Text formats and editors, then click it to insert the symbol.

With the token: type [riyal] anywhere in a text field, for example 1,000 [riyal], and it renders as 1,000 ﷼. The token is case-insensitive and tolerates spaces.

Configuration

For the [riyal] token to work in rich-text (formatted) fields, enable the "Render the Saudi Riyal Sign" filter on the relevant text format(s) at Text formats and editors. Place it last in the filter order. Plain-text fields (string fields) need no configuration; they work automatically.

Project information

  • Created by mahdiwadi on , updated
  • shield alertThis project is not covered by the security advisory policy.
    Use at your own risk! It may have publicly disclosed vulnerabilities.

Releases