javascript - 如何查找文件中所有字符的字符代码
问题描述
我正在尝试获取 .ttf/.otf 文件中的所有字符代码,以便获取随机字符并显示它。我想创建一个矩阵雨,我发现一个字体文件只包含其中使用的字符。这是字体的链接。我正在尝试以这种方式实现它:String.toCharCode();
到目前为止我的代码:
var value = String.fromCharCode(97);
var fontSize = 30;
function setup() {
createCanvas(500,500);
textFont('Matrix');
textSize(fontSize);
}
function draw() {
ellipse(width/2,height/2,9,9);
text(value,width/2,height/2);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.6.1/p5.js"></script>
<style type = "text/css">
@font-face {
font-family: "Matrix";
src: url(--Link to file--);
}
</style>
研究:
解决方案
离线执行此操作,不要在浏览器中执行此操作。字体每次都将是相同的,因此其支持的字符映射也将是相同的。
通过TTX运行字体,然后获取<cmap>
表格数据,这是字体支持哪些字符代码/代码点的唯一权限。它可能支持多个字符集:您只关心子表格式 4(可能还有 12 个),对于平台/id/编码组合 3/1/0(这是与平台无关的 Unicode 编码。这是我们在 2018 年唯一关心的一个)
然后随心所欲地做任何事情,但是给定 JS 上下文,您可能希望进一步对其进行按摩以创建合理的 JSON 格式,这样您就可以直接在 javascript 端使用 JSON.parse 加载它。
推荐阅读
- opengl-es - 需要一个关于鲁棒缓冲区访问何时有效的具体示例
- wso2 - 从 siddhi 上的 Tcp 接收 json 日志
- wso2 - 使用 wso2 6.4.0 dss 从多张单个 Excel 文件中检索数据并插入数据库
- javafx - 动画后无法从节点中删除子节点
- fix-protocol - QuickFIX/N 是否支持包含两个组件的消息,每个组件具有一个组,两个组件都具有相同的名称?
- java - 如何检查当前时间和自定义时间是否在 30 分钟的设备时间段(挂钟时间)内
- r - 在 position_dodge() 之后在 ggplot2 中进行注释?
- powershell - 使用 App Client ID 更新访问令牌
- r - R repeatability model (in rptR), unsure about formula. Outcome =Zero repeatability for several models, with boundary singular fit warning
- c# - 从共享布局作为局部视图或视图组件登录