Skip to content

Repository files navigation

pyfl 短发小魔女

pyfl

汉字转拼音首字母,支持中文搜索。

在线试一试 · npm · 反馈问题

简体中文 · English

Pyfl 是一个 JavaScript / TypeScript 库,可以把「你好」转换为 NH,用于标题、通讯录和搜索索引。转换在本地完成,没有运行时依赖。现代入口支持词组规则和多读音搜索;默认入口保留原有字表,已有项目可以继续使用。

安装

npm install pyfl

使用

沿用旧字表,已有索引无需迁移:

import pyfl from "pyfl";

pyfl("你好,世界"); // "NH,SJ"
pyfl("重庆");       // "ZQ",保持原结果

从 2.1.0 起,现代入口提供 8,105 字的常用表和 36 条词组规则:

import modern from "pyfl/modern";

modern("重庆 / 音乐 / 银行 / 行走"); // "CQ / YY / YH / XZ"
modern("周末去 Tokyo 🐈");          // "ZMQ Tokyo 🐈"

多读音搜索让不同读法的首字母都能匹配:

import matches from "pyfl/modern/common-search";

matches("重庆", "cq"); // true
matches("重庆", "zq"); // true

支持 ESM、CommonJS 和 TypeScript;CommonJS 使用 require("pyfl").default,现代入口同样通过 .default 调用。需要 44,435 字的扩展表、不带词组的轻量入口或自定义读音,见现代入口指南。

使用边界

  • 默认 pyfl 保留原有 20,902 字表;现代字表读音和覆盖范围不同,切换后应重建索引。
  • 未收录字符原样保留。英文大小写、数字、标点和 emoji 保留;纯半角空格转为空串。
  • 词组规则处理收录的常用词,不推断任意语境或姓名。多读音搜索匹配连续首字母,可能包含罕见读法,不代表选中了正确读音。
  • 输出每字拼音的第一个字母,不输出完整拼音或 zh/ch/sh 声母。

开发与许可

Node.js 22 / 24:npm ci 后运行 npm run check,完成类型、回归、构建和安装包检查。

旧字表来自 pinyinjs,现代字表由固定版本的 pinyin-data 生成。数据来源与许可见 THIRD_PARTY_NOTICES,版本变化见 CHANGELOG。

MIT © yuxino

About

中文拼音首字母转换与多音字候选搜索,适合标题、通讯录和搜索索引。JavaScript pinyin initials library with TypeScript support and no runtime dependencies.

Topics

Resources

Stars

41 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages