From 97e447eb4cd004d4a1ca7ffa63d9d2486e537ba8 Mon Sep 17 00:00:00 2001 From: Philipp Stadler <philipp.pospischil@univie.ac.at> Date: Thu, 6 Mar 2025 13:22:52 +0100 Subject: [PATCH 1/6] =?UTF-8?q?fix:=20use=20=E2=BA=A9as=20correct=20radica?= =?UTF-8?q?l=20for=20both=20=E7=8F=BE=20and=20=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build/gen-hanzi-data/radical-overrides.ts | 6 ++++++ build/gen-hanzi-data/radical.ts | 7 ++++++- 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 build/gen-hanzi-data/radical-overrides.ts diff --git a/build/gen-hanzi-data/radical-overrides.ts b/build/gen-hanzi-data/radical-overrides.ts new file mode 100644 index 0000000..7440d01 --- /dev/null +++ b/build/gen-hanzi-data/radical-overrides.ts @@ -0,0 +1,6 @@ +/** + * Maps characters to a radical where data from cnchar is incorrect. + */ +export const radicalOverrides = new Map<string, string>() +radicalOverrides.set("现", "⺩") // 王 +radicalOverrides.set("現", "⺩") // 王 diff --git a/build/gen-hanzi-data/radical.ts b/build/gen-hanzi-data/radical.ts index baf1acc..85260a9 100644 --- a/build/gen-hanzi-data/radical.ts +++ b/build/gen-hanzi-data/radical.ts @@ -4,6 +4,7 @@ import cncharRadical from 'cnchar-radical' import cncharTrad from 'cnchar-trad' import { isKangxiOrCjkRadical } from './blocks/index' import { queryPatchedHanziWriterData } from './patched-hanzi-writer' +import { radicalOverrides } from './radical-overrides' cnchar.use(cncharOrder, cncharRadical, cncharTrad) @@ -107,7 +108,11 @@ export function isInlineRadical (char: string): boolean { export async function queryRadicalInfo (char: string): Promise<RadicalInfo> { let radical: string - if (isInlineRadical(char)) { + + const override = radicalOverrides.get(char) + if (override !== undefined) { + radical = override + } else if (isInlineRadical(char)) { // already a radical, the radical is the same char radical = char } else { -- GitLab From 59d5eee45ab32d9b0ae9d8c2fb709bb8fd5f6d83 Mon Sep 17 00:00:00 2001 From: Philipp Stadler <philipp.pospischil@univie.ac.at> Date: Thu, 6 Mar 2025 13:36:30 +0100 Subject: [PATCH 2/6] =?UTF-8?q?fix:=20add=20radical=20for=20=E6=A3=92,=20w?= =?UTF-8?q?hich=20is=20=E6=9C=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build/gen-hanzi-data/radical-overrides.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/build/gen-hanzi-data/radical-overrides.ts b/build/gen-hanzi-data/radical-overrides.ts index 7440d01..ab2633d 100644 --- a/build/gen-hanzi-data/radical-overrides.ts +++ b/build/gen-hanzi-data/radical-overrides.ts @@ -4,3 +4,4 @@ export const radicalOverrides = new Map<string, string>() radicalOverrides.set("现", "⺩") // 王 radicalOverrides.set("現", "⺩") // 王 +radicalOverrides.set("棒", "木") -- GitLab From b058ff8400c15a90a502bc6fc7d8bfa27b52c0eb Mon Sep 17 00:00:00 2001 From: Philipp Stadler <philipp.pospischil@univie.ac.at> Date: Thu, 6 Mar 2025 13:38:25 +0100 Subject: [PATCH 3/6] =?UTF-8?q?fix:=20shorten=20chinese=20meaning=20of=20?= =?UTF-8?q?=E7=96=92=20radical=20to=20n=C3=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/hanzi-data/lut.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/hanzi-data/lut.ts b/src/components/hanzi-data/lut.ts index 2bd174e..e4a37c0 100644 --- a/src/components/hanzi-data/lut.ts +++ b/src/components/hanzi-data/lut.ts @@ -709,7 +709,7 @@ defineRadical( ['疒'], { radicalMeaningDe: 'Krankheit, (Radikal des Zeichens bing)', - radicalMeaningZh: 'nè, chuáng, bìng zì páng' + radicalMeaningZh: 'nè' } ) defineRadical( -- GitLab From 97e15e71c5621e4604b24205a84b50abcb293f54 Mon Sep 17 00:00:00 2001 From: Philipp Stadler <philipp.pospischil@univie.ac.at> Date: Thu, 6 Mar 2025 14:04:13 +0100 Subject: [PATCH 4/6] =?UTF-8?q?fix:=20translate=20=E9=85=89=20correctly=20?= =?UTF-8?q?with=20Wein,=20Alkohol=20into=20German?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/hanzi-data/lut.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/hanzi-data/lut.ts b/src/components/hanzi-data/lut.ts index e4a37c0..ad238fe 100644 --- a/src/components/hanzi-data/lut.ts +++ b/src/components/hanzi-data/lut.ts @@ -995,7 +995,7 @@ defineRadical( ) defineRadical( ['酉'], - { radicalMeaningDe: 'Amphore, 10. Erdzweig', radicalMeaningZh: 'yǒu' } + { radicalMeaningDe: 'Wein, Alkohol', radicalMeaningZh: 'yǒu' } ) defineRadical( ['豕'], -- GitLab From e87281540ba09a325eb9e2c7cc8e1bad30b717a9 Mon Sep 17 00:00:00 2001 From: Philipp Stadler <philipp.pospischil@univie.ac.at> Date: Thu, 6 Mar 2025 14:04:47 +0100 Subject: [PATCH 5/6] chore: bump version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 8a61c77..e5bb681 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "kartenaale-card-templates", - "version": "5.0.6", + "version": "5.0.7", "description": "HTML and data for Anki cards", "repository": "https://gitlab.phaidra.org/kartenaale/card-templates", "author": "Philipp Stadler <hello@phstadler.com>", -- GitLab From 68cad023df05845f7e482434a4f73af0a3ca5226 Mon Sep 17 00:00:00 2001 From: Philipp Stadler <philipp.pospischil@univie.ac.at> Date: Thu, 6 Mar 2025 14:11:28 +0100 Subject: [PATCH 6/6] chore: change data filename to overwrite all old data for existing users --- build/gen-hanzi-data/generate.ts | 2 +- .../pools/traditional/hanyu-jiaocheng-2a-trad.txt | 4 ++-- src/components/hanzi-data/index.ts | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/build/gen-hanzi-data/generate.ts b/build/gen-hanzi-data/generate.ts index a80dcba..31704f6 100644 --- a/build/gen-hanzi-data/generate.ts +++ b/build/gen-hanzi-data/generate.ts @@ -44,7 +44,7 @@ export async function generate (config: Config): Promise<void> { } // the underscore ensures that Anki media checks dón't think the file // is unused - const out = join(generatingDir, `_hd${char}.js`) + const out = join(generatingDir, `_cd${char}.js`) generated.push(generateForHanzi(char, out)) } } diff --git a/build/gen-hanzi-data/pools/traditional/hanyu-jiaocheng-2a-trad.txt b/build/gen-hanzi-data/pools/traditional/hanyu-jiaocheng-2a-trad.txt index b717d99..c081136 100644 --- a/build/gen-hanzi-data/pools/traditional/hanyu-jiaocheng-2a-trad.txt +++ b/build/gen-hanzi-data/pools/traditional/hanyu-jiaocheng-2a-trad.txt @@ -252,6 +252,7 @@ 滑 滿 漂 +演 灸 炎 炤 @@ -321,7 +322,6 @@ 結 經 練 -縯 績 織 纔 @@ -349,7 +349,6 @@ 葉 著 葫 -蔴 薯 藥 蘆 @@ -469,6 +468,7 @@ 高 魚 鴨 +麻 麼 點 鼕 diff --git a/src/components/hanzi-data/index.ts b/src/components/hanzi-data/index.ts index eeaee84..7312284 100644 --- a/src/components/hanzi-data/index.ts +++ b/src/components/hanzi-data/index.ts @@ -30,7 +30,7 @@ export async function getHanziData ( throw new Error(`Can only get data for single chars, got: ${char}`) } - const data = (await getDataUnsafe({ path: `hanzi-data/_hd${char}.js`, key: char })) as Readonly<HanziData> + const data = (await getDataUnsafe({ path: `hanzi-data/_cd${char}.js`, key: char })) as Readonly<HanziData> if (kind === GetHanziDataKind.TRADITIONAL && data.trad !== undefined) { // data in the cache is read-only => make a fresh copy with trad overrides return { -- GitLab