Random Hentaigana Character Generator

Unicode 17.0.0 assigned repertoire: named HENTAIGANA LETTER characters. Sources https://www.unicode.org/Public/17.0.0/ucd/UnicodeData.txt and Scripts.txt; no font/rendering or language-validity guarantee. Invisible/control/combining values are intentional test data, not safe UI text. Uniform pinned repertoire-entry sampling; without replacement means distinct entry indices, not guaranteed distinct rendered glyphs. Reproducible seed or one advancing caller source; not secure randomness.

Description

Hentaigana are historical variant kana forms represented by dedicated Unicode characters.

Hentaigana are historical variant kana forms represented by dedicated Unicode characters.1

This generator samples the pinned named HENTAIGANA LETTER inventory for recognition or font fixtures; it does not infer readings or modern spelling.

When to use Random Hentaigana Character Generator

Use this tool when you need to sample the fixed repertoire for recognition or text fixtures. Prepare a reproducible seed and the inventory, corpus, or experiment parameters stated below.

How to use Random Hentaigana Character Generator and understand its results

  1. Prepare a reproducible seed and the inventory, corpus, or experiment parameters stated below.
  2. Enter seed, count, withoutReplacement, following the field table and calculation rules below, then run the tool.
  3. Read result. For result objects, inspect the nested output fields below, including any missing evidence or selected indices.
  4. Correct any input issues and run again. Before using a successful result, review its units, signs, evidence coverage, and stated model or reference assumptions.
Input fieldMeaningValue typeRequirement
seedRequired nonblank deterministic seed; the SDK can replace the source with context.random.stringRequired
countNumber of draws, cards, trials, or output entries under the tool-specific rule; safe integer 1–64 with any narrower inventory bound.numberRequired
withoutReplacementTrue removes selected inventory positions; false permits repeated positions. Equal rendered values or answers can still occur.booleanRequired

Sample from the fixed implementation inventory of 285 entries. Return values, zero-based selectedEntryIndices, and repertoireSize. Range inventories resolve an entry index through inclusive code-point ranges; explicit inventories retrieve the stored string in order. The pinned repertoire is not downloaded or updated during a run.2, 3

Use a nonblank seed of at most 256 UTF-16 units and a safe-integer count from 1 to 64, subject to the tool’s narrower inventory bound. By default the seed is hashed into a deterministic pseudorandom state; each run restarts that state, so identical full inputs and implementation reproduce the result. The SDK may provide context.random, which replaces the seeded source and advances across the request; the seed remains required. Every source value must be finite in [0,1), with a request limit of 100000 source calls. Draw an index as floor(U×remainingSize). For indexed inventory draws, with replacement draw from the full inventory each time; without replacement remove each chosen position from an ordered pool and reject counts exceeding the inventory size. Uniform-source draws are over positions, not necessarily distinct values. This is not secure randomness.

Pinned Unicode 17.0.0 scope: named HENTAIGANA LETTER characters. Character names, script properties, and assigned categories describe repertoire selection, not language validity or rendering support.

selectedIndex=floor(U×availablePositions); remove chosen position when withoutReplacement=true

Read these symbols with the field meanings and branch or reference rules above.

Output fieldMeaningValue type
resultComposite output; read its nested fields and the worked example.object
result.valuesSelected stored entries or converted text, in draw order.list
result.selectedEntryIndicesZero-based positions in the original source inventory; retained before any style conversion.list
result.repertoireSizeTotal number of source inventory entries available to draw.number
json
{
  "input": {
    "seed": "tool.io/batch42",
    "count": 1,
    "withoutReplacement": false
  },
  "output": {
    "result": {
      "values": [
        "𛄄"
      ],
      "selectedEntryIndices": [
        258
      ],
      "repertoireSize": 285
    }
  }
}

Limitations and assumptions

The default source is deterministic pseudorandomness, not an independently audited or secure draw. Replacement applies to inventory positions; distinct positions may render identically or yield equal answers. A fixture does not independently verify the supplied answers or reference content. A sampled character does not guarantee a visible or distinct glyph, correct shaping, a valid linguistic combination, or a particular font feature.

Missing required fields, unknown fields, wrong types, and violated calculation rules return input issues. Numeric values must be finite; nonfinite numeric outputs are rejected. Extremely large composite outputs are rejected.

Alternative or Complementary methods

For a related task, use Random Hangul Jamo Generator: Hangul jamo are consonant and vowel components used in Korean writing. This generator samples the modern and historical Hangul Jamo block, so selected components need not form a valid composed syllable. For a complementary step, use Random Latin Diacritic Letter Generator: Latin letters can contain diacritical modifications that distinguish spelling or pronunciation in particular languages. This generator samples a pinned subset of named Latin letters with modifications, useful for recognition drills and text fixtures rather than generating valid words.

References

  1. Random Hentaigana Character Generator — tool.io

  2. Calculation or validation: random/seeded-number — tool.io

  3. Calculation or validation: random/number — tool.io

Similar or alternative tools

  • Random Hangul Jamo Generator

    Hangul jamo are consonant and vowel components used in Korean writing. This generator samples the modern and historical Hangul Jamo block, so selected components need not form a valid composed syllable.

  • Random Latin Diacritic Letter Generator

    Latin letters can contain diacritical modifications that distinguish spelling or pronunciation in particular languages. This generator samples a pinned subset of named Latin letters with modifications, useful for recognition drills and text fixtures rather than generating valid words.

Don't forget to set a bookmark for tool.io!
Privacy | Imprint | Cookies