// the find
sofish/typo.css
中文网页重设与排版 CSS,面向现代中文阅读优化字体、行高、CJK 断行、中西文间距与着重号。
A CSS reset and typography stylesheet specifically designed for Chinese web content. It handles the things browsers get wrong for CJK text: line breaking, spacing between Chinese and Latin characters, emphasis marks, and vertical writing. Aimed at anyone building a Chinese-language reading experience — blogs, documentation, news sites.
The scope is narrow and well-executed: it tackles real CJK-specific pain points (inter-script spacing via `text-autospace`, proper `word-break` for CJK, native emphasis dots via `text-emphasis`) that generic resets ignore entirely. The two-layer design — base reset for the whole page, `.typo` scoped to article content — is sensible and avoids the 'now I have to undo everything' problem of normalize.css. Recent activity (June 2026) and an actual evolution plan document (`docs/library-evolution-plan.md`) suggest this isn't abandoned. The automated contract tests (`typography.test.js`) verify that the typographic rules stay consistent as the file evolves, which is unusual discipline for a single-file CSS library.
It's a raw CSS file with no build tooling, no PostCSS/SCSS source, no minified distribution — you either copy-paste the file or link it directly, which makes versioned updates manual. The helper class naming is inconsistent: some things are `.typo-foo`, others are standalone (`.clearfix`, `.textwrap`, `.serif`), which pollutes the global namespace and will collide in any larger project. Traditional Chinese font fallback is handled via `lang` attributes, but the README doesn't explain what happens if your CMS doesn't set `lang` correctly — silent fallback to simplified fonts with no warning. Documentation is entirely in Chinese, which is fine given the audience but worth knowing if you're evaluating it from outside that context.