iconfont应用
它是一种字体图标, 可以将svg的图像保存以字体的形式保存到ttf中,ttf文件根据对应的unicode和图片资源关联, 通过csv文件维护一份 图片名字和unicode的mapping表和一个ttf格式的字体图标文件, 可以非常方便管理资源, 也不容易出现重复的内容, 一份文件可以支持多个平台使用
TTF
- TrueTypeFont)是Apple公司和Microsoft公司共同推出的字体文件格式.
代码中获取字体图标的方式
- 通过指定 ttf文件路径,ttf的familyName, 以及对应图标的unicode, 就能够获取到对应的字体图标
生成ttf图标
获取svg格式的图标,上传自iconfont生成的工具,国内比较好用的是 阿里的iconfont, 此外还有Immon, 根据官方文档提示将svg上传上去,然后下载得到ttf以及对应的 json文件, 将json文件的 iconName和unicode取出, 生成一个简单的映射表
以下是阿里导入svg后生成的资源列表
├── demo.css ├── demo_index.html ├── iconfont.css ├── iconfont.eot ├── iconfont.js ├── iconfont.json //包含图片名字和字体unicode的json ├── iconfont.svg ├── iconfont.ttf //字体图标文件 ├── iconfont.woff └── iconfont.woff2
从
json
文件中提取出key-value(imageName-imageUnicode),然后将他们写入到模版dart文件中,和系统图标类似class MyCustomIcons { MyCustomIcons._(); static const IconData sleep = IconData(0x7777, fontFamily: 'MyCustomIconsFamily'); ...
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】博客园2025新款「AI繁忙」系列T恤上架,前往周边小店选购
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步