2019-6-19 9:18:54 星期三

思源字体是一套开源的字体, 那字体宽度是多少呢?

测试场景, 将包含汉字, 数字, 大小写字符的一段文字写到图片中去, 但不能出现超出的情况,  这就要计算出每种字符在不同字体下的宽度了

测试工具:  php GD扩展, 思源字体 (注意 思源字体是otf后缀, 意思是 open tty字体,  可以用PHP的 imagettftext() 函数将文字写入到图片中去)

测试结果图:

右边的宽度是800px,

使用的字体是SourceHanSansSC-Light.otf, frontsize=10,

1. 汉字: 总共61.5个汉字, 计算下来, 每个汉字大约13px, frontSize=1时代表1.3px

2. 数字: 总共114个数字, 计算下来, 每个数字大约7.01px, frontSize=1时代表0.7px

3. 大写英文字母: 总共97.5个字符, 计算下来, 每个字符大约8.2px, frontSize=1时代表0.82px

4. 小写英文字母: 总共118个字符, 计算下来, 每个字符大约6.78px, frontSize=1时代表0.68px

使用的字体是SourceHanSansSC-Light.otf, frontsize=20,

1. 汉字: 总共29.5个汉字, 计算下来, 每个汉字大约27.12px, frontSize=1时代表1.36px

2. 数字: 总共57个数字, 计算下来, 每个数字大约14.03px, frontSize=1时代表0.7px

3. 大写英文字母: 总共49.5个字符, 计算下来, 每个字符大约16.16px, frontSize=1时代表0.8px

4. 小写英文字母: 总共59个字符, 计算下来, 每个字符大约13.56px, frontSize=1时代表0.68px

总结:

汉字: frontSize=1时代表1.36px

数字:  frontSize=1时代表0.7px

大写英文字母: frontSize=1时代表0.8px

小写英文字母:frontSize=1时代表0.68px

2019-12-6 11:33:33 星期五

PHP中安装imgick扩展后, 该扩展可以自动识别字体宽度

PHP计算思源字体宽度, 并把文字绘制到图片上的更多相关文章

  1. 网页使用思源字体 CSS

    在知乎上再次看到这门字体的提问,想想中文字体过得多么艰辛,中文软件过得多么艰辛. 思源字体 2014年7月,Adobe与Google宣布推出一款新的开源字体思源黑体, 有七种字体粗细(ExtraLig ...

  2. Android中加入思源字体/NotoSansCJK/SourceHanSans

    系统版本号:Android 4.2.2_r1 本文主要是在Android中加入思源字体的过程记录. 思源字体是Google和Adobe在2014.07.18公布的中文字体. 1.获取思源字体(Goog ...

  3. 【亲测可行,图片宽度高度自适应】c# Graphics MeasureString精确测量字体宽度

    , , ) { int count = number.Length; //需要配置的字段 //Font f = new Font("Microsoft Sans Serif", f ...

  4. Windows下自动云备份思源笔记到Gitee

    前言 思源笔记是一款本地笔记为主的软件,其目前提供了148元/year的付费同步功能,但对于21世纪中国难民而言还是太贵啦. 条件允许的同学还是使用官方的同步,支持下作者. 所以,就在思考有没有白嫖的 ...

  5. java给图片写正反字体,并将二维码写到图片上,代码实现

    /** * @param filePath * 源图片路径 * @param markContent * 图片中添加内容 * @param outPath * 输出图片路径 字体颜色等在函数内部实现的 ...

  6. [上传下载] C# ImageUpload图片上传类教程与源码下载 (转载)

    点击下载 ImageUpload.zip 功能如下图片1.设置属性后上传图片,用法如下 /// <summary> /// 图片上传类 /// </summary> //--- ...

  7. 使用百度UMeditor富文本编辑器,修改自定义图片上传,修改源码

    富文本编辑器,不多说了,这个大家应该都用到过,至于用到的什么版本,那就分很多种 CKEditor:很早以前叫FCK,那个时候也用过,现在改名了,比较流行的一个插件,国外很多公司在用 UEDITOR:百 ...

  8. CKEditor5 + vue2.0 自定义图片上传、highlight、字体等用法

    因业务需求,要在 vue2.0 的项目里使用富文本编辑器,经过调研多个编辑器,CKEditor5 支持 vue,遂采用.因 CKEditor5 文档比较少,此处记录下引用和一些基本用法. CKEdit ...

  9. php图片上传存储源码,可实现预览

    <?php header("content-Type: text/html; charset=gb2312"); $uptypes=array('image/jpg', // ...

随机推荐

  1. Java自动化环境搭建笔记(3)

    Java自动化环境搭建笔记(3) 自动化测试 自动化的环境已经基本搭建完成,后续可对BaseTester基类以及工具类进行扩展.下面便是持续集成的环境的搭建: Jenkins安装 git安装 源码上传 ...

  2. 转载: JavaScript中执行环境和栈

    在这篇文章中,我会深入理解JavaScript最根本的组成之一 : "执行环境(执行上下文)".文章结束后,你应该对解释器试图做什么,为什么一些函数/变量在未声明时就可以调用并且他 ...

  3. Java基础--线程创建方式

    线程的创建主要有两种形式,通过继承Thread或者实现Runnable接口,本质上没有太大区别. /** * @date: 2019/7/16 **/ public class ThreadOne i ...

  4. BZOJ - 3242 :快餐店 (基环树DP) 最小化半径

    题意:给定N点N边的无向连通图,现在让你在图中找一点作为餐厅,使得最远点距离这点最近. 思路:为了保留整数,我们求最小直径,最后去除2.  直径来源于两部分: 1,在外向树中: 那么就是树的直接,一棵 ...

  5. MapReduce的核心运行机制

    MapReduce的核心运行机制概述: 一个完整的 MapReduce 程序在分布式运行时有两类实例进程: 1.MRAppMaster:负责整个程序的过程调度及状态协调 2.Yarnchild:负责 ...

  6. round.606.div2

    A. Happy Birthday, Polycarp! 这个题意我确实没有看懂. 沃日,我懂了,我感觉我似乎都能切掉这题. B. Make Them Odd 这个我也能看懂.

  7. elastalert 基于EFK环境的邮件报警

    1.安装elastalert  安装的python必须是2.7以上的版本 安装的路径  /usr/local/src 安装依赖 yum -y install wget openssl openssl- ...

  8. Load Testing Socket.IO Web Applications and Infrastructure

    转自:https://medium.com/better-programming/load-testing-socket-io-web-applications-and-infrastructure- ...

  9. 5-网页,网站,微信公众号基础入门(配置网站--PHP配置上数据库)

    https://www.cnblogs.com/yangfengwu/p/11037653.html php和数据库打交道,这样整个网页就完美了,有了数据存储,交互,动态网页才完美 首先修改下php. ...

  10. C++ Boost

    Boost库是一个可移植.提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一. Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容.在C+ ...