特殊字体生成器

把普通文字转成各种 Unicode 装饰样式:圆圈字、全角字、数学字母、下划线、翻转字……输入「Hello」默认就能看到 ⓗⓔⓛⓛⓞ 和 Hello 两种效果。

默认已填 Hello;若清空后想恢复,点「载入示例」。仅字母数字会被映射,中文与标点原样保留。
圆圈字与全角字覆盖 A–Z、a–z;数学粗体还覆盖数字。

提示:输入框是单行控件,裸按 Enter 立即转换;也可选不同样式实时切换。结果区已用 role="alert" 标出。

样式码位对照(输入 A 时的输出示例)

样式输入 A输出码位范围 / 说明
带圈大写(Ⓐ)AⒶU+24B6 – U+24EA
带圈小写(ⓐ)aⓐU+24D0 – U+24EA
全角大写(A)AAU+FF21 – U+FF3A
全角小写(a)aaU+FF41 – U+FF5A
全角数字(1)11U+FF10 – U+FF19
数学粗体(𝐀)A𝐀U+1D400 – U+1D419(含数字 U+1D7CE)
数学斜体(𝐴)A𝐴U+1D434 – U+1D44D
数学无衬线(𝖠)A𝖠U+1D5A0 – U+1D5B9
数学双线(𝔸)A𝔸U+1D538 – U+1D551
数学手写(𝒜)A𝒜U+1D49C – U+1D4B5
小型大写(ᴀ)AᴀU+1D00 – U+1D25(仅部分字母)
下划线(A̲)AA̲组合符 U+0332 叠加
上划线(A̅)AA̅组合符 U+0305 叠加
翻转字(ɐ)aɐ小写映射到翻转字形

口径表给出每种样式的码位范围与输入 A 的示例;实际转换看上方结果区,中文与无法映射的字符会原样保留。

使用方法

  1. 在输入框填要装饰的文字(默认 Hello,仅字母数字参与映射,中文标点原样保留)。
  2. 选「转换样式」:圆圈字、全角字、数学粗体、下划线、翻转字五选一,默认圆圈字。
  3. 点「转换」或裸按 Enter,结果区(大字号、居中)立刻显示转换后的文字。
  4. 点「复制结果」把装饰字存到剪贴板;「导出口径表 CSV」把 14 行样式码位下载成带 BOM 的表格,Excel 不乱码。
  5. 想换回示例,点「载入示例」恢复 Hello 与圆圈字,结果区随之刷新。

这个特殊字体生成器能解决什么问题

一是快速做出「看起来不一样」的标题。社交昵称、活动海报、视频封面常需要一点视觉变化,但又不值得专门装字体或开设计软件。特殊字体生成器用 Unicode 已有的装饰字符直接拼出 ⓗⓔⓛⓛⓞ、Hello,复制粘贴即用。

二是把数学字母当「特殊字体」用。数学公式里的大写粗体 𝐀、双线 𝔸 本质是独立码位,不在普通字体里。本工具把它们当作装饰样式输出,写笔记、做课件时能让变量名更醒目。

三是提醒「这只是一层皮」。装饰字符不是换了字体文件,而是换了一组 Unicode 码位。所以它不能带进密码、变量名、代码标识符——编译器、登录框大多只接受 ASCII,装饰字符会被拒绝或静默归一化。本工具在结果区与下文都标了这条红线。

本页特殊字体生成器不做这些事:不上传文字、不把装饰字渲染成图片、不保证所有平台都显示(缺字会退回方框)。它只把输入逐字符映射成对应的装饰码位。

生成原理:码位偏移、组合附加符,以及为什么 A 变 Ⓐ

圆圈大写是码位偏移。普通 A 是 U+0041,带圈大写 Ⓐ 是 U+24B6,两者相差 0x2475。所以转换时对每个大写字母算 String.fromCodePoint(0x24B6 + (c - 65)),B 得 Ⓑ、Z 得 Ⓙ。小写同理从 U+24D0 起算。这个区间只覆盖 A–Z、a–z,所以数字和中文不会变圆圈,原样保留。

全角是另一段偏移。全角 A 是 U+FF21、全角 a 是 U+FF41、全角 1 是 U+FF10,分别比半角对应码位高 0xFEE0;半角空格(U+0020)则映射到全角空格 U+3000。全角字符占两个半角宽度,排版时对齐更整齐,但本质仍是独立码位。

数学字母是补充平面( astral )码位。数学粗体 𝐀 在 U+1D400,超过 BMP(U+FFFF),JS 里必须用 String.fromCodePoint 而不是 fromCharCode 才拼得出来。每档数学样式有各自的起始码位与覆盖区间,本页只实现粗体一档用于演示,其余见口径表。

下划线 / 上划线用「组合附加符」。它们不是占位的完整字符,而是 U+0332(下划线)、U+0305(上划线)这类「叠加在前面字符上」的组合标记。做法是把附加符拼到每个字符后面:H + '̲' 得 H̲。多个附加符可以叠加,正是 Zalgo 乱码的来源。

翻转字是「就近找镜像字形」。Unicode 没有真正的水平翻转算子,本页用一张小写字母到翻转字形的映射表(a→ɐ、e→ǝ、l→ʅ、o→o、h→ʜ 等),把整串反序后逐字替换,得到 oʅʅǝH 这种「上下颠倒又反读」的效果。它只覆盖小写,大写与数字原样保留。

完整示例(默认输入实测)

默认输入 Hello,逐样式核对(结果区默认显示圆圈字):

五组结果都在口径表与结果区里可复现;换成你自己的英文词,点对应样式即可看到同样的映射逻辑。

输入范围与对照表

口径表是「样式规则」而非「你的文本结果」,所以它与上方结果区是两个独立信息源:结果区告诉你这段具体变成什么,口径表告诉你每种样式背后的码位。

边界与精度说明

常见问题

为什么复制到的字在别人手机上变成方框?

因为装饰字符是独立 Unicode 码位,对方系统或 App 没有对应字形时就会显示成「□」。数学字母、带圈字母在老旧设备、部分聊天输入框里尤其容易缺字形。这是显示层限制,不是转换错误;若要保证人人可见,建议导出成图片再用。

中文为什么没有被变成装饰字?

圆圈字、全角字、数学字母的区间只覆盖拉丁字母与数字,中文不在此范围内,所以本页会让中文原样保留,不会凭空消失或报错。若你希望中文也有装饰效果,目前 Unicode 没有对应的「带圈中文」标准区间,需要图片方案。

能不能把装饰字当密码用?

强烈不建议。登录框、数据库、编译器大多只接受 ASCII 或可归一化的字符,装饰字符会被拒绝、或静默转回普通字母,导致你「以为设了复杂密码其实还是 Hello」。本页在多处标了这条红线:它只用于展示。

下划线为什么有时画歪了?

下划线用的是组合附加符 U+0332,必须紧贴在前一个字符后面才渲染正确。某些编辑器会自动重排组合标记,或你中途插入了别的字符,线就可能错位或跑到错误字符上。这是组合符的固有限制,不是本页问题。

数学粗体里的 h 为什么没变?

数学字母区有少量保留空缺,小写 h 的粗体位(U+1D455)被标准保留未分配,所以本页遇到它只能原样保留。同样的情况还有几个字母,属正常行为,可在口径表里看到说明。

翻转字为什么只翻转小写?

Unicode 只给小写字母定义了「翻转 / 镜像」相近的字形(如 ɐ、ǝ、ʅ),大写和数字的镜像字形并不存在或不可靠。所以本页翻转字只对小写生效,大写数字原样保留,整串还会先反序以模拟「倒过来读」。

全角字和半角字是同一个意思吗?

显示宽度不同但语义相同:全角 A(U+FF21)和半角 A(U+0041)在大小写、读音上一样,只是全角占两个半角宽度。部分老旧系统会把全角当不同字符处理,复制到对这些敏感的地方要留意。

转换结果会被上传吗?

不会。所有映射只在你当前浏览器里完成,页面不发起任何网络请求,也不写 Cookie 或 localStorage。你在开发者工具的 Network 面板里转换几次,面板始终是空的。

相关工具