手工品外贸出口网站建设方案上海vi设计公司有哪些

张小明 2026/1/8 9:49:38
手工品外贸出口网站建设方案,上海vi设计公司有哪些,泰安名众网络科技有限公司,创意装修公司文是HarfBuzz系列的第二篇#xff1a;在这里插入图片描述本文概述在这里插入图片描述一、关键概念与结构1.1 scriptHarfBuzz 中 script 指的是文字系统的类型#xff0c;注意不是指语言#xff0c;不同语言也可能属于同一类书写系统#xff0c;比如#xff1a;hb_script 举…文是HarfBuzz系列的第二篇在这里插入图片描述本文概述在这里插入图片描述一、关键概念与结构1.1 scriptHarfBuzz 中 script 指的是文字系统的类型注意不是指语言不同语言也可能属于同一类书写系统比如hb_script 举例HB_SCRIPT_LATIN拉丁文 英语、法语、德语、越南语等HB_SCRIPT_ARABIC阿拉伯文 阿拉伯语、波斯语Farsi、乌尔都语等HB_SCRIPT_HAN汉字 中文、日语汉字Kanji、韩文汉字HanjaHB_SCRIPT_DEVANAGARI天城文 印地语、梵语、尼泊尔语等HB_SCRIPT_CYRILLIC西里尔文) 俄语、保加利亚语等... ...我们在从0到1自定义文字排版引擎原理篇中有提到Unicode 为每个 code point 定义了一个 script 属性文本分段时就是按 script 属性连续来划分的。比如对于Hello世界あい从左往右扫描字符串每遇到 Script 改变就切分出一个 run最后会被划分成Hello→ Latin世界 → Hanあい → HiraganaHarfBuzz 文本塑形时一次只能处理同一 script 的字符串因为不同 script 的文字系统有不同的排版规则比如在这里插入图片描述HarfBuzz内部会根据script选取不同的shaping规则。1.2 clustercluster 是HarfBuzz中的概念表示一组不可分割的字符序列。单个字母或符号可以是一个cluster连字之后的字形也可以视为一个cluster比如f i连字后变成fifi也是一个cluster。1.3 graphemegrapheme是Unicode中的概念表示书写系统中的最小单位比如单个的字母、符号、表情等都是一个grapheme。cluster与grapheme的区别二者没有相互关系也不是一一对应的。举个例子f i连字后变成fi那最终在HarfBuzz塑形完后只有fi 一个cluster但是底层仍然是 f 和 i 两个grapheme构成的。HarfBuzz中一般关注的是cluster。1.4 blobblob 是一个抽象概念表示一段二进制数据的容器用来管理原始数据的生命周期和权限在HarfBuzz中用 hb_blob_t 结构体表示。blob 的主要作用是封装字体文件的原始数据当我们需要加载字体传给HarfBuzz时这些字体文件一般会被加载到一个blob对象中。blob 只关心数据本身不理解数据的含义也就是说blob并不知道这是一个字体文件更不知道里面有什么表它只负责管理对应内存的生命周期确保数据在被使用期间是可访问的。1.5 faceface 表示一个单独的字体它会解析blob中的二进制字体数据通过face可以访问字体中的各种table如GSUB、GPOS、cmap表等在HarfBuzz中用 hb_face_t 结构体表示。需要注意的是face是不带字号、缩放和其他渲染参数的因此face无法直接用于塑形。如果要塑形的话需要通过face创建font。1.6 fontfont 表示字体实例可以在face的基础上设置字号、缩放等feature来创建一个font在HarfBuzz中用 hb_font_t 结构体表示。HarfBuzz 的核心排版函数 hb_shape() 接受的是 hb_font_t 对象而不是 hb_face_t这是因为 HarfBuzz 在计算字形位置和前进量时需要知道字体的大小和比例。1.7 bufferbuffer 在HarfBuzz中表示输入输出的缓冲区用 hb_buffer_t 结构体表示。比如我们在调用塑形函数** **hb_shape() 时我们的输入字符串及其属性方向、script、语言等都是通过 buffer 完成的塑形完成后塑形结果也会通过 buffer 将字形及位置信息返回。1.8 user data上面提到的 hb_blob_t、hb_face_t、hb_font_t、hb_buffer_t 结构体都有类似set_user_data()和get_user_data()的方法主要作用是方便携带用户上下文。1.9 小结前面我们介绍了hb_blob_t、hb_face_t、hb_font_t、hb_buffer_t等概念这些在HarfBuzz中被称为对象类型注意并非OOP中面向对象的概念。在HarfBuzz中所有对象类型都提供了特定的生命周期管理API对象采用引用计数方式管理生命周期通过各种create() 方法构建初始创建时引用计数为1通过 reference() 方法引用引用计数1通过 destroy() 方法解除引用引用计数-1当引用计数为0时释放。比如hb_buffer_t 对象可以通过 hb_buffer_create() 创建通过 hb_buffer_reference() 引用通过 hb_buffer_destroy() 解除引用。HarfBuzz 所有对象的生命周期管理 API 都是线程安全的除非你从源代码编译 HarfBuzz 时使用了HB_NO_MT配置标志即便对象整体并非线程安全引用reference()或销毁destroy()NULL 值也是允许的。二、塑形操作塑形大多以来字体中的 GSUB 和 GPOS 表这一节我们来看塑形过程中的常见的操作1字形替换一对一替换Simplified Forms根据feature、语言设置的不同会进行简体 ↔ 繁体、半角 ↔ 全角、普通 ↔ 装饰体等的转换。比如在日文中会将标点符号「。」替换为它的全角版本「。」多对一替换/连字Standard Ligatures比如把 f i → 合成为 fi 连字一对多替换/分解Glyph Composition/Decomposition把一个“复合”字形拆解成多个独立的字形通常用于预处理阶段主要为了后续定位、重音调整等更方便一般不会影响最终的视觉效果比如某些字体可能将预组合的 é 字形分解为 e ´上下文替换Initial Forms/Medial Forms/Final Forms/Isolated Forms根据字形在单词中的位置来替换比如阿拉伯文字母 ه 会根据其在词首、词中、词尾或孤立出现被替换为 هـ、ـهـ、ـه、ه 四种完全不同的形态辅音连缀Conjunct Forms比如क ् ष 会被替换字形为 क्ष2字形定位不修改字形但是会影响position字距调整Kern比如T与o 相邻时 o 的 x 偏移量为负使它更靠近 T标记定位Mark带重音符的如é会将 ´ 的前进量设为 0并设置 y_offset 使其移动到 e 的正上方草书连接 (Cursive Attachment在“草书”类文字中如阿拉伯文 Arabic、叙利亚文 Syriac、南印度文等字符之间并不是并排放置的而是通过笔画自然地连接起来的3字形重排主要用于印度系文字比如逻辑顺序上 辅音क 元音ि 时元音在视觉顺序上需要重排到辅音的左侧即 कि
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

普达建站快车wordpress08模板

计算机毕业设计springboot基于的产品销售数据分析平台设计一广西双迎门业为例o5e77nn4 (配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。在“双碳”战略与制造业数字化转型双重驱动…

张小明 2026/1/4 22:13:12 网站建设

铁法能源公司网站金昌做网站

TensorFlow数据管道优化:提升训练吞吐量的关键技术 在现代深度学习系统中,我们常常遇到这样一种尴尬的局面:手握顶级GPU集群,监控面板上却显示GPU利用率长期徘徊在30%以下。经过排查,问题往往不出在模型结构或硬件配置…

张小明 2026/1/4 20:48:44 网站建设

哪些网站可以做平面设计家居企业网站建设案例

💓 博客主页:借口的CSDN主页 ⏩ 文章专栏:《热点资讯》 目录我和AI的相爱相杀史:当科技开始懂你家的猫 一、职场篇:AI面试官让我学会了闭嘴 二、工业篇:机器人同事的反杀 三、生活篇:智能家居的…

张小明 2026/1/4 22:14:11 网站建设

南京网站建设网站制作 雷仁网络网页制作步骤图

海尔智家设备接入HomeAssistant终极指南:实现全屋智能联动 【免费下载链接】haier 项目地址: https://gitcode.com/gh_mirrors/ha/haier 还在为家中海尔设备无法与其他智能产品协同工作而困扰吗?智能家居时代已经到来,但海尔空调、冰…

张小明 2026/1/4 22:15:13 网站建设

做暧昧网站商城网站建设大连

OpenCV全景拼接终极指南:从零开始快速上手全景图像制作 【免费下载链接】opencv OpenCV: 开源计算机视觉库 项目地址: https://gitcode.com/gh_mirrors/opencv31/opencv 你是否曾经拍摄过多张风景照片,却无法将它们完美拼接成一张震撼的全景图&am…

张小明 2026/1/4 22:52:40 网站建设

银川公司做网站wordpress 采集主题

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

张小明 2026/1/4 23:52:34 网站建设