How we show graphs · planning
Display notes
KanjiVG stroke SVGs, KANJIDIC2 metadata, and native HTML <ruby> — a display stack orthogonal to morphology × valency analysis.
Non-negotiable separation. Showing 冊 as a KanjiVG SVG does not analyze MeasureP. Furigana on 警告する does not assign θ-roles. Display packages how we show graphs — not how we analyze them.
Three pieces
1. KanjiVG — stroke paths
- What: SVG path data for stroke order / shape of thousands of characters.
- Project: github.com/KanjiVG/kanjivg (verify org/URL before pinning).
- Site uses (later): pedagogy thumbnails on Morphology / Examples (人 冊 本 個); optional stroke reveal for compounds — decorative/pedagogical, not analytic.
- Caveats: variant glyphs / JIS vs Unicode; always pair with a JP webfont for running text.
2. KANJIDIC2 — metadata
- What: EDRDG’s canonical kanji dictionary — on/kun readings, meanings, radical codes, stroke counts, frequency.
- Family: KANJIDIC / KANJIDIC2 (confirm URL).
- License: EDRDG terms + attribution — credit Jim Breen / EDRDG.
- Site uses (later): glossary lookups; reading tables without hand-maintaining every furigana; filter/search for counters discussed.
- Pair with JMdict/EDICT for compounds / VN lexicon (勉強, 警告, 出発…).
3. HTML <ruby> — readings in running text
Native HTML for furigana-style annotations. No JS for basic reading aids; accessible; printable; works with lang="ja".
Ruby pattern (already used on this site)
本
·
三冊の本
·
勉強する
Prefer ruby over romaji as the primary reading layer. Body prose: ruby sparingly (first occurrence of a key graph).
Proposed site policy
- Default: ruby on for example blocks; toggle to hide for advanced readers (future enhancement).
- Body prose: ruby sparingly.
- Never use romaji as the primary reading layer.
- Accessibility: don’t rely on color alone for on vs kun; ruby toggle when built.
- Webfont: Noto Sans JP (this site) or Source Han Sans.
Recommended pipeline SPECULATIVE until scaffold
Markdown / content example
↓
resolve readings (KANJIDIC2 / JMdict) — build-time or hand
↓
emit <ruby> + lang="ja"
↓
page webfont: Noto Sans JP
↓
optional: KanjiVG SVG sprite for featured graphs
Do not scrape WWWJDIC HTML as a runtime dependency. Prefer local/cached dictionary files under license.
Note: this v0 site is pure static HTML with hand-authored ruby — no build step yet. Pipeline above is for a later scaffold.
Coverage matrix (display targets)
| Example set | Priority graphs / strings | Display need |
|---|---|---|
| Classifiers | 人 冊 本 個 台 枚 匹 円 | ruby + optional KanjiVG |
| VN-suru | 話 出発 警告 報告 到着 命中 独立 相席 | ruby on VN; suru in kana |
| Compounds | 国道 登山 勉強 挨拶 葡萄 面倒 | ruby; opacity page may dim folk “parts” |
| MeasureP Price | 円 / ドル | ドル often katakana — don’t force kanji |
Attribution
Kanji metadata: KANJIDIC2, Electronic Dictionary Research and Development Group (EDRDG), based on work by Jim Breen et al. Stroke diagrams: KanjiVG contributors. Compound glosses: JMdict/EDICT where used. This site’s morphosyntactic analyses are independent of those data projects.
Out of scope for display v0
- Spaced-repetition / flashcards
- Handwriting recognition
- IME packages
- Claiming stroke order encodes valency (it doesn’t)
- Interactive stroke quiz as primary content
Links to verify before pinning.
EDRDG index: edrdg.org/~jwb/japanese.html ·
KANJIDIC wiki · KanjiVG GitHub ·
MDN <ruby>.
Parent notes: workspace
lit/edrdg/.