Bug 385070

Summary: radselect: stroke count is wrong for most kanji
Product: [Applications] kiten Reporter: Frédéric Brière <fbriere>
Component: generalAssignee: Joseph Kerian <jkerian>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version First Reported In: 1.3   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:
Attachments: [PATCH] radselect: Properly fetch kanji stroke count from kanjidic

Description Frédéric Brière 2017-09-25 22:27:29 UTC
Created attachment 108026 [details]
[PATCH] radselect: Properly fetch kanji stroke count from kanjidic

radselect wrongly assumes that the stroke count of a kanji is merely the sum of its radicals; this results in an inaccurate value for most kanji.  (The difference can amount to 21 strokes in the most extreme cases, such as 驫 or 鱶.)  This, in turn, makes the whole stroke-count-range feature rather useless.

AFAIK, there is no way to get this value using only the radkfile information; it has to be fetched from kanjidic.

I'm attaching a patch that does just that, which I will upload to Phabricator shortly.
Comment 1 Bug Janitor Service 2020-11-12 22:47:24 UTC
A possibly relevant merge request was started @ https://invent.kde.org/education/kiten/-/merge_requests/7
Comment 2 Frédéric Brière 2020-11-14 10:57:26 UTC
Git commit 7f647a520936b2c8e6d86aa8296b92f89cd85633 by Frédéric Brière.
Committed on 12/11/2020 at 22:01.
Pushed by aacid into branch 'master'.

radselect: Properly fetch kanji stroke count from kanjidic

The stroke count of a kanji cannot be calculated from the mere list of
the radicals it contains; the correct value can only be retrieved from
kanjidic.

M  +2    -6    radselect/kanji.cpp
M  +1    -1    radselect/kanji.h
M  +37   -2    radselect/radicalfile.cpp
M  +2    -1    radselect/radicalfile.h
M  +12   -1    radselect/radselectview.cpp

https://invent.kde.org/education/kiten/commit/7f647a520936b2c8e6d86aa8296b92f89cd85633
Comment 3 Albert Astals Cid 2020-11-14 11:17:59 UTC
Git commit c46baf4bae2ef257199be63bb0710634de7f0277 by Albert Astals Cid, on behalf of Frédéric Brière.
Committed on 14/11/2020 at 11:16.
Pushed by aacid into branch 'release/20.12'.

radselect: Properly fetch kanji stroke count from kanjidic

The stroke count of a kanji cannot be calculated from the mere list of
the radicals it contains; the correct value can only be retrieved from
kanjidic.
(cherry picked from commit 7f647a520936b2c8e6d86aa8296b92f89cd85633)

M  +2    -6    radselect/kanji.cpp
M  +1    -1    radselect/kanji.h
M  +37   -2    radselect/radicalfile.cpp
M  +2    -1    radselect/radicalfile.h
M  +12   -1    radselect/radselectview.cpp

https://invent.kde.org/education/kiten/commit/c46baf4bae2ef257199be63bb0710634de7f0277