MyVOLT is a browser-based tool designed to help font developers and linguists work with Myanmar script and related Southeast Asian scripts. It provides a visual glyph panel and a VOLT-style rule builder for creating OpenType font features.
Note: MyVOLT works best with fonts that support Myanmar script, such as Ayar, Myanmar Text, Padauk or Noto Sans Myanmar.
MyVOLT is an interactive workbench for mapping glyphs, building substitution/encoding rules, and validating output against your font. You can define a glyph set, drag chips into rule inputs/outputs, preview changes, and export everything for downstream tooling.
Key concepts:
Glyph set is your working alphabet (e.g., uni1000 uni1001 …).
VOLT (Visual OpenType Layout Tool) is a Microsoft tool for creating and editing OpenType layout features. MyVOLT brings similar functionality to the browser with a focus on Myanmar script.
OpenType Features
OpenType features are sets of rules that tell the font how to substitute or position glyphs in specific contexts. Common features for Myanmar script include:
Feature
Purpose
Example
locl
Localized forms
Language-specific glyph variants
ccmp
Glyph composition
Component decomposition/composition
rphf
Reph form
Positioning of reph marker
Getting Started
To begin using MyVOLT:
Enter your Project name and paste your Glyph set (space-separated glyph names).
Click Check Glyphs to see which names exist in your font.
Press ➕ Add Rule to open the modal. Drag chips into Before / Input / After / Output, choose a type, and save.
Open the Encoding panel from the left sidebar to try simple "from ⇒ to" conversions.
Use Preview to type sample text and observe tokenization and rendering.
Create a Timeline checkpoint, then iterate and compare versions.
Export: ZIP, JSON, CSV, or a printable Report.
UI Map
Left column
Project: name, script tag, notes, and glyph set.
Glyph Groups: create named sets for bulk rule authoring.
CSV-driven anchors, presets, auto-build from glyphSet, mark-to-mark (mkmk)
Available
Project Import
Import project.json (glyphSet, groups, rules) into the UI
Available
Glyph Panel
Interactive panel to explore and test Myanmar script characters
Available
Rule Builder
Create and test OpenType substitution rules
Available
Script Reference
Detailed information on Myanmar script and related scripts
Available
Pangram Collection
Test sentences covering all characters
Available
Export Functionality
Export rules and test results
Available
Using the Glyph Panel
The Glyph Panel allows you to explore characters from Myanmar script and related writing systems. You can:
Click on any character to add it to the test area
Type directly in the test area to experiment with character combinations
Test how different fonts render the text
Copy the text to use elsewhere
Using the Rule Builder
The Rule Builder helps you create OpenType substitution rules for font development:
Select the rule type (substitution, positioning, etc.)
Define the input sequence and output
Test the rule with sample text
Copy the rule syntax for use in font development tools
Common Rule Types
Substitution
Replaces one glyph with another in specific contexts
substitute uni1005 uni103B uni1004 by uni1005_medial_kinzi;
Replaces SA (U+1005) followed by medial YA (U+103B) and NGA (U+1004) with a special SA+Kinzi ligature.
Ligature
Combines multiple glyphs into a single ligature
substitute uni1000 uni103B by uni1000_103B_lig;
Combines KA (U+1000) and medial YA (U+103B) into a KA+YA ligature glyph.
Contextual Substitution
Substitutes glyphs based on surrounding context
substitute uni1009' uni103A uni1039 by uni1009_asat_virama;
Replaces NYA (U+1009) when followed by ASAT (U+103A) and VIRAMA (U+1039).
Multiple Substitution
Replaces a single glyph with multiple glyphs
substitute uni100C by uni100B uni103A;
Replaces DDA (U+100C) with DDA (U+100B) and ASAT (U+103A) for proper rendering.
Project & Glyph Set
Paste glyph names as space-separated tokens. Preferred naming is uniXXXX (e.e., uni1000 for U+1000 KA). You can include aliases like ka if your font uses them.
Use "Filter by Tag" to focus on specific rule subsets
Anchor Validation
For GPOS features, validates anchor positioning:
Checks for missing base-mark pairs
Validates anchor coordinate consistency
Flags potential mark-to-mark issues
Uses anchor names like m_* for mark-to-mark positioning
Keyboard Shortcuts
Work more efficiently with these keyboard commands:
Switch between tabsCtrl + 1-6
Copy selected textCtrl + C
Clear test areaCtrl + L
Search contentCtrl + F
Save projectCtrl/Cmd + S
UndoCtrl/Cmd + Z
RedoCtrl/Cmd + Shift + Z
Run simulation (in proofing tab)Ctrl/Cmd + Enter
Move rule upUp Arrow
Move rule downDown Arrow
New rule (when not in text field)N
Close modalsEsc
Myanmar Script Variations and Features
The Myanmar script is used by several languages in Southeast Asia, each with unique characteristics and requirements. Understanding these differences is crucial for proper font development.
Myanmar/Burmese Script
မြန်မာစာ (Myanmar Text)
The standard Myanmar script used for the Burmese language. Features complex stacking behavior and reordering rules.
Key Characteristics:
Pre-base vowel U+1031 (E) that reorders before the base consonant
Multiple medials (Ya, Ra, Wa, Ha) with specific ordering rules
Kinzi (U+1004 U+103A U+1039) conjunct formation
Asat (U+103A) and Virama (U+1039) for stacking
Common Rules:
# Pre-base vowel reordering
Type: reorder
Input: uni1000 uni1031 # KA + E
Output: uni1031 uni1000 # E + KA
# Medial ordering
Type: reorder
Input: uni1000 uni103D uni103B # KA + WA + YA
Output: uni103B uni103D uni1000 # YA + WA + KA
Shan Script
လိၵ်ႈတႆး (Shan Text)
Used for the Shan language, with additional vowels and tone marks extending the Myanmar block.
Tone marks (U+1082, U+1085–U+1086, U+108D, U+1090–U+1099)
Similar reordering rules to Burmese but with Shan-specific characters
Often requires specialized ligatures for vowel+tone combinations
Common Rules:
# Shan vowel ligature
Type: gsub_ligature
Input: uni1010 uni1083 # TA + Shan vowel AA
Output: uni1010_1083_lig
# Tone mark placement
Type: reorder
Input: uni1000 uni1086 # KA + Shan tone mark
Output: uni1000 uni1086 # Typically remains after
Mon Script
ဘာသာမန် (Mon Text)
Used for the Mon language, with some unique characters and stacking behavior.
Key Characteristics:
Additional signs (U+1060–U+1069, U+106E–U+1086)
Different medial ordering compared to Burmese
Unique conjunct formations
Some characters have different visual proportions
Common Rules:
# Mon-specific reordering
Type: reorder
Input: uni1000 uni1064 uni1031 # KA + Mon medial + E
Output: uni1031 uni1064 uni1000 # E + Mon medial + KA
# Mon digit substitution
Type: gsub_single
Input: uni1040 # Myanmar digit zero
Output: uni1090 # Mon digit zero
Karen Script
စှီၤကညီၢ် (Karen Text)
Used for various Karen languages, with extended vowels and tone marks.
Key Characteristics:
Uuses Myanmar code points with extended vowels/tones
Specific tone mark placement rules
Some languages use Latin-based scripts alongside Myanmar
Often requires custom kerning for tone marks
Common Rules:
# Karen tone mark handling
Type: gsub_single
Input: uni1000 uni1062 # KA + Karen tone
Output: uni1000_1062_lig
# Vowel reordering
Type: reorder
Input: uni1000 uni1031 uni1062 # KA + E + Karen tone
Output: uni1031 uni1000 uni1062 # E + KA + Karen tone
Script Comparison Table
Feature
Burmese
Shan
Mon
Karen
Pre-base Vowel Reordering
Yes (U+1031)
Yes (U+1031, U+1083, etc.)
Yes (U+1031)
Yes (U+1031)
Tone Marks
Limited
Extensive (U+1082, U+1085, etc.)
Some
Extensive
Additional Characters
Standard set
U+1075–U+1081, U+1083–U+1084, etc.
U+1060–U+1069, U+106E–U+1086
U+1060–U+109F (selected)
Stacking Behavior
Complex
Moderate
Complex
Moderate
Common Ligatures
Many
Vowel+tone combinations
Medial combinations
Tone mark combinations
Myanmar Script and Related Writing Systems
Myanmar script is used for Burmese, Shan, Karen, Mon, and other languages in Myanmar and surrounding regions. The script has unique characteristics including circular baselines, numerous stacked characters, and context-dependent shaping.
Burmese
The primary language using Myanmar script, with 33 consonants and numerous vowel diacritics.
မြန်မာစာ အလွန်လှပါသည်။
Sample: "Myanmar language is very beautiful."
Shan
A Tai language spoken in Shan State, using Myanmar script with additional tone markers.
ၽႃႇသႃႇတႆး မီးတူၼ်းတႅမ်ႇလႅင်းပိူင်းၶိုၼ်ႈယႂ်ႇမႃး
Sample: "Shan language and culture is progressively developing."
Mon
An Austroasiatic language with historical importance throughout Southeast Asia.
ဘာသာမန် ဂှ် နဒဒှ်တၞောဝ်ဒတောဝ်
Sample: "The Mon language as a root lineage."
Karen Languages
Several related languages including S'gaw Karen and Pwo Karen.
ကညီကျိာ်ယွံၢ်ဝံသ့ၣ်တမံာ်လီၢ်
Sample: "We Karen people love our culture."
Script Characteristics
Abugida writing system where consonants have inherent vowel
Complex stacking behavior for consonant clusters
Multiple types of vowel diacritics (above, below, before, after)
Various punctuation and symbols specific to Myanmar script
Digits have two forms: standard and liturgical
Unicode Blocks
Block Name
Range
Description
Myanmar
U+1000–U+109F
Basic Myanmar characters
Myanmar Extended-A
U+AA60–U+AA7F
Additional characters for Shan, Mon, etc.
Myanmar Extended-B
U+A9E0–U+A9FF
Extended characters for minority languages
Glyph Panel Tool
Use this interactive panel to explore Myanmar script characters and test how they combine.
Test Area Live PreviewChange font
Myanmar Consonants
Vowels & Diacritics
Digits & Punctuation
Stacked Characters & Special Forms
Rule Types in MyVOLT
MyVOLT supports several types of OpenType substitution rules that are essential for proper Myanmar script rendering.
GSUB - Single Substitution
Replaces a single glyph with another single glyph.
substitute a -> a.alt;
Use this for alternate glyph forms or stylistic variants.
GSUB - Multiple Substitution
Replaces a single glyph with multiple glyphs.
substitute ka -> k + a;
Useful for decomposing complex glyphs into components.
GSUB - Ligature Substitution
Replaces multiple glyphs with a single glyph.
substitute k + sha -> ksha;
Essential for creating conjunct forms in Myanmar script.
GSUB - Contextual Substitution
Replaces glyphs based on surrounding context.
substitute k' i -> ki_special;
Critical for proper Myanmar script rendering where glyphs change form based on position.
OpenType Rule Builder
Create and test OpenType substitution rules for Myanmar script.
Rule Definition
Generated Rule
# Rule will appear here
Rule Testing
Saved Rules
Rule
Type
Actions
Myanmar Text Reorder Tool
This tool helps quickly normalize Myanmar text sequences (e.e., moving pre-base vowel "ေ" before the base consonant).
Input Text
Output Result
Note: This tool uses simple text replacement. For advanced shaping/GSUB requirements, build specific rules in your application.
Normalization Rules
The following rules are applied from longest patterns first. This is a literal replacement system. For regex patterns, use the advanced option below.
Enabled
From
⇒
To
Notes
⇒
Pre-base vowel "ေ" reordering (word-level)
⇒
Medial "ျ" handling (no change by default, modify as needed)
Advanced Regex Option
Myanmar Pre-base "ေ" (U+1031) reordering using Regex — applies to the entire text: