首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >汉字笔顺展示的原理

汉字笔顺展示的原理

作者头像
YaoQi
发布2026-03-04 16:07:14
发布2026-03-04 16:07:14
50
举报

汉字笔顺(Chinese Characters Stroke Orders)规范来自于《通用规范汉字笔顺规范》,国家教育部2020-11-23发布了最新版:

我们可以下载这个pdf格式的文件,搜索相关汉字即可查找它的正确笔顺。

我们也看到很多网站,可以动态显示汉字笔顺,这是怎么做到的呢?

开源库

我发现很多项目都是基于Hanzi Writer这个开源库:

https://hanziwriter.org/

https://github.com/chanind/hanzi-writer

成品小工具介绍

1.汉字笔顺工具 (Bishun Tool)

https://bishun.vercel.app/

https://github.com/iverleung/Bishun

2. Write right

https://writeright.pipecraft.net/zh-CN/

https://github.com/utags/write-right

在Github上搜“bishun”也能搜到相关的小工具项目。

原理

这些工具项目字形库一般都来自Make Me a Hanzi

https://github.com/skishore/makemeahanzi

这是我国台湾字体商 Arphic Technology 的开源贡献。

字形是SVG矢量图表示的:

而我们上文提到的笔顺库,则是把这个矢量图中的笔画按顺序排列,得到一个数据库:

代码语言:javascript
复制
比如“中.json”是中字的笔顺数据:
代码语言:javascript
复制
{
  "strokes": [
    "M 254 596 Q 244 603 202 608 Q 189 611 185 605 Q 178 598 189 580 Q 228 507 254 384 Q 260 347 282 324 Q 303 300 307 318 Q 310 328 310 343 L 306 381 Q 305 390 303 399 Q 276 513 267 556 C 261 585 259 594 254 596 Z",
    "M 752 425 Q 765 462 777 498 Q 793 546 828 578 Q 853 603 821 624 Q 793 648 762 666 Q 743 679 717 668 Q 677 655 615 646 Q 575 642 535 636 L 476 628 Q 427 622 380 613 Q 307 603 254 596 C 224 592 237 551 267 556 Q 274 556 286 559 Q 400 587 476 593 L 534 600 Q 604 609 698 615 Q 717 616 724 607 Q 739 583 693 435 C 684 406 742 397 752 425 Z",
    "M 530 370 Q 630 380 764 386 Q 776 387 778 397 Q 779 406 752 425 C 730 441 723 440 693 435 Q 606 420 530 407 L 475 399 Q 385 389 306 381 C 276 378 280 341 310 343 Q 314 343 321 343 Q 382 356 475 365 L 530 370 Z",
    "M 475 365 Q 472 17 485 -11 Q 486 -12 488 -16 Q 503 -32 512 -10 Q 530 32 530 370 L 530 407 Q 531 519 534 600 L 535 636 Q 538 742 559 778 Q 566 794 545 811 Q 520 830 475 843 Q 454 847 441 833 Q 431 826 444 812 Q 472 787 475 753 Q 475 704 476 628 L 476 593 Q 476 517 476 419 Q 475 409 475 399 L 475 365 Z"
  ],
  "medians": [
    [[194,598],[229,572],[236,553],[295,323]],
    [[262,591],[281,579],[471,611],[719,641],[741,638],[777,596],[732,460],[702,446]],
    [[316,350],[330,365],[689,409],[749,405],[768,398]],
    [[449,823],[476,817],[513,781],[505,656],[499,-10]]],
  "radStrokes": [
    3
  ]
}

这种数据格式通常包含两个关键部分:

  1. strokes (笔划):描述了笔迹的路径。它使用一种类似于 SVG (Scalable Vector Graphics) 的路径数据格式。
    • M 254 596M 代表 “Move to”,将画笔移动到坐标 (254, 596)。
    • Q 244 603 202 608 :Q 代表 “Quadratic Bézier curve”,绘制一条二次贝塞尔曲线,从当前点连接到 (202, 608),并使用 (244, 603) 作为控制点。
    • L 306 381 :L 代表 “Line to”,从当前点画一条直线到 (306, 381)。
    • ZZ 代表 “Close path”,将路径的终点与起点连接,形成一个闭合的形状。
  2. medians (中轴/骨架):描述了笔迹的骨架或中心线。这通常用于简化笔迹的形状,去除冗余的细节,以便于模型分析。

可以用在线矢量图编辑工具查看

https://yqnn.github.io/svg-path-editor/

总结:汉字笔顺展示,一般是基于SVG动画的方式,可以考虑使用Hanzi Writer 这个开源库。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-02-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 漫跑的小兔 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 汉字笔顺(Chinese Characters Stroke Orders)规范来自于《通用规范汉字笔顺规范》,国家教育部2020-11-23发布了最新版:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档