About

About Interscript

One map format for every authority-backed romanization system — running in any language runtime.

Partners & supporters

The Interscript project has received extensive support from the following organizations and individuals, in no particular order:

Individual support: Prof. Lyubomir Ivanov (profile) of the Bulgarian Academy of Sciences, and the Working Group on Romanization Systems of UNGEGN.

Mission

Interscript exists to make transliteration between writing systems interoperable. Where most romanization tools implement one system or one authority, Interscript encodes the complete corpus of major authority-backed systems (BGN/PCGN, ISO, UN, ALA-LC, ODNI, ICAO, DIN, and others) using a single map format that runs in any language runtime.

Why it matters

Names, places, and historical records exist in dozens of scripts. Whether you're a librarian cataloguing foreign-language works, a government agency standardising romanisation, or a developer building multilingual search, you need predictable, auditable conversion. Interscript maps are checked into git, versioned, and independently testable against the published authority documents.

History

Interscript was started at Ribose in 2019 as a Ruby library and has since grown to include TypeScript and Python engines, a public reference site, and an optional phonological layer — interscript-ml (the contract and model zoo) run by the secryst crystal family (Ruby · Python · TypeScript). The map corpus now covers 289 systems.

The ecosystem

Interscript is deliberately layered. The core is deterministic maps and engines. When a map needs undiacritized text vocalized first, it dispatches to an optional crystal:

  • Maps + enginesinterscript-ruby, interscript-ts, interscript-py — pure deterministic conversion.
  • Contract + zoointerscript-ml — the models.yaml index, IMF v1 model format, and golden sets.
  • Crystalssecryst (gem secryst · pip install secryst · npm i secryst) — local ONNX inference implementing the contract. A crystal has no interscript dependency; an engine without a crystal simply cannot execute maps that declare a vocalization step.
  • Traininginterscript-ml-train — teachers whose students enter the zoo.

Team

Interscript is an open-source project maintained by Ribose Inc. and a community of contributors. Source code is on GitHub; issues and pull requests are welcome.