z1dev / zkanji

Japanese language study suite and dictionary
GNU General Public License v3.0
59 stars 10 forks source link

Future Feature Request -- Card-printing #22

Open am2del opened 6 years ago

am2del commented 6 years ago

Like title says, someday in the future parhaps? Please do concider this (if it's not already planned) as I believe many will appriciate this type of feature, especially if connected to 常用-grades, JLPT-levels and user-defined Kanji-groups.

If card-printing is to be available, please do collect additional oppinions on what should be present - as well as in regards to layout.

Eventually, if so desired, I may lend a hand in this feature if you want - as it can be plenty useful for users... just need to find the time to finish the SVG's and that Radical Browser first. Odd ISO-weeks I won't have much time for anything for a while to come.

A few questions: (As reference, see ASCII & Description below.) --> Will/Should this feature include printing double-sided cards? (Also concider some doesn't have duplex, may need to print with time for manual flip.) --> Will/Should the structure be dynamic/customizable? (Customizable by user.) --> Will/Should it include preset to print a full 常用-grade or JLPT-level? E.g. not just user-defined groups. (Also see NOTE(s): 1 & 2) --> Is it reasonable to include similar printing radicals? Maybe also a preset option to include an additioal print with radicals used in the kanji? --> Does the page HEADER or FOOTER include something like "Printed with zKanji, for CREDITS and LICENCE see URL: https://github.com/z1dev/zkanji"? (Just to be on the safe side with things.)

I suppose it's possible to fit 10~21 cards per page - depending on margins, 2- or 3-column style and font-size/scaling... 3-column should work well in the world (ISO 216). Just need causion with the oddball North America (and associates) who, of-course like with anything else, must have their own standard. It's slightly "wider" - and either "shorter" or "longer" depending on case. (The "longer" is called LEGAL and its LENGTH ranges anywhere from 13.0" to 14.0" depending on region, hence - better count on LETTER-format.) Standard paper sizes:

-->  World:               A4  (210x297mm/8.3x11.7" - approx. ratio: 1:1.4142)
-->  North America:   Letter  (216x279mm/8.5x11.0" - approx. ratio: 1:1.2941)

I would suggest making the best of both worlds, needing no concideration for these issues - setting the template output to maximum of 210x279mm/8.3x11.0", printed as centred with no-stretch. Allowing for single template regardless of local differences. On a side note: The UK FOOLSCAP - former standard size in the UK - is very rare these days, therefore no need to take it into concideration.

What I state below is the result of brainstorming and discussing this topic with some acquaintances who currently do self-studies of Japanes - currently at "beginner"-levels.

Card-description, illustrative ASCII-art: (Could fit 10-21 cards per page depending on margins, 2- or 3-column style and font-size/scale?)

Side A, alt. 1: (Preferred)

 ________________________
|     |  2.         | 6. |
|  1. |  3.         |    |
|_____|_____________|____|
| 5.           | 4.      |
| ...          | ...     |
|______________|_________|

Side A, alt. 2: (Difference: "4." has moved up below "3." as a horizontal list instead and "6." has moved to bottom, not as space-efficient.)

 ________________________
|     |  2.              |
|  1. |  3.              |
|_____|__4._________ ____|
| 5.                | 6. |
| ...               |    |
|___________________|____|

Side A, slim: (See *-mark below description.)

 ____________________
|     |  2.          |
|  1. |  3.          |
|_____|______________|
| 5.           |(4.) |
| ...          | ... |
|______________|_____|

Side B, alt. 1: (Preferred)

 ________________________
|  1.  |  6.        | 5. |
| 2. 3.|            |    |
|__4.__|____________|____|
|                        |
| 7.                     |
| ...                    |
|________________________|

Side B, slim: (See *-mark below description.)

 ____________________
|  1.  |  6.         |
| 2. 3.|             |
|__4.__|_(5.)________|
|                    |
| 7.                 |
| ...                |
|____________________|

Description: (Sorry for all NOTE(s) and cross-referensing.) Side A: --> 1. The CHARACTER, with choice(?): With or without STROKE NUMBERING. --> 2. KUN reading(s), with choice: Include OKURIGANA or not. (See NOTE(s): 7) --> 3. ON reading(s). (See NOTE(s): 7) --> 4.* IRREGULAR* reading(s) (e.g.: 一日・ついたち、…), with choice(s): Include IRREGULAR or not. Select from wordgroup or AUTOMATIC-selection. Limit to X word(s). (See NOTE(s): 1, 2, 3, 4 & 8) --> 5. Example WORD(s) (e.g.: 漢字・かんじ、…), see "Side B --> 7.", with choice: Select from wordgroup or AUTOMATIC-selection. Limit to X word(s). (See NOTE(s): 1, 2, 4 & 5) --> 6.* Dictionary RADICAL category (e.g. for 意, 音 goes here and maybe the traditional number above or below: 1-214), with choice: Which to include - 常用, JLPT, Radical Number and/or Radical. Side B: --> 1. Numeric hint* for NUMBER of ON reading(s), with choice: NUMBER as Arabic/Latin or Kanji --> 2. Numeric hint* for NUMBER of KUN reading(s) (without counting OKURIGANA), with choice: NUMBER as Arabic/Latin or Kanji (See NOTE(s): 7) --> 3. Numeric hint* for NUMBER of KUN reading(s) in total (with OKURIGANA), with choice: NUMBER as Arabic/Latin or Kanji (See NOTE(s): 7) --> 4. Numeric hint* for NUMBER of IRREGULAR reading(s), listed as: FrequentCount/TotalCount (Based on dictionary content at the time.) (See NOTE(s): 8) --> 5.* Numeric hint* for NUMBER of STROKE(s) at the back-side of the CHARACTER, with choice: NUMBER as Arabic/Latin or Kanji --> 6. The CHARACTER meaning(s). --> 7. Example WORD(s) meaning(s), see "Side A --> 5.", with choice: Select meanings or AUTOMATIC-selection. Depending on X @ Side A, 5. (See NOTE(s): 6) * Should be possible exclude all-togather, if so desired to achive "slimmer" cards. "Side A, 4." and "Side B, 5." could possibly, but not neccessarily, still be included if moved. (See "slim"-versions)_

NOTE, 1: May be user-restricted to a certain rage or maximum 常用-grade and/or JLPT-level. NOTE, 2: Automatically picks word from each possible reading based on commonness, priority to JLPT-marked words within limit X. (Ref. NOTE(s): 1 & 4) NOTE, 3: Irregular are for reading samples, not glossary. NOTE, 4: Limited to X word(s), sorted with priority to JLPT-level irregular(s) then commonness. Factor X determines card HEIGHT. NOTE, 5: Prioritize selection of mixed reading(s), especially in AUTOMATIC-mode. So no card ends up with words from a single reading, unless ofcourse - there's only ONE reading like 意, but then at least TRY to include at least one irregular. (In such case(s), ref. NOTE(s): 1 & 2) NOTE, 6: Only including what fits a single line. NOTE, 7: Filter unique reading(s). --> Example, 1: 決《ケツ、き.まる、き.める、ぎ.め、さ.く》 (count: 1 ON, 3 KUN & 4 KUN TOTAL), when printing without OKU would be 《ケツ、き、ぎ、さ》 - but as さ has no entries in the dictionary data it chould either be filtered OR marked somehow. --> Example, 2: 画《ガ、カク、エ、カイ、えが.く、かぎ.る、かく.する、はか.る、はかりごと》 (count: 4 ON, 5 KUN, 5 KUN TOTAL) has かく and カク, could be limited to one of these when OKURIGANA is excluded - and 《はか.る、はかりごと》 has no words in the dictionary data, therefore could be filtered OR marked somehow. NOTE, 8: Translations the IRREGULAR-column was deemed reasonable to drop due to lack of space (if neccessary one can look them up in the dictionary), however - the IRREGULAR word(s) and their reading(s) was deemed good for example and serve well as a reminder that there are IRREGULAR(s) for this specific KANJI. The counter also serves a purpose, informing the user of how common IRREGULAR reading(s) for the specific KANJI is.

Attaching sample PNG's with data, in the format marked as "Preferred" - which was the final vote among those I discussed it with. The RED text should be OPTIONAL - not present in above ASCII-art nor description - and if possible, also make the numbers in translations OPTIONAL? There was also the oppinion to have a separate option to exclude/include the pointers "cnt", "pref" & "suf" as these can be plenty useful. samplecard-sidea samplecard-sideb

z1dev commented 6 years ago

I'm still working on releasing the first beta for bug hunting, but it's almost here now. Card printing should be in a version after that. I have been planning this for some time. I thought of fully customizable card printing, where you can design the cards yourself by moving around boxes for the contents. It sounds like a big undertaking though, so I have been postponing this since forever.

Work on this probably won't start for some time still. I'll get back to this idea when the first actual release of zkanji is done.