halkyon/halkyon_learn_curator/test/fixtures/kanjivg-sample.xml
Tizian 「ティツィアーン」 e42cdfbfcb
feat(curator): KANJIDIC2 and the kana as a dictionary of characters; KanjiVG's strokes for the app
A dictionary file now says whether it holds words or characters (`kind`).
The kanjidic adapter turns KANJIDIC2 into one entry per kanji that has a
Japanese reading or an English meaning (12,633), with its readings,
meanings, school grade, strokes, frequency and JLPT level (Jonathan
Waller's, through kanji-data's kanji.json), labelled `jlpt:nX`,
`grade:N`/`grade:secondary`, followed by the 71 hiragana and katakana of
the kana table with their romaji. A kun reading is found whole; its kanji
part only as a loose key, so typing "ta" brings た before every kanji read
so.

`curate kanjivg` writes KanjiVG's strokes and components as the app's
stroke files, one gzipped JSON file per 256 code points, keyed by the code
point in each entry's id (KanjiVG's 橅 names itself 機).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MMm7usAo6q9ZZRoPkWjoxi
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
2026-10-09 18:09:32 +02:00

105 lines
7.4 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (C) 2009-2013 Ulrich Apel.
This work is distributed under the conditions of the Creative Commons
Attribution-Share Alike 3.0 Licence. This means you are free:
* to Share - to copy, distribute and transmit the work
* to Remix - to adapt the work
Under the following conditions:
* Attribution. You must attribute the work by stating your use of KanjiVG in
your own copyright header and linking to KanjiVG's website
(http://kanjivg.tagaini.net)
* Share Alike. If you alter, transform, or build upon this work, you may
distribute the resulting work only under the same or similar license to this
one.
See http://creativecommons.org/licenses/by-sa/3.0/ for more details.
This file was generated on 2026-07-14 from the most recent KanjiVG data.
-->
<kanjivg xmlns:kvg='http://kanjivg.tagaini.net'>
<kanji id="kvg:kanji_03042">
<g id="kvg:03042" kvg:element="あ">
<path id="kvg:03042-s1" d="M31.01,33c0.88,0.88,2.75,1.82,5.25,1.75c8.62-0.25,20-2.12,29.5-4.25c1.51-0.34,4.62-0.88,6.62-0.5"/>
<path id="kvg:03042-s2" d="M49.76,17.62c0.88,1,1.82,3.26,1.38,5.25c-3.75,16.75-6.25,38.13-5.13,53.63c0.41,5.7,1.88,10.88,3.38,13.62"/>
<path id="kvg:03042-s3" d="M65.63,44.12c0.75,1.12,1.16,4.39,0.5,6.12c-4.62,12.26-11.24,23.76-25.37,35.76c-6.86,5.83-15.88,3.75-16.25-8.38c-0.34-10.87,13.38-23.12,32.38-26.74c12.42-2.37,27,1.38,30.5,12.75c4.05,13.18-3.76,26.37-20.88,30.49"/>
</g>
</kanji>
<kanji id="kvg:kanji_098df">
<g id="kvg:098df" kvg:element="食" kvg:radical="general">
<path id="kvg:098df-s1" kvg:type="㇒" d="M52.75,10.5c0.11,0.98-0.19,2.67-0.97,3.93C45,25.34,31.75,41.19,14,51.5"/>
<path id="kvg:098df-s2" kvg:type="㇏" d="M52.75,16.25c5.09,4.8,25.71,19.61,33.7,24.9c2.68,1.78,5.37,2.79,8.55,3.35"/>
<path id="kvg:098df-s3" kvg:type="㇑a" d="M52.25,29.25c1,1,1.5,2.25,1.5,3.5c0,2,0,3,0,5.5"/>
<path id="kvg:098df-s4" kvg:type="㇕" d="M38,40c0.83,0.47,2.19,1,3.86,0.83c9.39-0.96,21.95-2.76,23.25-2.84c1.67-0.1,3.14,0.88,3.11,2.53C68.2,41.8,67,53.25,66.34,62.4c-0.07,0.94-0.13,1.36-0.13,1.99"/>
<path id="kvg:098df-s5" kvg:type="㇐a" d="M40.83,51.73C47.25,51.25,59.5,50,66,49.75"/>
<path id="kvg:098df-s6" kvg:type="㇐a" d="M40.69,63.9c7.04-0.52,16.55-1.62,24.6-2.04"/>
<path id="kvg:098df-s7" kvg:type="㇙" d="M38.25,40.25c1.12,1.12,1.5,2.62,1.5,4c0,9.12,0,43.62,0,47.25c0,4,1,4.88,4.12,2.88c2.93-1.87,6.75-5.25,10.88-8.38"/>
<path id="kvg:098df-s8" kvg:type="㇒" d="M74,64c0.25,1.25,0.09,2.57-0.75,3.5c-3.5,3.88-4.5,4.88-7.25,7.5"/>
<path id="kvg:098df-s9" kvg:type="㇏" d="M51.5,71C55.75,71,77,90,81,92.75c2.49,1.71,4.62,2.62,7.5,3.5"/>
</g>
</kanji>
<kanji id="kvg:kanji_08a9e">
<g id="kvg:08a9e" kvg:element="語">
<g id="kvg:08a9e-g1" kvg:element="言" kvg:position="left" kvg:radical="general">
<path id="kvg:08a9e-s1" kvg:type="㇔" d="M26,15.25c2.82,1.41,7.29,5.8,8,8"/>
<path id="kvg:08a9e-s2" kvg:type="㇐" d="M12.37,32.97c1.25,0.28,2.88,0.66,4.36,0.53c7.02-0.59,17.78-1.75,25.95-3c1.52-0.23,3.57-0.38,5.16,0.03"/>
<path id="kvg:08a9e-s3" kvg:type="㇐" d="M18.73,45.76c0.38,0.18,2.71,0.2,3.1,0.18c3.97-0.21,9.79-1.19,14.46-2.31c1.67-0.4,2.71-0.38,3.86-0.08"/>
<path id="kvg:08a9e-s4" kvg:type="㇐" d="M18.73,58.89c0.89,0.23,1.89,0.36,3.35,0.15c3.89-0.54,10.71-1.51,14.85-2.29c0.7-0.13,1.82-0.26,2.61-0.1"/>
<g id="kvg:08a9e-g2" kvg:element="口">
<path id="kvg:08a9e-s5" kvg:type="㇑" d="M17.14,71.9c0.63,0.62,1.12,1.65,1.23,2.57c0.63,5.03,1.51,10.28,2.23,15.59c0.14,1.03,0.27,2.02,0.41,2.93"/>
<path id="kvg:08a9e-s6" kvg:type="㇕b" d="M19.37,73.6c5.67-0.94,15.47-2.73,20.36-3.48c1.49-0.22,2.39,1.05,2.18,2.08c-0.71,3.44-2.27,9.75-3.23,13.89"/>
<path id="kvg:08a9e-s7" kvg:type="㇐b" d="M21.47,89.02c3.95-0.45,10.71-1.19,16.28-1.61c1.21-0.09,2.36-0.17,3.41-0.22"/>
</g>
</g>
<g id="kvg:08a9e-g3" kvg:element="吾" kvg:position="right" kvg:phon="吾">
<g id="kvg:08a9e-g4" kvg:element="五">
<g id="kvg:08a9e-g5" kvg:element="二" kvg:part="1">
<path id="kvg:08a9e-s8" kvg:type="㇐" d="M51.79,17.49c1.38,0.26,3.91,0.28,5.27,0.15C63.88,17,72.62,15.62,80,15.32c2.3-0.1,3.67,0.04,4.81,0.15"/>
</g>
<path id="kvg:08a9e-s9" kvg:type="㇑a" d="M67.75,20.25c0.37,1.25,0.5,2.38,0.23,3.75c-0.75,3.78-6.03,23.83-7.96,31.58"/>
<path id="kvg:08a9e-s10" kvg:type="㇕c" d="M52.18,36.96c1.82,0.66,4.17,0.95,5.84,0.66c8.48-1.5,16.13-3.06,22.74-4.1c2.49-0.39,4.05,1.27,3.71,2.93c-0.6,2.93-2.48,11.43-3.74,17.86"/>
<g id="kvg:08a9e-g6" kvg:element="二" kvg:part="2">
<path id="kvg:08a9e-s11" kvg:type="㇐" d="M46.33,58.46c1.13,0.24,3.94,0.2,5.07,0.08c12.34-1.29,19.11-2.39,40.88-4.02c1.88-0.14,3.75-0.02,4.69,0.09"/>
</g>
</g>
<g id="kvg:08a9e-g7" kvg:element="口">
<path id="kvg:08a9e-s12" kvg:type="㇑" d="M52.5,69.88c0.93,0.93,1.42,2.28,1.54,3.31c0.71,6.06,1.42,12.65,2.06,19.3c0.15,1.5,0.28,2.44,0.4,3.75"/>
<path id="kvg:08a9e-s13" kvg:type="㇕b" d="M54.99,71.67c9.47-1.45,23.75-3.41,28.85-3.9c2.14-0.21,3.28,0.98,2.86,2.93c-0.84,3.88-3.08,12.57-4.39,17.58"/>
<path id="kvg:08a9e-s14" kvg:type="㇐b" d="M57.2,91.49c5.94-0.55,14.67-1.24,23.54-1.76c1.3-0.08,2.63-0.13,3.97-0.2"/>
</g>
</g>
</g>
</kanji>
<kanji id="kvg:kanji_06a45">
<g id="kvg:06a45" kvg:element="機">
<g id="kvg:06a45-g1" kvg:element="木" kvg:position="left" kvg:radical="general">
<path id="kvg:06a45-s1" kvg:type="㇐" d="M10.28,39.47c1.6,0.66,3.76,0.28,4.98,0.09c4.46-0.7,12.85-2.31,18.53-3.4c1.23-0.23,2.99-0.8,4.23-0.29"/>
<path id="kvg:06a45-s2" kvg:type="㇑" d="M25.36,15c1.26,1.26,1.79,2.75,1.79,4.42c0,0.82-0.04,50.17-0.05,69.95c0,3.14,0,5.54,0,6.88"/>
<path id="kvg:06a45-s3" kvg:type="㇒" d="M26.19,39.53c0,0.84-0.1,1.58-0.34,2.33C22,54.25,19.33,62.31,12.11,75.34"/>
<path id="kvg:06a45-s4" kvg:type="㇔/㇏" d="M29.88,45.75c2.33,1.62,6.16,6.86,8.12,10"/>
</g>
<g id="kvg:06a45-g2" kvg:element="無" kvg:position="right">
<g id="kvg:06a45-g3" kvg:position="top">
<g id="kvg:06a45-g4" kvg:element="丿">
<path id="kvg:06a45-s5" kvg:type="㇒" d="M54.51,12.5c0.04,0.56,0.15,1.62-0.08,2.25c-2.72,7.91-6.75,15.16-13.84,21.54"/>
</g>
<path id="kvg:06a45-s6" kvg:type="㇐" d="M52.83,25c0.72-0.03,2.13-0.1,3.17-0.21c8.01-0.86,23.7-3.89,29.02-4.4c1.4-0.13,2.24,0.17,2.94,0.35"/>
<g id="kvg:06a45-g5" kvg:element="一">
<path id="kvg:06a45-s7" kvg:type="㇐" d="M37.25,48.7c1.24,0.54,3.52,0.7,4.77,0.54C52,48,80.69,45.25,94.15,44.51c2.07-0.11,3.32,0.26,4.35,0.53"/>
</g>
<path id="kvg:06a45-s8" kvg:type="㇑" d="M47.09,37.25c0.89,0.5,1.43,2.25,1.6,3.25c0.18,1,0.31,15.75,0.48,27.5"/>
<path id="kvg:06a45-s9" kvg:type="㇑" d="M58.37,30.75c0.89,0.5,1.62,2.23,1.6,3.25c-0.07,5.5,0.14,19.5,0.14,33.75"/>
<path id="kvg:06a45-s10" kvg:type="㇑" d="M71.65,29.75c0.89,0.5,1.67,2.23,1.6,3.25c-0.47,8-0.88,17.5-1.5,33.25"/>
<path id="kvg:06a45-s11" kvg:type="㇑" d="M85.34,30.25c0.89,0.5,1.87,2.28,1.6,4.25c-1.09,8-1.5,15.25-3.54,30.75"/>
<path id="kvg:06a45-s12" kvg:type="㇐" d="M37.16,68.7c1.32,0.54,3.74,0.67,5.05,0.54c7.53-0.74,37.49-2.99,51.76-3.73c2.19-0.11,3.52,0.26,4.61,0.53"/>
</g>
<g id="kvg:06a45-g6" kvg:element="灬" kvg:variant="true" kvg:original="火" kvg:position="bottom">
<path id="kvg:06a45-s13" kvg:type="㇔" d="M40.94,80.5c0,5.25-4.71,13-5.94,14.5"/>
<path id="kvg:06a45-s14" kvg:type="㇔" d="M53.75,79.08c2.49,2.57,4.85,9.64,5.47,13.63"/>
<path id="kvg:06a45-s15" kvg:type="㇔" d="M71.51,78.83c2.4,2.27,6.19,9.35,6.79,12.88"/>
<path id="kvg:06a45-s16" kvg:type="㇔" d="M87.89,77.08c3.73,2.89,9.63,11.89,10.56,16.38"/>
</g>
</g>
</g>
</kanji>
</kanjivg>