7 Commits
v2 ... v2.1.1

5 changed files with 63 additions and 10 deletions

21
LICENSE Normal file
View File

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2020 Alexander Bocken
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@ -1,6 +1,6 @@
# kanji # kanji
<img src="/../assets/kanji_front.png" alt="Front side with kanji displayed" width="49%"> <img src="/../assets/kanji_back.png" alt="Back side revealing meaning of kanji" width="49%"> <img src="/../assets/reveal_stroke_order.gif" alt="Front side with kanji displayed" width="49%"> <img src="/../assets/kanji_back.png" alt="Back side revealing meaning of kanji" width="49%">
<img src="/../assets/german_front.png" alt="Front side with german word displayed" width="49%"> <img src="/../assets/german_back.png" alt="Back side revealing kanji with that meaning" width="49%"> <img src="/../assets/german_front.png" alt="Front side with german word displayed" width="49%"> <img src="/../assets/german_back.png" alt="Back side revealing kanji with that meaning" width="49%">
@ -20,6 +20,18 @@ Hints are only sporadically used and can only be expected for difficult kanjis i
To get the Kanji unicode characters I used this [Kanji recognition site](https://kanji.sljfaq.org/draw-canvas.html). To get the Kanji unicode characters I used this [Kanji recognition site](https://kanji.sljfaq.org/draw-canvas.html).
Seems a lot faster than having to rely on Google Translate (plus I don't have to use Google, which is a benefit in itself.) Seems a lot faster than having to rely on Google Translate (plus I don't have to use Google, which is a benefit in itself.)
## Contributing
If you find a mistake, or have other ideas on how to improve the deck, please don't hesitate to [open a new issue](https://github.com/blinry/anki-fonts/issues)!
This deck is maintained using the [CrowdAnki](https://github.com/Stvad/CrowdAnki) add-on. If you want to contribute corrections or improvements yourself, follow these steps:
1. Make changes to the deck.
2. Install the [CrowdAnki add-on](https://ankiweb.net/shared/info/1788670778).
3. Fork and clone this repository.
4. Use `Export -> CrowdAnki Json representation` on the deck and chose the repository's base directory.
5. Commit the changes, and submit a pull request to this repository.
## Primitves ## Primitves
I've been adding the seperately listed primitives as well, although that has some issues connected with it: Some/most of the primitives listed seperately do not have a unicode character associated with them. Thus I've been using two strategies: I've been adding the seperately listed primitives as well, although that has some issues connected with it: Some/most of the primitives listed seperately do not have a unicode character associated with them. Thus I've been using two strategies:
@ -31,3 +43,20 @@ Both of these strategies are not optimal and I'm currently looking into other op
## Compounds ## Compounds
Compounds are added to the last kanji learned to completely understand the compound. Compounds are added to the last kanji learned to completely understand the compound.
E.g. "週末" (Wochenende) is added at "週" (no. 340), not "末" (no. 230). E.g. "週末" (Wochenende) is added at "週" (no. 340), not "末" (no. 230).
## Fonts
For Kanjis I'm using the IPAGothic font, for the stroke order I'm using Timothy Eyre's great font I found on [his website](https://www.nihilist.org.uk/). Please notice the license he has listed for this font.
### Importing via apkg
I've included an apkg file with the font files included as well as one apkg file without these font files.
Choose the one you prefer, the one with fonts has the additional benefit of synchronising the fonts with other devices.
### Importing via CrowdAnki
Either install these fonts seperately or add the ttfs to your `collection.media` Anki folder as `_ipag.ttf` and `_KanjiStrokeOrders.ttf`.
The latter method has the benefit of synchronising these fonts to your other devices as well.
## License
MIT

View File

@ -52,14 +52,17 @@
"dyn": 0, "dyn": 0,
"extendNew": 5, "extendNew": 5,
"extendRev": 117, "extendRev": 117,
"media_files": [], "media_files": [
"_KanjiStrokeOrders.ttf",
"_ipag.ttf"
],
"mid": 1605541432231, "mid": 1605541432231,
"name": "Kanji", "name": "Kanji",
"note_models": [ "note_models": [
{ {
"__type__": "NoteModel", "__type__": "NoteModel",
"crowdanki_uuid": "1d40ef02-c9ff-11ea-ab22-9cb6d013a4a3", "crowdanki_uuid": "1d40ef02-c9ff-11ea-ab22-9cb6d013a4a3",
"css": ".card {\n\tmargin-top: 0px;\n\tline-height: 20px;\n\theight: 100%;\n\tfloat: left;\n\tfont-family: Helvetica, \"IPAGothic\", Arial,Verdana,sans-serif;\n}\n.card p {\n\tpadding: 0px 0;\n\tposition: relative;\n}\n.card p.kanji{\n\tfont-size: 70px;\n \tfont-family: IPAGothic;\n\tcolor:#88C0D0;\n\theight:20vh;\n}\n.card p.kanji_card2{\n\tfont-size: 70px;\n \tfont-family: IPAGothic;\n\tcolor:#88C0D0;;\n}\n.card p.kanji_card2 i {\n\tfont-family: Helvetica, IPAGothic;\n\tcolor:#4C566A;\n\tfont-size: 16px;\n\tfont-style: normal;\n}\n.card p.kanji i {\n\tfont-family: Helvetica, IPAGothic;\n\tcolor:#4C566A;\n\tfont-size: 16px;\n\tfont-style: normal;\n}\n.card p.kanji_back{\n\tfont-size: 20px;\n \tfont-family: IPAGothic;\n\tcolor: #5E81AC;\n\theight:5vh;\n}\n.card p.kanji_back i {\n\tfont-family: Helvetica, IPAGothic;\n\tcolor:#4C566A;\n\tfont-size: 16px;\n\tfont-style: normal;\n}\n.card p.kanji_back i:before {\n\tcontent: \"- \";\n\tpadding-left: 5px;\n\tcolor:#4C566A;\n}\n.card p.kanji i:before {\n\tcontent: \"- \";\n\tpadding-left: 5px;\n\tcolor:#4C566A;\n}\n.card p.compounds {\n\tfont-size: 20px;\n\ttext-decoration: none;\n\tcolor: #5E81AC;\n}\n.card p.compounds i{\n\tfont-style: normal;\n\tfont-size: 22px;\n\ttext-decoration: none;\n\tcolor: #8FBCBB;\n}\n.card p.compounds_meaning {\n\ttext-align: right;\n\tfont-size: 20px;\n\ttext-decoration: none;\n\tcolor: #8FBCBB;\n}\n.card #explanation{\n\theight:20vh;\n\tfont-size: 20px;\n\ttext-align:left;\n\tcolor:#ECEFF4;\n}\n.card #explanation i{\n\tfont-style:normal;\n\tcolor: #D08770;\n}\n.card #explanation b{\n\tfont-style:normal;\n\tcolor:#88C0D0;\n}\n.card #notes {\n\tfont-size:16px;\n\tcolor:#4C566A;\n}\n.card #notes u{\n\tfont-size:20px;\n\ttext-decoration: none;\n}\n.card p.meaning {\n\twidth=100;\n\ttext-align:center;\n\tfont-size: 40px;\n\tcolor:#88C0D0;\n}\n.card p.meaning i {\n\tfont-style: normal;\n\ttext-align:left;\n \tfont-size: 12px;\n\tcolor:#E5E9F0;\n}\n.card p.meaning_back{\n\tfont-size: 20px;\n\tfont-family: Helvetica, Arial;\n\tcolor: #5E81AC;\n\theight:5vh;\n}\n.card p.meaning_back i {\n\tfont-family: Helvetica, IPAGothic;\n\tcolor:#4C566A;\n\tfont-size: 16px;\n\tfont-style: normal;\n}\n#no {\n\tcolor:#4C566A;\n\tfont-family: Helvetica,Arial,Verdana,sans-serif;\n\tfont-size: 20px;\n\ttext-align:right;\n\tposition:fixed;\n \tbottom: 20px;\n \tright: 20px;\n}\n#lesson {\n\tcolor:#4C566A;\n\tfont-family: Helvetica,Arial,Verdana,sans-serif;\n\tposition: absolute;\n\tfont-size: 20px;\n\ttext-align:left;\n\tposition: fixed;\n\tbottom: 20px;\n\tleft: 20px;\n}\n\n\n/* ANDROID SETTINGS */\n.android .card p.kanji{\n\tcolor:#000000;\n}\n.android .card p.kanji i {\n\tcolor:#000000;\n}\n.android .card p.kanji_back{\n \tcolor:#000000;\n}\n.android .card p.kanji_back i {\n\tcolor:#000000;\n}\n.android .card p.kanji_back i {\n\tcolor:#000000;\n}\n.android .card p.kanji i:before {\n\tcolor:#000000;\n}\n.android .card p.compounds {\n\tcolor:#000000;\n}\n.android .card p.compounds i{\n\tcolor:#000000;\n}\n.android .card p.compounds_meaning {\n\tcolor:#000000;\n}\n.android .card #explanation{\n\tcolor:#000000;\n}\n.android .card #notes {\n\tcolor:#000000;\n}\n.android .card p.meaning {\n \tcolor:#000000;\n}\n.android .card p.meaning i{\n \tcolor:#000000;\n}\n.android .card p.meaning_back{\n\tcolor:#000000;\n}\n.android .card p.meaning_back i {\n\tcolor:#000000;\n}\n.android .card p.kanji_card2{\n\tcolor:#000000;\n}\n.android .card p.kanji_card2 i {\n\tcolor:#000000;\n}\n.android #no {\n\tcolor:#000000;\n}\n.android #lesson {\n\tcolor:#000000;\n}", "css": "@font-face {\n font-family: 'kanji_strokeorder';\n font-style: normal;\n font-weight: 400;\n src: url(_KanjiStrokeOrders.ttf) format('truetype');\n }\n\n@font-face {\n font-family: 'IPAGothic';\n font-style: normal;\n font-weight: 400;\n src: url(_ipag.ttf) format('truetype');\n }\n\n.card {\n\tmargin-top: 0px;\n\tline-height: 20px;\n\theight: 100%;\n\tfloat: left;\n\tfont-family: Helvetica, \"IPAGothic\", Arial,Verdana,sans-serif;\n}\n.card p {\n\tpadding: 0px 0;\n\tposition: relative;\n}\n.card p.kanji{\n\tfont-size: 70px;\n \tfont-family: IPAGothic;\n\tcolor:#88C0D0;\n\theight:20vh;\n}\n.card p.kanji i {\n\tfont-family: Helvetica, IPAGothic;\n\tcolor:#4C566A;\n\tfont-size: 20px;\n\tpadding-left: 5px;\n\tfont-style: normal;\n}\n.card p.kanji_card2{\n\tfont-size: 70px;\n \tfont-family:IPAGothic;\n\tcolor:#88C0D0;\n}\n.card p.kanji_card2 i {\n\tfont-family: Helvetica, IPAGothic;\n\tcolor:#4C566A;\n\tfont-size: 16px;\n\tpadding-left: 5px;\n\tfont-style: normal;\n}\n.card p.kanji_back{\n\tfont-size: 20px;\n \tfont-family: IPAGothic;\n\tcolor: #5E81AC;\n\theight:5vh;\n}\n.card p.kanji_back i {\n\tfont-family: Helvetica, IPAGothic;\n\tcolor:#4C566A;\n\tfont-size: 16px;\n\tfont-style: normal;\n}\n.card p.primitive_correction before {\n\tcontent: \"- \";\n\tpadding-left: 5px;\n\tcolor:#4C566A;\n}\n.card p.compounds {\n\tfont-size: 20px;\n\ttext-decoration: none;\n\tcolor: #5E81AC;\n}\n.card p.compounds i{\n\tfont-style: normal;\n\tfont-size: 22px;\n\ttext-decoration: none;\n\tcolor: #8FBCBB;\n}\n.card p.compounds_meaning {\n\ttext-align: right;\n\tfont-size: 20px;\n\ttext-decoration: none;\n\tcolor: #8FBCBB;\n}\n.card #explanation{\n\theight:20vh;\n\tfont-size: 20px;\n\ttext-align:left;\n\tcolor:#ECEFF4;\n}\n.card #explanation i{\n\tfont-style:normal;\n\tcolor: #D08770;\n}\n.card #explanation b{\n\tfont-style:normal;\n\tcolor:#88C0D0;\n}\n.card #notes {\n\tfont-size:16px;\n\tcolor:#4C566A;\n}\n.card #notes u{\n\tfont-size:20px;\n\ttext-decoration: none;\n}\n.card p.meaning {\n\twidth=100;\n\ttext-align:center;\n\tfont-size: 40px;\n\tcolor:#88C0D0;\n}\n.card p.meaning i {\n\tfont-style: normal;\n\ttext-align:left;\n \tfont-size: 12px;\n\tcolor:#E5E9F0;\n}\n.card p.meaning_back{\n\tfont-size: 20px;\n\tfont-family: Helvetica, Arial;\n\tcolor: #5E81AC;\n\theight:5vh;\n}\n.card p.meaning_back i {\n\tfont-family: Helvetica, IPAGothic;\n\tcolor:#4C566A;\n\tfont-size: 16px;\n\tfont-style: normal;\n}\n#no {\n\tcolor:#4C566A;\n\tfont-family: Helvetica,Arial,Verdana,sans-serif;\n\tfont-size: 20px;\n\ttext-align:right;\n\tposition:fixed;\n \tbottom: 20px;\n \tright: 20px;\n}\n#lesson {\n\tcolor:#4C566A;\n\tfont-family: Helvetica,Arial,Verdana,sans-serif;\n\tposition: absolute;\n\tfont-size: 20px;\n\ttext-align:left;\n\tposition: fixed;\n\tbottom: 20px;\n\tleft: 20px;\n}\n\n\n/* ANDROID SETTINGS */\n.android .card p.kanji{\n\tfont-size:120px;\n\t/*color:#000000;*/\n}\n.android.card.night_mode {\n\tbackground-color:#000000;\n}\n.android .card p.kanji_card2{\n\tfont-size:120px;\n}\n",
"flds": [ "flds": [
{ {
"font": "Helvetica", "font": "Helvetica",
@ -191,10 +194,10 @@
"did": null, "did": null,
"name": "Card 1", "name": "Card 1",
"ord": 0, "ord": 0,
"qfmt": "<P class='kanji'>{{kanji}}\n\t{{#primitive_correction}}<br>\n\t\t<i>{{primitive_correction}}</i>\n\t{{/primitive_correction}}\n</P>\n\n<P class=\"compounds\">{{compounds}}</P>\n\n<div id=\"no\">{{no}}</div>\n\n<div id=\"lesson\">Lektion {{lesson}}</div>" "qfmt": "<P class='kanji'>\n\t<span onclick=\"ShowStrokeOrder();\" id=\"Kanji\">\n\t\t{{kanji}}\n\t</span>\n{{#primitive_correction}}\t\n\t<br> <i>- {{primitive_correction}}</i>\n{{/primitive_correction}}\n</P>\n\n<P class=\"compounds\">{{compounds}}</P>\n\n<div id=\"no\">{{no}}</div>\n\n<div id=\"lesson\">Lektion {{lesson}}</div>\n\n<script>\nfunction ShowStrokeOrder() {\n /* document.getElementById(\"HiddenOrder\").style.display = \"block\";*/\n\tif(document.getElementById(\"Kanji\").style.fontFamily == 'kanji_strokeorder'){\n\t\tdocument.getElementById(\"Kanji\").style.fontFamily=\"IPAGothic\";\n\t}\n\telse{\n\t\tdocument.getElementById(\"Kanji\").style.fontFamily=\"kanji_strokeorder\";\n\t}\n}\n</script>"
}, },
{ {
"afmt": "\n<P class='meaning_back'>{{meaning}}<br>\n\t{{#primitive}} \n\t\t<i>Primitive: {{primitive}}</i>\n\t{{/primitive}}\n</P>\n\n<P class='kanji_card2'>{{kanji}}\n\t{{#primitive_correction}}<br>\n\t\t<i>{{primitive_correction}}</i>\n\t{{/primitive_correction}}\n</P>\n\n\n{{#explanation}}\n\t<hr>\n{{/explanation}}\n\n<div id='explanation'>\n\t{{explanation}}\n</div>\n\n{{#notes}}\n<div id='notes'>\n\t<u>Notiz:</u>\n\t{{notes}}\n</div>\n{{/notes}}\n\n<P class=\"compounds\">\n{{#compounds}}\n\t<i>Komposita:</i><br>\n\t{{compounds}}<br>\n\t{{compounds_meaning}}\n{{/compounds}}\n</P>\n\n<div id=\"no\">{{no}}</div>\n<div id=\"lesson\">Lektion {{lesson}}</div>\n\n", "afmt": "\n<P class='meaning_back'>{{meaning}}<br>\n\t{{#primitive}} \n\t\t<i>Primitive: {{primitive}}</i>\n\t{{/primitive}}\n</P>\n\n<P class='kanji_card2'>\n\t<span onclick=\"ShowStrokeOrder();\" id=\"Kanji\">\n\t\t{{kanji}}\n\t</span>\n{{#primitive_correction}}\t\n\t<br> <i>- {{primitive_correction}}</i>\n{{/primitive_correction}}\n</P>\n\n{{#explanation}}\n\t<hr>\n{{/explanation}}\n\n<div id='explanation'>\n\t{{explanation}}\n</div>\n\n{{#notes}}\n<div id='notes'>\n\t<u>Notiz:</u>\n\t{{notes}}\n</div>\n{{/notes}}\n\n<P class=\"compounds\">\n{{#compounds}}\n\t<i>Komposita:</i><br>\n\t{{compounds}}<br>\n\t{{compounds_meaning}}\n{{/compounds}}\n</P>\n\n<div id=\"no\">{{no}}</div>\n<div id=\"lesson\">Lektion {{lesson}}</div>\n\n\n<script>\nfunction ShowStrokeOrder() {\n /* document.getElementById(\"HiddenOrder\").style.display = \"block\";*/\n\tif(document.getElementById(\"Kanji\").style.fontFamily == 'kanji_strokeorder'){\n\t\tdocument.getElementById(\"Kanji\").style.fontFamily=\"IPAGothic\";\n\t}\n\telse{\n\t\tdocument.getElementById(\"Kanji\").style.fontFamily=\"kanji_strokeorder\";\n\t}\n}\n</script>\n\n",
"bafmt": "", "bafmt": "",
"bfont": "", "bfont": "",
"bqfmt": "", "bqfmt": "",
@ -1589,7 +1592,7 @@
"", "",
"", "",
"", "",
"", "beachte Reihenfolge",
"4" "4"
], ],
"guid": "L<6f1V*oVD", "guid": "L<6f1V*oVD",
@ -3942,7 +3945,7 @@
"194", "194",
"胴", "胴",
"Rumpf", "Rumpf",
"Rümpfe wie Bäume fällen, identisch machen damit sie nicht verkeilen", "<b>Rümpfe</b> wie Bäume fällen, <i>identisch</i> machen damit sie nicht verkeilen",
"", "",
"", "",
"", "",
@ -33124,8 +33127,8 @@
"", "",
"", "",
"", "",
"ohne 艹 und 十 (der vertikale Strich fällt stehts mit einem anderen Zeichen überein)", "ohne 艹 und 十",
"", "der vertikale Strich fällt stehts mit einem anderen Zeichen überein",
"40" "40"
], ],
"guid": "MVynpau[<U", "guid": "MVynpau[<U",
@ -41116,7 +41119,7 @@
"", "",
"", "",
"", "",
"ohne&amp;nbsp;扌", "ohne 扌",
"", "",
"53" "53"
], ],

Binary file not shown.

BIN
media/_ipag.ttf Normal file

Binary file not shown.