<?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>Renaun Erickson</title>
	<atom:link href="http://renaun.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://renaun.com/blog</link>
	<description>Informtation on Flex, Flash, ColdFusion, and general RIA web develoment.</description>
	<lastBuildDate>Tue, 24 Jan 2012 01:30:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Upcoming Game Conferences I&#8217;ll be at</title>
		<link>http://renaun.com/blog/2012/01/upcoming-game-conferences-ill-be-at/</link>
		<comments>http://renaun.com/blog/2012/01/upcoming-game-conferences-ill-be-at/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 01:30:56 +0000</pubDate>
		<dc:creator>Renaun Erickson</dc:creator>
				<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://renaun.com/blog/?p=1623</guid>
		<description><![CDATA[With the shift of my focus on Flash&#8217;s gaming focus it means I get to attend game conferences. Adobe will have a presence at GDC and Flash Game Summit as well as other events through the year. I will be in San Francisco for both Flash Game Summit and GDC. If you haven&#8217;t taken the [...]]]></description>
			<content:encoded><![CDATA[<p>With the <a href="http://renaun.com/blog/2011/11/the-gaming-side-of-renaun/">shift of my focus</a> on Flash&#8217;s gaming focus it means I get to attend game conferences. Adobe will have a presence at GDC and Flash Game Summit as well as other events through the year. I will be in San Francisco for both Flash Game Summit and GDC.</p>
<p><a href="http://www.flashgamingsummit.com"><img alt="" src="http://www.flashgamingsummit.com/images/fgs-logo-small.png" title="Flash Game Summit" class="alignnone" width="163" height="65" /></a></p>
<p><a href="http://gdconf.com"><img alt="" src="http://www.gdconf.com/img/logos/download/gdc12_logo_thumb.jpg" title="GDC Conference" class="alignnone" width="214" height="144" /></a></p>
<p>If you haven&#8217;t taken the time to come up to speed on Flash Player&#8217;s current useful gaming features and future features check out the stuff below.</p>
<p><a href="www.adobe.com/devnet/flashplayer/stage3d.html">Stage3D Desktop (Currently Available)</a><br />
<a href="http://www.youtube.com/watch?v=25M7fwsR2qU">Stage3D Mobile (Coming Soon)</a><br />
<a href="www.youtube.com/watch?v=UQiUP2Hd60Y">Epic Unreal demo running in browser through Flash Player</a><br />
<a href="http://labs.adobe.com/technologies/flashplatformruntimes/flashplayer11-2/">(Flash Player 11.2 Beta) Mouse Lock, Right, &#038; Middle Click</a><br />
<a href="http://labs.adobe.com/technologies/flashplatformruntimes/flashplayer11-2/">Relaxing the drivers of GPU acceleration feature from 2009 to 2008 (maybe more in future releases)</a></p>
<p>There will be more information coming out over time, Flash Game Summit and GDC are a great place to come see what Adobe is doing. If you are a game developer and attending one of the conference be sure to come up to me and say hi.</p>
                <p><center>&copy; %FIRST Erickson &#8211; visit the <a href="http://www.renaun.com">&lt;renaun.com:flexblog text=&#8221;{ ModelLocator.myThoughts }&#8221;/&gt;</a> </center></p>            ]]></content:encoded>
			<wfw:commentRss>http://renaun.com/blog/2012/01/upcoming-game-conferences-ill-be-at/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>An Approach to setting wmode for Stage3D project in Flash Builder</title>
		<link>http://renaun.com/blog/2011/12/an-approach-to-setting-wmode-for-stage3d-project-in-flash-builder/</link>
		<comments>http://renaun.com/blog/2011/12/an-approach-to-setting-wmode-for-stage3d-project-in-flash-builder/#comments</comments>
		<pubDate>Fri, 02 Dec 2011 21:00:11 +0000</pubDate>
		<dc:creator>Renaun Erickson</dc:creator>
				<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://renaun.com/blog/?p=1606</guid>
		<description><![CDATA[There are a lot of posts on how to configure projects to get up and running with Stage3D. With Flash Builder 4.6 and Flex 4.6 SDK some of the steps are not needed, like getting a different playerglobal.swc and setting the -swf-version=13. But you still need to set the wmode="direct" in the index.template.html for Stage3D [...]]]></description>
			<content:encoded><![CDATA[<p>There are a lot of posts on how to configure projects to get up and running with Stage3D. With Flash Builder 4.6 and Flex 4.6 SDK some of the steps are not needed, like getting a different <code>playerglobal.swc</code> and setting the <code>-swf-version=13</code>. But you still need to set the <code>wmode="direct"</code> in the <code>index.template.html</code> for Stage3D content to run.</p>
<p>Reading a bunch of posts some people just change this by hand for each project. Others post about how to change the <code>index.template.html</code> in the SDK templates folder. A drawback with this last approach is then all your projects will have <code>wmode="direct"</code> turned on, which is not necessarily bad but could cause issues in some cases. </p>
<p>My approach is a middle ground, I add a new template file to the templates that has the <code>wmode="direct"</code> enabled. Then you have the option to use the <code>wmode="direct"</code> by just changing your run configuration to point to this new template html file. Which I call direct.template.html and it comes out as direct.html in the bin-debug folder along side the AppName.html file. The drawback here is if you have projects that have multiple applications it will only copy over this second template for the default application. For this specific drawback you can just copy the <code>direct.template.html</code> over <code>index.template.html</code> (since direct.template.html will be in the project) and then have all them set to direct. This still gives you control over what you project should run at but not go looking for how to modify the <code>index.template.html</code> for each new project. Read on to see the steps I take to setup this up.<br />
<span id="more-1606"></span><br />
<strong>Steps to add direct.template.html and change run configuration</strong></p>
<ul>
<li>Download or copy source from <a href="http://renaun.com/flex4/direct.template.txt">http://renaun.com/flex4/direct.template.txt</a> and save it as direct.template.html in the following folder:
<ul>
<li>Win: <strong>C:\Program Files (x86)\Adobe\Adobe Flash Builder 4.6\sdks\4.6.0\templates\swfobject</strong> </li>
<li>Mac: <strong>/Applications/Adobe Flash Builder 4.6/sdks/4.6.0/templates/swfobject</strong> </li>
</ul>
</li>
<li>Create a new Flex or ActionScript Project (web not mobile). Check to see if <code>direct.template.html</code> is in the html-template folder.</li>
<li>Run the application once to create default run configuration.</li>
<li>Click on Run -> Run Configurations&#8230;</li>
<li>Select the Project&#8217;s run configuration and deselect &#8220;Use default&#8221; in the &#8220;URL or path to launch&#8221;</li>
<li>Change the last .html file name to &#8220;direct.html&#8221;, leaving the rest of the path the same. See image below:</li>
<p><a href="http://renaun.com/blog/wp-content/uploads/2011/12/runconfigdirect.png"><img src="http://renaun.com/blog/wp-content/uploads/2011/12/runconfigdirect.png" alt="" title="Run Configuration with direct.html" width="540" class="aligncenter size-full wp-image-1613" /></a></p>
</ul>
                <p><center>&copy; %FIRST Erickson &#8211; visit the <a href="http://www.renaun.com">&lt;renaun.com:flexblog text=&#8221;{ ModelLocator.myThoughts }&#8221;/&gt;</a> </center></p>            ]]></content:encoded>
			<wfw:commentRss>http://renaun.com/blog/2011/12/an-approach-to-setting-wmode-for-stage3d-project-in-flash-builder/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The Gaming Side of Renaun</title>
		<link>http://renaun.com/blog/2011/11/the-gaming-side-of-renaun/</link>
		<comments>http://renaun.com/blog/2011/11/the-gaming-side-of-renaun/#comments</comments>
		<pubDate>Thu, 17 Nov 2011 19:04:35 +0000</pubDate>
		<dc:creator>Renaun Erickson</dc:creator>
				<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://renaun.com/blog/?p=1596</guid>
		<description><![CDATA[I love games. Both PC and Board/Card games. I loved exploring different interests in college from computers, archeology, and music. Through all those years and up to now gaming has always been apart of me. Great memories around gaming shaped me up to day. Like having a paper route when I was 12, just to [...]]]></description>
			<content:encoded><![CDATA[<p>I love games. Both PC and <a href="http://twitter.com/#!/renaun/status/61540972785434624">Board/Card games</a>. I loved exploring different interests in college from computers, archeology, and music. Through all those years and up to now gaming has always been apart of me. Great memories around gaming shaped me up to day. Like having a paper route when I was 12, just to go buy 2 Nintendo games each month. Or family reunions of playing spoons and watching my 70 yr old great-grandma leap over the table to get to a spoon. Pursuing computers and programming was driven largely because of my interest in games. </p>
<p>The first AIR mobile application, nearly 2 years ago, I built for iOS was a game. It was so much fun using my skill set to built the application, it reminded me of the days when I was first learning how to program and how fun it is. The app is called <a href="http://itunes.apple.com/app/raining-blocks/id355175273?mt=8">Raining Blocks</a> and been in the app store for almost 2 years now, it was just for fun and I don&#8217;t tell many people about it &#8211; until now.</p>
<p>I did Flex, since 1.5, and Flash work before joining Adobe nearly 4 1/2 years ago. The different projects have given many different programming experiences, from libraries (Pacifica), code in the Flash Player (Pacifica), server side payment integration (Shibuya/InMarket), and many demo applications. At the core I understand the Flash Player and like building components and libraries. Since joining the evangelist team I get to build more and more examples. It shouldn&#8217;t be a surprise that I augmented my examples with games when possible.</p>
<p>I just spoke at FITC Screens on &#8220;Digital Fun in the Digital Home&#8221; where I used applications like <a href="https://github.com/renaun/PickQuick">PickQuick</a> and <a href="https://github.com/renaun/Eiden1">Eiden1</a>. Both have all their source code available on github. Eiden1 was designed by my 5 year old at the time and has been to show since it uses <a href="http://renaun.com/blog/2010/11/using-wiimotes-with-your-air-for-android-applications/">WiiMotes through a Android IME with the Android device</a> hooked up to the TV, a console in your pocket. Games just make sense to me when showing off cool features.</p>
<p>So I like games, whats all the fuss. Well, I am excited to say that my new focus as an Evangelist is Flash Gaming. I am joining the gaming evangelist team, so you&#8217;ll be seeing more posts around this topic.</p>
                <p><center>&copy; %FIRST Erickson &#8211; visit the <a href="http://www.renaun.com">&lt;renaun.com:flexblog text=&#8221;{ ModelLocator.myThoughts }&#8221;/&gt;</a> </center></p>            ]]></content:encoded>
			<wfw:commentRss>http://renaun.com/blog/2011/11/the-gaming-side-of-renaun/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Customizing Flex applicationDPI for a multiple screen size application</title>
		<link>http://renaun.com/blog/2011/10/customizing-flex-applicationdpi-for-a-multiple-screen-size-application/</link>
		<comments>http://renaun.com/blog/2011/10/customizing-flex-applicationdpi-for-a-multiple-screen-size-application/#comments</comments>
		<pubDate>Mon, 17 Oct 2011 15:32:12 +0000</pubDate>
		<dc:creator>Renaun Erickson</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[BlackBerry PlayBook]]></category>
		<category><![CDATA[Devices]]></category>
		<category><![CDATA[Flash Builder]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[iOS]]></category>

		<guid isPermaLink="false">http://renaun.com/blog/?p=1572</guid>
		<description><![CDATA[Building a Flex mobile application that works across smartphones and tablets takes an understanding of screen sizes, screen dots per inch (DPI) and screen resolutions. In the current landscape of devices typically you consider a tablet something bigger then a 5-6 inch physical screen. Also in the current device landscape screen resolutions are for tablets [...]]]></description>
			<content:encoded><![CDATA[<p>Building a Flex mobile application that works across smartphones and tablets takes an understanding of screen sizes, screen dots per inch (DPI) and screen resolutions. In the current landscape of devices typically you consider a tablet something bigger then a 5-6 inch physical screen. Also in the current device landscape screen resolutions are for tablets are typically greater then 1024x600 (original Galaxy Tab 7' and PlayBook), while smartphones are typically less 1024x600. This of course will change as screens get better and have high resolutions.</p>
<p>How Flex works with helping you develop and design for multiple screens is provide a concept of <code>applicationDPI</code>. This <code>applicationDPI</code> is baked into the spark mobile skins, available in css media queries, and available to you any where in your code. Flex also provides a mechanism to override the <code>applicationDPI</code> for your needs, I will get to this in a bit. First for an example of an application making heavy use of the <code>applicationDPI</code> check out <a href="http://renaun.com/blog/apps/caltraintimes/" title="Caltrain Times Mobile App">Caltrain Times</a>. It is currently running across Android, iOS, and BlackBerry Tablet OS (PlayBook). </p>
<p>I have also personally tested it across these devices:</p>
<table width="525" style="border: 1px solid #333333">
<tbody>
<tr style="background: #555555;color:#EEEEEE">
<th>Device Name</th>
<th style="text-align: center;">Screen Size</th>
<th style="text-align: center;">Screen Resolution</th>
<th style="text-align: center;">DPI</th>
</tr>
<tr>
<td>Motorola Atrix</td>
<td style="text-align: center;">4</td>
<td style="text-align: center;">540 x 960</td>
<td style="text-align: center;">275</td>
</tr>
<tr class="even">
<td>Google Nexus 1</td>
<td style="text-align: center;">3.7</td>
<td style="text-align: center;">480 x 800</td>
<td style="text-align: center;">254</td>
</tr>
<tr>
<td>iPhone 3GS</td>
<td style="text-align: center;">3.5</td>
<td style="text-align: center;">320 x 480</td>
<td style="text-align: center;">163</td>
</tr>
<tr class="even">
<td>iPod Retina Display</td>
<td style="text-align: center;">3.5</td>
<td style="text-align: center;">640 x 960</td>
<td style="text-align: center;">326</td>
</tr>
<tr>
<td>iPad</td>
<td style="text-align: center;">9.7</td>
<td style="text-align: center;">1024 x 768</td>
<td style="text-align: center;">132</td>
</tr>
<tr class="even">
<td>PlayBook</td>
<td style="text-align: center;">7</td>
<td style="text-align: center;">1024 x 600</td>
<td style="text-align: center;">168</td>
</tr>
<tr>
<td>Galaxy Tab 7'</td>
<td style="text-align: center;">7</td>
<td style="text-align: center;">1024 x 600</td>
<td style="text-align: center;">168</td>
</tr>
<tr class="even">
<td>Motorola Xoom</td>
<td style="text-align: center;">10.1</td>
<td style="text-align: center;">1280 x 800</td>
<td style="text-align: center;">150</td>
</tr>
<tr>
<td>Nook Color</td>
<td style="text-align: center;">7</td>
<td style="text-align: center;">1024 x 600</td>
<td style="text-align: center;">168</td>
</tr>
</tbody>
</table>
<p><strong>What is Flex's Application DPI really?</strong></p>
<p>Lets start with what its not. Its not a reflection of what the device's actual DPI, for example the DPI values in the above chart. What Flex does for developers is provide 3 classifications you build your application against. They values are 160, 240, and 320, but you can think of them as small, medium, and large. Its also important to think of the Flex three DPI classification approach as your way to define what your application looks like and how it acts not relative it directly to device DPI. I explain two examples of why this is important with my Caltrain Times application. First is how to handle incorrect DPI values from the OS level. Second is applying your look to a set of devices by customizing the DPI classification in Flex. I'll get to the detail of those two examples later in the article, first lets explain application DPI.</p>
<p>The definition, Flex's <code>applicationDPI</code> takes on two meanings. If you explicitly set the value your are telling Flex that this application is skin to <code>applicationDPI=XXX</code> (160,240, or 320) and for the application to automatically scale the SWF and contents to the ratio of XXX/<code>runtimeDPI</code>. The <code>applicationDPI</code> classification strings can be found in <code>mx.core.DPIClassification</code>. For more control of how your application looks for the different DPI's do not set this value. Then the value of <code>applicationDPI</code> is just a classification of 160, 240, or 320 (or some arbitrary value if you wanted to your own classification). By default Flex considers any device DPI of &lt; 200 = 160, &gt; 200 = 240 = &lt; 280, and &gt; 280 = 320. Now you can override the class <code>mx.core.RuntimeDPIProvider</code>, in the first case this controls the scaling, the second case it sets the <code>applicationDPI</code> value.</p>
<p>The rest of the post will make use of extending <code>mx.core.RuntimeDPIProvider</code> to handle incorrect DPIs from the OS and control the look between phones and tables.</p>
<p><strong>Handling Incorrect DPIs</strong></p>
<p>It just happens that on the <a href="http://renaun.com/blog/2011/03/air-2-6-capabilities-screendpi-on-devices/">Android devices depending on the OS and manufacturers there is a chance of the device reporting their DPI incorrectly</a>. I address this problem in Caltrain Times application, specifically on the Motorola Atrix, in my custom extended <code>mx.core.RuntimeDPIProvider</code> class. The basis of my thoughts go back to the current landscape screen resolution and screen size values. I check the resolution threshold of 1024x600=614400 and screen size to figure out case that just don't make sense. Here is the code for screenSize and pixel checking:</p>
<div class="igBar"><span id="lactionscript-4"><a href="#" onclick="javascript:showPlainTxt('actionscript-4'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">ACTIONSCRIPT:</span>
<div id="actionscript-4">
<div class="actionscript"><span style="color: #000000; font-weight: bold;">var</span> screenX:<span style="color: #0066CC;">Number</span> = <span style="color: #0066CC;">Capabilities</span>.<span style="color: #0066CC;">screenResolutionX</span>;<br />
<span style="color: #000000; font-weight: bold;">var</span> screenY:<span style="color: #0066CC;">Number</span> = <span style="color: #0066CC;">Capabilities</span>.<span style="color: #0066CC;">screenResolutionY</span>;<br />
<span style="color: #000000; font-weight: bold;">var</span> pixelCheck:<span style="color: #0066CC;">Number</span> = screenX * screenY;<br />
<span style="color: #000000; font-weight: bold;">var</span> pixels:<span style="color: #0066CC;">Number</span> = <span style="color: #66cc66;">&#40;</span>screenX*screenX<span style="color: #66cc66;">&#41;</span> + <span style="color: #66cc66;">&#40;</span>screenY*screenY<span style="color: #66cc66;">&#41;</span>;<br />
<span style="color: #000000; font-weight: bold;">var</span> screenSize:<span style="color: #0066CC;">Number</span> = <span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">sqrt</span><span style="color: #66cc66;">&#40;</span>pixels<span style="color: #66cc66;">&#41;</span>/<span style="color: #0066CC;">Capabilities</span>.<span style="color: #0066CC;">screenDPI</span>;</div>
</div>
</div>
<p></p>
<p>In the case of a high resolution 4 inch Android device with incorrect DPI of < 220 you'll find that the screenSize is getting larger then 5 inches. In my application I just looked for any device that was larger then 4.3 screen size (might have to change that as phones get larger displays) and its screen resolution < 610000 with a report DPI of < 220. If all those criteria are found I force it to return a value of 240 which the correct value I want.</p>
<p>Here is the code (with some checks for the my desktop case in there too):</p>
<div class="igBar"><span id="lactionscript-5"><a href="#" onclick="javascript:showPlainTxt('actionscript-5'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">ACTIONSCRIPT:</span>
<div id="actionscript-5">
<div class="actionscript"><span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>screenSize&gt; <span style="color: #cc66cc;">4</span>.<span style="color: #cc66cc;">3</span> &amp;&amp; pixelCheck&gt; <span style="color: #cc66cc;">510000</span> &amp;&amp; pixelCheck &lt;<span style="color: #cc66cc;">610000</span> &amp;&amp;<br />
&nbsp; &nbsp; <span style="color: #0066CC;">Capabilities</span>.<span style="color: #0066CC;">screenDPI</span> &lt;<span style="color: #cc66cc;">240</span> &amp;&amp; pixelCheck != <span style="color: #cc66cc;">1296000</span><span style="color: #66cc66;">&#41;</span> <br />
<span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//trace(&quot;Force 240&quot;);</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">return</span> DPIClassification.<span style="color: #006600;">DPI_240</span>;<br />
<span style="color: #66cc66;">&#125;</span></div>
</div>
</div>
<p></p>
<p><em>Note: The source code can be found at <a href="https://github.com/renaun/CaltrainTimes/blob/master/src/com/renaun/mobile/dpi/CustomDPIProvider.as">https://github.com/renaun/CaltrainTimes/blob/master/src/com/renaun/mobile/dpi/CustomDPIProvider.as</a>.</em></p>
<p><strong>Applying your look to a set of devices by customizing the DPI classification in Flex</strong></p>
<p>In this example I use similar calculations to figure out if the device is of a tablet size. The reasoning for my Caltrain Times application is that I wanted to overrider the typical DPI classification of 160 for tablets to be rendered at the DPI classification of 240. For my application with the larger look on the bigger tablet screens it feels the screen out nicely and works well. Again I go into the custom runtime DPI class to do this. Here is the code:</p>
<div class="igBar"><span id="lactionscript-6"><a href="#" onclick="javascript:showPlainTxt('actionscript-6'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">ACTIONSCRIPT:</span>
<div id="actionscript-6">
<div class="actionscript"><span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>screenSize&gt; <span style="color: #cc66cc;">6</span>.<span style="color: #cc66cc;">9</span> &amp;&amp; screenSize &lt;<span style="color: #cc66cc;">11</span> &amp;&amp; pixelCheck&gt; <span style="color: #cc66cc;">610000</span> &amp;&amp; pixelCheck &lt;<span style="color: #cc66cc;">1920000</span> &amp;&amp; pixelCheck != <span style="color: #cc66cc;">1296000</span><span style="color: #66cc66;">&#41;</span><br />
<span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//trace(&quot;Force 240 Tablet&quot;);</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">return</span> DPIClassification.<span style="color: #006600;">DPI_240</span>;&nbsp; &nbsp;<br />
<span style="color: #66cc66;">&#125;</span></div>
</div>
</div>
<p></p>
<p>The "<code>pixelCheck < 1920000 &#038;& pixelCheck != 1296000</code>" part is to handle running it through adl on my desktop. The rest probably makes sense, in the current device landscape tablets are typically larger then 7 inches and smaller then 11 inches with a resolution greater then 1024x600. If these values show up then I apply the DPI classification of 240.</p>
<p><strong>Summary</strong></p>
<p>The main take away is don't take the devices DPI at face value. If you want more control of your application across various devices make use of some classification constraints and check screen size, resolution, and DPI. It might seem like a bunch of work but this class can be used across applications and projects with minor tweaks depending on content requirements. Its also a good way to figure out if its a tablet or smartphone and outside of Flex DPI classification. Enjoy.</p>
<p>Check out my <a href="https://max.adobe.com/schedule/by-session/design-to-release-building-a-multi-screen-mobile-application-/S3641">MAX 2011 talk</a> where I go through Caltrain Times in more detail, as well as the source code available on <a href="http://github.com/renaun/CaltrainTimes">github.com/renaun/CaltrainTimes</a>.</p>
                <p><center>&copy; %FIRST Erickson - visit the <a href="http://www.renaun.com">&lt;renaun.com:flexblog text="{ ModelLocator.myThoughts }"/&gt;</a> </center></p>            ]]></content:encoded>
			<wfw:commentRss>http://renaun.com/blog/2011/10/customizing-flex-applicationdpi-for-a-multiple-screen-size-application/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Flash Embed Font Unicode Range Generator</title>
		<link>http://renaun.com/blog/2011/10/flash-embed-font-unicode-range-generator/</link>
		<comments>http://renaun.com/blog/2011/10/flash-embed-font-unicode-range-generator/#comments</comments>
		<pubDate>Thu, 13 Oct 2011 23:20:58 +0000</pubDate>
		<dc:creator>Renaun Erickson</dc:creator>
				<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://renaun.com/blog/?p=1559</guid>
		<description><![CDATA[First off I am not sure why I haven't made this before. I have needed this over the years on a couple of projects. If you are embedding strings in an application and you know exactly what characters are being used this will come in handy to save on the SWF size. You can tell [...]]]></description>
			<content:encoded><![CDATA[<p>First off I am not sure why I haven't made this before. I have needed this over the years on a couple of projects. If you are embedding strings in an application and you know exactly what characters are being used this will come in handy to save on the SWF size.</p>
<p>You can tell Flash what glyphs of a font to embed with the unicodeRange property. Here is an example:</p>
<div class="igBar"><span id="lcss-8"><a href="#" onclick="javascript:showPlainTxt('css-8'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CSS:</span>
<div id="css-8">
<div class="css"><span style="color: #a1a100;">@font-face</span><br />
<span style="color: #66cc66;">&#123;</span><br />
&nbsp; src: <span style="color: #993333;">url</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">"/assets/fonts/Arial.otf"</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; fontFamily: myArial;<br />
&nbsp; embedAsCFF: true;<br />
&nbsp; unicodeRange: U+<span style="color: #cc66cc;">0018</span>, U+<span style="color: #cc66cc;">0020</span>-U+007F;<br />
<span style="color: #66cc66;">&#125;</span></div>
</div>
</div>
<p></p>
<p>What is not obvious is how to get those unicodeRange values. I created a web application that lets you input any text you want, in any language, and get back the correct unicodeRange for the exact glyphs in the input text.</p>
<p>Its called <a href="http://renaun.com/flex4/fefurg/">Flash Embed Font Unicode Range Generator</a>.<br />
<span id="more-1559"></span><br />
<div id="attachment_1561" class="wp-caption aligncenter" style="width: 568px"><a href="http://renaun.com/flex4/fefurg/"><img src="http://renaun.com/blog/wp-content/uploads/2011/10/Screen-shot-2011-10-13-at-4.16.38-PM.png" alt="" title="Flash Embed Font Unicode Range Generator" width="558"  class="size-full wp-image-1561" /></a><p class="wp-caption-text">Flash Embed Font Unicode Range Generator</p></div></p>
<p>It is a great tool to keep your SWf size down for mobile or for apps that are localizing to different languages where glyphs become large to include full ranges.</p>
<p>You can grab the source for the application on <a href="https://github.com/renaun/FlexExamples/tree/master/FlashEmbedFontUnicodeRangeGenerator">my github here</a>.</p>
                <p><center>&copy; %FIRST Erickson - visit the <a href="http://www.renaun.com">&lt;renaun.com:flexblog text="{ ModelLocator.myThoughts }"/&gt;</a> </center></p>            ]]></content:encoded>
			<wfw:commentRss>http://renaun.com/blog/2011/10/flash-embed-font-unicode-range-generator/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>

