npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@free-fonts/babelstone-erjian

v1.0.0

Published

Chunked woff2 webfonts for BabelStone Erjian 1 & 2 (二簡字).

Readme

BabelStone Erjian Webfonts

Chunked woff2 webfonts for BabelStone Erjian 1 & 2 (二簡字 / Second-round Simplified Chinese Characters), generated from the upstream TTF releases.

分割成 256 碼位一組的 woff2 切片字型,配合 CSS unicode-range,供網頁使用 BabelStone Erjian 1 及 Erjian 2(二簡字)字型。

<link rel="stylesheet" href="./erjian.css">

Or load it straight from a CDN once the package is published to npm:

或在套件發布到 npm 後,直接透過 CDN 載入:

<!-- jsDelivr -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@free-fonts/babelstone-erjian/erjian.css">

<!-- unpkg -->
<link rel="stylesheet" href="https://unpkg.com/@free-fonts/babelstone-erjian/erjian.css">

Pin a version for production use (e.g. @free-fonts/[email protected]/erjian.css) so the CDN doesn't silently serve a newer release.

正式環境建議鎖定版本號(例如 @free-fonts/[email protected]/erjian.css), 避免 CDN 之後悄悄改用較新版本。

body {
  font-family: 'BabelStone Erjian 1', sans-serif;
}

/* or the more extensively simplified Table 1+2 variant */
/* 或套用範圍更廣的「表一+表二」簡化版本 */
.erjian-2 {
  font-family: 'BabelStone Erjian 2', sans-serif;
}

The CSS uses 256-codepoint unicode-range chunks, so browsers only download the blocks needed by the page.

CSS 以 256 個碼位為單位切分 unicode-range,瀏覽器只會下載頁面實際用到的區塊。

What's the difference between Erjian 1 and Erjian 2? / Erjian 1 與 Erjian 2 有何不同?

Both fonts map the 二简字 (second-stage simplified) glyph forms defined in the 1977 draft plan onto the codepoints of the corresponding standard simplified characters. Erjian 1 applies only the 270 individual characters in Table 1 (370 total with derived forms). Erjian 2 applies Table 1 and Table 2, covering 1,454 characters in total — so it simplifies many more characters than Erjian 1, often by swapping in a simpler homophone or component. For any codepoint not in either table, both fonts render the ordinary standard glyph; for the ~1,100 codepoints unique to Table 2, Erjian 1 shows the standard form while Erjian 2 shows the further-simplified 二简字 form.

兩款字型都是把 1977 年《第二次汉字简化方案(草案)》定義的二簡字字形,映射到對應 標準簡化字的碼位上。Erjian 1 只套用「表一」的 270 個單字(連同衍生字共 370 字);Erjian 2 則同時套用「表一」與「表二」,總共涵蓋 1,454 字——比 Erjian 1 簡化的範圍大得多,常見手法是換成同音字或簡化部件。若某碼位不在任何一表中,兩款 字型都會顯示原本的標準字形;而約 1,100 個只出現在表二的碼位,Erjian 1 會維持標準 字形,Erjian 2 則顯示進一步簡化後的二簡字字形。

Comparison of Erjian 1 (standard glyph) vs Erjian 2 (Table 2 second-stage simplified glyph) for eight sample characters

(Codepoints U+9570 镰, U+81C0 臀, U+8E7E 蹾, U+9528 锨, U+7586 疆, U+71A8 熨, U+8839 蠹, U+8638 蘸 — none of these eight are in Table 1, so Erjian 1 and Erjian 2 diverge here. For the 370 characters that are in Table 1, both fonts render the same simplified form.)

(碼位 U+9570 镰、U+81C0 臀、U+8E7E 蹾、U+9528 锨、U+7586 疆、U+71A8 熨、U+8839 蠹、U+8638 蘸——這八字都不在表一中,所以 Erjian 1 與 Erjian 2 在此出現差異。至於 表一涵蓋的 370 個字,兩款字型顯示的簡化字形完全相同。)

Sample sentences / 例句對照

Each sample below is shown in Traditional Chinese, Simplified Chinese, and rendered through both Erjian fonts (which take the Simplified string as input and substitute 二简字 forms where applicable).

以下每個例句都以繁體、簡體,以及套用 Erjian 1/Erjian 2 字型後的簡體文字(字型 會在符合簡化表的碼位上自動替換為二簡字字形)呈現。

Universal Declaration of Human Rights, Article 19 / 《世界人權宣言》第十九條

人人有主張及發表自由之權;此項權利包括保持主張而不受干涉之自由,及經由任何方法 不分國界以尋求、接收並傳播消息意見之自由。

Article 19 of the UDHR rendered in Traditional Chinese, Simplified Chinese, BabelStone Erjian 1, and BabelStone Erjian 2

Every character in this sentence is either outside both simplification tables or inside Table 1 only, so Erjian 1 and Erjian 2 render it identically.

這句話裡的字全都不在任何簡化表中,或只落在表一範圍內,所以 Erjian 1 與 Erjian 2 顯示完全相同。

UDHR Preamble, closing clause / 《世界人權宣言》序言末句

會員國本身之人民及所轄領土人民均各永享咸遵。

Closing clause of the UDHR preamble rendered in Traditional Chinese, Simplified Chinese, BabelStone Erjian 1, and BabelStone Erjian 2

Here 轄/辖, 身, and 遵 are all Table-2-only characters: Erjian 1 keeps the standard simplified forms while Erjian 2 substitutes further-simplified 二简字 forms for all three.

這裡的「轄/辖」「身」「遵」都是只落在表二的字:Erjian 1 維持標準簡化字形, Erjian 2 則把三個字都換成了進一步簡化的二簡字字形。

Goldbach's conjecture / 哥德巴赫猜想

哥德巴赫猜想用現代的數學語言,可以陳述為:任一大於2的偶數,都表示成兩個質數之和。

Statement of Goldbach's conjecture rendered in Traditional Chinese, Simplified Chinese, BabelStone Erjian 1, and BabelStone Erjian 2

Here 德 and 数/數 are Table-2-only characters, so only Erjian 2 shows their simplified forms; the rest of the sentence renders identically in both fonts.

這裡的「德」和「数/數」是只落在表二的字,只有 Erjian 2 會顯示簡化後的字形; 其餘文字兩款字型顯示相同。

Package info / 套件資訊

  • Upstream: https://www.babelstone.co.uk/Fonts/Erjian.html

  • Upstream version: Erjian 1 v1.1.6 / Erjian 2 v1.1.12 (September 1, 2023)

  • Font license: see THIRD_PARTY_LICENSES.md (free for personal/commercial use; web hosting permitted)

  • Package scripts license: MIT (see LICENSE)

  • Generated woff2 chunks: 338 (169 per variant)

  • 上游來源:https://www.babelstone.co.uk/Fonts/Erjian.html

  • 上游版本:Erjian 1 v1.1.6 / Erjian 2 v1.1.12(2023 年 9 月 1 日)

  • 字型授權:見 THIRD_PARTY_LICENSES.md(可免費用於個人或商業用途,允許網頁託管)

  • 打包腳本授權:MIT(見 LICENSE

  • 產生的 woff2 切片數:338(每個變體 169 個)

Rebuilding / 重新建置

pip install fontTools brotli
python build.py            # build all chunks
python build.py --force    # rebuild existing chunks

Source TTFs live in src/; chunked woff2 output goes to fonts/.

原始 TTF 放在 src/;切片後的 woff2 輸出到 fonts/