Data sources and methodology

Scriptologue helps you discover how languages are written. It is an Ethnologue sub-brand; this does not make Ethnologue’s proprietary language data openly reusable.

Attestation is not present-day usage

GlotScript MAIN/CORE means multiple-source attestation: at least two source groups support a language–script relationship. AUXILIARY means single-source attestation in the upstream resource. Neither category establishes everyday prevalence, official status, dates, region or a particular orthography. Usage context remains unknown unless separately sourced.

We preserve the original categories and ISO identifiers. A script may have contemporary, historical, liturgical, revival or other uses; source agreement does not tell us which. “No script recorded here” means a gap in this dataset, not that a language has never been written.

GlotScript resource methodology and CC BY-SA 4.0 licence · Research paper: Kargaran, Yvon & Schütze (2024), pp. 7774–7784.

A public data example

This example is one language record, not a ranking of preferred scripts. The full exports and integration instructions remain on the access-gated downloads page.

{
  "iso": "urd",
  "name": "Urdu",
  "main": [
    "Arab",
    "Latn",
    "Brai"
  ],
  "aux": [
    "Hebr",
    "Deva"
  ],
  "usage": "unknown",
  "source": "GlotScript resource",
  "licence": "CC BY-SA 4.0"
}

Derived example: GlotScript, Kargaran et al. (2024), CC BY-SA 4.0; language name/code from SIL ISO 639-3, CC BY 3.0. Explore the Urdu record.

What each entity represents

  • A language code identifies a language or macrolanguage, not its script. Macrolanguages are not interchangeable with constituent languages.
  • A script is a writing-system repertoire. ISO 15924 also includes variants, composites and administrative codes; the count of 286 catalogue entries is not a count of distinct human scripts.
  • A language–script pair is a relationship, not necessarily one fully documented orthography.
  • A Unicode block is a code-point range, not a script. Character script properties and Script Extensions are separate concepts.
  • Script birthplace, script ancestry and language location do not prove current usage by country. “Unknown” means missing information.

Pinned repertoires and practical resources

338 language–script records have locally cached CLDR 48.0.0 exemplar repertoires. Each has its original UnicodeSet, exact source URL, pinned commit, retrieval date, SHA-256 checksum and Unicode Licence v3 attribution. They do not depend on a visitor fetching GitHub data. Exemplars are not an ordered alphabet or a pronunciation table; combining marks and multi-character strings are preserved.

Keyboard and font links are discovery resources. We do not infer orthography support from font glyphs or advertise unverified layouts. SIL Writing Systems Technical Resources hosts material migrated from ScriptSource; individual resources have their own reuse terms.

Provenance and indexation policy

Earlier bundled ISO, direction, ancestry and block snapshots do not retain complete release provenance. Their versions are marked unverified in the source manifest, not invented. Existing data are retained while compatible UCD/ISO refreshes and editorial review remain pending. Conflicting assertions must not be silently overwritten.

Named language records with script evidence remain discoverable regardless of audience size. Unnamed, retired and name-and-code-only placeholders remain accessible but are temporarily excluded from search listings. Pair pages are indexable only when they contain a distinct sourced repertoire. Administrative script codes, private downloads, filters and pagination are noindex but crawlable. Each URL has a recorded policy reason in the route registry. Sitemaps contain canonical, indexable pages only, with no guessed modification dates.

Detection and privacy

Detect and Separate run using Unicode script regular expressions supported by your browser. They identify scripts, not languages, OCR or handwriting. Unicode-version support differs between browsers. Common characters and inherited marks do not uniquely identify a script; Separate assigns them to the preceding identified script, or to the following script at the beginning. This policy is not a full Script Extensions implementation.

Pasted text is processed locally by these tools. It is not placed in URLs or sent in analytics events. Event tracking, when enabled, records action types and fixed catalogue IDs only.

How expanded data coverage is matched

Data coverage is broader than the editorial pilot: 338 sourced relationships across 309 language records and 44 scripts. The original 18-system editorial cohort and three guides remain a separate evaluation, not a limit on verified reference data.

The import uses the same pinned CLDR release for its locale inventory, overlong language-code aliases and likelySubtags. An explicit source script takes precedence; a default-script mapping describes that locale convention, not the dominant script of a language. Every displayed repertoire must also match an existing GlotScript relationship and pass character-level script checks. Each record exposes its mapping rationale and source checksum.

Ambiguous language matches, region/variant-specific locales and unsupported script mixtures are excluded with recorded reasons. Additional conventions for a pair are retained separately in the coverage report, not silently merged into one alphabet. Previously reviewed records remain scoped to their particular locale; macrolanguages are not expanded to every constituent variety.

Pinned CLDR language-code aliases · Pinned locale script conventions.