Flex字型篇 動態嵌入字型 按需嵌入

2021-08-25 07:44:32 字數 2077 閱讀 1139

接上篇: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參考上篇方法使用命令列。

何時才按需嵌入字型

在設計階段,使用者輸入是不確定的,應該把整個字型檔嵌入到編輯環境滿足使用者的編輯需要。

在發布後瀏覽階段,這時使用者的輸入已經確定,應該只嵌入所需的字元。

整個字型檔嵌入和按需嵌入的比較

整個字型檔嵌入的容量

按需嵌入的容量(根據使用的字元數量變化)

Flex 動態嵌入字型

flex編譯器,位於flex sdk的bin目錄,例如 flash builder 4 sdk 3.5 c program files adobe adobe flash builder 4 sdks 3.5.0 bin 編譯器的詳細使用說明參考官方文件using the flex compiler...

網頁程式Flex 動態嵌入字型

概述 flex編譯器,位於flex sdk的bin目錄,例如 flash builder 4 sdk 3.5 c program files adobe adobe flash builder 4 sdks 3.5.0 bin 編譯器的詳細使用說明參考官方文件using the flex compi...

Flex之嵌入字型旋轉

最近為了專案需要,研究了一下flex字型旋轉的功能,但是在專案中我們所使用的字型類不是flex的自帶元件如textfield,label等,而是使用了開源專案degrafa的graphictextfiled.這就導致了難度加大。如果僅僅是使用flex的label元件實現字型旋轉功能,僅僅需要做到以下...