[READ-ONLY] Mirror of https://github.com/sxzz/hanji. 一字之間,照見五地字形 hanji.sxzz.moe
chinese-characters cjk han hanja hanji hanzi kanji

Initial commit: 汉智 / Hanji master

A table of the 8,446 characters common to mainland China, Hong Kong, Taiwan and Japan, showing what each place writes and how the forms differ. How the differences are judged: Source Han Sans and Source Han Serif share one glyph pool per typeface, with a codepoint→CID map per region that Adobe publishes as plain text. Equal CIDs in one pool mean one glyph, so comparing the four maps settles how many ways a character is written -- no outline comparison, no rendered screenshots. Two regions count as agreeing when either typeface says so, which drops the differences only Source Han Sans draws for Japan. scripts/tests/fonts.test.ts opens the generated subsets with fontkit and asserts, character by character, that what the table claims is what the fonts actually draw. Fonts are subset from Noto CJK and self-hosted: groups that agree share one font, OpenType layout closure is off, and chunks follow commonness order, so first paint pulls four files rather than 12MB. The subsets are generated by `pnpm build:data` and stay out of the repository; the character table itself is committed and served at /data/chars.json. Interface in Simplified Chinese, Taiwanese and Hong Kong Chinese, chosen from navigator.languages and lazily loaded. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>


Author Kevin Deng Co-author Claude Opus 5 Date Commit 695cc377