当前位置: 首页 > news >正文

网页上传 网站太原今日新闻最新头条

网页上传 网站,太原今日新闻最新头条,云主机怎样做网站,wordpress 当前分类该文章以提取head模块属性中的修订版本fontRevision为例。 TrueType字体文件相关属性参考文章:TrueType 字体解释器opentype.js源码下载地址:opentype.js源码 图一:TrueType 图二:OpenType TrueType字体一般包含在单个TrueType字体…

  该文章以提取head模块属性中的修订版本fontRevision为例。
TrueType字体文件相关属性参考文章:TrueType
字体解释器opentype.js源码下载地址:opentype.js源码

图一:TrueType
图二:OpenType

  TrueType字体一般包含在单个TrueType字体文件里,后缀为.TTF。
  OpenType字体是一种类似于TrueType字体的文件,其格式编码为POSTSCRIPT字体,后缀为.OTF。

1、需求分析

  我们要提取众多参数中的固定参数:修订版本,并且明确修订版本是在head属性中,此时要看Font Inspector如何把各个属性模块进行拆分,并且找到我们的head属性,进而在head属性模块中提取到修订版本fontRevision参数。
  首先我们创建了各种属性字段的类,每一个类中包含众多参数,像head、name等就是一个个类对象,而像version、fontRevision等就是类中的变量属性。

2、读取文件

  读取文件,将二进制文件进行读取,加载到数组中,并作为参数传递到后续的接口里。
  读取文件的前x位,根据不同文件类型的特征,读取作为文件类型的标识位,来获取当前文件类型。
在这里插入图片描述
  不同文件类型也许有不同的属性模块和字段列表,我们以ttf文件为例,他就包含了如下的类属性字段,然后这些不同的类属性下还有各种变量。
在这里插入图片描述

3、查看head相关属性

  我们以head为例,在该类下有许多的变量参数,这些参数有默认的数据类型和默认值。
在这里插入图片描述

4、查看Font Inspector如何把各个属性模块进行拆分

  我们的TrueType是一种字体文件,该字体文件有一个特性,它字体表中所有属性模块都是4个字符,如图所示:对于我们要找的head,我们用红色实线标记出来。
在这里插入图片描述
  现在我们应该怎么把各个属性字段拆分呢?又怎么把head字段属性从这些字体表中分离出来呢?通过getTag()接口,该接口是从DataView视图中检索4个字符的标记。也就是将字段属性对应的4字符进行返回。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
  至此我们已经找到了head属性字段,head属性字段在整个二进制文件起始偏移量300的位置,长度为54,我们得到了有效信息。接下来要做的就是从head中提取fontRevision属性,此时直接从其实偏移量300的位置开始读取,每次读取固定字节数,找到要读取的目标。
  我们在head的中构建了相关的视图结构,该视图中包含了多个属性参数,我们要提取的参数也用红视线标记了出来。
在这里插入图片描述
  我们在headTable结构中提取fontRevision参数,我们把数据data和head相对二进制文件的起始偏移量start作为参数传递到接口中,然后new Parser对象,把数据传递进去,以对象的形式保存。
在这里插入图片描述
在这里插入图片描述
  其实就相当于创建了一个试图,该视图中有数据data,起始偏移量offset,当前偏移量relativeOffset。HeadTable结构如下图:
在这里插入图片描述
  我们接下来就是利用当前偏移量一个个读取,除了head中的参数字段,还规定了该参数字段的类型,决定了他在当前字段的偏移量,我们就利用parseFixed()接口,根据每个参数字段的类型,不断把当前偏移量relativeOffset不断进行递增,直到读取到fontRevision参数,然后利用Math库中的round函数四舍五入,进行数据截断。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

http://www.qdjiajiao.com/news/5875.html

相关文章:

  • 做企业品牌网站的公司长沙网站seo哪家公司好
  • 网站后台管理是做一些什么北京线上教学
  • 做网站用微软雅黑侵权吗百度网盘app官网下载
  • 电子商务网站有那些功能短视频seo推广
  • 石家庄网站优化仁茂网络seo
  • 重庆有哪些做网站 小程序的百度推广服务费3000元
  • 用nat123做自己的网站百度seo sem
  • 商务酒店网站建设新媒体口碑营销案例
  • 顺德手机网站设计价位seo技巧课程
  • 广东省自然资源厅三定方案湖南网站seo营销
  • 昆明做网站哪家公司好专业seo站长工具全面查询网站
  • 手机网站设计立找亿企邦建网站要多少钱
  • 常州溧阳建设工程管理中心网站北京seo业务员
  • wordpress mysql pdoseo业务培训
  • 金色金融公司网站源码百度网站链接提交
  • vue做的商城网站网站点击率查询
  • 黄冈网站推广平台上海seo推广
  • 后端开发网站做一些什么软文文案范文
  • 基于jsp的购物网站开发百度收录网站入口
  • javascript和java企业seo网站营销推广
  • 山东建设住建厅网站全球网站排名前100
  • 做网站不难吧微信朋友圈广告投放代理
  • 德阳市建设局网站百度关键词搜索排名
  • 云南做网站哪家便宜第三方营销平台有哪些
  • 有没有网上做任务赚钱的网站网络营销主要做什么
  • 小程序网站开发怎么样做网销的一天都在干嘛
  • 制作和淘宝商城一样网站兔子bt樱桃搜索磁力天堂
  • wordpress 首页评论北京网站优化常识
  • 网站建设物理架构关键词有哪几种
  • 网站建设 外包潍坊百度网站排名