WP Manifestindependent plugin directory
manifest / i18n / mongolian-vertical-text

Traditional Mongolian Vertical Text

WordPress plugin: display Traditional Mongolian script in correct vertical layout. Gutenberg block + shortcode, preserves FVS/NIRUGU/MVS selectors, bundles Noto Sans Mongolian v3.002 (SIL OFL 1.1).

by qgl2023 · github.com/qgl2023/mongolian-vertical-text · website

0stars
0forks

Install

The author publishes release zips, so WP-CLI can install straight from GitHub:

wp plugin install https://github.com/qgl2023/mongolian-vertical-text/releases/download/v1.0.1/mongolian-vertical-text.zip

Readme

Traditional Mongolian Vertical Text

A WordPress plugin that displays Traditional Mongolian script in correct vertical layout.

Provides a Gutenberg block and a [mongolian_text] shortcode. Automatically enqueues the required CSS. Preserves FVS, NIRUGU, and MVS variation selectors through the entire output chain.

Includes Noto Sans Mongolian v3.002 (SIL OFL 1.1) as the default font — works out of the box with no font configuration required. A custom font URL can be set in Settings to override the default.


Requirements

Requirement Minimum
WordPress 6.0
PHP 8.0
Browser Any modern browser with CSS writing-mode support

Installation

From a zip file

  1. Download the latest release zip from the Releases page.
  2. In WordPress admin → Plugins → Add New → Upload Plugin.
  3. Upload the zip, click Install Now, then Activate.

Manual (for developers)

cd wp-content/plugins/
git clone https://github.com/qgl2023/mongolian-vertical-text.git

The compiled block JS (blocks/mongolian-block/index.js and index.asset.php) are committed to the repository. No build step is required to use the plugin.

To modify the block editor JS:

cd mongolian-vertical-text
npm install
npm run build

Font

Bundled font — Noto Sans Mongolian v3.002

This plugin includes Noto Sans Mongolian v3.002, served from the plugin directory (fonts/NotoSansMongolian-Regular.ttf). No external request is made; no CORS configuration is required for the default font.

Item Value
Font Noto Sans Mongolian Regular
Version 3.002
Source github.com/notofonts/mongolian
Licence SIL Open Font License 1.1 (fonts/OFL.txt)
Copyright © The Noto Project Authors

Note on copyright year: fonts/OFL.txt (extracted from the v3.002 tag) states "Copyright 2022", while the font's internal name table states "Copyright 2023". Both files originate from the same upstream release (notofonts/mongolian@NotoSansMongolian-v3.002); the discrepancy exists in the upstream repository itself and has not been introduced by this plugin.

The OFL 1.1 permits use, embedding, and redistribution in both free and commercial products, provided the licence text is included. The full licence is at fonts/OFL.txt.

Using a different font

To override the bundled font with your own:

  1. Host your .ttf or .woff2 file on an HTTPS server.
  2. Ensure the font server returns Access-Control-Allow-Origin headers that permit your WordPress domain.
  3. In WordPress admin → Settings → Mongolian Text, enter the font URL and save.

When a custom URL is configured, the bundled Noto font is not loaded.

Font roadmap: v1.0 bundles Noto Sans Mongolian v3.002 as the default. If Noto Serif Mongolian ships through an official, stable channel, v1.1 will add it as a second selectable font (Sans stays the default). Details and verification procedure: docs/FONTS.md.


Usage

Gutenberg Block

  1. In the block editor, search for "Mongolian Vertical Text" or find it in the Text category.
  2. Insert the block.
  3. Open the "Mongolian Text" panel in the block sidebar.
  4. Paste your Traditional Mongolian source text into the textarea.
  5. Adjust columns, height, and alignment as needed.

The editor sidebar shows a variation selector audit — a count of FVS1/FVS2/FVS3/NIRUGU/MVS found in the text. If the audit shows zero selectors on a text that contains particles, the source text is likely missing the required Unicode control characters.

Shortcode

[mongolian_text]ᠬᠤᠷᠢᠮ ᠦ᠋ᠨ ᠤᠷᠢᠯᠭ᠎ᠠ[/mongolian_text]

Attributes:

Attribute Default Description
font_size global setting CSS font-size override, e.g. 1.4em
line_height global setting CSS line-height override, e.g. 2
height auto Fixed height, e.g. 200px
columns 1 Number of vertical text columns
align left left | center | right
class Extra CSS class(es) on the wrapper element

Example with attributes:

[mongolian_text font_size="1.4em" height="200px" columns="2" align="center"]
ᠬᠤᠷᠢᠮ ᠦ᠋ᠨ ᠤᠷᠢᠯᠭ᠎ᠠ
[/mongolian_text]

Documentation

  • Website setup & operating guide — how to build a Traditional Mongolian WordPress site and use this plugin, in three languages:

FVS / NIRUGU / MVS — Critical Information

The plugin preserves FVS (U+180B–U+180D), NIRUGU (U+180A), and MVS (U+180E) verbatim. These invisible Unicode control characters are essential for correct Traditional Mongolian glyph shaping.

The plugin does not add or remove them. If a genitive particle displays with the wrong glyph shape, the source text is missing the required FVS1 (U+180B).

Example of correctly authored genitive particle:

ᠦ᠋ᠨ  =  U+1826  U+180B  U+1828
         (ü)    (FVS1)   (n)

A plain text editor that strips invisible characters will destroy these selectors. Use an editor that preserves all Unicode code points, or verify the source in a hex viewer.


CSS Architecture

The plugin adds one CSS class to the page:

.mvt-text {
  writing-mode:   vertical-lr;   /* mandatory — never changed */
  direction:      ltr;
  letter-spacing: 0;
  white-space:    pre-wrap;      /* preserves FVS/NIRUGU/MVS */
  font-synthesis: none;
  /* font-feature-settings intentionally absent */
}

font-feature-settings is not used. Forcing Mongolian shaping features via CSS has been observed to break particle (FVS) display in tested environments.

You can override font-size, line-height, and gap through the settings page or per-block/shortcode attributes. Do not override writing-mode in your theme CSS.


Theme Compatibility

If your theme CSS sets writing-mode on *, p, span, or similar selectors, it may conflict with this plugin. Add the following to your theme's style.css or custom CSS panel:

.mvt-text {
  writing-mode: vertical-lr !important;
  direction:    ltr !important;
}

Licence

GPL-2.0-or-later. See LICENSE.

The bundled Noto Sans Mongolian font is licensed under the SIL Open Font License 1.1. See fonts/OFL.txt for the full licence text. If you configure a custom font URL, that font's licence is your responsibility.

Read the full README on GitHub →

Releases

TagPublishedAssetDownloads
v1.0.1 Sep 9, 2026 mongolian-vertical-text.zip 0