Flex字体篇——动态嵌入字体(按需嵌入)

news/2024/5/19 17:35:43 标签: flex, exe, css, string, byte, c#

接上篇:Flex字体篇——动态嵌入字体

按需嵌入

中文字体小的几M,大的十几M,如果把整个中文字体都嵌入到swf会使容量增大,不利于网络传输,这时应该采取按需嵌入的办法,只把使用到的字符才嵌入到字体swf里。

按需嵌入的字体样式

需要编译的css文件:wb_fz22.css

/* Generate by wizBuilder CS */

/* Text:1608 Char:62 */

@font-face {

src:local("方正黑体简体");

fontFamily: WB-方正黑体简体;

fontStyle: normal;

fontWeight: normal;

advancedAntiAliasing: true;

unicodeRange:

U+65B9,U+6B63,U+9ED1,U+4F53,U+7B80,U+000A,U+003C,U+0046,U+004F,U+004E,U+0054,U+0020,U+004B,U+0045,

U+0052,U+0049,U+0047,U+003D,U+0022,U+0031,U+003E,U+002F,U+8BF7,U+53CC,U+51FB,U+8FD9,U+91CC,U+7F16,U+8F91,

U+6587,U+672C,U+002E,U+0050,U+0032,U+0033,U+0034,U+0035,U+0036,U+0037,U+0038,U+0039,U+0030,U+5E72,U+9898,

U+000D,U+786E,U+9009,U+9879,U+9519,U+8BEF,U+5355,U+0074,U+0072,U+0075,U+0065,U+0066,U+0061,U+006C,U+0073,

U+0078,U+65C1,U+767D;

}

css文件是外部exe自动生成,并且自动进行编译生成字体swf的,其中U+****的代码是使用到的unicode字符。

C#中生成上述unicode字符的主要代码如下:

private static string ToUnicode(char value)

{

byte[] bytes = Encoding.Unicode.GetBytes(value.ToString());

return "U+" + bytes[1].ToString("X2") + bytes[0].ToString("X2");

}

如何让外部exe自动编译css生成swf参考上篇方法使用命令行。

何时才按需嵌入字体

在设计阶段,用户输入是不确定的,应该把整个字库嵌入到编辑环境满足用户的编辑需要。

在发布后浏览阶段,这时用户的输入已经确定,应该只嵌入所需的字符。

整个字库嵌入和按需嵌入的比较

整个字库嵌入的容量

按需嵌入的容量(根据使用的字符数量变化)


http://www.niftyadmin.cn/n/1574732.html

相关文章

区块链100讲:能够证明你是你的数字签名和多重签名

随着区块链相关技术的创新和突破,很多有形或无形资产都将实现去中心化,数字资产将无处不在。要保护数字出版物版权,实现去中心化,解决业界多年来版权保护不力的难题。无论数字资产,还是数字出版版权,都是有…

HTTP服务器开发教程

<![CDATA[ 概述 最近因为项目需要&#xff0c;必须自己实现一个HTTP服务器的部分功能。 需求大概是这样的&#xff0c;winform里使用webrowser控件显示一个本地的html页面&#xff0c;同时winform启动http服务&#xff0c;本地html页面里通过javascript使用XMLHttpReq…

百篇大计敬本年之Web开发之路 —— Ubuntu 14.04 安装 Web 服务器 Apache2

为什么80%的码农都做不了架构师&#xff1f;>>> 最近在研究Web开发项目&#xff0c;需要在虚拟机里的Ubuntu系统上开启 Web 服务器。以下为 Web 服务器搭建心得。&#xff08;所有知识皆从网络搜集所得&#xff09; 第一步&#xff1a;更新软件源 # sudo apt-get u…

Socket的正确关闭(改良版)

TIME_WAIT状态 如果服务端的Socket比客户端的Socket先关闭&#xff0c;会导致客户端出现TIME_WAIT状态&#xff0c;占用系统资源。 所以&#xff0c;必须等客户端先关闭Socket后&#xff0c;服务器端再关闭Socket才能避免TIME_WAIT状态的出现。 判断客户端Socket的关闭 …

容量估算--随时更新

一、 数据库服务器的硬件估计 首先确定系统要支撑的tps峰值是多少&#xff0c;这个数值一般由实际业务量来估计或者设计容量确定。实际业务估计可以通过考察旧系统业务峰值出现的时间和峰值访问量来估计&#xff0c;设计容量则是系统设计初期就决定的设计指标&#xff0c;决定了…

我的HTTP服务器

技术平台&#xff1a;.net 作品介绍&#xff1a; 基于Sokect技术构建 目前只支持静态文件&#xff0c;功能正在逐步完善… 轻量级的HTTP服务器&#xff0c;功能控制、扩展方便&#xff0c;能够很容易就把代码集成到其他winform应用。 效果图 用IE访问 欢迎交流 MSN&am…

Hadoop生态圈-hive五种数据格式比较

Hadoop生态圈-hive五种数据格式比较 作者&#xff1a;尹正杰 版权声明&#xff1a;原创作品&#xff0c;谢绝转载&#xff01;否则将追究法律责任。转载于:https://www.cnblogs.com/yinzhengjie/p/9154401.html

开发高性能的Socket服务器

要编写高性能的Socket服务器&#xff0c;为每个接收的Socket分配独立的处理线程的做法是不可取的&#xff0c;当连接数量很庞大时&#xff0c;服务器根本无法应付。要响应庞大的连接数量&#xff0c;需要使用IOCP(完成端口)来撤换并处理响应。 .net framework的System.Net.So…