Public method
Mapping methodology
The converter is generated from a versioned primary-source registry, not a competitor table.
Sources and transformation
The registry uses the normative source-reference table in Unicode WG2 N4363. Decimal source indexes identify the underlying character; current Unicode code points provide the portable output.
Microsoft family pages verify font names. No Microsoft font file, extracted glyph or converted webfont is included.
Fidelity contract
Every Unicode result is labelled approximate because typeface fallback, emoji presentation and platform rendering can change its appearance. Decode always requires an explicit family and variation selectors are recognized without being silently discarded.
Version and correction
Mapping version: wingdings-unicode-2012-10-13.1. Corrections require a primary source, a regression fixture and review of both encode and decode behavior.
Fidelity contract
Fidelity status contract
A status describes the evidence and portability of one conversion result. It is not a visual-quality score or a guarantee across devices.
exact- Reserved — not emitted
Reserved for a portable result whose intended form has been independently verified across documented environments. No mapping receives this status without that evidence.
approximate- Emitted in this version
A source-backed Unicode sequence exists, but fallback fonts, emoji presentation or platform rendering can change its appearance. All 866 portable pairs currently use this status.
font-only- Reserved — not emitted
Reserved for a source character that can be represented only with the original symbol font and has no acceptable portable Unicode sequence. This release does not emit copied Unicode under this label.
ambiguous- Reserved — not emitted
Implemented as a decoding safeguard for multiple underlying keys matching one Unicode input in the same family. The current registry has no such collision, so this status is not emitted.
unsupported- Emitted in this version
No documented portable mapping exists in the selected family. The input is preserved and counted instead of silently replaced; this includes the one explicit unsupported N4363 decision.
If a status or mapping appears wrong, send the family, direction, source key or Unicode code point, expected result and a synthetic example. Report a mapping correction →
Verification record
What was tested — and what was not
This matrix records reproducible automated checks completed on 27 August 2026. It is evidence of application behavior, not a promise of identical glyphs on every platform.
| Layer | Coverage | Result | What it does not prove |
|---|---|---|---|
| Mapping registry | Vitest checks all 866 N4363 source references and encode/decode round-trips for every entry. | 866/866 round-trips passed. | Code-point correctness does not prove pixel-identical rendering. |
| Unsupported input | A unit fixture encodes A, a line break and 🙂 in Wingdings 1. | The line break and emoji are preserved; 1 unsupported character is reported. | One fixture is not a visual survey of every unsupported character. |
| Browser flows | Playwright covers the full Chromium flow at 1440, 768 and 375 CSS pixels, plus the critical converter flow in Firefox and WebKit. | 21/21 browser tests passed across three engines. | Automated desktop engines are not physical-device or multi-OS certification. |
| Automated accessibility | axe-core scans the main page at all three widths in light and dark themes. | 0 serious or critical violations reported. | Automation does not replace manual keyboard and screen-reader testing. |
| Production build | Lighthouse mobile and desktop audits of the local static production preview with the requested GA4 and AdSense tags loaded under default-denied consent. | Performance, Accessibility, Best Practices and SEO scored 100 in both mobile and desktop profiles. | The local score confirms a crawlable artifact for the configured origin; it does not prove public DNS, HTTPS, indexing or ranking. |
Corpus and aggregate results
- 866 source references: Webdings 222, Wingdings 1 221, Wingdings 2 216 and Wingdings 3 207.
- An 867th documented Wingdings 1 source character is recorded as explicitly unsupported because N4363 proposes no Unicode encoding for it.
- 866 portable sequences encoded and decoded back to their source key in the selected family.
- A 10,000-character UI fixture keeps details lazy and caps the rendered audit preview at 200 rows while preserving complete totals.
Known errors and limits
- All portable Unicode output remains an approximation; emoji and fallback fonts can change its appearance.
- Decode requires the correct family. WingdingsConvert does not guess a family from a symbol.
- A missing local Microsoft font removes the authentic preview but does not block portable output.
- OCR and image input are outside this release. Windows, macOS assistive technologies and physical phones have not been manually certified.
Verification changelog
- 27 August 2026 — published corpus totals, exhaustive round-trip results, responsive Chromium matrix, axe findings and Lighthouse scores.