# Evaluation

Generated by the `evalreport` pipeline stage from the latest runs; do not edit by hand.
Last generated: 2026-09-29T21:38:23+00:00.

## Results at a glance

The shipped package (`export/`, 28,711 characters, 9.3 MB, int8) on held-out writers:

- **Result tiles** (one per look-alike group, as the demo shows them): the right group is among the first five tiles for **83.7%** of drawings, and the first tile shows exactly the drawn character for 52.5%.
- **Ranked characters**: top-1 49.6%, top-5 78.5% (81.5% counting look-alikes).
- **Zero-shot characters**, which have no real handwriting in training, reach 77.9% tile top-5, against 85.8% for characters with real training drawings. Adding a character with only a font works.
- The best trivial baseline (HOG nearest glyph) reaches 45.0% top-5 counting look-alikes.

How the choices were made (DECISIONS.md): synthetic + real training beats synthetic
only, also on zero-shot characters (D29); one index vector per font beats averaged
or synthetic prototypes (D22, D29); the frequency prior adds about 4 points of top-1
(D25, D26); PCA to 48 dimensions and int8 cost nothing (D27).

## Comparison with Detypify

[Detypify](https://github.com/QuarticCat/detypify) (MIT) is an open-source recognizer
of 411 Typst symbols: a classifier over a fixed set, where
glyphsketch retrieves among 28,711 characters. Of the test drawings, 29,255 have a label among Detypify's symbols (nearly all from Detexify); both recognizers run on the same fixed random sample of 6,000 of them (332 characters; standard error about 0.6 points).

| Recognizer | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|------------|------:|------:|--------------:|--------------:|
| Detypify 0.3.0 (411 symbols) | 87.8% | 99.6% | 92.2% | 99.6% |
| glyphsketch, ranked over Detypify's 411 symbols | 74.8% | 97.8% | 80.7% | 97.9% |
| glyphsketch, ranked over all 28,711 characters | 53.7% | 82.6% | 60.0% | 85.8% |
| glyphsketch tiles, all 28,711 characters | 57.0% | 82.8% | 60.0% | 87.7% |

On its own symbols Detypify is ahead: with the same 411 candidates, its top-1 is 87.8% against 74.8%, and top-5 99.6% against 97.8%. A classifier trained on real drawings of a fixed set is the right tool for that set. glyphsketch covers 70 times as many characters, most of which have no handwriting data at all,
and adding one needs only a font; searching all of them costs it accuracy on these
symbols (the third row).

**Warning: possible overlap.** Detypify is trained on Detexify's data, and these test
drawings come from Detexify users. Nothing indicates that its training excluded our
test writers, so its numbers here may be optimistic. glyphsketch never trained on
these writers (D16).

Detypify's input was reproduced from its `drawStrokes` (224 px canvas, 8 px lines);
the lines are drawn with our anti-aliased rasterizer rather than a browser canvas,
which is close but not identical (`training/src/glyphsketch/detypify.py`).

## Where it works and where it doesn't

Unicode blocks with at least 100 test drawings, shipped package, tiles.

Weakest:

| Block | Samples | Characters | Tile top-5 (conf.) | Exact top-1 |
|-------|--------:|-----------:|-------------------:|------------:|
| Geometric Shapes | 909 | 22 | 28.4% | 6.2% |
| Supplemental Arrows-B | 106 | 2 | 46.2% | 4.7% |
| Mathematical Alphanumeric Symbols | 1439 | 56 | 55.9% | 24.2% |
| IPA Extensions | 515 | 68 | 74.4% | 23.5% |
| Letterlike Symbols | 2403 | 36 | 74.5% | 33.2% |
| Miscellaneous Symbols | 1663 | 44 | 81.2% | 49.6% |

Strongest:

| Block | Samples | Characters | Tile top-5 (conf.) | Exact top-1 |
|-------|--------:|-----------:|-------------------:|------------:|
| Supplemental Arrows-A | 197 | 9 | 97.0% | 39.1% |
| Arabic | 111 | 37 | 93.7% | 80.2% |
| Arrows | 2270 | 61 | 92.2% | 69.0% |
| Currency Symbols | 167 | 6 | 91.6% | 79.0% |
| Basic Latin | 4110 | 90 | 91.0% | 72.1% |
| Cyrillic | 412 | 67 | 90.5% | 50.7% |

Two causes are visible in the weakest blocks. Geometric Shapes holds filled and
outlined versions of the same shape (■ □, ● ○), which a pen drawing doesn't
distinguish, and small and large ones (▪ ■, ◦ ○), which size normalization makes
identical. The styled alphabets (Mathematical Alphanumeric Symbols, Letterlike
Symbols: 𝒜, 𝔄, ℬ) are drawn by people as plain letters, while their glyphs keep the
font's style. The full per-block tables are in the detailed results below.

## Limitations

- **The test mix is mostly maths symbols.** Detexify provides 93% of the test drawings
  (drawn in its web page); UJI (letters, digits, punctuation) and Omniglot (non-Latin
  alphabets) add the rest. Finger drawings on a phone keyboard may differ; the demo's
  labelled-drawing export is the way to measure that.
- **Drawings are compared by shape only.** Size and position are normalized away, so
  case pairs such as o/O or c/C, and pairs like the letter o and the digit 0 in some
  fonts, can only be told apart by the tile's menu.
- **No stroke order.** The recognizer sees the image, not the pen's path (PLAN.md,
  section 1), so it cannot use the order people write strokes in.
- **No real handwriting of the characters added in D34.** Emoji, music symbols,
  combining marks, box drawing, braille and the other added blocks are measured only
  on synthetic drawings (DECISIONS.md, D34); the test set above has almost none.
- **Characters outside the fonts are out of reach**, and CJK is excluded (D35).

## Test data

| Dataset | Test samples | Characters | Zero-shot samples |
|---------|-------------:|-----------:|------------------:|
| detexify | 37005 | 694 | 10007 |
| omniglot | 834 | 180 | 216 |
| uji | 2134 | 97 | 572 |
| **all** | 39973 | 907 | 10795 |

Test samples come from held-out writers (DECISIONS.md, D16). Details of the data
are in `docs/reports/real_data.md`.

Metrics: top-1 and top-5 accuracy per test sample. *Conf.* (confusable-aware)
counts a prediction as correct when it is in the label's confusable group
(`docs/reports/confusable_groups.md`), e.g. Latin A for a Greek Α. *Seen* characters
have real training data; *zero-shot* characters are seen in training only as
synthetic drawings (the baselines use no training data at all).

## Summary

| Recognizer | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) | Top-5 (conf.), zero-shot | Top-5 (conf.), per character |
|------------|------:|------:|--------------:|--------------:|--------------------------:|-----------------------------:|
| Exported package (synthetic-and-real-long-v2, int8, 48 dims), ranked characters | 49.6 | 78.5 | 56.3 | 81.5 | 74.4 | 77.7 |
| Exported package (synthetic-and-real-long-v2, int8, 48 dims), tiles | 52.5 | 78.0 | 56.3 | 83.7 | 77.9 | 79.6 |
| Baseline: nearest render, raw pixels | 15.4 | 30.8 | 19.3 | 34.8 | 34.2 | 32.4 |
| Baseline: nearest render, HOG | 19.9 | 40.6 | 24.4 | 45.0 | 43.8 | 42.7 |
| Encoder (synthetic-and-real-1701), index (a): mean of the glyph renders | 37.7 | 70.5 | 47.9 | 75.5 | 69.0 | 72.6 |
| Encoder (synthetic-and-real-1701), index (a): glyph render per font, best match | 43.5 | 74.8 | 52.3 | 79.2 | 75.0 | 75.9 |
| Encoder (synthetic-and-real-1701), index (b): mean of 16 synthetic drawings | 33.5 | 67.7 | 44.7 | 74.4 | 68.4 | 71.1 |
| Encoder (synthetic-only-1701), index (a): mean of the glyph renders | 33.6 | 65.7 | 44.2 | 71.9 | 67.3 | 68.4 |
| Encoder (synthetic-only-1701), index (a): glyph render per font, best match | 40.6 | 71.5 | 49.7 | 76.4 | 72.8 | 73.2 |
| Encoder (synthetic-only-1701), index (b): mean of 16 synthetic drawings | 31.4 | 64.9 | 42.0 | 71.5 | 66.7 | 68.3 |
| Encoder (synthetic-and-real-long), index (a): mean of the glyph renders | 46.4 | 79.6 | 57.4 | 83.6 | 72.8 | 82.8 |
| Encoder (synthetic-and-real-long), index (a): glyph render per font, best match | 49.7 | 82.4 | 59.6 | 86.0 | 78.4 | 84.0 |
| Encoder (synthetic-and-real-long), index (a): glyph render per font, best match, with prior | 52.1 | 82.3 | 59.3 | 84.7 | 77.2 | 81.8 |
| Encoder (synthetic-and-real-long), index (a): glyph render per font, best match, tiles | 55.4 | 81.6 | 59.3 | 87.5 | 81.2 | 84.1 |
| Encoder (synthetic-and-real-long), index (b): mean of 16 synthetic drawings | 42.2 | 77.0 | 54.3 | 82.0 | 71.3 | 81.0 |
| Encoder (synthetic-and-real-long-v2), index (a): mean of the glyph renders | 38.3 | 72.8 | 48.4 | 77.4 | 66.7 | 76.7 |
| Encoder (synthetic-and-real-long-v2), index (a): glyph render per font, best match | 44.8 | 76.8 | 53.2 | 81.2 | 73.7 | 78.9 |
| Encoder (synthetic-and-real-long-v2), index (a): glyph render per font, best match, with prior | 51.3 | 81.2 | 58.1 | 84.0 | 77.0 | 80.2 |
| Encoder (synthetic-and-real-long-v2), index (a): glyph render per font, best match, tiles | 54.3 | 80.8 | 58.1 | 86.6 | 80.9 | 82.7 |
| Encoder (synthetic-and-real-long-v2), index (b): mean of 16 synthetic drawings | 32.8 | 69.1 | 44.4 | 76.3 | 65.6 | 74.5 |
| Encoder (synthetic-only-long), index (a): mean of the glyph renders | 36.3 | 68.0 | 46.5 | 73.2 | 68.1 | 70.1 |
| Encoder (synthetic-only-long), index (a): glyph render per font, best match | 42.4 | 72.9 | 51.1 | 77.4 | 74.9 | 73.6 |
| Encoder (synthetic-only-long), index (a): glyph render per font, best match, with prior | 48.5 | 77.6 | 55.2 | 80.4 | 78.3 | 76.1 |
| Encoder (synthetic-only-long), index (a): glyph render per font, best match, tiles | 51.7 | 77.2 | 55.2 | 82.7 | 81.0 | 78.2 |
| Encoder (synthetic-only-long), index (b): mean of 16 synthetic drawings | 34.4 | 67.4 | 45.8 | 73.3 | 67.0 | 70.4 |

## Detailed results

<details><summary>Exported package (synthetic-and-real-long-v2, int8, 48 dims), ranked characters</summary>

The shipped files, read back: int8 weights and index, PCA projection, prior weight 0.002.

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| All (per sample) | 39973 | 907 | 49.6 | 78.5 | 56.3 | 81.5 |
| All (per character) | 39973 | 907 | 46.1 | 74.5 | 53.8 | 77.7 |
| Characters: seen | 29178 | 684 | 51.1 | 81.4 | 57.8 | 84.2 |
| Characters: zero-shot | 10795 | 223 | 45.6 | 70.8 | 52.1 | 74.4 |
| Dataset: detexify | 37005 | 694 | 49.0 | 77.9 | 55.2 | 81.0 |
| Dataset: omniglot | 834 | 180 | 50.2 | 86.7 | 73.1 | 89.1 |
| Dataset: uji | 2134 | 97 | 60.5 | 86.0 | 67.9 | 87.4 |

<details><summary>By Unicode block</summary>

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| Mathematical Operators | 13644 | 167 | 49.3 | 81.6 | 59.2 | 85.9 |
| Greek and Coptic | 6889 | 44 | 48.7 | 77.9 | 53.5 | 80.6 |
| Basic Latin | 4110 | 90 | 71.2 | 87.4 | 75.2 | 90.4 |
| Latin-1 Supplement | 2713 | 52 | 57.9 | 85.0 | 60.7 | 85.4 |
| Letterlike Symbols | 2403 | 36 | 38.3 | 69.5 | 47.0 | 71.8 |
| Arrows | 2270 | 61 | 69.0 | 92.1 | 69.0 | 92.1 |
| Miscellaneous Symbols | 1663 | 44 | 47.7 | 79.8 | 49.8 | 80.2 |
| Mathematical Alphanumeric Symbols | 1439 | 56 | 23.2 | 48.8 | 25.6 | 52.2 |
| Geometric Shapes | 909 | 22 | 6.1 | 25.3 | 6.2 | 26.6 |
| General Punctuation | 563 | 25 | 45.6 | 78.5 | 48.1 | 83.3 |
| IPA Extensions | 515 | 68 | 17.3 | 55.1 | 38.1 | 70.5 |
| Supplemental Mathematical Operators | 483 | 24 | 40.6 | 76.4 | 63.8 | 82.6 |
| Miscellaneous Mathematical Symbols-A | 414 | 6 | 61.1 | 85.7 | 61.1 | 85.7 |
| Cyrillic | 412 | 67 | 31.1 | 86.2 | 73.3 | 90.5 |
| Dingbats | 261 | 4 | 60.5 | 88.9 | 60.5 | 88.9 |
| Miscellaneous Technical | 257 | 9 | 30.4 | 80.5 | 30.7 | 82.1 |
| Supplemental Arrows-A | 197 | 9 | 39.1 | 97.0 | 39.1 | 97.0 |
| Currency Symbols | 167 | 6 | 80.2 | 89.8 | 82.6 | 90.4 |
| Arabic | 111 | 37 | 79.3 | 92.8 | 80.2 | 92.8 |
| Supplemental Arrows-B | 106 | 2 | 4.7 | 46.2 | 4.7 | 46.2 |
| Latin Extended-A | 94 | 9 | 74.5 | 93.6 | 86.2 | 93.6 |
| Spacing Modifier Letters | 88 | 11 | 5.7 | 42.0 | 51.1 | 63.6 |
| Phonetic Extensions | 66 | 4 | 0.0 | 13.6 | 0.0 | 13.6 |
| Latin Extended-B | 43 | 13 | 18.6 | 37.2 | 30.2 | 60.5 |
| Supplemental Punctuation | 27 | 2 | 7.4 | 18.5 | 7.4 | 18.5 |
| Miscellaneous Mathematical Symbols-B | 25 | 4 | 20.0 | 44.0 | 20.0 | 44.0 |
| Hebrew | 22 | 22 | 63.6 | 77.3 | 63.6 | 77.3 |
| Enclosed Alphanumerics | 19 | 2 | 47.4 | 57.9 | 47.4 | 57.9 |
| Box Drawing | 18 | 2 | 0.0 | 22.2 | 0.0 | 22.2 |
| Cyrillic Extended-B | 15 | 3 | 0.0 | 13.3 | 0.0 | 13.3 |
| Latin Extended-E | 12 | 1 | 0.0 | 83.3 | 0.0 | 83.3 |
| Enclosed Alphanumeric Supplement | 6 | 1 | 83.3 | 100.0 | 83.3 | 100.0 |
| Thai | 3 | 1 | 100.0 | 100.0 | 100.0 | 100.0 |
| Modifier Tone Letters | 3 | 1 | 0.0 | 66.7 | 0.0 | 66.7 |
| Arabic Supplement | 3 | 1 | 100.0 | 100.0 | 100.0 | 100.0 |
| Miscellaneous Symbols and Arrows | 3 | 1 | 0.0 | 100.0 | 0.0 | 100.0 |

</details>

</details>

<details><summary>Exported package (synthetic-and-real-long-v2, int8, 48 dims), tiles</summary>

The shipped files, read back: int8 weights and index, PCA projection, prior weight 0.002.

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| All (per sample) | 39973 | 907 | 52.5 | 78.0 | 56.3 | 83.7 |
| All (per character) | 39973 | 907 | 48.0 | 71.2 | 53.8 | 79.6 |
| Characters: seen | 29178 | 684 | 54.4 | 80.5 | 57.8 | 85.8 |
| Characters: zero-shot | 10795 | 223 | 47.4 | 71.4 | 52.1 | 77.9 |
| Dataset: detexify | 37005 | 694 | 51.9 | 78.1 | 55.2 | 83.3 |
| Dataset: omniglot | 834 | 180 | 62.0 | 77.5 | 73.1 | 90.0 |
| Dataset: uji | 2134 | 97 | 59.2 | 77.2 | 67.9 | 88.3 |

<details><summary>By Unicode block</summary>

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| Mathematical Operators | 13644 | 167 | 55.4 | 81.3 | 59.2 | 88.4 |
| Greek and Coptic | 6889 | 44 | 53.2 | 81.9 | 53.5 | 82.5 |
| Basic Latin | 4110 | 90 | 72.1 | 87.3 | 75.2 | 91.0 |
| Latin-1 Supplement | 2713 | 52 | 55.2 | 82.6 | 60.7 | 89.9 |
| Letterlike Symbols | 2403 | 36 | 33.2 | 59.0 | 47.0 | 74.5 |
| Arrows | 2270 | 61 | 69.0 | 92.2 | 69.0 | 92.2 |
| Miscellaneous Symbols | 1663 | 44 | 49.6 | 80.9 | 49.8 | 81.2 |
| Mathematical Alphanumeric Symbols | 1439 | 56 | 24.2 | 53.2 | 25.6 | 55.9 |
| Geometric Shapes | 909 | 22 | 6.2 | 26.8 | 6.2 | 28.4 |
| General Punctuation | 563 | 25 | 47.6 | 82.9 | 48.1 | 84.0 |
| IPA Extensions | 515 | 68 | 23.5 | 53.4 | 38.1 | 74.4 |
| Supplemental Mathematical Operators | 483 | 24 | 40.2 | 54.2 | 63.8 | 83.2 |
| Miscellaneous Mathematical Symbols-A | 414 | 6 | 61.1 | 86.7 | 61.1 | 86.7 |
| Cyrillic | 412 | 67 | 50.7 | 65.0 | 73.3 | 90.5 |
| Dingbats | 261 | 4 | 60.5 | 88.9 | 60.5 | 88.9 |
| Miscellaneous Technical | 257 | 9 | 30.4 | 71.6 | 30.7 | 86.0 |
| Supplemental Arrows-A | 197 | 9 | 39.1 | 97.0 | 39.1 | 97.0 |
| Currency Symbols | 167 | 6 | 79.0 | 88.0 | 82.6 | 91.6 |
| Arabic | 111 | 37 | 80.2 | 93.7 | 80.2 | 93.7 |
| Supplemental Arrows-B | 106 | 2 | 4.7 | 46.2 | 4.7 | 46.2 |
| Latin Extended-A | 94 | 9 | 86.2 | 93.6 | 86.2 | 93.6 |
| Spacing Modifier Letters | 88 | 11 | 5.7 | 11.4 | 51.1 | 67.0 |
| Phonetic Extensions | 66 | 4 | 0.0 | 51.5 | 0.0 | 51.5 |
| Latin Extended-B | 43 | 13 | 18.6 | 39.5 | 30.2 | 65.1 |
| Supplemental Punctuation | 27 | 2 | 7.4 | 18.5 | 7.4 | 18.5 |
| Miscellaneous Mathematical Symbols-B | 25 | 4 | 20.0 | 52.0 | 20.0 | 52.0 |
| Hebrew | 22 | 22 | 63.6 | 77.3 | 63.6 | 77.3 |
| Enclosed Alphanumerics | 19 | 2 | 47.4 | 63.2 | 47.4 | 63.2 |
| Box Drawing | 18 | 2 | 0.0 | 22.2 | 0.0 | 22.2 |
| Cyrillic Extended-B | 15 | 3 | 0.0 | 13.3 | 0.0 | 13.3 |
| Latin Extended-E | 12 | 1 | 0.0 | 91.7 | 0.0 | 91.7 |
| Enclosed Alphanumeric Supplement | 6 | 1 | 83.3 | 100.0 | 83.3 | 100.0 |
| Thai | 3 | 1 | 100.0 | 100.0 | 100.0 | 100.0 |
| Modifier Tone Letters | 3 | 1 | 0.0 | 66.7 | 0.0 | 66.7 |
| Arabic Supplement | 3 | 1 | 100.0 | 100.0 | 100.0 | 100.0 |
| Miscellaneous Symbols and Arrows | 3 | 1 | 0.0 | 100.0 | 0.0 | 100.0 |

</details>

</details>

<details><summary>Baseline: nearest render, raw pixels</summary>

Cosine similarity of blurred 32×32 images; drawings rasterized with a pen 7% of the image wide.

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| All (per sample) | 39973 | 907 | 15.4 | 30.8 | 19.3 | 34.8 |
| All (per character) | 39973 | 907 | 13.9 | 28.2 | 17.7 | 32.4 |
| Characters: seen | 29178 | 684 | 15.6 | 31.1 | 19.0 | 35.1 |
| Characters: zero-shot | 10795 | 223 | 14.9 | 30.1 | 20.2 | 34.2 |
| Dataset: detexify | 37005 | 694 | 15.9 | 31.4 | 19.6 | 35.1 |
| Dataset: omniglot | 834 | 180 | 10.2 | 29.1 | 22.5 | 41.8 |
| Dataset: uji | 2134 | 97 | 8.9 | 21.6 | 13.4 | 28.3 |

<details><summary>By Unicode block</summary>

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| Mathematical Operators | 13644 | 167 | 21.9 | 41.1 | 26.7 | 45.1 |
| Greek and Coptic | 6889 | 44 | 5.0 | 15.4 | 9.7 | 21.1 |
| Basic Latin | 4110 | 90 | 15.4 | 30.0 | 19.2 | 34.7 |
| Latin-1 Supplement | 2713 | 52 | 20.3 | 35.1 | 22.2 | 37.4 |
| Letterlike Symbols | 2403 | 36 | 7.9 | 14.7 | 10.7 | 19.4 |
| Arrows | 2270 | 61 | 24.8 | 45.6 | 24.8 | 45.6 |
| Miscellaneous Symbols | 1663 | 44 | 15.9 | 28.3 | 16.5 | 28.6 |
| Mathematical Alphanumeric Symbols | 1439 | 56 | 3.2 | 7.2 | 4.9 | 9.6 |
| Geometric Shapes | 909 | 22 | 5.6 | 29.2 | 8.7 | 31.9 |
| General Punctuation | 563 | 25 | 15.1 | 29.1 | 19.7 | 34.1 |
| IPA Extensions | 515 | 68 | 5.4 | 20.6 | 15.7 | 31.5 |
| Supplemental Mathematical Operators | 483 | 24 | 16.1 | 31.7 | 18.8 | 35.2 |
| Miscellaneous Mathematical Symbols-A | 414 | 6 | 24.9 | 40.3 | 29.7 | 41.3 |
| Cyrillic | 412 | 67 | 10.0 | 30.3 | 26.9 | 48.1 |
| Dingbats | 261 | 4 | 18.4 | 41.4 | 18.4 | 41.4 |
| Miscellaneous Technical | 257 | 9 | 17.1 | 52.1 | 17.5 | 52.5 |
| Supplemental Arrows-A | 197 | 9 | 16.8 | 48.7 | 16.8 | 48.7 |
| Currency Symbols | 167 | 6 | 21.6 | 36.5 | 27.5 | 43.1 |
| Arabic | 111 | 37 | 5.4 | 29.7 | 17.1 | 34.2 |
| Supplemental Arrows-B | 106 | 2 | 2.8 | 14.2 | 2.8 | 14.2 |
| Latin Extended-A | 94 | 9 | 22.3 | 45.7 | 25.5 | 48.9 |
| Spacing Modifier Letters | 88 | 11 | 3.4 | 13.6 | 21.6 | 42.0 |
| Phonetic Extensions | 66 | 4 | 3.0 | 4.5 | 3.0 | 4.5 |
| Latin Extended-B | 43 | 13 | 2.3 | 4.7 | 11.6 | 27.9 |
| Supplemental Punctuation | 27 | 2 | 0.0 | 0.0 | 0.0 | 0.0 |
| Miscellaneous Mathematical Symbols-B | 25 | 4 | 4.0 | 4.0 | 4.0 | 4.0 |
| Hebrew | 22 | 22 | 13.6 | 27.3 | 18.2 | 27.3 |
| Enclosed Alphanumerics | 19 | 2 | 0.0 | 10.5 | 0.0 | 10.5 |
| Box Drawing | 18 | 2 | 11.1 | 22.2 | 11.1 | 22.2 |
| Cyrillic Extended-B | 15 | 3 | 0.0 | 13.3 | 0.0 | 13.3 |
| Latin Extended-E | 12 | 1 | 0.0 | 0.0 | 0.0 | 0.0 |
| Enclosed Alphanumeric Supplement | 6 | 1 | 66.7 | 66.7 | 66.7 | 66.7 |
| Miscellaneous Symbols and Arrows | 3 | 1 | 0.0 | 0.0 | 0.0 | 0.0 |
| Arabic Supplement | 3 | 1 | 33.3 | 33.3 | 33.3 | 33.3 |
| Modifier Tone Letters | 3 | 1 | 0.0 | 66.7 | 0.0 | 66.7 |
| Thai | 3 | 1 | 66.7 | 66.7 | 66.7 | 66.7 |

</details>

</details>

<details><summary>Baseline: nearest render, HOG</summary>

Cosine similarity of HOG descriptors of 64×64 images (9 orientations, 8 px cells, 2×2 blocks); drawings rasterized with a pen 7% of the image wide.

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| All (per sample) | 39973 | 907 | 19.9 | 40.6 | 24.4 | 45.0 |
| All (per character) | 39973 | 907 | 17.7 | 37.6 | 22.2 | 42.7 |
| Characters: seen | 29178 | 684 | 20.4 | 41.2 | 24.4 | 45.5 |
| Characters: zero-shot | 10795 | 223 | 18.7 | 39.0 | 24.4 | 43.8 |
| Dataset: detexify | 37005 | 694 | 20.5 | 41.3 | 24.7 | 45.2 |
| Dataset: omniglot | 834 | 180 | 15.0 | 41.5 | 28.4 | 54.1 |
| Dataset: uji | 2134 | 97 | 12.2 | 29.4 | 17.8 | 37.5 |

<details><summary>By Unicode block</summary>

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| Mathematical Operators | 13644 | 167 | 27.4 | 52.9 | 33.0 | 56.6 |
| Greek and Coptic | 6889 | 44 | 7.6 | 21.9 | 12.8 | 27.8 |
| Basic Latin | 4110 | 90 | 21.2 | 41.0 | 26.9 | 47.9 |
| Latin-1 Supplement | 2713 | 52 | 25.0 | 42.8 | 26.6 | 44.5 |
| Letterlike Symbols | 2403 | 36 | 11.8 | 25.2 | 14.6 | 30.4 |
| Arrows | 2270 | 61 | 28.9 | 58.4 | 28.9 | 58.5 |
| Miscellaneous Symbols | 1663 | 44 | 26.3 | 45.0 | 27.4 | 45.9 |
| Mathematical Alphanumeric Symbols | 1439 | 56 | 6.3 | 12.7 | 8.5 | 16.1 |
| Geometric Shapes | 909 | 22 | 4.6 | 26.8 | 8.8 | 35.0 |
| General Punctuation | 563 | 25 | 12.6 | 32.7 | 14.7 | 36.4 |
| IPA Extensions | 515 | 68 | 6.8 | 22.7 | 16.7 | 37.9 |
| Supplemental Mathematical Operators | 483 | 24 | 24.4 | 47.4 | 29.4 | 53.4 |
| Miscellaneous Mathematical Symbols-A | 414 | 6 | 36.0 | 53.4 | 37.0 | 53.6 |
| Cyrillic | 412 | 67 | 12.1 | 37.9 | 29.9 | 54.1 |
| Dingbats | 261 | 4 | 31.0 | 57.9 | 31.0 | 57.9 |
| Miscellaneous Technical | 257 | 9 | 5.4 | 47.5 | 6.2 | 49.8 |
| Supplemental Arrows-A | 197 | 9 | 13.2 | 57.4 | 13.2 | 57.4 |
| Currency Symbols | 167 | 6 | 23.4 | 45.5 | 29.3 | 46.7 |
| Arabic | 111 | 37 | 10.8 | 46.8 | 20.7 | 52.3 |
| Supplemental Arrows-B | 106 | 2 | 2.8 | 13.2 | 2.8 | 13.2 |
| Latin Extended-A | 94 | 9 | 26.6 | 52.1 | 30.9 | 58.5 |
| Spacing Modifier Letters | 88 | 11 | 6.8 | 29.5 | 31.8 | 53.4 |
| Phonetic Extensions | 66 | 4 | 0.0 | 4.5 | 0.0 | 4.5 |
| Latin Extended-B | 43 | 13 | 4.7 | 11.6 | 20.9 | 32.6 |
| Supplemental Punctuation | 27 | 2 | 0.0 | 3.7 | 0.0 | 3.7 |
| Miscellaneous Mathematical Symbols-B | 25 | 4 | 12.0 | 36.0 | 12.0 | 36.0 |
| Hebrew | 22 | 22 | 18.2 | 36.4 | 22.7 | 36.4 |
| Enclosed Alphanumerics | 19 | 2 | 36.8 | 42.1 | 36.8 | 42.1 |
| Box Drawing | 18 | 2 | 5.6 | 61.1 | 5.6 | 61.1 |
| Cyrillic Extended-B | 15 | 3 | 0.0 | 13.3 | 0.0 | 13.3 |
| Latin Extended-E | 12 | 1 | 0.0 | 0.0 | 0.0 | 0.0 |
| Enclosed Alphanumeric Supplement | 6 | 1 | 16.7 | 66.7 | 16.7 | 66.7 |
| Miscellaneous Symbols and Arrows | 3 | 1 | 0.0 | 0.0 | 0.0 | 0.0 |
| Arabic Supplement | 3 | 1 | 0.0 | 66.7 | 0.0 | 66.7 |
| Modifier Tone Letters | 3 | 1 | 0.0 | 0.0 | 0.0 | 0.0 |
| Thai | 3 | 1 | 100.0 | 100.0 | 100.0 | 100.0 |

</details>

</details>

<details><summary>Encoder (synthetic-and-real-1701), index (a): mean of the glyph renders</summary>

Encoder trained on synthetic drawings plus real training drawings; 1701 steps in 9 min; index vectors: 6161.

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| All (per sample) | 39943 | 902 | 37.7 | 70.5 | 47.9 | 75.5 |
| All (per character) | 39943 | 902 | 37.8 | 67.9 | 45.2 | 72.6 |
| Characters: seen | 29164 | 682 | 40.7 | 72.7 | 50.7 | 77.9 |
| Characters: zero-shot | 10779 | 220 | 29.5 | 64.4 | 40.4 | 69.0 |
| Dataset: detexify | 36975 | 689 | 38.9 | 71.5 | 48.9 | 76.3 |
| Dataset: omniglot | 834 | 180 | 25.8 | 66.5 | 46.9 | 78.9 |
| Dataset: uji | 2134 | 97 | 22.3 | 53.2 | 31.4 | 60.2 |

<details><summary>By Unicode block</summary>

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| Mathematical Operators | 13644 | 167 | 46.9 | 81.3 | 60.2 | 84.8 |
| Greek and Coptic | 6889 | 44 | 12.5 | 51.4 | 27.3 | 63.8 |
| Basic Latin | 4110 | 90 | 37.1 | 65.6 | 43.8 | 69.5 |
| Latin-1 Supplement | 2713 | 52 | 40.9 | 75.0 | 44.6 | 76.1 |
| Letterlike Symbols | 2403 | 36 | 43.2 | 66.5 | 53.2 | 70.0 |
| Arrows | 2270 | 61 | 57.5 | 91.4 | 57.8 | 91.5 |
| Miscellaneous Symbols | 1663 | 44 | 54.7 | 69.6 | 56.0 | 70.4 |
| Mathematical Alphanumeric Symbols | 1439 | 56 | 26.4 | 53.2 | 42.9 | 60.6 |
| Geometric Shapes | 909 | 22 | 13.0 | 48.5 | 18.9 | 53.6 |
| General Punctuation | 563 | 25 | 39.3 | 58.3 | 42.8 | 65.2 |
| IPA Extensions | 515 | 68 | 11.1 | 47.2 | 28.9 | 65.6 |
| Supplemental Mathematical Operators | 483 | 24 | 51.8 | 84.3 | 56.3 | 85.3 |
| Miscellaneous Mathematical Symbols-A | 414 | 6 | 50.0 | 87.4 | 50.0 | 87.7 |
| Cyrillic | 412 | 67 | 17.7 | 60.9 | 45.4 | 78.4 |
| Dingbats | 261 | 4 | 67.0 | 87.4 | 67.0 | 87.4 |
| Miscellaneous Technical | 257 | 9 | 23.7 | 81.7 | 26.1 | 81.7 |
| Supplemental Arrows-A | 197 | 9 | 46.2 | 94.9 | 46.2 | 94.9 |
| Currency Symbols | 167 | 6 | 59.9 | 79.0 | 64.1 | 83.8 |
| Arabic | 111 | 37 | 65.8 | 87.4 | 67.6 | 89.2 |
| Supplemental Arrows-B | 106 | 2 | 13.2 | 67.9 | 13.2 | 67.9 |
| Latin Extended-A | 94 | 9 | 53.2 | 87.2 | 67.0 | 87.2 |
| Spacing Modifier Letters | 88 | 11 | 10.2 | 89.8 | 50.0 | 89.8 |
| Phonetic Extensions | 66 | 4 | 0.0 | 9.1 | 0.0 | 9.1 |
| Latin Extended-B | 43 | 13 | 16.3 | 32.6 | 18.6 | 53.5 |
| Supplemental Punctuation | 27 | 2 | 3.7 | 14.8 | 3.7 | 14.8 |
| Miscellaneous Mathematical Symbols-B | 25 | 4 | 16.0 | 48.0 | 16.0 | 48.0 |
| Hebrew | 22 | 22 | 54.5 | 72.7 | 54.5 | 72.7 |
| Enclosed Alphanumerics | 19 | 2 | 47.4 | 52.6 | 47.4 | 52.6 |
| Cyrillic Extended-B | 15 | 3 | 6.7 | 26.7 | 13.3 | 46.7 |
| Latin Extended-E | 12 | 1 | 0.0 | 25.0 | 0.0 | 25.0 |
| Arabic Supplement | 3 | 1 | 100.0 | 100.0 | 100.0 | 100.0 |
| Miscellaneous Symbols and Arrows | 3 | 1 | 0.0 | 33.3 | 0.0 | 33.3 |

</details>

</details>

<details><summary>Encoder (synthetic-and-real-1701), index (a): glyph render per font, best match</summary>

Encoder trained on synthetic drawings plus real training drawings; 1701 steps in 9 min; index vectors: 74085.

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| All (per sample) | 39943 | 902 | 43.5 | 74.8 | 52.3 | 79.2 |
| All (per character) | 39943 | 902 | 41.8 | 71.1 | 49.2 | 75.9 |
| Characters: seen | 29164 | 682 | 46.2 | 76.5 | 54.2 | 80.8 |
| Characters: zero-shot | 10779 | 220 | 36.4 | 70.0 | 47.1 | 75.0 |
| Dataset: detexify | 36975 | 689 | 44.5 | 75.3 | 52.9 | 79.4 |
| Dataset: omniglot | 834 | 180 | 32.3 | 69.4 | 53.5 | 83.2 |
| Dataset: uji | 2134 | 97 | 32.2 | 68.0 | 41.1 | 74.2 |

<details><summary>By Unicode block</summary>

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| Mathematical Operators | 13644 | 167 | 52.6 | 83.2 | 62.9 | 86.7 |
| Greek and Coptic | 6889 | 44 | 20.2 | 61.0 | 33.3 | 70.5 |
| Basic Latin | 4110 | 90 | 46.8 | 76.3 | 53.2 | 79.7 |
| Latin-1 Supplement | 2713 | 52 | 49.8 | 78.9 | 53.6 | 79.7 |
| Letterlike Symbols | 2403 | 36 | 46.6 | 69.5 | 54.7 | 73.6 |
| Arrows | 2270 | 61 | 64.2 | 93.4 | 64.4 | 93.4 |
| Miscellaneous Symbols | 1663 | 44 | 57.4 | 72.5 | 58.0 | 72.9 |
| Mathematical Alphanumeric Symbols | 1439 | 56 | 26.1 | 48.9 | 39.0 | 57.7 |
| Geometric Shapes | 909 | 22 | 14.6 | 51.0 | 20.0 | 55.9 |
| General Punctuation | 563 | 25 | 43.7 | 62.9 | 50.4 | 65.2 |
| IPA Extensions | 515 | 68 | 17.7 | 52.2 | 37.1 | 71.3 |
| Supplemental Mathematical Operators | 483 | 24 | 44.3 | 81.4 | 54.2 | 82.8 |
| Miscellaneous Mathematical Symbols-A | 414 | 6 | 59.2 | 92.3 | 59.2 | 92.3 |
| Cyrillic | 412 | 67 | 20.4 | 65.0 | 52.4 | 85.2 |
| Dingbats | 261 | 4 | 67.8 | 88.1 | 67.8 | 88.1 |
| Miscellaneous Technical | 257 | 9 | 21.0 | 86.4 | 23.7 | 87.9 |
| Supplemental Arrows-A | 197 | 9 | 40.6 | 96.4 | 40.6 | 96.4 |
| Currency Symbols | 167 | 6 | 71.9 | 84.4 | 78.4 | 88.0 |
| Arabic | 111 | 37 | 69.4 | 90.1 | 71.2 | 91.0 |
| Supplemental Arrows-B | 106 | 2 | 10.4 | 63.2 | 10.4 | 63.2 |
| Latin Extended-A | 94 | 9 | 61.7 | 92.6 | 74.5 | 92.6 |
| Spacing Modifier Letters | 88 | 11 | 11.4 | 85.2 | 47.7 | 88.6 |
| Phonetic Extensions | 66 | 4 | 0.0 | 27.3 | 0.0 | 27.3 |
| Latin Extended-B | 43 | 13 | 14.0 | 39.5 | 20.9 | 48.8 |
| Supplemental Punctuation | 27 | 2 | 3.7 | 7.4 | 3.7 | 7.4 |
| Miscellaneous Mathematical Symbols-B | 25 | 4 | 20.0 | 56.0 | 20.0 | 56.0 |
| Hebrew | 22 | 22 | 54.5 | 63.6 | 59.1 | 63.6 |
| Enclosed Alphanumerics | 19 | 2 | 47.4 | 52.6 | 47.4 | 52.6 |
| Cyrillic Extended-B | 15 | 3 | 6.7 | 13.3 | 6.7 | 26.7 |
| Latin Extended-E | 12 | 1 | 0.0 | 25.0 | 0.0 | 25.0 |
| Arabic Supplement | 3 | 1 | 66.7 | 100.0 | 66.7 | 100.0 |
| Miscellaneous Symbols and Arrows | 3 | 1 | 0.0 | 0.0 | 0.0 | 0.0 |

</details>

</details>

<details><summary>Encoder (synthetic-and-real-1701), index (b): mean of 16 synthetic drawings</summary>

Encoder trained on synthetic drawings plus real training drawings; 1701 steps in 9 min; index vectors: 6161.

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| All (per sample) | 39943 | 902 | 33.5 | 67.7 | 44.7 | 74.4 |
| All (per character) | 39943 | 902 | 34.6 | 65.2 | 42.3 | 71.1 |
| Characters: seen | 29164 | 682 | 35.9 | 70.1 | 47.0 | 76.6 |
| Characters: zero-shot | 10779 | 220 | 26.7 | 61.2 | 38.6 | 68.4 |
| Dataset: detexify | 36975 | 689 | 34.6 | 68.8 | 45.6 | 75.0 |
| Dataset: omniglot | 834 | 180 | 22.3 | 60.8 | 43.2 | 77.6 |
| Dataset: uji | 2134 | 97 | 17.8 | 50.8 | 30.1 | 62.5 |

<details><summary>By Unicode block</summary>

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| Mathematical Operators | 13644 | 167 | 43.1 | 79.8 | 57.5 | 84.3 |
| Greek and Coptic | 6889 | 44 | 9.9 | 45.7 | 25.1 | 62.7 |
| Basic Latin | 4110 | 90 | 26.5 | 63.3 | 41.5 | 70.9 |
| Latin-1 Supplement | 2713 | 52 | 41.4 | 74.3 | 46.4 | 76.4 |
| Letterlike Symbols | 2403 | 36 | 37.7 | 64.1 | 46.9 | 69.5 |
| Arrows | 2270 | 61 | 52.1 | 89.4 | 52.2 | 89.4 |
| Miscellaneous Symbols | 1663 | 44 | 48.3 | 68.5 | 49.5 | 69.1 |
| Mathematical Alphanumeric Symbols | 1439 | 56 | 25.6 | 51.6 | 39.4 | 58.4 |
| Geometric Shapes | 909 | 22 | 2.9 | 24.9 | 5.5 | 29.9 |
| General Punctuation | 563 | 25 | 35.7 | 60.7 | 37.5 | 64.3 |
| IPA Extensions | 515 | 68 | 12.0 | 45.2 | 28.2 | 66.0 |
| Supplemental Mathematical Operators | 483 | 24 | 53.6 | 86.5 | 57.1 | 87.4 |
| Miscellaneous Mathematical Symbols-A | 414 | 6 | 37.9 | 84.1 | 37.9 | 84.3 |
| Cyrillic | 412 | 67 | 18.0 | 60.4 | 43.4 | 80.3 |
| Dingbats | 261 | 4 | 65.9 | 86.6 | 65.9 | 86.6 |
| Miscellaneous Technical | 257 | 9 | 22.2 | 73.9 | 24.5 | 74.7 |
| Supplemental Arrows-A | 197 | 9 | 32.5 | 92.4 | 32.5 | 92.4 |
| Currency Symbols | 167 | 6 | 56.3 | 79.0 | 62.3 | 82.6 |
| Arabic | 111 | 37 | 51.4 | 82.9 | 53.2 | 83.8 |
| Supplemental Arrows-B | 106 | 2 | 13.2 | 65.1 | 13.2 | 65.1 |
| Latin Extended-A | 94 | 9 | 42.6 | 87.2 | 55.3 | 88.3 |
| Spacing Modifier Letters | 88 | 11 | 31.8 | 83.0 | 43.2 | 85.2 |
| Phonetic Extensions | 66 | 4 | 0.0 | 6.1 | 0.0 | 6.1 |
| Latin Extended-B | 43 | 13 | 16.3 | 30.2 | 27.9 | 55.8 |
| Supplemental Punctuation | 27 | 2 | 3.7 | 7.4 | 3.7 | 7.4 |
| Miscellaneous Mathematical Symbols-B | 25 | 4 | 24.0 | 60.0 | 24.0 | 60.0 |
| Hebrew | 22 | 22 | 40.9 | 54.5 | 45.5 | 59.1 |
| Enclosed Alphanumerics | 19 | 2 | 52.6 | 57.9 | 52.6 | 57.9 |
| Cyrillic Extended-B | 15 | 3 | 6.7 | 26.7 | 13.3 | 46.7 |
| Latin Extended-E | 12 | 1 | 0.0 | 50.0 | 0.0 | 50.0 |
| Arabic Supplement | 3 | 1 | 66.7 | 100.0 | 66.7 | 100.0 |
| Miscellaneous Symbols and Arrows | 3 | 1 | 33.3 | 100.0 | 33.3 | 100.0 |

</details>

</details>

<details><summary>Encoder (synthetic-only-1701), index (a): mean of the glyph renders</summary>

Encoder trained on synthetic drawings only; 1701 steps in 9 min; index vectors: 6161.

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| All (per sample) | 39943 | 902 | 33.6 | 65.7 | 44.2 | 71.9 |
| All (per character) | 39943 | 902 | 34.6 | 63.6 | 41.7 | 68.4 |
| Characters: seen | 29164 | 682 | 36.3 | 66.8 | 46.3 | 73.6 |
| Characters: zero-shot | 10779 | 220 | 26.3 | 62.6 | 38.5 | 67.3 |
| Dataset: detexify | 36975 | 689 | 34.7 | 66.9 | 45.2 | 72.9 |
| Dataset: omniglot | 834 | 180 | 22.9 | 61.9 | 42.6 | 74.2 |
| Dataset: uji | 2134 | 97 | 18.8 | 45.8 | 27.4 | 53.9 |

<details><summary>By Unicode block</summary>

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| Mathematical Operators | 13644 | 167 | 42.2 | 76.8 | 55.3 | 81.6 |
| Greek and Coptic | 6889 | 44 | 8.0 | 42.7 | 25.3 | 58.9 |
| Basic Latin | 4110 | 90 | 32.9 | 62.6 | 40.8 | 67.1 |
| Latin-1 Supplement | 2713 | 52 | 38.5 | 70.5 | 41.7 | 72.5 |
| Letterlike Symbols | 2403 | 36 | 38.5 | 61.5 | 46.6 | 66.5 |
| Arrows | 2270 | 61 | 51.6 | 88.4 | 52.2 | 88.4 |
| Miscellaneous Symbols | 1663 | 44 | 48.5 | 67.0 | 50.0 | 67.9 |
| Mathematical Alphanumeric Symbols | 1439 | 56 | 21.3 | 46.8 | 36.8 | 52.7 |
| Geometric Shapes | 909 | 22 | 18.2 | 44.8 | 25.0 | 48.8 |
| General Punctuation | 563 | 25 | 34.6 | 59.0 | 38.4 | 65.5 |
| IPA Extensions | 515 | 68 | 11.3 | 41.7 | 28.3 | 58.4 |
| Supplemental Mathematical Operators | 483 | 24 | 55.3 | 85.1 | 59.0 | 85.9 |
| Miscellaneous Mathematical Symbols-A | 414 | 6 | 51.4 | 88.2 | 51.4 | 88.4 |
| Cyrillic | 412 | 67 | 13.6 | 54.9 | 39.1 | 71.6 |
| Dingbats | 261 | 4 | 65.9 | 86.6 | 65.9 | 86.6 |
| Miscellaneous Technical | 257 | 9 | 23.3 | 75.5 | 25.3 | 75.5 |
| Supplemental Arrows-A | 197 | 9 | 47.7 | 92.4 | 47.7 | 92.4 |
| Currency Symbols | 167 | 6 | 53.9 | 77.8 | 58.7 | 79.0 |
| Arabic | 111 | 37 | 56.8 | 89.2 | 57.7 | 90.1 |
| Supplemental Arrows-B | 106 | 2 | 10.4 | 56.6 | 10.4 | 56.6 |
| Latin Extended-A | 94 | 9 | 46.8 | 81.9 | 60.6 | 81.9 |
| Spacing Modifier Letters | 88 | 11 | 6.8 | 86.4 | 42.0 | 86.4 |
| Phonetic Extensions | 66 | 4 | 0.0 | 10.6 | 0.0 | 10.6 |
| Latin Extended-B | 43 | 13 | 11.6 | 25.6 | 14.0 | 55.8 |
| Supplemental Punctuation | 27 | 2 | 3.7 | 11.1 | 3.7 | 11.1 |
| Miscellaneous Mathematical Symbols-B | 25 | 4 | 12.0 | 56.0 | 12.0 | 56.0 |
| Hebrew | 22 | 22 | 50.0 | 59.1 | 50.0 | 59.1 |
| Enclosed Alphanumerics | 19 | 2 | 26.3 | 42.1 | 26.3 | 42.1 |
| Cyrillic Extended-B | 15 | 3 | 13.3 | 20.0 | 13.3 | 26.7 |
| Latin Extended-E | 12 | 1 | 0.0 | 33.3 | 0.0 | 33.3 |
| Miscellaneous Symbols and Arrows | 3 | 1 | 0.0 | 33.3 | 0.0 | 33.3 |
| Arabic Supplement | 3 | 1 | 100.0 | 100.0 | 100.0 | 100.0 |

</details>

</details>

<details><summary>Encoder (synthetic-only-1701), index (a): glyph render per font, best match</summary>

Encoder trained on synthetic drawings only; 1701 steps in 9 min; index vectors: 74085.

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| All (per sample) | 39943 | 902 | 40.6 | 71.5 | 49.7 | 76.4 |
| All (per character) | 39943 | 902 | 39.4 | 68.7 | 46.8 | 73.2 |
| Characters: seen | 29164 | 682 | 43.4 | 72.9 | 51.6 | 77.8 |
| Characters: zero-shot | 10779 | 220 | 33.1 | 67.5 | 44.6 | 72.8 |
| Dataset: detexify | 36975 | 689 | 41.5 | 72.0 | 50.4 | 76.7 |
| Dataset: omniglot | 834 | 180 | 27.1 | 68.3 | 47.6 | 79.5 |
| Dataset: uji | 2134 | 97 | 29.7 | 63.4 | 37.7 | 70.2 |

<details><summary>By Unicode block</summary>

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| Mathematical Operators | 13644 | 167 | 49.1 | 80.8 | 60.6 | 85.3 |
| Greek and Coptic | 6889 | 44 | 16.6 | 54.3 | 29.5 | 64.2 |
| Basic Latin | 4110 | 90 | 44.5 | 74.2 | 50.9 | 78.5 |
| Latin-1 Supplement | 2713 | 52 | 49.8 | 77.4 | 53.0 | 78.8 |
| Letterlike Symbols | 2403 | 36 | 42.7 | 63.5 | 50.7 | 68.3 |
| Arrows | 2270 | 61 | 58.2 | 90.5 | 58.7 | 90.5 |
| Miscellaneous Symbols | 1663 | 44 | 52.7 | 70.3 | 53.9 | 70.7 |
| Mathematical Alphanumeric Symbols | 1439 | 56 | 23.6 | 43.3 | 34.5 | 51.6 |
| Geometric Shapes | 909 | 22 | 16.2 | 47.3 | 25.0 | 51.5 |
| General Punctuation | 563 | 25 | 42.3 | 66.4 | 49.0 | 67.5 |
| IPA Extensions | 515 | 68 | 14.4 | 49.3 | 34.4 | 66.2 |
| Supplemental Mathematical Operators | 483 | 24 | 48.4 | 82.6 | 54.5 | 83.9 |
| Miscellaneous Mathematical Symbols-A | 414 | 6 | 64.5 | 90.8 | 64.5 | 90.8 |
| Cyrillic | 412 | 67 | 17.2 | 62.9 | 46.6 | 79.6 |
| Dingbats | 261 | 4 | 64.0 | 84.7 | 64.0 | 84.7 |
| Miscellaneous Technical | 257 | 9 | 21.0 | 86.0 | 23.3 | 87.2 |
| Supplemental Arrows-A | 197 | 9 | 48.2 | 94.9 | 48.2 | 94.9 |
| Currency Symbols | 167 | 6 | 67.7 | 86.2 | 73.1 | 88.6 |
| Arabic | 111 | 37 | 61.3 | 88.3 | 63.1 | 89.2 |
| Supplemental Arrows-B | 106 | 2 | 8.5 | 52.8 | 8.5 | 52.8 |
| Latin Extended-A | 94 | 9 | 52.1 | 88.3 | 68.1 | 88.3 |
| Spacing Modifier Letters | 88 | 11 | 12.5 | 88.6 | 51.1 | 88.6 |
| Phonetic Extensions | 66 | 4 | 3.0 | 25.8 | 3.0 | 25.8 |
| Latin Extended-B | 43 | 13 | 25.6 | 48.8 | 27.9 | 51.2 |
| Supplemental Punctuation | 27 | 2 | 3.7 | 7.4 | 3.7 | 7.4 |
| Miscellaneous Mathematical Symbols-B | 25 | 4 | 16.0 | 60.0 | 16.0 | 60.0 |
| Hebrew | 22 | 22 | 36.4 | 68.2 | 45.5 | 68.2 |
| Enclosed Alphanumerics | 19 | 2 | 36.8 | 47.4 | 36.8 | 47.4 |
| Cyrillic Extended-B | 15 | 3 | 0.0 | 20.0 | 0.0 | 20.0 |
| Latin Extended-E | 12 | 1 | 0.0 | 8.3 | 0.0 | 8.3 |
| Miscellaneous Symbols and Arrows | 3 | 1 | 0.0 | 0.0 | 0.0 | 0.0 |
| Arabic Supplement | 3 | 1 | 100.0 | 100.0 | 100.0 | 100.0 |

</details>

</details>

<details><summary>Encoder (synthetic-only-1701), index (b): mean of 16 synthetic drawings</summary>

Encoder trained on synthetic drawings only; 1701 steps in 9 min; index vectors: 6161.

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| All (per sample) | 39943 | 902 | 31.4 | 64.9 | 42.0 | 71.5 |
| All (per character) | 39943 | 902 | 32.7 | 62.8 | 40.1 | 68.3 |
| Characters: seen | 29164 | 682 | 33.5 | 66.7 | 44.1 | 73.3 |
| Characters: zero-shot | 10779 | 220 | 25.7 | 60.1 | 36.4 | 66.7 |
| Dataset: detexify | 36975 | 689 | 32.6 | 66.2 | 42.8 | 72.2 |
| Dataset: omniglot | 834 | 180 | 21.0 | 58.0 | 42.1 | 74.5 |
| Dataset: uji | 2134 | 97 | 16.2 | 45.9 | 27.1 | 57.6 |

<details><summary>By Unicode block</summary>

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| Mathematical Operators | 13644 | 167 | 39.3 | 76.6 | 52.9 | 81.4 |
| Greek and Coptic | 6889 | 44 | 10.1 | 43.5 | 24.9 | 58.9 |
| Basic Latin | 4110 | 90 | 27.0 | 59.5 | 39.9 | 67.0 |
| Latin-1 Supplement | 2713 | 52 | 39.9 | 71.3 | 45.1 | 73.9 |
| Letterlike Symbols | 2403 | 36 | 36.4 | 61.0 | 44.7 | 66.4 |
| Arrows | 2270 | 61 | 47.4 | 86.3 | 47.6 | 86.3 |
| Miscellaneous Symbols | 1663 | 44 | 42.7 | 66.8 | 44.4 | 67.6 |
| Mathematical Alphanumeric Symbols | 1439 | 56 | 24.7 | 47.8 | 35.2 | 53.6 |
| Geometric Shapes | 909 | 22 | 3.1 | 28.4 | 5.1 | 34.4 |
| General Punctuation | 563 | 25 | 35.2 | 61.1 | 36.9 | 67.5 |
| IPA Extensions | 515 | 68 | 11.3 | 40.4 | 27.2 | 61.0 |
| Supplemental Mathematical Operators | 483 | 24 | 52.8 | 87.4 | 58.4 | 88.4 |
| Miscellaneous Mathematical Symbols-A | 414 | 6 | 36.5 | 87.0 | 36.7 | 87.0 |
| Cyrillic | 412 | 67 | 13.8 | 54.1 | 40.0 | 74.3 |
| Dingbats | 261 | 4 | 66.3 | 85.8 | 66.3 | 85.8 |
| Miscellaneous Technical | 257 | 9 | 22.6 | 68.9 | 23.7 | 69.6 |
| Supplemental Arrows-A | 197 | 9 | 31.5 | 86.3 | 31.5 | 86.3 |
| Currency Symbols | 167 | 6 | 53.9 | 76.6 | 58.1 | 80.2 |
| Arabic | 111 | 37 | 46.8 | 82.9 | 47.7 | 84.7 |
| Supplemental Arrows-B | 106 | 2 | 11.3 | 56.6 | 11.3 | 56.6 |
| Latin Extended-A | 94 | 9 | 48.9 | 79.8 | 55.3 | 79.8 |
| Spacing Modifier Letters | 88 | 11 | 26.1 | 83.0 | 42.0 | 85.2 |
| Phonetic Extensions | 66 | 4 | 0.0 | 13.6 | 0.0 | 13.6 |
| Latin Extended-B | 43 | 13 | 14.0 | 27.9 | 27.9 | 53.5 |
| Supplemental Punctuation | 27 | 2 | 3.7 | 7.4 | 3.7 | 7.4 |
| Miscellaneous Mathematical Symbols-B | 25 | 4 | 24.0 | 68.0 | 24.0 | 68.0 |
| Hebrew | 22 | 22 | 40.9 | 54.5 | 40.9 | 54.5 |
| Enclosed Alphanumerics | 19 | 2 | 26.3 | 42.1 | 26.3 | 42.1 |
| Cyrillic Extended-B | 15 | 3 | 13.3 | 20.0 | 13.3 | 26.7 |
| Latin Extended-E | 12 | 1 | 0.0 | 0.0 | 0.0 | 0.0 |
| Miscellaneous Symbols and Arrows | 3 | 1 | 33.3 | 66.7 | 33.3 | 66.7 |
| Arabic Supplement | 3 | 1 | 100.0 | 100.0 | 100.0 | 100.0 |

</details>

</details>

<details><summary>Encoder (synthetic-and-real-long), index (a): mean of the glyph renders</summary>

Encoder trained on synthetic drawings plus real training drawings; 30000 steps in 163 min; index vectors: 6161.

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| All (per sample) | 39943 | 902 | 46.4 | 79.6 | 57.4 | 83.6 |
| All (per character) | 39943 | 902 | 47.5 | 79.0 | 56.6 | 82.8 |
| Characters: seen | 29164 | 682 | 52.7 | 84.3 | 63.0 | 87.5 |
| Characters: zero-shot | 10779 | 220 | 29.1 | 67.2 | 42.2 | 72.8 |
| Dataset: detexify | 36975 | 689 | 47.0 | 80.1 | 57.7 | 83.8 |
| Dataset: omniglot | 834 | 180 | 37.6 | 80.1 | 61.6 | 87.9 |
| Dataset: uji | 2134 | 97 | 38.2 | 72.5 | 49.9 | 77.9 |

<details><summary>By Unicode block</summary>

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| Mathematical Operators | 13644 | 167 | 53.4 | 87.0 | 66.5 | 90.0 |
| Greek and Coptic | 6889 | 44 | 24.4 | 66.8 | 41.9 | 74.5 |
| Basic Latin | 4110 | 90 | 47.5 | 75.8 | 56.2 | 80.9 |
| Latin-1 Supplement | 2713 | 52 | 51.1 | 81.8 | 54.7 | 84.4 |
| Letterlike Symbols | 2403 | 36 | 58.0 | 81.9 | 67.5 | 83.5 |
| Arrows | 2270 | 61 | 64.8 | 96.3 | 65.0 | 96.3 |
| Miscellaneous Symbols | 1663 | 44 | 58.4 | 88.2 | 60.5 | 88.5 |
| Mathematical Alphanumeric Symbols | 1439 | 56 | 41.6 | 68.3 | 55.4 | 71.0 |
| Geometric Shapes | 909 | 22 | 8.7 | 33.3 | 15.8 | 38.6 |
| General Punctuation | 563 | 25 | 38.9 | 67.7 | 47.4 | 81.3 |
| IPA Extensions | 515 | 68 | 17.5 | 60.2 | 42.5 | 74.2 |
| Supplemental Mathematical Operators | 483 | 24 | 64.0 | 92.1 | 71.8 | 92.5 |
| Miscellaneous Mathematical Symbols-A | 414 | 6 | 57.2 | 92.8 | 57.5 | 92.8 |
| Cyrillic | 412 | 67 | 30.1 | 80.1 | 63.1 | 90.3 |
| Dingbats | 261 | 4 | 73.2 | 89.7 | 73.2 | 89.7 |
| Miscellaneous Technical | 257 | 9 | 32.3 | 83.3 | 35.4 | 83.3 |
| Supplemental Arrows-A | 197 | 9 | 58.4 | 98.5 | 58.4 | 98.5 |
| Currency Symbols | 167 | 6 | 73.7 | 89.2 | 77.8 | 91.0 |
| Arabic | 111 | 37 | 73.9 | 94.6 | 75.7 | 94.6 |
| Supplemental Arrows-B | 106 | 2 | 12.3 | 75.5 | 12.3 | 75.5 |
| Latin Extended-A | 94 | 9 | 53.2 | 93.6 | 70.2 | 93.6 |
| Spacing Modifier Letters | 88 | 11 | 18.2 | 87.5 | 56.8 | 89.8 |
| Phonetic Extensions | 66 | 4 | 1.5 | 24.2 | 1.5 | 24.2 |
| Latin Extended-B | 43 | 13 | 23.3 | 58.1 | 25.6 | 79.1 |
| Supplemental Punctuation | 27 | 2 | 7.4 | 14.8 | 7.4 | 14.8 |
| Miscellaneous Mathematical Symbols-B | 25 | 4 | 16.0 | 60.0 | 16.0 | 60.0 |
| Hebrew | 22 | 22 | 59.1 | 81.8 | 68.2 | 81.8 |
| Enclosed Alphanumerics | 19 | 2 | 68.4 | 84.2 | 68.4 | 84.2 |
| Cyrillic Extended-B | 15 | 3 | 20.0 | 20.0 | 20.0 | 20.0 |
| Latin Extended-E | 12 | 1 | 25.0 | 100.0 | 25.0 | 100.0 |
| Arabic Supplement | 3 | 1 | 100.0 | 100.0 | 100.0 | 100.0 |
| Miscellaneous Symbols and Arrows | 3 | 1 | 100.0 | 100.0 | 100.0 | 100.0 |

</details>

</details>

<details><summary>Encoder (synthetic-and-real-long), index (a): glyph render per font, best match</summary>

Encoder trained on synthetic drawings plus real training drawings; 30000 steps in 163 min; index vectors: 74085.

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| All (per sample) | 39943 | 902 | 49.7 | 82.4 | 59.6 | 86.0 |
| All (per character) | 39943 | 902 | 48.6 | 80.0 | 57.5 | 84.0 |
| Characters: seen | 29164 | 682 | 54.9 | 86.1 | 63.9 | 88.8 |
| Characters: zero-shot | 10779 | 220 | 35.6 | 72.5 | 48.0 | 78.4 |
| Dataset: detexify | 36975 | 689 | 50.3 | 82.8 | 59.9 | 86.1 |
| Dataset: omniglot | 834 | 180 | 38.1 | 80.1 | 61.8 | 87.9 |
| Dataset: uji | 2134 | 97 | 42.5 | 76.9 | 54.3 | 83.0 |

<details><summary>By Unicode block</summary>

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| Mathematical Operators | 13644 | 167 | 56.5 | 88.3 | 69.0 | 91.3 |
| Greek and Coptic | 6889 | 44 | 27.6 | 73.6 | 42.3 | 81.5 |
| Basic Latin | 4110 | 90 | 54.8 | 83.2 | 62.4 | 86.4 |
| Latin-1 Supplement | 2713 | 52 | 58.5 | 84.8 | 62.3 | 86.1 |
| Letterlike Symbols | 2403 | 36 | 57.9 | 81.3 | 66.0 | 82.9 |
| Arrows | 2270 | 61 | 68.2 | 96.4 | 68.2 | 96.4 |
| Miscellaneous Symbols | 1663 | 44 | 62.4 | 88.9 | 63.6 | 89.1 |
| Mathematical Alphanumeric Symbols | 1439 | 56 | 36.6 | 62.6 | 47.8 | 66.5 |
| Geometric Shapes | 909 | 22 | 19.3 | 43.2 | 23.8 | 46.6 |
| General Punctuation | 563 | 25 | 46.5 | 77.4 | 53.1 | 83.1 |
| IPA Extensions | 515 | 68 | 19.8 | 63.7 | 42.3 | 78.1 |
| Supplemental Mathematical Operators | 483 | 24 | 55.1 | 90.5 | 67.1 | 91.3 |
| Miscellaneous Mathematical Symbols-A | 414 | 6 | 63.5 | 92.3 | 63.5 | 92.5 |
| Cyrillic | 412 | 67 | 28.2 | 80.1 | 63.6 | 92.0 |
| Dingbats | 261 | 4 | 69.3 | 88.5 | 69.3 | 88.5 |
| Miscellaneous Technical | 257 | 9 | 27.2 | 89.9 | 30.4 | 90.7 |
| Supplemental Arrows-A | 197 | 9 | 57.4 | 98.5 | 57.4 | 98.5 |
| Currency Symbols | 167 | 6 | 79.6 | 92.2 | 83.2 | 94.0 |
| Arabic | 111 | 37 | 73.0 | 89.2 | 73.9 | 91.0 |
| Supplemental Arrows-B | 106 | 2 | 7.5 | 71.7 | 7.5 | 71.7 |
| Latin Extended-A | 94 | 9 | 57.4 | 93.6 | 70.2 | 93.6 |
| Spacing Modifier Letters | 88 | 11 | 12.5 | 84.1 | 45.5 | 89.8 |
| Phonetic Extensions | 66 | 4 | 0.0 | 15.2 | 0.0 | 15.2 |
| Latin Extended-B | 43 | 13 | 23.3 | 51.2 | 53.5 | 79.1 |
| Supplemental Punctuation | 27 | 2 | 11.1 | 14.8 | 11.1 | 14.8 |
| Miscellaneous Mathematical Symbols-B | 25 | 4 | 24.0 | 68.0 | 24.0 | 68.0 |
| Hebrew | 22 | 22 | 54.5 | 81.8 | 63.6 | 81.8 |
| Enclosed Alphanumerics | 19 | 2 | 68.4 | 78.9 | 68.4 | 78.9 |
| Cyrillic Extended-B | 15 | 3 | 13.3 | 20.0 | 13.3 | 20.0 |
| Latin Extended-E | 12 | 1 | 8.3 | 91.7 | 8.3 | 91.7 |
| Arabic Supplement | 3 | 1 | 100.0 | 100.0 | 100.0 | 100.0 |
| Miscellaneous Symbols and Arrows | 3 | 1 | 100.0 | 100.0 | 100.0 | 100.0 |

</details>

</details>

<details><summary>Encoder (synthetic-and-real-long), index (a): glyph render per font, best match, with prior</summary>

Score = similarity + 0.002 · log prior (Wikipedia dumps of 20260901); weight given.

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| All (per sample) | 39967 | 905 | 52.1 | 82.3 | 59.3 | 84.7 |
| All (per character) | 39967 | 905 | 48.8 | 78.8 | 56.5 | 81.8 |
| Characters: seen | 29178 | 684 | 55.0 | 85.3 | 62.2 | 87.5 |
| Characters: zero-shot | 10789 | 221 | 44.4 | 74.1 | 51.6 | 77.2 |
| Dataset: detexify | 36999 | 692 | 51.3 | 81.7 | 58.1 | 84.3 |
| Dataset: omniglot | 834 | 180 | 54.9 | 89.6 | 76.4 | 91.6 |
| Dataset: uji | 2134 | 97 | 65.0 | 89.3 | 73.4 | 90.3 |

<details><summary>By Unicode block</summary>

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| Mathematical Operators | 13644 | 167 | 50.7 | 84.7 | 61.8 | 88.2 |
| Greek and Coptic | 6889 | 44 | 54.2 | 85.3 | 59.4 | 87.3 |
| Basic Latin | 4110 | 90 | 73.1 | 90.1 | 77.1 | 92.4 |
| Latin-1 Supplement | 2713 | 52 | 55.8 | 85.2 | 58.9 | 85.4 |
| Letterlike Symbols | 2403 | 36 | 45.7 | 76.2 | 54.9 | 77.9 |
| Arrows | 2270 | 61 | 75.4 | 94.9 | 75.4 | 94.9 |
| Miscellaneous Symbols | 1663 | 44 | 48.3 | 80.3 | 49.4 | 80.4 |
| Mathematical Alphanumeric Symbols | 1439 | 56 | 29.0 | 52.3 | 31.3 | 54.3 |
| Geometric Shapes | 909 | 22 | 4.3 | 25.9 | 4.3 | 28.8 |
| General Punctuation | 563 | 25 | 40.5 | 81.2 | 41.2 | 84.0 |
| IPA Extensions | 515 | 68 | 19.0 | 62.1 | 43.5 | 79.2 |
| Supplemental Mathematical Operators | 483 | 24 | 41.2 | 86.3 | 66.9 | 88.8 |
| Miscellaneous Mathematical Symbols-A | 414 | 6 | 60.1 | 87.2 | 60.1 | 87.2 |
| Cyrillic | 412 | 67 | 38.6 | 89.6 | 78.6 | 93.2 |
| Dingbats | 261 | 4 | 68.6 | 90.4 | 68.6 | 90.4 |
| Miscellaneous Technical | 257 | 9 | 25.3 | 83.3 | 25.3 | 84.4 |
| Supplemental Arrows-A | 197 | 9 | 38.6 | 98.0 | 38.6 | 98.0 |
| Currency Symbols | 167 | 6 | 82.6 | 91.6 | 85.0 | 93.4 |
| Arabic | 111 | 37 | 79.3 | 94.6 | 79.3 | 94.6 |
| Supplemental Arrows-B | 106 | 2 | 7.5 | 52.8 | 7.5 | 52.8 |
| Latin Extended-A | 94 | 9 | 72.3 | 94.7 | 84.0 | 94.7 |
| Spacing Modifier Letters | 88 | 11 | 5.7 | 37.5 | 54.5 | 61.4 |
| Phonetic Extensions | 66 | 4 | 0.0 | 18.2 | 0.0 | 18.2 |
| Latin Extended-B | 43 | 13 | 11.6 | 41.9 | 23.3 | 74.4 |
| Supplemental Punctuation | 27 | 2 | 7.4 | 11.1 | 7.4 | 11.1 |
| Miscellaneous Mathematical Symbols-B | 25 | 4 | 16.0 | 64.0 | 16.0 | 64.0 |
| Hebrew | 22 | 22 | 68.2 | 90.9 | 68.2 | 90.9 |
| Enclosed Alphanumerics | 19 | 2 | 36.8 | 73.7 | 36.8 | 73.7 |
| Box Drawing | 18 | 2 | 0.0 | 33.3 | 0.0 | 33.3 |
| Cyrillic Extended-B | 15 | 3 | 0.0 | 20.0 | 0.0 | 20.0 |
| Latin Extended-E | 12 | 1 | 0.0 | 91.7 | 0.0 | 91.7 |
| Enclosed Alphanumeric Supplement | 6 | 1 | 50.0 | 83.3 | 50.0 | 83.3 |
| Miscellaneous Symbols and Arrows | 3 | 1 | 66.7 | 100.0 | 66.7 | 100.0 |
| Arabic Supplement | 3 | 1 | 100.0 | 100.0 | 100.0 | 100.0 |

</details>

</details>

<details><summary>Encoder (synthetic-and-real-long), index (a): glyph render per font, best match, tiles</summary>

Score = similarity + 0.002 · log prior (Wikipedia dumps of 20260901); weight given.
One tile per confusable group; the tile shows the member in the keyboard's script, assumed to be the drawn character's (Latin for symbols). Exact top-1 therefore measures the representative choice.

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| All (per sample) | 39967 | 905 | 55.4 | 81.6 | 59.3 | 87.5 |
| All (per character) | 39967 | 905 | 50.4 | 75.4 | 56.5 | 84.1 |
| Characters: seen | 29178 | 684 | 58.6 | 84.2 | 62.2 | 89.8 |
| Characters: zero-shot | 10789 | 221 | 46.9 | 74.4 | 51.6 | 81.2 |
| Dataset: detexify | 36999 | 692 | 54.7 | 81.7 | 58.1 | 87.1 |
| Dataset: omniglot | 834 | 180 | 64.7 | 78.9 | 76.4 | 92.3 |
| Dataset: uji | 2134 | 97 | 63.9 | 80.5 | 73.4 | 91.8 |

<details><summary>By Unicode block</summary>

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| Mathematical Operators | 13644 | 167 | 58.0 | 84.1 | 61.8 | 91.5 |
| Greek and Coptic | 6889 | 44 | 59.0 | 89.3 | 59.4 | 89.9 |
| Basic Latin | 4110 | 90 | 73.7 | 89.5 | 77.1 | 93.2 |
| Latin-1 Supplement | 2713 | 52 | 53.3 | 84.2 | 58.9 | 91.3 |
| Letterlike Symbols | 2403 | 36 | 40.4 | 64.6 | 54.9 | 80.2 |
| Arrows | 2270 | 61 | 75.4 | 95.2 | 75.4 | 95.2 |
| Miscellaneous Symbols | 1663 | 44 | 49.4 | 81.3 | 49.4 | 81.7 |
| Mathematical Alphanumeric Symbols | 1439 | 56 | 29.7 | 57.7 | 31.3 | 60.5 |
| Geometric Shapes | 909 | 22 | 4.3 | 27.3 | 4.3 | 29.9 |
| General Punctuation | 563 | 25 | 41.0 | 83.3 | 41.2 | 84.7 |
| IPA Extensions | 515 | 68 | 26.2 | 59.8 | 43.5 | 82.7 |
| Supplemental Mathematical Operators | 483 | 24 | 41.0 | 58.0 | 66.9 | 90.3 |
| Miscellaneous Mathematical Symbols-A | 414 | 6 | 60.1 | 87.9 | 60.1 | 87.9 |
| Cyrillic | 412 | 67 | 55.1 | 66.3 | 78.6 | 93.4 |
| Dingbats | 261 | 4 | 68.6 | 90.4 | 68.6 | 90.4 |
| Miscellaneous Technical | 257 | 9 | 25.3 | 73.2 | 25.3 | 87.9 |
| Supplemental Arrows-A | 197 | 9 | 38.6 | 98.0 | 38.6 | 98.0 |
| Currency Symbols | 167 | 6 | 82.0 | 89.8 | 85.0 | 94.0 |
| Arabic | 111 | 37 | 79.3 | 94.6 | 79.3 | 94.6 |
| Supplemental Arrows-B | 106 | 2 | 7.5 | 53.8 | 7.5 | 53.8 |
| Latin Extended-A | 94 | 9 | 84.0 | 94.7 | 84.0 | 94.7 |
| Spacing Modifier Letters | 88 | 11 | 5.7 | 8.0 | 54.5 | 62.5 |
| Phonetic Extensions | 66 | 4 | 0.0 | 87.9 | 0.0 | 87.9 |
| Latin Extended-B | 43 | 13 | 11.6 | 39.5 | 23.3 | 74.4 |
| Supplemental Punctuation | 27 | 2 | 7.4 | 11.1 | 7.4 | 11.1 |
| Miscellaneous Mathematical Symbols-B | 25 | 4 | 16.0 | 64.0 | 16.0 | 64.0 |
| Hebrew | 22 | 22 | 68.2 | 90.9 | 68.2 | 90.9 |
| Enclosed Alphanumerics | 19 | 2 | 36.8 | 78.9 | 36.8 | 78.9 |
| Box Drawing | 18 | 2 | 0.0 | 38.9 | 0.0 | 38.9 |
| Cyrillic Extended-B | 15 | 3 | 0.0 | 20.0 | 0.0 | 20.0 |
| Latin Extended-E | 12 | 1 | 0.0 | 91.7 | 0.0 | 91.7 |
| Enclosed Alphanumeric Supplement | 6 | 1 | 50.0 | 83.3 | 50.0 | 83.3 |
| Miscellaneous Symbols and Arrows | 3 | 1 | 66.7 | 100.0 | 66.7 | 100.0 |
| Arabic Supplement | 3 | 1 | 100.0 | 100.0 | 100.0 | 100.0 |

</details>

</details>

<details><summary>Encoder (synthetic-and-real-long), index (b): mean of 16 synthetic drawings</summary>

Encoder trained on synthetic drawings plus real training drawings; 30000 steps in 163 min; index vectors: 6161.

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| All (per sample) | 39943 | 902 | 42.2 | 77.0 | 54.3 | 82.0 |
| All (per character) | 39943 | 902 | 43.7 | 76.3 | 53.1 | 81.0 |
| Characters: seen | 29164 | 682 | 46.9 | 81.4 | 59.2 | 86.0 |
| Characters: zero-shot | 10779 | 220 | 29.3 | 65.0 | 41.0 | 71.3 |
| Dataset: detexify | 36975 | 689 | 43.2 | 77.7 | 54.9 | 82.3 |
| Dataset: omniglot | 834 | 180 | 31.7 | 74.1 | 55.9 | 85.9 |
| Dataset: uji | 2134 | 97 | 29.0 | 66.3 | 43.2 | 75.7 |

<details><summary>By Unicode block</summary>

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| Mathematical Operators | 13644 | 167 | 50.1 | 85.6 | 64.7 | 89.4 |
| Greek and Coptic | 6889 | 44 | 18.4 | 60.6 | 36.2 | 71.3 |
| Basic Latin | 4110 | 90 | 38.3 | 72.3 | 52.1 | 79.4 |
| Latin-1 Supplement | 2713 | 52 | 49.6 | 82.1 | 55.9 | 84.3 |
| Letterlike Symbols | 2403 | 36 | 51.0 | 79.2 | 63.8 | 81.7 |
| Arrows | 2270 | 61 | 64.3 | 95.9 | 64.4 | 95.9 |
| Miscellaneous Symbols | 1663 | 44 | 54.2 | 86.8 | 56.5 | 87.1 |
| Mathematical Alphanumeric Symbols | 1439 | 56 | 41.2 | 68.4 | 53.6 | 70.5 |
| Geometric Shapes | 909 | 22 | 6.1 | 21.7 | 8.0 | 30.5 |
| General Punctuation | 563 | 25 | 40.0 | 71.0 | 44.0 | 76.4 |
| IPA Extensions | 515 | 68 | 15.3 | 52.8 | 37.5 | 71.1 |
| Supplemental Mathematical Operators | 483 | 24 | 62.7 | 92.8 | 69.4 | 93.2 |
| Miscellaneous Mathematical Symbols-A | 414 | 6 | 46.1 | 88.2 | 46.6 | 88.2 |
| Cyrillic | 412 | 67 | 25.7 | 73.8 | 57.5 | 89.6 |
| Dingbats | 261 | 4 | 72.0 | 89.3 | 72.0 | 89.3 |
| Miscellaneous Technical | 257 | 9 | 29.2 | 80.2 | 32.3 | 81.3 |
| Supplemental Arrows-A | 197 | 9 | 45.7 | 98.0 | 45.7 | 98.0 |
| Currency Symbols | 167 | 6 | 64.1 | 86.8 | 68.9 | 90.4 |
| Arabic | 111 | 37 | 70.3 | 92.8 | 73.0 | 92.8 |
| Supplemental Arrows-B | 106 | 2 | 10.4 | 70.8 | 10.4 | 70.8 |
| Latin Extended-A | 94 | 9 | 55.3 | 91.5 | 63.8 | 91.5 |
| Spacing Modifier Letters | 88 | 11 | 23.9 | 86.4 | 48.9 | 89.8 |
| Phonetic Extensions | 66 | 4 | 4.5 | 13.6 | 4.5 | 13.6 |
| Latin Extended-B | 43 | 13 | 18.6 | 44.2 | 41.9 | 72.1 |
| Supplemental Punctuation | 27 | 2 | 7.4 | 14.8 | 7.4 | 14.8 |
| Miscellaneous Mathematical Symbols-B | 25 | 4 | 20.0 | 68.0 | 20.0 | 68.0 |
| Hebrew | 22 | 22 | 59.1 | 81.8 | 63.6 | 81.8 |
| Enclosed Alphanumerics | 19 | 2 | 52.6 | 78.9 | 52.6 | 78.9 |
| Cyrillic Extended-B | 15 | 3 | 20.0 | 26.7 | 20.0 | 33.3 |
| Latin Extended-E | 12 | 1 | 0.0 | 100.0 | 0.0 | 100.0 |
| Arabic Supplement | 3 | 1 | 100.0 | 100.0 | 100.0 | 100.0 |
| Miscellaneous Symbols and Arrows | 3 | 1 | 100.0 | 100.0 | 100.0 | 100.0 |

</details>

</details>

<details><summary>Encoder (synthetic-and-real-long-v2), index (a): mean of the glyph renders</summary>

Encoder trained on synthetic drawings plus real training drawings; 30000 steps in 171 min; index vectors: 10776.

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| All (per sample) | 39967 | 905 | 38.3 | 72.8 | 48.4 | 77.4 |
| All (per character) | 39967 | 905 | 40.7 | 72.5 | 49.8 | 76.7 |
| Characters: seen | 29178 | 684 | 42.5 | 77.9 | 53.1 | 81.3 |
| Characters: zero-shot | 10789 | 221 | 27.1 | 59.3 | 35.7 | 66.7 |
| Dataset: detexify | 36999 | 692 | 39.0 | 73.4 | 48.6 | 77.7 |
| Dataset: omniglot | 834 | 180 | 29.6 | 73.9 | 54.1 | 83.0 |
| Dataset: uji | 2134 | 97 | 29.9 | 61.9 | 43.3 | 70.4 |

<details><summary>By Unicode block</summary>

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| Mathematical Operators | 13644 | 167 | 44.3 | 80.7 | 53.7 | 84.1 |
| Greek and Coptic | 6889 | 44 | 18.6 | 58.3 | 35.5 | 67.3 |
| Basic Latin | 4110 | 90 | 34.0 | 66.9 | 48.6 | 74.2 |
| Latin-1 Supplement | 2713 | 52 | 45.3 | 73.5 | 48.2 | 76.2 |
| Letterlike Symbols | 2403 | 36 | 51.1 | 76.0 | 60.9 | 78.1 |
| Arrows | 2270 | 61 | 56.3 | 94.1 | 56.7 | 94.1 |
| Miscellaneous Symbols | 1663 | 44 | 49.7 | 80.5 | 51.7 | 81.1 |
| Mathematical Alphanumeric Symbols | 1439 | 56 | 37.8 | 67.5 | 53.8 | 70.0 |
| Geometric Shapes | 909 | 22 | 4.4 | 18.4 | 5.7 | 25.1 |
| General Punctuation | 563 | 25 | 29.5 | 61.3 | 34.5 | 69.3 |
| IPA Extensions | 515 | 68 | 12.6 | 49.7 | 33.2 | 67.0 |
| Supplemental Mathematical Operators | 483 | 24 | 51.1 | 87.4 | 61.7 | 88.8 |
| Miscellaneous Mathematical Symbols-A | 414 | 6 | 56.0 | 84.8 | 56.0 | 84.8 |
| Cyrillic | 412 | 67 | 23.3 | 75.2 | 53.6 | 86.9 |
| Dingbats | 261 | 4 | 56.7 | 90.4 | 56.7 | 90.4 |
| Miscellaneous Technical | 257 | 9 | 29.2 | 82.1 | 30.4 | 82.1 |
| Supplemental Arrows-A | 197 | 9 | 59.4 | 97.5 | 59.4 | 97.5 |
| Currency Symbols | 167 | 6 | 67.1 | 87.4 | 70.1 | 88.0 |
| Arabic | 111 | 37 | 48.6 | 84.7 | 70.3 | 88.3 |
| Supplemental Arrows-B | 106 | 2 | 8.5 | 64.2 | 8.5 | 64.2 |
| Latin Extended-A | 94 | 9 | 59.6 | 88.3 | 70.2 | 88.3 |
| Spacing Modifier Letters | 88 | 11 | 17.0 | 78.4 | 42.0 | 86.4 |
| Phonetic Extensions | 66 | 4 | 3.0 | 18.2 | 3.0 | 18.2 |
| Latin Extended-B | 43 | 13 | 20.9 | 41.9 | 23.3 | 48.8 |
| Supplemental Punctuation | 27 | 2 | 3.7 | 18.5 | 3.7 | 18.5 |
| Miscellaneous Mathematical Symbols-B | 25 | 4 | 24.0 | 56.0 | 24.0 | 56.0 |
| Hebrew | 22 | 22 | 50.0 | 72.7 | 54.5 | 72.7 |
| Enclosed Alphanumerics | 19 | 2 | 52.6 | 68.4 | 52.6 | 68.4 |
| Box Drawing | 18 | 2 | 0.0 | 44.4 | 0.0 | 44.4 |
| Cyrillic Extended-B | 15 | 3 | 0.0 | 20.0 | 0.0 | 20.0 |
| Latin Extended-E | 12 | 1 | 16.7 | 100.0 | 16.7 | 100.0 |
| Enclosed Alphanumeric Supplement | 6 | 1 | 100.0 | 100.0 | 100.0 | 100.0 |
| Miscellaneous Symbols and Arrows | 3 | 1 | 100.0 | 100.0 | 100.0 | 100.0 |
| Arabic Supplement | 3 | 1 | 100.0 | 100.0 | 100.0 | 100.0 |

</details>

</details>

<details><summary>Encoder (synthetic-and-real-long-v2), index (a): glyph render per font, best match</summary>

Encoder trained on synthetic drawings plus real training drawings; 30000 steps in 171 min; index vectors: 89437.

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| All (per sample) | 39967 | 905 | 44.8 | 76.8 | 53.2 | 81.2 |
| All (per character) | 39967 | 905 | 43.7 | 74.4 | 52.8 | 78.9 |
| Characters: seen | 29178 | 684 | 48.9 | 80.5 | 56.8 | 84.0 |
| Characters: zero-shot | 10789 | 221 | 33.7 | 66.8 | 43.5 | 73.7 |
| Dataset: detexify | 36999 | 692 | 45.5 | 77.1 | 53.4 | 81.3 |
| Dataset: omniglot | 834 | 180 | 30.2 | 74.6 | 55.6 | 84.7 |
| Dataset: uji | 2134 | 97 | 37.6 | 72.6 | 48.8 | 78.8 |

<details><summary>By Unicode block</summary>

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| Mathematical Operators | 13644 | 167 | 53.0 | 83.3 | 61.5 | 87.3 |
| Greek and Coptic | 6889 | 44 | 23.4 | 64.7 | 37.0 | 72.7 |
| Basic Latin | 4110 | 90 | 48.4 | 77.5 | 57.0 | 82.8 |
| Latin-1 Supplement | 2713 | 52 | 55.1 | 81.9 | 58.5 | 83.0 |
| Letterlike Symbols | 2403 | 36 | 51.4 | 75.8 | 58.7 | 78.3 |
| Arrows | 2270 | 61 | 58.2 | 94.4 | 58.6 | 94.4 |
| Miscellaneous Symbols | 1663 | 44 | 52.8 | 82.7 | 54.2 | 83.2 |
| Mathematical Alphanumeric Symbols | 1439 | 56 | 34.6 | 60.4 | 46.4 | 66.2 |
| Geometric Shapes | 909 | 22 | 11.8 | 33.1 | 15.6 | 35.6 |
| General Punctuation | 563 | 25 | 35.7 | 63.9 | 40.3 | 75.0 |
| IPA Extensions | 515 | 68 | 19.6 | 56.5 | 38.1 | 73.0 |
| Supplemental Mathematical Operators | 483 | 24 | 49.5 | 84.1 | 62.3 | 86.7 |
| Miscellaneous Mathematical Symbols-A | 414 | 6 | 62.6 | 88.6 | 62.6 | 88.6 |
| Cyrillic | 412 | 67 | 22.1 | 74.3 | 57.3 | 88.8 |
| Dingbats | 261 | 4 | 62.5 | 89.3 | 62.5 | 89.3 |
| Miscellaneous Technical | 257 | 9 | 23.3 | 87.2 | 24.5 | 87.2 |
| Supplemental Arrows-A | 197 | 9 | 56.9 | 96.4 | 56.9 | 96.4 |
| Currency Symbols | 167 | 6 | 77.8 | 91.0 | 80.2 | 91.6 |
| Arabic | 111 | 37 | 36.9 | 82.9 | 62.2 | 87.4 |
| Supplemental Arrows-B | 106 | 2 | 5.7 | 62.3 | 5.7 | 62.3 |
| Latin Extended-A | 94 | 9 | 63.8 | 90.4 | 73.4 | 90.4 |
| Spacing Modifier Letters | 88 | 11 | 9.1 | 69.3 | 40.9 | 75.0 |
| Phonetic Extensions | 66 | 4 | 3.0 | 21.2 | 3.0 | 21.2 |
| Latin Extended-B | 43 | 13 | 23.3 | 41.9 | 48.8 | 72.1 |
| Supplemental Punctuation | 27 | 2 | 14.8 | 18.5 | 14.8 | 18.5 |
| Miscellaneous Mathematical Symbols-B | 25 | 4 | 28.0 | 60.0 | 28.0 | 60.0 |
| Hebrew | 22 | 22 | 54.5 | 68.2 | 63.6 | 68.2 |
| Enclosed Alphanumerics | 19 | 2 | 52.6 | 68.4 | 52.6 | 68.4 |
| Box Drawing | 18 | 2 | 16.7 | 72.2 | 16.7 | 72.2 |
| Cyrillic Extended-B | 15 | 3 | 0.0 | 13.3 | 0.0 | 13.3 |
| Latin Extended-E | 12 | 1 | 16.7 | 91.7 | 16.7 | 91.7 |
| Enclosed Alphanumeric Supplement | 6 | 1 | 83.3 | 100.0 | 83.3 | 100.0 |
| Miscellaneous Symbols and Arrows | 3 | 1 | 100.0 | 100.0 | 100.0 | 100.0 |
| Arabic Supplement | 3 | 1 | 100.0 | 100.0 | 100.0 | 100.0 |

</details>

</details>

<details><summary>Encoder (synthetic-and-real-long-v2), index (a): glyph render per font, best match, with prior</summary>

Score = similarity + 0.002 · log prior (Wikipedia dumps of 20260901); weight given.

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| All (per sample) | 39967 | 905 | 51.3 | 81.2 | 58.1 | 84.0 |
| All (per character) | 39967 | 905 | 47.8 | 77.3 | 55.6 | 80.2 |
| Characters: seen | 29178 | 684 | 53.1 | 84.0 | 59.9 | 86.5 |
| Characters: zero-shot | 10789 | 221 | 46.6 | 73.6 | 53.2 | 77.0 |
| Dataset: detexify | 36999 | 692 | 50.7 | 80.7 | 57.1 | 83.5 |
| Dataset: omniglot | 834 | 180 | 51.1 | 88.1 | 73.9 | 90.0 |
| Dataset: uji | 2134 | 97 | 61.5 | 87.3 | 69.0 | 88.8 |

<details><summary>By Unicode block</summary>

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| Mathematical Operators | 13644 | 167 | 51.2 | 84.1 | 61.4 | 88.0 |
| Greek and Coptic | 6889 | 44 | 50.6 | 81.5 | 55.4 | 84.0 |
| Basic Latin | 4110 | 90 | 72.2 | 89.0 | 76.2 | 91.8 |
| Latin-1 Supplement | 2713 | 52 | 58.9 | 85.7 | 61.7 | 86.0 |
| Letterlike Symbols | 2403 | 36 | 41.1 | 72.5 | 49.6 | 74.8 |
| Arrows | 2270 | 61 | 71.0 | 94.0 | 71.3 | 94.0 |
| Miscellaneous Symbols | 1663 | 44 | 51.0 | 84.4 | 52.1 | 84.5 |
| Mathematical Alphanumeric Symbols | 1439 | 56 | 25.5 | 52.5 | 28.5 | 56.6 |
| Geometric Shapes | 909 | 22 | 5.4 | 26.6 | 5.5 | 27.9 |
| General Punctuation | 563 | 25 | 44.4 | 81.0 | 47.1 | 85.3 |
| IPA Extensions | 515 | 68 | 18.4 | 59.4 | 40.8 | 74.8 |
| Supplemental Mathematical Operators | 483 | 24 | 41.4 | 83.4 | 65.4 | 86.5 |
| Miscellaneous Mathematical Symbols-A | 414 | 6 | 62.8 | 88.2 | 62.8 | 88.2 |
| Cyrillic | 412 | 67 | 31.3 | 87.9 | 73.8 | 91.3 |
| Dingbats | 261 | 4 | 70.5 | 92.3 | 70.5 | 92.3 |
| Miscellaneous Technical | 257 | 9 | 24.1 | 85.6 | 24.5 | 86.4 |
| Supplemental Arrows-A | 197 | 9 | 38.1 | 97.0 | 38.1 | 97.0 |
| Currency Symbols | 167 | 6 | 80.2 | 89.8 | 82.6 | 90.4 |
| Arabic | 111 | 37 | 79.3 | 92.8 | 80.2 | 92.8 |
| Supplemental Arrows-B | 106 | 2 | 4.7 | 51.9 | 4.7 | 51.9 |
| Latin Extended-A | 94 | 9 | 73.4 | 93.6 | 85.1 | 93.6 |
| Spacing Modifier Letters | 88 | 11 | 6.8 | 54.5 | 53.4 | 65.9 |
| Phonetic Extensions | 66 | 4 | 0.0 | 21.2 | 0.0 | 21.2 |
| Latin Extended-B | 43 | 13 | 18.6 | 41.9 | 27.9 | 65.1 |
| Supplemental Punctuation | 27 | 2 | 7.4 | 14.8 | 7.4 | 14.8 |
| Miscellaneous Mathematical Symbols-B | 25 | 4 | 24.0 | 60.0 | 24.0 | 60.0 |
| Hebrew | 22 | 22 | 63.6 | 77.3 | 63.6 | 77.3 |
| Enclosed Alphanumerics | 19 | 2 | 47.4 | 63.2 | 47.4 | 63.2 |
| Box Drawing | 18 | 2 | 0.0 | 33.3 | 0.0 | 33.3 |
| Cyrillic Extended-B | 15 | 3 | 0.0 | 13.3 | 0.0 | 13.3 |
| Latin Extended-E | 12 | 1 | 0.0 | 83.3 | 0.0 | 83.3 |
| Enclosed Alphanumeric Supplement | 6 | 1 | 83.3 | 100.0 | 83.3 | 100.0 |
| Arabic Supplement | 3 | 1 | 100.0 | 100.0 | 100.0 | 100.0 |
| Miscellaneous Symbols and Arrows | 3 | 1 | 0.0 | 100.0 | 0.0 | 100.0 |

</details>

</details>

<details><summary>Encoder (synthetic-and-real-long-v2), index (a): glyph render per font, best match, tiles</summary>

Score = similarity + 0.002 · log prior (Wikipedia dumps of 20260901); weight given.
One tile per confusable group; the tile shows the member in the keyboard's script, assumed to be the drawn character's (Latin for symbols). Exact top-1 therefore measures the representative choice.

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| All (per sample) | 39967 | 905 | 54.3 | 80.8 | 58.1 | 86.6 |
| All (per character) | 39967 | 905 | 49.6 | 74.0 | 55.6 | 82.7 |
| Characters: seen | 29178 | 684 | 56.4 | 83.3 | 59.9 | 88.7 |
| Characters: zero-shot | 10789 | 221 | 48.5 | 74.2 | 53.2 | 80.9 |
| Dataset: detexify | 36999 | 692 | 53.8 | 80.9 | 57.1 | 86.3 |
| Dataset: omniglot | 834 | 180 | 62.5 | 78.7 | 73.9 | 92.0 |
| Dataset: uji | 2134 | 97 | 60.3 | 79.4 | 69.0 | 90.5 |

<details><summary>By Unicode block</summary>

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| Mathematical Operators | 13644 | 167 | 57.7 | 83.5 | 61.4 | 90.8 |
| Greek and Coptic | 6889 | 44 | 55.0 | 86.4 | 55.4 | 87.0 |
| Basic Latin | 4110 | 90 | 73.0 | 89.2 | 76.2 | 93.0 |
| Latin-1 Supplement | 2713 | 52 | 56.2 | 83.7 | 61.7 | 91.0 |
| Letterlike Symbols | 2403 | 36 | 35.6 | 62.5 | 49.6 | 78.1 |
| Arrows | 2270 | 61 | 71.3 | 94.2 | 71.3 | 94.2 |
| Miscellaneous Symbols | 1663 | 44 | 52.0 | 85.0 | 52.1 | 85.4 |
| Mathematical Alphanumeric Symbols | 1439 | 56 | 27.0 | 59.3 | 28.5 | 62.1 |
| Geometric Shapes | 909 | 22 | 5.5 | 27.7 | 5.5 | 29.4 |
| General Punctuation | 563 | 25 | 46.7 | 85.3 | 47.1 | 86.3 |
| IPA Extensions | 515 | 68 | 24.7 | 55.7 | 40.8 | 78.4 |
| Supplemental Mathematical Operators | 483 | 24 | 41.0 | 55.7 | 65.4 | 87.0 |
| Miscellaneous Mathematical Symbols-A | 414 | 6 | 62.8 | 88.9 | 62.8 | 88.9 |
| Cyrillic | 412 | 67 | 50.7 | 65.5 | 73.8 | 92.5 |
| Dingbats | 261 | 4 | 70.5 | 92.7 | 70.5 | 92.7 |
| Miscellaneous Technical | 257 | 9 | 24.1 | 74.7 | 24.5 | 89.1 |
| Supplemental Arrows-A | 197 | 9 | 38.1 | 97.0 | 38.1 | 97.0 |
| Currency Symbols | 167 | 6 | 79.0 | 88.0 | 82.6 | 91.6 |
| Arabic | 111 | 37 | 80.2 | 93.7 | 80.2 | 93.7 |
| Supplemental Arrows-B | 106 | 2 | 4.7 | 53.8 | 4.7 | 53.8 |
| Latin Extended-A | 94 | 9 | 85.1 | 93.6 | 85.1 | 93.6 |
| Spacing Modifier Letters | 88 | 11 | 5.7 | 14.8 | 53.4 | 70.5 |
| Phonetic Extensions | 66 | 4 | 0.0 | 80.3 | 0.0 | 80.3 |
| Latin Extended-B | 43 | 13 | 18.6 | 39.5 | 27.9 | 67.4 |
| Supplemental Punctuation | 27 | 2 | 7.4 | 18.5 | 7.4 | 18.5 |
| Miscellaneous Mathematical Symbols-B | 25 | 4 | 24.0 | 60.0 | 24.0 | 60.0 |
| Hebrew | 22 | 22 | 63.6 | 81.8 | 63.6 | 81.8 |
| Enclosed Alphanumerics | 19 | 2 | 47.4 | 63.2 | 47.4 | 63.2 |
| Box Drawing | 18 | 2 | 0.0 | 33.3 | 0.0 | 33.3 |
| Cyrillic Extended-B | 15 | 3 | 0.0 | 13.3 | 0.0 | 13.3 |
| Latin Extended-E | 12 | 1 | 0.0 | 91.7 | 0.0 | 91.7 |
| Enclosed Alphanumeric Supplement | 6 | 1 | 83.3 | 100.0 | 83.3 | 100.0 |
| Arabic Supplement | 3 | 1 | 100.0 | 100.0 | 100.0 | 100.0 |
| Miscellaneous Symbols and Arrows | 3 | 1 | 0.0 | 100.0 | 0.0 | 100.0 |

</details>

</details>

<details><summary>Encoder (synthetic-and-real-long-v2), index (b): mean of 16 synthetic drawings</summary>

Encoder trained on synthetic drawings plus real training drawings; 30000 steps in 171 min; index vectors: 10776.

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| All (per sample) | 39967 | 905 | 32.8 | 69.1 | 44.4 | 76.3 |
| All (per character) | 39967 | 905 | 35.7 | 68.3 | 45.3 | 74.5 |
| Characters: seen | 29178 | 684 | 35.7 | 73.9 | 47.8 | 80.3 |
| Characters: zero-shot | 10789 | 221 | 25.2 | 56.1 | 35.5 | 65.6 |
| Dataset: detexify | 36999 | 692 | 33.7 | 70.0 | 44.9 | 76.7 |
| Dataset: omniglot | 834 | 180 | 22.3 | 67.4 | 46.6 | 81.7 |
| Dataset: uji | 2134 | 97 | 22.9 | 54.6 | 36.6 | 68.0 |

<details><summary>By Unicode block</summary>

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| Mathematical Operators | 13644 | 167 | 38.4 | 76.8 | 50.1 | 84.4 |
| Greek and Coptic | 6889 | 44 | 12.1 | 52.4 | 29.4 | 64.2 |
| Basic Latin | 4110 | 90 | 23.5 | 61.2 | 44.9 | 74.0 |
| Latin-1 Supplement | 2713 | 52 | 41.5 | 74.4 | 46.7 | 77.0 |
| Letterlike Symbols | 2403 | 36 | 45.7 | 74.1 | 56.8 | 77.5 |
| Arrows | 2270 | 61 | 58.0 | 93.1 | 58.3 | 93.1 |
| Miscellaneous Symbols | 1663 | 44 | 44.0 | 76.4 | 45.6 | 77.8 |
| Mathematical Alphanumeric Symbols | 1439 | 56 | 34.7 | 63.5 | 48.7 | 67.5 |
| Geometric Shapes | 909 | 22 | 2.3 | 14.3 | 2.8 | 18.4 |
| General Punctuation | 563 | 25 | 31.6 | 61.6 | 33.7 | 67.1 |
| IPA Extensions | 515 | 68 | 12.2 | 43.3 | 31.5 | 64.5 |
| Supplemental Mathematical Operators | 483 | 24 | 47.2 | 89.2 | 55.9 | 90.9 |
| Miscellaneous Mathematical Symbols-A | 414 | 6 | 44.0 | 83.8 | 44.2 | 83.8 |
| Cyrillic | 412 | 67 | 19.9 | 67.2 | 44.9 | 83.5 |
| Dingbats | 261 | 4 | 53.3 | 91.6 | 53.3 | 91.6 |
| Miscellaneous Technical | 257 | 9 | 25.7 | 77.4 | 26.8 | 78.6 |
| Supplemental Arrows-A | 197 | 9 | 41.6 | 92.9 | 41.6 | 92.9 |
| Currency Symbols | 167 | 6 | 65.3 | 82.6 | 68.9 | 83.8 |
| Arabic | 111 | 37 | 32.4 | 82.9 | 62.2 | 87.4 |
| Supplemental Arrows-B | 106 | 2 | 13.2 | 63.2 | 13.2 | 63.2 |
| Latin Extended-A | 94 | 9 | 60.6 | 88.3 | 70.2 | 88.3 |
| Spacing Modifier Letters | 88 | 11 | 6.8 | 65.9 | 22.7 | 73.9 |
| Phonetic Extensions | 66 | 4 | 0.0 | 7.6 | 0.0 | 7.6 |
| Latin Extended-B | 43 | 13 | 20.9 | 37.2 | 37.2 | 65.1 |
| Supplemental Punctuation | 27 | 2 | 11.1 | 14.8 | 11.1 | 14.8 |
| Miscellaneous Mathematical Symbols-B | 25 | 4 | 20.0 | 60.0 | 20.0 | 60.0 |
| Hebrew | 22 | 22 | 40.9 | 68.2 | 50.0 | 68.2 |
| Enclosed Alphanumerics | 19 | 2 | 52.6 | 63.2 | 52.6 | 63.2 |
| Box Drawing | 18 | 2 | 0.0 | 38.9 | 0.0 | 38.9 |
| Cyrillic Extended-B | 15 | 3 | 0.0 | 26.7 | 0.0 | 33.3 |
| Latin Extended-E | 12 | 1 | 25.0 | 83.3 | 25.0 | 83.3 |
| Enclosed Alphanumeric Supplement | 6 | 1 | 83.3 | 100.0 | 83.3 | 100.0 |
| Miscellaneous Symbols and Arrows | 3 | 1 | 100.0 | 100.0 | 100.0 | 100.0 |
| Arabic Supplement | 3 | 1 | 100.0 | 100.0 | 100.0 | 100.0 |

</details>

</details>

<details><summary>Encoder (synthetic-only-long), index (a): mean of the glyph renders</summary>

Encoder trained on synthetic drawings only; 30000 steps in 163 min; index vectors: 6161.

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| All (per sample) | 39943 | 902 | 36.3 | 68.0 | 46.5 | 73.2 |
| All (per character) | 39943 | 902 | 37.0 | 65.9 | 44.3 | 70.1 |
| Characters: seen | 29164 | 682 | 38.9 | 70.1 | 48.9 | 75.1 |
| Characters: zero-shot | 10779 | 220 | 29.3 | 62.4 | 40.2 | 68.1 |
| Dataset: detexify | 36975 | 689 | 37.3 | 68.9 | 47.3 | 73.9 |
| Dataset: omniglot | 834 | 180 | 26.0 | 62.1 | 46.3 | 70.9 |
| Dataset: uji | 2134 | 97 | 22.2 | 54.0 | 33.5 | 62.1 |

<details><summary>By Unicode block</summary>

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| Mathematical Operators | 13644 | 167 | 45.1 | 78.0 | 56.8 | 81.4 |
| Greek and Coptic | 6889 | 44 | 12.0 | 47.2 | 28.2 | 60.3 |
| Basic Latin | 4110 | 90 | 35.7 | 65.9 | 44.2 | 71.6 |
| Latin-1 Supplement | 2713 | 52 | 43.7 | 75.3 | 47.0 | 77.4 |
| Letterlike Symbols | 2403 | 36 | 36.9 | 65.3 | 48.4 | 69.5 |
| Arrows | 2270 | 61 | 57.6 | 91.4 | 58.1 | 91.4 |
| Miscellaneous Symbols | 1663 | 44 | 50.6 | 69.6 | 52.0 | 70.2 |
| Mathematical Alphanumeric Symbols | 1439 | 56 | 20.8 | 48.5 | 37.7 | 53.9 |
| Geometric Shapes | 909 | 22 | 4.6 | 27.1 | 9.9 | 33.0 |
| General Punctuation | 563 | 25 | 35.2 | 59.0 | 40.7 | 67.3 |
| IPA Extensions | 515 | 68 | 10.5 | 46.4 | 31.7 | 63.3 |
| Supplemental Mathematical Operators | 483 | 24 | 52.8 | 85.9 | 62.3 | 87.2 |
| Miscellaneous Mathematical Symbols-A | 414 | 6 | 59.7 | 89.4 | 59.9 | 89.6 |
| Cyrillic | 412 | 67 | 21.8 | 61.9 | 49.0 | 71.1 |
| Dingbats | 261 | 4 | 68.2 | 85.8 | 68.2 | 85.8 |
| Miscellaneous Technical | 257 | 9 | 24.5 | 77.4 | 27.2 | 77.4 |
| Supplemental Arrows-A | 197 | 9 | 47.7 | 94.4 | 47.7 | 94.4 |
| Currency Symbols | 167 | 6 | 71.9 | 89.8 | 72.5 | 90.4 |
| Arabic | 111 | 37 | 56.8 | 82.9 | 57.7 | 83.8 |
| Supplemental Arrows-B | 106 | 2 | 15.1 | 66.0 | 15.1 | 66.0 |
| Latin Extended-A | 94 | 9 | 56.4 | 87.2 | 71.3 | 88.3 |
| Spacing Modifier Letters | 88 | 11 | 10.2 | 85.2 | 43.2 | 86.4 |
| Phonetic Extensions | 66 | 4 | 4.5 | 12.1 | 4.5 | 12.1 |
| Latin Extended-B | 43 | 13 | 16.3 | 30.2 | 18.6 | 51.2 |
| Supplemental Punctuation | 27 | 2 | 7.4 | 14.8 | 7.4 | 14.8 |
| Miscellaneous Mathematical Symbols-B | 25 | 4 | 28.0 | 64.0 | 28.0 | 64.0 |
| Hebrew | 22 | 22 | 22.7 | 40.9 | 22.7 | 45.5 |
| Enclosed Alphanumerics | 19 | 2 | 36.8 | 52.6 | 36.8 | 52.6 |
| Cyrillic Extended-B | 15 | 3 | 0.0 | 20.0 | 0.0 | 20.0 |
| Latin Extended-E | 12 | 1 | 8.3 | 91.7 | 8.3 | 91.7 |
| Miscellaneous Symbols and Arrows | 3 | 1 | 66.7 | 100.0 | 66.7 | 100.0 |
| Arabic Supplement | 3 | 1 | 100.0 | 100.0 | 100.0 | 100.0 |

</details>

</details>

<details><summary>Encoder (synthetic-only-long), index (a): glyph render per font, best match</summary>

Encoder trained on synthetic drawings only; 30000 steps in 163 min; index vectors: 74085.

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| All (per sample) | 39943 | 902 | 42.4 | 72.9 | 51.1 | 77.4 |
| All (per character) | 39943 | 902 | 40.8 | 69.6 | 48.1 | 73.6 |
| Characters: seen | 29164 | 682 | 45.0 | 74.4 | 52.7 | 78.3 |
| Characters: zero-shot | 10779 | 220 | 35.2 | 68.8 | 47.0 | 74.9 |
| Dataset: detexify | 36975 | 689 | 43.3 | 73.4 | 51.8 | 77.8 |
| Dataset: omniglot | 834 | 180 | 29.5 | 68.2 | 48.6 | 77.0 |
| Dataset: uji | 2134 | 97 | 30.8 | 65.7 | 41.3 | 71.3 |

<details><summary>By Unicode block</summary>

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| Mathematical Operators | 13644 | 167 | 51.5 | 81.8 | 61.5 | 85.0 |
| Greek and Coptic | 6889 | 44 | 17.8 | 56.4 | 30.9 | 67.0 |
| Basic Latin | 4110 | 90 | 46.1 | 76.2 | 52.9 | 79.4 |
| Latin-1 Supplement | 2713 | 52 | 52.5 | 80.2 | 56.4 | 82.3 |
| Letterlike Symbols | 2403 | 36 | 41.4 | 66.9 | 51.7 | 72.2 |
| Arrows | 2270 | 61 | 64.4 | 93.3 | 64.6 | 93.4 |
| Miscellaneous Symbols | 1663 | 44 | 52.9 | 71.1 | 53.5 | 71.6 |
| Mathematical Alphanumeric Symbols | 1439 | 56 | 21.7 | 44.2 | 34.1 | 50.1 |
| Geometric Shapes | 909 | 22 | 15.8 | 35.6 | 22.7 | 39.9 |
| General Punctuation | 563 | 25 | 41.4 | 68.2 | 47.2 | 71.8 |
| IPA Extensions | 515 | 68 | 17.7 | 53.0 | 37.9 | 70.3 |
| Supplemental Mathematical Operators | 483 | 24 | 51.3 | 84.9 | 59.2 | 86.3 |
| Miscellaneous Mathematical Symbols-A | 414 | 6 | 65.0 | 90.8 | 65.0 | 91.1 |
| Cyrillic | 412 | 67 | 22.1 | 66.0 | 51.7 | 77.9 |
| Dingbats | 261 | 4 | 67.0 | 84.7 | 67.0 | 84.7 |
| Miscellaneous Technical | 257 | 9 | 16.7 | 84.0 | 20.2 | 84.8 |
| Supplemental Arrows-A | 197 | 9 | 48.2 | 94.9 | 48.2 | 94.9 |
| Currency Symbols | 167 | 6 | 82.0 | 92.2 | 82.6 | 92.8 |
| Arabic | 111 | 37 | 59.5 | 82.0 | 59.5 | 82.9 |
| Supplemental Arrows-B | 106 | 2 | 5.7 | 60.4 | 5.7 | 60.4 |
| Latin Extended-A | 94 | 9 | 59.6 | 94.7 | 72.3 | 94.7 |
| Spacing Modifier Letters | 88 | 11 | 14.8 | 86.4 | 48.9 | 87.5 |
| Phonetic Extensions | 66 | 4 | 0.0 | 15.2 | 0.0 | 15.2 |
| Latin Extended-B | 43 | 13 | 14.0 | 37.2 | 37.2 | 58.1 |
| Supplemental Punctuation | 27 | 2 | 7.4 | 11.1 | 7.4 | 11.1 |
| Miscellaneous Mathematical Symbols-B | 25 | 4 | 28.0 | 64.0 | 28.0 | 64.0 |
| Hebrew | 22 | 22 | 27.3 | 54.5 | 27.3 | 54.5 |
| Enclosed Alphanumerics | 19 | 2 | 36.8 | 47.4 | 36.8 | 47.4 |
| Cyrillic Extended-B | 15 | 3 | 0.0 | 6.7 | 0.0 | 6.7 |
| Latin Extended-E | 12 | 1 | 8.3 | 83.3 | 8.3 | 83.3 |
| Miscellaneous Symbols and Arrows | 3 | 1 | 66.7 | 100.0 | 66.7 | 100.0 |
| Arabic Supplement | 3 | 1 | 66.7 | 100.0 | 66.7 | 100.0 |

</details>

</details>

<details><summary>Encoder (synthetic-only-long), index (a): glyph render per font, best match, with prior</summary>

Score = similarity + 0.002 · log prior (Wikipedia dumps of 20260901); weight tuned on 20,000 unseen training-split drawings.

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| All (per sample) | 39943 | 902 | 48.5 | 77.6 | 55.2 | 80.4 |
| All (per character) | 39943 | 902 | 44.3 | 73.0 | 51.3 | 76.1 |
| Characters: seen | 29164 | 682 | 49.6 | 78.4 | 56.0 | 81.1 |
| Characters: zero-shot | 10779 | 220 | 45.7 | 75.6 | 53.1 | 78.3 |
| Dataset: detexify | 36975 | 689 | 48.3 | 77.2 | 54.6 | 80.1 |
| Dataset: omniglot | 834 | 180 | 48.1 | 81.8 | 67.1 | 85.4 |
| Dataset: uji | 2134 | 97 | 53.4 | 82.3 | 61.2 | 83.6 |

<details><summary>By Unicode block</summary>

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| Mathematical Operators | 13644 | 167 | 49.1 | 82.9 | 58.9 | 85.7 |
| Greek and Coptic | 6889 | 44 | 43.1 | 74.0 | 48.1 | 77.6 |
| Basic Latin | 4110 | 90 | 67.8 | 86.1 | 71.6 | 88.9 |
| Latin-1 Supplement | 2713 | 52 | 54.4 | 84.1 | 57.1 | 84.9 |
| Letterlike Symbols | 2403 | 36 | 41.4 | 65.2 | 50.4 | 69.8 |
| Arrows | 2270 | 61 | 73.0 | 92.5 | 73.2 | 92.5 |
| Miscellaneous Symbols | 1663 | 44 | 52.1 | 70.4 | 52.8 | 70.7 |
| Mathematical Alphanumeric Symbols | 1439 | 56 | 19.2 | 39.7 | 25.0 | 43.3 |
| Geometric Shapes | 909 | 22 | 8.1 | 38.5 | 8.3 | 39.9 |
| General Punctuation | 563 | 25 | 44.9 | 74.8 | 46.4 | 77.8 |
| IPA Extensions | 515 | 68 | 18.1 | 55.5 | 41.6 | 74.0 |
| Supplemental Mathematical Operators | 483 | 24 | 40.8 | 84.5 | 62.3 | 86.7 |
| Miscellaneous Mathematical Symbols-A | 414 | 6 | 64.3 | 88.9 | 64.3 | 88.9 |
| Cyrillic | 412 | 67 | 33.0 | 80.1 | 68.0 | 86.4 |
| Dingbats | 261 | 4 | 67.0 | 83.9 | 67.0 | 83.9 |
| Miscellaneous Technical | 257 | 9 | 26.5 | 84.4 | 28.4 | 85.6 |
| Supplemental Arrows-A | 197 | 9 | 33.0 | 95.4 | 33.0 | 95.4 |
| Currency Symbols | 167 | 6 | 85.6 | 92.2 | 86.2 | 92.2 |
| Arabic | 111 | 37 | 73.0 | 89.2 | 73.0 | 89.2 |
| Supplemental Arrows-B | 106 | 2 | 5.7 | 53.8 | 5.7 | 53.8 |
| Latin Extended-A | 94 | 9 | 73.4 | 95.7 | 85.1 | 95.7 |
| Spacing Modifier Letters | 88 | 11 | 6.8 | 83.0 | 53.4 | 86.4 |
| Phonetic Extensions | 66 | 4 | 0.0 | 25.8 | 0.0 | 25.8 |
| Latin Extended-B | 43 | 13 | 11.6 | 39.5 | 14.0 | 72.1 |
| Supplemental Punctuation | 27 | 2 | 7.4 | 11.1 | 7.4 | 11.1 |
| Miscellaneous Mathematical Symbols-B | 25 | 4 | 20.0 | 60.0 | 20.0 | 60.0 |
| Hebrew | 22 | 22 | 45.5 | 77.3 | 45.5 | 77.3 |
| Enclosed Alphanumerics | 19 | 2 | 36.8 | 47.4 | 36.8 | 47.4 |
| Cyrillic Extended-B | 15 | 3 | 0.0 | 0.0 | 0.0 | 0.0 |
| Latin Extended-E | 12 | 1 | 0.0 | 58.3 | 0.0 | 58.3 |
| Miscellaneous Symbols and Arrows | 3 | 1 | 66.7 | 100.0 | 66.7 | 100.0 |
| Arabic Supplement | 3 | 1 | 66.7 | 100.0 | 66.7 | 100.0 |

</details>

</details>

<details><summary>Encoder (synthetic-only-long), index (a): glyph render per font, best match, tiles</summary>

Score = similarity + 0.002 · log prior (Wikipedia dumps of 20260901); weight tuned on 20,000 unseen training-split drawings.
One tile per confusable group; the tile shows the member in the keyboard's script, assumed to be the drawn character's (Latin for symbols). Exact top-1 therefore measures the representative choice.

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| All (per sample) | 39943 | 902 | 51.7 | 77.2 | 55.2 | 82.7 |
| All (per character) | 39943 | 902 | 45.9 | 70.0 | 51.3 | 78.2 |
| Characters: seen | 29164 | 682 | 52.9 | 78.0 | 56.0 | 83.3 |
| Characters: zero-shot | 10779 | 220 | 48.5 | 75.0 | 53.1 | 81.0 |
| Dataset: detexify | 36975 | 689 | 51.5 | 77.4 | 54.6 | 82.4 |
| Dataset: omniglot | 834 | 180 | 57.1 | 74.2 | 67.1 | 86.9 |
| Dataset: uji | 2134 | 97 | 52.6 | 74.2 | 61.2 | 86.0 |

<details><summary>By Unicode block</summary>

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| Mathematical Operators | 13644 | 167 | 55.1 | 81.1 | 58.9 | 88.0 |
| Greek and Coptic | 6889 | 44 | 47.6 | 80.0 | 48.1 | 80.8 |
| Basic Latin | 4110 | 90 | 68.1 | 86.4 | 71.6 | 90.5 |
| Latin-1 Supplement | 2713 | 52 | 54.3 | 82.6 | 57.1 | 87.3 |
| Letterlike Symbols | 2403 | 36 | 38.2 | 57.3 | 50.4 | 72.3 |
| Arrows | 2270 | 61 | 73.2 | 92.7 | 73.2 | 92.7 |
| Miscellaneous Symbols | 1663 | 44 | 52.7 | 71.0 | 52.8 | 71.1 |
| Mathematical Alphanumeric Symbols | 1439 | 56 | 23.6 | 45.1 | 25.0 | 47.3 |
| Geometric Shapes | 909 | 22 | 8.1 | 43.6 | 8.3 | 44.6 |
| General Punctuation | 563 | 25 | 46.4 | 77.3 | 46.4 | 78.3 |
| IPA Extensions | 515 | 68 | 26.6 | 53.4 | 41.6 | 75.7 |
| Supplemental Mathematical Operators | 483 | 24 | 38.9 | 56.1 | 62.3 | 87.2 |
| Miscellaneous Mathematical Symbols-A | 414 | 6 | 64.3 | 89.4 | 64.3 | 89.4 |
| Cyrillic | 412 | 67 | 47.6 | 62.1 | 68.0 | 87.6 |
| Dingbats | 261 | 4 | 67.0 | 84.3 | 67.0 | 84.3 |
| Miscellaneous Technical | 257 | 9 | 26.5 | 74.3 | 28.4 | 87.5 |
| Supplemental Arrows-A | 197 | 9 | 33.0 | 95.9 | 33.0 | 95.9 |
| Currency Symbols | 167 | 6 | 82.6 | 89.2 | 86.2 | 92.8 |
| Arabic | 111 | 37 | 73.0 | 90.1 | 73.0 | 90.1 |
| Supplemental Arrows-B | 106 | 2 | 5.7 | 54.7 | 5.7 | 54.7 |
| Latin Extended-A | 94 | 9 | 85.1 | 95.7 | 85.1 | 95.7 |
| Spacing Modifier Letters | 88 | 11 | 5.7 | 35.2 | 53.4 | 87.5 |
| Phonetic Extensions | 66 | 4 | 0.0 | 83.3 | 0.0 | 83.3 |
| Latin Extended-B | 43 | 13 | 11.6 | 39.5 | 14.0 | 74.4 |
| Supplemental Punctuation | 27 | 2 | 7.4 | 14.8 | 7.4 | 14.8 |
| Miscellaneous Mathematical Symbols-B | 25 | 4 | 20.0 | 60.0 | 20.0 | 60.0 |
| Hebrew | 22 | 22 | 45.5 | 77.3 | 45.5 | 77.3 |
| Enclosed Alphanumerics | 19 | 2 | 36.8 | 47.4 | 36.8 | 47.4 |
| Cyrillic Extended-B | 15 | 3 | 0.0 | 0.0 | 0.0 | 6.7 |
| Latin Extended-E | 12 | 1 | 0.0 | 66.7 | 0.0 | 66.7 |
| Miscellaneous Symbols and Arrows | 3 | 1 | 66.7 | 100.0 | 66.7 | 100.0 |
| Arabic Supplement | 3 | 1 | 66.7 | 100.0 | 66.7 | 100.0 |

</details>

</details>

<details><summary>Encoder (synthetic-only-long), index (b): mean of 16 synthetic drawings</summary>

Encoder trained on synthetic drawings only; 30000 steps in 163 min; index vectors: 6161.

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| All (per sample) | 39943 | 902 | 34.4 | 67.4 | 45.8 | 73.3 |
| All (per character) | 39943 | 902 | 35.7 | 65.5 | 43.1 | 70.4 |
| Characters: seen | 29164 | 682 | 36.7 | 69.6 | 48.3 | 75.7 |
| Characters: zero-shot | 10779 | 220 | 28.4 | 61.4 | 38.8 | 67.0 |
| Dataset: detexify | 36975 | 689 | 35.8 | 68.6 | 46.9 | 74.0 |
| Dataset: omniglot | 834 | 180 | 20.9 | 58.9 | 40.8 | 71.8 |
| Dataset: uji | 2134 | 97 | 16.7 | 50.5 | 28.5 | 61.5 |

<details><summary>By Unicode block</summary>

| Slice | Samples | Characters | Top-1 | Top-5 | Top-1 (conf.) | Top-5 (conf.) |
|-------|--------:|-----------:|------:|------:|--------------:|--------------:|
| Mathematical Operators | 13644 | 167 | 42.0 | 78.3 | 57.1 | 82.4 |
| Greek and Coptic | 6889 | 44 | 11.4 | 45.2 | 27.3 | 59.9 |
| Basic Latin | 4110 | 90 | 31.1 | 64.1 | 42.9 | 71.5 |
| Latin-1 Supplement | 2713 | 52 | 43.2 | 75.4 | 47.8 | 77.8 |
| Letterlike Symbols | 2403 | 36 | 38.1 | 65.4 | 48.6 | 69.2 |
| Arrows | 2270 | 61 | 57.0 | 91.8 | 57.2 | 91.8 |
| Miscellaneous Symbols | 1663 | 44 | 46.6 | 70.3 | 48.6 | 70.8 |
| Mathematical Alphanumeric Symbols | 1439 | 56 | 24.0 | 49.0 | 37.1 | 54.1 |
| Geometric Shapes | 909 | 22 | 3.6 | 19.7 | 5.2 | 24.1 |
| General Punctuation | 563 | 25 | 34.6 | 58.4 | 37.1 | 63.9 |
| IPA Extensions | 515 | 68 | 13.6 | 46.4 | 30.1 | 64.9 |
| Supplemental Mathematical Operators | 483 | 24 | 61.9 | 87.4 | 64.0 | 88.4 |
| Miscellaneous Mathematical Symbols-A | 414 | 6 | 46.6 | 88.6 | 47.1 | 88.6 |
| Cyrillic | 412 | 67 | 14.8 | 57.0 | 42.0 | 73.5 |
| Dingbats | 261 | 4 | 70.9 | 85.4 | 70.9 | 85.4 |
| Miscellaneous Technical | 257 | 9 | 25.3 | 77.8 | 25.3 | 78.2 |
| Supplemental Arrows-A | 197 | 9 | 36.5 | 91.9 | 36.5 | 91.9 |
| Currency Symbols | 167 | 6 | 72.5 | 88.6 | 73.1 | 89.2 |
| Arabic | 111 | 37 | 53.2 | 78.4 | 53.2 | 79.3 |
| Supplemental Arrows-B | 106 | 2 | 12.3 | 63.2 | 12.3 | 63.2 |
| Latin Extended-A | 94 | 9 | 54.3 | 87.2 | 64.9 | 89.4 |
| Spacing Modifier Letters | 88 | 11 | 25.0 | 78.4 | 44.3 | 83.0 |
| Phonetic Extensions | 66 | 4 | 0.0 | 10.6 | 0.0 | 10.6 |
| Latin Extended-B | 43 | 13 | 11.6 | 30.2 | 25.6 | 60.5 |
| Supplemental Punctuation | 27 | 2 | 7.4 | 14.8 | 7.4 | 14.8 |
| Miscellaneous Mathematical Symbols-B | 25 | 4 | 24.0 | 68.0 | 24.0 | 68.0 |
| Hebrew | 22 | 22 | 22.7 | 54.5 | 22.7 | 54.5 |
| Enclosed Alphanumerics | 19 | 2 | 31.6 | 52.6 | 31.6 | 52.6 |
| Cyrillic Extended-B | 15 | 3 | 13.3 | 26.7 | 13.3 | 33.3 |
| Latin Extended-E | 12 | 1 | 0.0 | 66.7 | 0.0 | 66.7 |
| Miscellaneous Symbols and Arrows | 3 | 1 | 100.0 | 100.0 | 100.0 | 100.0 |
| Arabic Supplement | 3 | 1 | 100.0 | 100.0 | 100.0 | 100.0 |

</details>

</details>
