Na also 🙂
Das ganze war etwas wie ein Brain-Teaser, weil das SVG/XML mit Untergruppen und Unteruntergruppen strukturiert ist und man erstmal herausfinden musste, welche Gruppen man in einer Farbe überhaupt anzeigt.
Die KanjiVG-Daten brechen innerhalb des SVGs die Gruppen noch weiter auf, bis teilweise nur noch Striche übrig sind.
Jetzt war die Kunst dann „nur noch“, ohne Python-ElementTree auszukommen. ElementTree ist eine XML-Library, die das rekursive Iterieren durch einen XML-Baum sehr einfach macht. Konnte ich leider nicht verwenden, weil die Library nicht Bestandteil des Python-Cores ist und selbst nachinstalliert werden müsste. Wäre natürlich schlecht für Plugins, die man einfahc nur runterladen möchte und die dann funktionieren sollen.
Das obige Kanji ist eins meiner „Lieblingskanjis“ … Ich konnte es mir irgendwie nie merken, weil es einfach nur komplex aussah. Ich merkte mir quasi, dass das Kanji, das kompliziert aussieht, 後 sein müsste … Ist natürlich ein richtiger Fail, wenn man versucht normale Alltagstexte in Japanisch zu lesen 😉
Gibt noch ein paar andere Kanjis, bei denen das Gleiche ist …
Jetzt werd ich aber mal richtig saubermachen und die Kanjis vernünftig lernen 🙂
Naja, gleich nachdem ich KanjiColorizer nochmal neu runtergeladen und einen hübschen Patch gebaut habe, der hoffentlich dann in die Mainline wandert. Über ein neues Setting sollte man von StrokeOrder auf ColorGroups umschalten können, was implementierungstechnisch ohne weiteres möglich ist 🙂
Hi.
Ich hatte einen Kommentar auf github hinterlassen, den ich inzwischen wieder gelöscht habe. Du warst um einigen weiter als ich gedacht hatte. Ich bitte um Entschuldigung. Das mit den Unteruntergruppen usw. war mir aber auch aufgefallen.
Trotzdem.
Wenn du nicht AnkiWeb, AnkiDroid oder AnkiMobile benutzt, ist mein add-on vielleicht doch interessant. Siehe die Anleitung. Standardmäßig sind nur die Striche farbig, es gibt schon vorbereitet ein Script, dass die Gruppen durch Schattenfarbe markiert, aber die Gruppen durch Strichfarbe markieren geht auch. Mehr Tricks sind möglich, zB. Gruppen mit Farbe, Untergruppen mit Schattenfarbe. Oder mit Strichstil (durchgezogen, gestrichelt, …), oder …
Das Add-on kann auch nur Varianten (Kaisho, andere Strichreihenfolge, …) anzeigen. Das könnte auch in Verbindung mit Cayennes KanjiColorizer interessant sein.
Grüße, Ospalh
Hallo ospalh,
ich hatte den Kommentar gelesen, konnte dazu aber nicht viel antworten. Ich war verwundert, dass ElementTree in der Python-Core sein soll – ich musste es auf meinem Ubuntu 12.10 zumindest nachinstallieren, damit ich es nutzen konnte. Trotzdem hast du mich verunsichert 😉
AnkiWeb verwende ich überhaupt nicht, AnkiDroid erst, wenn Anki2 unterstützt wird und AnkiMobile verwende ich auch nicht, weil der Preis eine absolute Unverschämtheit ist.
Ich hab mir deine Seite angeschaut und finde deine Modificationen sehr interessant. Allerdings fehlt mir der Group-Color-Modus, weshalb ich mir überhaupt die Arbeit gemacht habe, an Kanji-Colorizer zu arbeiten.
Viele Grüße,
トマス
Ich habe mal kurz das Style-File und das Script-File im stroke-order-kanji Ordner (der in den addons Ordner kommt) umgeschrieben. Die CSS-Datei_kanji_style_by_group.css macht die Strichen nach Gruppen, das Script _subgroup_shadow_script.js die Schatten nach Untergruppe. Das sieht dann zB so aus. (Links zu den Files sind Style und Script, wobei github im Moment ein paar Probleme mit dem zweiten Link zu haben scheint.)
Die musst du halt in _kanji_style.css und _kanji_script.js umbenennen, um sie zu benutzen.
(Ich hatte die Untergruppen noch nicht wirklich getestet, und musste da noch was hinbiegen. Jetzt geht’s aber.
Ich hab mir deinen Code angeschaut … Ja, das ist korrekt so. Die direkten Untergruppen des Elements werden mit class=“stroke_group“ definiert und der Rest dann per CSS … Auch das Ergebnis sieht sehr gut aus.
Ich hab jetzt nur noch Probleme damit, dass die Komplexität des Plugins wesentlich höher geworden ist, ohne (mir) zusätzlichen Nutzen zu bringen. Stattdessen hab ich plötzlich css und javascript-Files und ich hab Abhängigkeiten zu anderen Libraries … Für das, dass ich dann das Gleiche erhalte (mit Ausnahme des Schattens), wie das ursprüngliche Plugin (nach dem 20-Zeilen-Code-Patch).
Versteh mich bitte nicht falsch, ich finde es toll, was du machst. Aber ich seh für mich keinen besonderen Mehrwert …