我在 GitHub 上发现了一款骚气满满的字体!

codexs 2020-07-23 原文


我在 GitHub 上发现了一款骚气满满的字体!

本文转自量子位,作者栗体,如有侵权,则可删除。

github字体
github字体

这个字体叫 Leon Sans,表面看去平平无奇。

但事实上,它并不是普通的字体,体内蕴藏着魔力。

github字体1
github字体1

Leon Sans 最特别的地方在于,字体是由代码构成的。有了这些代码,它可以随意变身。

比如,在暗夜里闪耀出七色的光影:

github字体2
github字体2

比如,在春天里枝繁叶茂,花也开好了:

github字体3
github字体3

比如,雨点打在地上汇成了河:

github字体4
github字体4

形状 (Shapes) 、效果 (Effects) 、动画 (Animations) ,特技丰盛任君选择。

魔法字体,是名叫 Jongmin Kim 的韩国小伙伴,为了庆祝宝宝降生而设计的。

不过,这不是独乐乐,是普天同庆:代码开源了,GitHub 已经有 6200 星

除此之外,有线上 Demo 可以玩耍。

都能怎么玩

最基本的操作,就是改变粗细 (Weight) 。

github字体5
github字体5

不止给标准字体调粗细,也给炫彩的艺术字调粗细:

github字体6
github字体6

然后,加大一点难度,让字体瑟瑟发抖。就是把线条变得曲折。

稍稍不平整,就会轻微的抖动。剧烈的弯折,就是触电了,烧糊了:

github字体7
github字体7

拔电,再也不动了。

不过还好,可以顺手把它埋在春天里 (误) :

github字体8
github字体8

当然,埋法不止这一种。

也可以把字母截断,变成粉红色的 “多米诺骨牌”,每张牌的宽窄还能自由选择:

github字体9
github字体9

还可以让文字看上去,在平静中流淌:

github字体10
github字体10

线上 Demo 的功能一共十几种,大家也可以自己试一下:

image
image

如果,Demo 还不能满足你的想象,那就去食用代码吧:

字体是代码组成的
文本有代码表示:text,字体大小有代码表示:size,粗细有代码:weight,字间距有代码表示:tracking……

github字体11
github字体11

另外,每一种特技都有各自的代码,也都有可以调节的参数。

比如,瑟瑟发抖叫做 wave,抖动频率用 fps 来调。

只要用这一串代码,就可以把灵动的字体,在 H5 上显示了:

 1let leon, canvas, ctx;
 2
 3const sw = 800;
 4const sh = 600;
 5const pixelRatio = 2;
 6
 7function init() {
 8    canvas = document.createElement('canvas');
 9    document.body.appendChild(canvas);
10    ctx = canvas.getContext("2d");
11
12    canvas.width = sw * pixelRatio;
13    canvas.height = sh * pixelRatio;
14    canvas.style.width = sw + 'px';
15    canvas.style.height = sh + 'px';
16    ctx.scale(pixelRatio, pixelRatio);
17
18    leon = new LeonSans({
19        text: 'The quick brown\nfox jumps over\nthe lazy dog',
20        color: ['#000000'],
21        size: 80,
22        weight: 200
23    });
24
25    requestAnimationFrame(animate);
26}
27
28function animate(t) {
29    requestAnimationFrame(animate);
30
31    ctx.clearRect(00, sw, sh);
32
33    const x = (sw - leon.rect.w) / 2;
34    const y = (sh - leon.rect.h) / 2;
35    leon.position(x, y);
36
37    leon.draw(ctx);
38}
39
40window.onload = () => {
41    init();
42};

如果想把生成过程的动画也显示出来,就加一行:

1<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/2.1.3/TweenMax.min.js"></script>

GitHub 项目页有个完整列表,各种功能的设置方法都能查到。说不定,排列组合会有惊喜呢。

大家也去玩一波吧。

GitHub 传送门:https://github.com/cmiscm/leonsans

官网传送门:https://leon-kim.com/


以上,便是今日分享,觉得不错,还请点个赞,谢谢。

发表于
2020-07-23 19:24 
逆锋起笔 
阅读(0
评论(0
编辑 
收藏

 

版权声明:本文为codexs原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/codexs/p/13368201.html

我在 GitHub 上发现了一款骚气满满的字体!的更多相关文章

  1. 入门系列之在Ubuntu上使用Netdata设置实时性能监控

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由小翼 发表于云+社区专栏 介绍 Netdat […]...

  2. 记录一次由屁股决定研发的狗血经历

    大将无能,累死三军。一个项目的成败,是整个团队努力的结果。今天总结的这些经验教训,如果对后来人有哪怕一丁点的经 […]...

  3. Java 初中级程序员如何快速成长???

    Java 技术学习路线 Java 语言是一门非常流行和重要的语言,目前仍是需求量很大的语言,应用范围很广的语言 […]...

  4. 安卓开发视频教程!想找工作的你还不看这份资料就晚了!Android校招面试指南

    前言 准备面试其实已经准备了挺久了,当时打算面试准备了差不多以后,跟公司谈谈涨薪的事情,谈不拢的话,就年后直接 […]...

  5. git命令使用(必备系列)

    git是一个分布式版本控制系统,得益于高效、协作和快速的项目代码管理特性几乎每一个软件开发团队都在深度使用。本 […]...

  6. 从七牛云迁移图片到github

    迁移理由 问题是网站的大部分图床都是用的七牛云,官网有改动,所以原测试域名都失效,所以决定进行迁移,将七牛云中 […]...

  7. 懒人福音——GitHub 热点速览 Vol.42

    作者:HelloGitHub-小鱼干 懒人福音是什么?就是省时省事,正如 Waypoint 一样,你不需要在多 […]...

  8. 我成了 GitHub Star

    能够成为官方认证的 GitHub Star(明星)我和你们一样十分震惊!...

随机推荐

  1. 陈莉君教授: 回望踏入Linux内核之旅

    本文系转载,著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 作者: 陈莉君 来源: 微信 […]...

  2. Java 使用 Maven BOM 统一管理版本号

    一个中大型的 Java 项目往往包含若干 JAR 包,这些 JAR 包有着不同的版本号。如果这些 JAR 包单 […]...

  3. Python集训营45天—Day08 (文件操作)

    目录 1. 文件操作介绍 2. 文件的读写 2.1 文本文件 2.2 二进制文件 2.3 JSON文件 3. […]...

  4. ExchangeServer2007安装排错亲体验

    Microsoft Exchange Server 2007是Microsoft Exchange Serve […]...

  5. 代码开源|阿里云多媒体 AI 团队分享 CVPR2021 5 冠 1 亚背后的实战经验

    6 月 19-25 日,备受全球瞩目的国际顶级视觉会议 CVPR2021(Computer Vision an […]...

  6. 科学活动《离园倒计时》(时间) – 2019茉莉花开

    科学活动《离园倒计时》(时间) 一、活动内容:主题活动《快上小学啦》之科学活动《离园倒计时》(时间) 二、活动 […]...

  7. Springboot 多数据源配置,结合tk-mybatis

    一、前言     作为一个资深的CRUD工程师,我们在实际使用springboot开发项目的时候,难免会遇到同 […]...

  8. ASP.NET Core 共享第三方依赖库部署的正常打开方式

    曾经: 写了一篇: ASP.Net Core on Linux (CentOS7) 共享第三方依赖库部署 当第 […]...

展开目录

目录导航