Random CJK Compatibility Ideograph Generator
Unicode 17.0.0 assigned repertoire: CJK Compatibility Ideographs block. 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
CJK compatibility ideographs preserve encoded distinctions needed for compatibility with earlier character collections.
CJK compatibility ideographs preserve encoded distinctions needed for compatibility with earlier character collections.1
This generator samples the assigned block; normalization or font rendering may make distinct entries look alike.
When to use Random CJK Compatibility Ideograph 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 CJK Compatibility Ideograph Generator and understand its results
- Prepare a reproducible seed and the inventory, corpus, or experiment parameters stated below.
- Enter seed, count, withoutReplacement, following the field table and calculation rules below, then run the tool.
- Read result. For result objects, inspect the nested output fields below, including any missing evidence or selected indices.
- 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 field | Meaning | Value type | Requirement |
|---|---|---|---|
| seed | Required nonblank deterministic seed; the SDK can replace the source with context.random. | string | Required |
| count | Number of draws, cards, trials, or output entries under the tool-specific rule; safe integer 1–64 with any narrower inventory bound. | number | Required |
| withoutReplacement | True removes selected inventory positions; false permits repeated positions. Equal rendered values or answers can still occur. | boolean | Required |
Sample from the fixed implementation inventory of 472 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: CJK Compatibility Ideographs block. 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 field | Meaning | Value type |
|---|---|---|
| result | Composite output; read its nested fields and the worked example. | object |
| result.values | Selected stored entries or converted text, in draw order. | list |
| result.selectedEntryIndices | Zero-based positions in the original source inventory; retained before any style conversion. | list |
| result.repertoireSize | Total number of source inventory entries available to draw. | number |
{
"input": {
"seed": "tool.io/batch42",
"count": 1,
"withoutReplacement": false
},
"output": {
"result": {
"values": [
"節"
],
"selectedEntryIndices": [
427
],
"repertoireSize": 472
}
}
} 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 CJK Radical Supplement Generator: The CJK Radicals Supplement provides radical forms beyond the Kangxi Radicals block. This generator samples its assigned entries for recognition or font fixtures, without resolving dictionary index equivalence automatically. 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
Similar or alternative tools
- Random CJK Radical Supplement Generator
The CJK Radicals Supplement provides radical forms beyond the Kangxi Radicals block. This generator samples its assigned entries for recognition or font fixtures, without resolving dictionary index equivalence automatically.
- 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.