<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Vicker&#039;s Coding Kitchen &#187; DynaComware</title>
	<atom:link href="http://vicker.cubeforge.net/blog/tag/dynacomware/feed/" rel="self" type="application/rss+xml" />
	<link>http://vicker.cubeforge.net/blog</link>
	<description>Hong Kong Adobe Flash platform developer (Flex, AIR and Flash)</description>
	<lastBuildDate>Wed, 28 Jul 2010 16:37:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Flex FAQ #8: Font Embedding 全集</title>
		<link>http://vicker.cubeforge.net/blog/2009/04/07/flex-faq-8-all-about-font-embedding/</link>
		<comments>http://vicker.cubeforge.net/blog/2009/04/07/flex-faq-8-all-about-font-embedding/#comments</comments>
		<pubDate>Tue, 07 Apr 2009 16:40:15 +0000</pubDate>
		<dc:creator>Vicker</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex FAQ]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[DynaComware]]></category>
		<category><![CDATA[dynamic text]]></category>
		<category><![CDATA[embed]]></category>
		<category><![CDATA[font]]></category>
		<category><![CDATA[font-face]]></category>
		<category><![CDATA[font-family]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://vicker.cubeforge.net/blog/?p=280</guid>
		<description><![CDATA[尋日要幫一個 application 做 font embedding 主要係想 embed 楷書 其實 font embedding 本身並唔係一件難事 因為 Flex 本身已經 support~ 但係 embed 得黎又要控制好 file size 就唔簡單~! 至於楷書o既問題就更加多&#8230; 應該 specific d 講&#8230; 係 Microsoft o既標楷體o既問題更加多&#8230; 由淺入深~ 1) Flex 直接 Embed font 方法主要有兩種 1A) Flex CSS refer local font @font-face { src: local(&#34;標楷體&#34;); font-family: &#34;KaiShu&#34;; } o係 CSS 裡面 declare font-face


Related posts:<ol><li><a href='http://vicker.cubeforge.net/blog/2007/08/17/flex-faq-3-how-to-download-a-file-in-flex-using-filereference/' rel='bookmark' title='Permanent Link: Flex FAQ #3: 點樣用 Flex FileReference 下載檔案'>Flex FAQ #3: 點樣用 Flex FileReference 下載檔案</a></li>
<li><a href='http://vicker.cubeforge.net/blog/2008/12/09/adobe-max-sf-day-1/' rel='bookmark' title='Permanent Link: Adobe MAX SF day 1'>Adobe MAX SF day 1</a></li>
<li><a href='http://vicker.cubeforge.net/blog/2007/08/10/flex-faq-2-how-to-remove-all-the-svn-information-produced-by-subclips/' rel='bookmark' title='Permanent Link: Flex FAQ #2: 點樣清除亂左既 subclipse .svn 資料'>Flex FAQ #2: 點樣清除亂左既 subclipse .svn 資料</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>尋日要幫一個 application 做 font embedding<br />
主要係想 embed 楷書<br />
其實 font embedding 本身並唔係一件難事<br />
因為 Flex 本身已經 support~<br />
但係 embed 得黎又要控制好 file size 就唔簡單~!<br />
至於楷書o既問題就更加多&#8230;<br />
應該 specific d 講&#8230; 係 Microsoft o既標楷體o既問題更加多&#8230;</p>
<p>由淺入深~</p>
<p><strong>1) Flex 直接 Embed font</strong></p>
<p>方法主要有兩種</p>
<p><strong>1A) Flex CSS refer local font</strong></p>
<pre class="brush: css;">
@font-face
{
	src: local(&quot;標楷體&quot;);
	font-family: &quot;KaiShu&quot;;
}
</pre>
<p>o係 CSS 裡面 declare font-face<br />
然後 source 利用 local 指住個字體名<br />
最後 declare 一個 font family 名~ (呢個隨意就得)<br />
呢度最 tricky 係個字體名&#8230; 特別係 Mac 機再加埋中文字&#8230;<br />
經常攪到 Flex Builder compile o既時候會出現 local build error&#8230;</p>
<p>好: 快<br />
壞: 唔穩定, File Size 大</p>
<p><strong>1B) Flex CSS refer font file</strong></p>
<pre class="brush: xml;">
@font-face
{
	src: url(&quot;/fonts/標楷體.ttc&quot;);
	font-family: &quot;KaiShu&quot;;
}
</pre>
<p>想解決 1A 出現o既問題就要利用 source 指 url 直接指住 font file<br />
font file 大家可以o係唔同地方買或者 download 到<br />
如果o係 system font 的話</p>
<p>Windows 可以o係控制台 > 字型 裡面抄走<br />
Mac 可以o係 System/Library/Fonts 裡面抄走<br />
(Mac 特別要留意副檔名 dfont 的係 embed 唔到架)</p>
<p>好: 穩定~ 準<br />
壞: File Size 大</p>
<p><strong>備註: Embed Microsoft Windows 內置標楷體o既爆字問題</strong></p>
<p>如果大家要 embed 標楷體~ 就千祈唔好用 Windows 裡面o既標楷體<br />
因為 embed 之後o係 Mac 機睇係會出現爆字問題</p>
<p>關於爆字 (字形破碎) o既問題請參考 &#8211; 破碎的細明體研究院<br />
<a href="http://bbs.bnw.com.tw/conference/viewtopic.php?t=2856">http://bbs.bnw.com.tw/conference/viewtopic.php?t=2856</a></p>
<p>簡單黎講o係 MS 的標楷體 version 太舊 (3.0)<br />
解決方法係去華康科技買返新 d o既 version (latest 5.0) (我試過 2005 年o既 3.10 無問題)</p>
<p>不過用華康標楷體 3.10 最大o既問題係 file size&#8230;<br />
MS (4.9Mb) 華康 (27.9Mb)<br />
一個 Flex application 用之前要 download 4.9Mb 已經唔容易&#8230; 更何況 27.9Mb&#8230;</p>
<p>另外更要特別提一提<br />
Embed 27.9Mb o既字形係好耐同好唔 stable 架<br />
我曾經多次出現 out of memory o既問題&#8230;<br />
10 次 compile 得 2 &#8211; 3 次成功&#8230;<br />
(Mac Pro 都頂唔順&#8230; 好難相信&#8230; 應該又係 Flex Builder 問題&#8230;)</p>
<p><strong>2) Flex 利用 unicode-range 抽出要 embed o既字</strong></p>
<pre class="brush: css;">
@font-face
{
	src: url(&quot;/fonts/標楷體.ttc&quot;);
	font-family: &quot;KaiShu&quot;;
	unicode-range: U+5011,U+6211;
}
</pre>
<p>其實利用 Flex CSS Embed font o既時候係可以透過 unicode-range 抽出某 d 字架<br />
以上面為例就會將 &#8220;們&#8221; 字同 &#8220;我&#8221; 字抽出黎啦~!<br />
究竟點解係 5011 同 6211 呢?</p>
<p>其實 5011 同 6211 係 d 字o既 unicode value in HEX<br />
想 get 一個中文字o既 unicode<br />
大家可以用呢個 Chinese to Unicode converter<br />
<a href="http://www.chinese-tools.com/tools/converter-unicode.html">http://www.chinese-tools.com/tools/converter-unicode.html</a><br />
記住要將個 result 轉返做 HEX value</p>
<p>如果大家用 Mac o既 Numbers 的話可以用下面呢個 equation</p>
<pre class="brush: vb;">
=CONCATENATE(&quot;U+&quot;,RIGHT(DEC2HEX(CODE(&quot;字&quot;)),4))
</pre>
<pre class="brush: css;">
@font-face
{
	src: url(&quot;/fonts/標楷體.ttc&quot;);
	font-family: &quot;KaiShu&quot;;
	unicode-range: U+5011-U+6211;
}
</pre>
<p>至於呢個係另一種寫法~ 將 5011 至 6211 所有字都 embed~<br />
當然大家可以 combine comma &#8220;,&#8221; 同 dash &#8220;-&#8221; 兩種寫法啦~!!</p>
<p>好: 要用o既字先 embed~ 有效控制 file size<br />
壞: 煩&#8230; 要逐粒字加都幾浪費時間&#8230;<br />
更壞: Flex Builder 應該有 bug&#8230; 當 unicode-range 後面太多野會出現 compilation error&#8230;</p>
<p><strong>3) Flash + Flex Combo = 無敵~!</strong></p>
<p>試左一整日&#8230; 放棄左一輪之後&#8230; 突然諗到o既絕技~!<br />
Flash + Flex Combo</p>
<p>首先利用 Flash dynamic text field 寫低需要o既字</p>
<p><img src="http://vicker.cubeforge.net/img/blog/flex_faq_008_01.png" alt="http://vicker.cubeforge.net/img/blog/flex_faq_008_01.png" /></p>
<p>記住要揀埋你需要o既 font<br />
跟住 set dynamic text field o既 font embedding</p>
<p><img src="http://vicker.cubeforge.net/img/blog/flex_faq_008_02.png" alt="http://vicker.cubeforge.net/img/blog/flex_faq_008_02.png" /></p>
<p>然後揀 Auto Fill~<br />
一下就掂晒~!</p>
<p><img src="http://vicker.cubeforge.net/img/blog/flex_faq_008_03.png" alt="http://vicker.cubeforge.net/img/blog/flex_faq_008_03.png" /></p>
<p>然後 Export SWF file~<br />
最後 Flex embed SWF file</p>
<pre class="brush: css;">
@font-face
{
	src: url(&quot;/fonts/font.swf&quot;);
	font-family: &quot;DFBiaoKaiShu-B5&quot;;
}
</pre>
<p>留意 font family 一欄今次唔可以隨便填<br />
一定要同 Flash 裡面寫o既完全一樣<br />
以我上面 example 為例就係 DFBiaoKaiShu-B5</p>
<p>之後就可以 compile 啦~!</p>
<p>好: 快 準 穩定<br />
壞: 要開多一個 application&#8230; =.=</p>


<p>Related posts:<ol><li><a href='http://vicker.cubeforge.net/blog/2007/08/17/flex-faq-3-how-to-download-a-file-in-flex-using-filereference/' rel='bookmark' title='Permanent Link: Flex FAQ #3: 點樣用 Flex FileReference 下載檔案'>Flex FAQ #3: 點樣用 Flex FileReference 下載檔案</a></li>
<li><a href='http://vicker.cubeforge.net/blog/2008/12/09/adobe-max-sf-day-1/' rel='bookmark' title='Permanent Link: Adobe MAX SF day 1'>Adobe MAX SF day 1</a></li>
<li><a href='http://vicker.cubeforge.net/blog/2007/08/10/flex-faq-2-how-to-remove-all-the-svn-information-produced-by-subclips/' rel='bookmark' title='Permanent Link: Flex FAQ #2: 點樣清除亂左既 subclipse .svn 資料'>Flex FAQ #2: 點樣清除亂左既 subclipse .svn 資料</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://vicker.cubeforge.net/blog/2009/04/07/flex-faq-8-all-about-font-embedding/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
