<?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>Codehead&#039;s Dev Blog</title>
	<atom:link href="http://www.codehead.co.uk/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.codehead.co.uk/blog</link>
	<description>Random ramblings on development, tech and the world in general</description>
	<lastBuildDate>Thu, 19 Jan 2012 22:41:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Android 3D Font Example Source Code</title>
		<link>http://www.codehead.co.uk/blog/?p=298</link>
		<comments>http://www.codehead.co.uk/blog/?p=298#comments</comments>
		<pubDate>Thu, 19 Jan 2012 22:41:04 +0000</pubDate>
		<dc:creator>Codehead</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Demos]]></category>

		<guid isPermaLink="false">http://www.codehead.co.uk/blog/?p=298</guid>
		<description><![CDATA[As requested, I&#8217;m making the source to the 3D font example available. This code and hasn&#8217;t been optimised or even thoroughly checked, use at your own risk. Get it HERE]]></description>
			<content:encoded><![CDATA[<p>As requested, I&#8217;m making the source to the 3D font example available. This code and hasn&#8217;t been optimised or even thoroughly checked, use at your own risk.</p>
<p><img class="alignnone" src="http://www.codehead.co.uk/blog/wp-content/uploads/2011/03/QuadText.png" alt="" width="179" height="269" /></p>
<p>Get it <a title="HERE" href="http://www.codehead.co.uk/download/3d_font.zip" target="_blank">HERE</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.codehead.co.uk/blog/?feed=rss2&#038;p=298</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Rooting The Kindle Fire and Sideloading Google Apps</title>
		<link>http://www.codehead.co.uk/blog/?p=293</link>
		<comments>http://www.codehead.co.uk/blog/?p=293#comments</comments>
		<pubDate>Tue, 06 Dec 2011 21:03:10 +0000</pubDate>
		<dc:creator>Codehead</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[Android]]></category>

		<guid isPermaLink="false">http://www.codehead.co.uk/blog/?p=293</guid>
		<description><![CDATA[I picked up a Kindle Fire on my recent trip to the US. It&#8217;s a very nice bit of kit at a great price. However, as a UK based Amazon customer, I&#8217;m unable to download anything from the Amazon marketplace, so getting the Google market installed was a priority. Rooting was very simple, SuperOneClick did [...]]]></description>
			<content:encoded><![CDATA[<p>I picked up a Kindle Fire on my recent trip to the US. It&#8217;s a very nice bit of kit at a great price. However, as a UK based Amazon customer, I&#8217;m unable to download anything from the Amazon marketplace, so getting the Google market installed was a priority.</p>
<p>Rooting was very simple, <a href="http://shortfuse.org/?p=155">SuperOneClick</a> did the job in a flash. Getting the Google Apps sideloaded was a little more tricky. Most of the guides out there (I used <a href="http://forum.xda-developers.com/showthread.php?t=1351283">this one</a>) tell you to download RootExplorer to do the legwork of installing the APKs that provide the Google services, but as mentioned, UK Amazon accounts can&#8217;t get content from the US Amazon Marketplace. I did try to manually install the apps via ADB and later with a Terminal app that I managed to snag from GetJar, but all I got was crashes and error messages.</p>
<p>Eventually I went digging and managed to turn up an <a href="http://www.stuff4android.com/2011/11/09/root-explorer-2-17-2-17-apk-download-for-android/">APK for Root Explorer</a> on the web. After installing the tool I was able to get the GoogleFramework tools and Vending.apk (called com.amarket.apk in the package I found) installed. However, I still couldn&#8217;t get at the market, it force closed every time I logged in.</p>
<p>After a night&#8217;s sleep I re-read the guide and realised that my problem was a case of RTFM. I had installed vending.apk in /data/app (where normal apps live) instead of putting it in /system/app (there is a bold section in newer guides pointing this out). Now my Kindle has full access to the Market, I&#8217;ve downloaded a bunch of apps and even got rid of the Amazon launcher in favour of GO Launcher EX which gives a more familiar Android experience.</p>
<p>I&#8217;ve written up my experiences in the hope that they&#8217;ll help any non-US Kindle Fire users get their devices rooted and sideloaded with Googly goodness.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codehead.co.uk/blog/?feed=rss2&#038;p=293</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Things I Learnt Today #3 &#8211; How To Configure Apache Properly</title>
		<link>http://www.codehead.co.uk/blog/?p=287</link>
		<comments>http://www.codehead.co.uk/blog/?p=287#comments</comments>
		<pubDate>Fri, 11 Nov 2011 23:35:13 +0000</pubDate>
		<dc:creator>Codehead</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Things I Learnt Today]]></category>

		<guid isPermaLink="false">http://www.codehead.co.uk/blog/?p=287</guid>
		<description><![CDATA[Recently my Ubuntu Apache server crashed during a busy period on the site, one of the last events logged was: [error] server reached MaxClients setting, consider raising the MaxClients setting. The default for MaxClients in apache2.conf is 100. The log suggested raising this value, many sites I Googled up suggested raising the value too. There&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>Recently my Ubuntu Apache server crashed during a busy period on the site, one of the last events logged was:</p>
<pre>[error] server reached MaxClients setting, consider raising the MaxClients setting.</pre>
<p>The default for MaxClients in apache2.conf is 100. The log suggested raising this value, many sites I Googled up suggested raising the value too. There&#8217;s also a fair amount of confusion about the correct setting for StartServers, MinSpareServers and MaxSpareServers values.</p>
<p>After raising MaxClients to 200, the server conitinued to fail at peak times. I raised it to 300 and got a message from Apache that the value exceeded the maximum value and had been rolled back to 256. Juggling the Min/Max values made little difference and the server continued to be unreliable.</p>
<p>I needed the server to be reliable, I sat down to work out the problem logically.</p>
<ul>
<li>I determined the Multi-Processing Model (MPM) that my server was using. (&#8220;apache2 -l&#8221; lists the modules compiled into Apache, look for prefork or worker) which indicates which area of the config file to concentrate on.</li>
<li>Next I calculated the average and peak memory requirements of each client thread. &#8220;ps axo &#8216;size cmd&#8217; | grep apache2 | grep -v grep&#8221; will list the current apache processes and the memory used by each. Running this command at regular intervals with Cron and piping the output off to file allowed me to calculate an average load of 10Mb per process, with a peak value of 35Mb.</li>
</ul>
<p>Suddenly the reason for the crashes became clear, 256 theads of up to 35Mb works out to around 9Gb of allocated memory. My server only has 512Mb of RAM and a 1Gb swap partition.</p>
<p>Allowing 50Mb for MySQL and another 50Mb for the other system services, I set the MaxClients to 20. This means a maximum memory load of 700Mb from Apache. The server hasn&#8217;t crashed since, and although I get the MaxClients message in the logs, there&#8217;s no real slow down evident to visitors.</p>
<p>So there you go. If you&#8217;re running a site with MediaWiki or Drupal, PHP is generating heavy memory loads on your Apache processes. Even the default value of 100 for MaxClients will seriously overallocate most servers unless you&#8217;re got around 4Gb of memory available. My site gets reasonable traffic (~7000 page views a day) and runs quite happily in 512Mb now that Apache is properly configured.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codehead.co.uk/blog/?feed=rss2&#038;p=287</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Router Recovery</title>
		<link>http://www.codehead.co.uk/blog/?p=285</link>
		<comments>http://www.codehead.co.uk/blog/?p=285#comments</comments>
		<pubDate>Fri, 22 Apr 2011 19:14:57 +0000</pubDate>
		<dc:creator>Codehead</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[Hardware]]></category>

		<guid isPermaLink="false">http://www.codehead.co.uk/blog/?p=285</guid>
		<description><![CDATA[After getting all the bits together to build a JTag cable and saving a bunch of useful webpages on my laptop, I tried one last time to get my router to talk to me before opening the case up. Due to some fat fingered typing when setting a static IP on my computer, I accidentally [...]]]></description>
			<content:encoded><![CDATA[<p>After getting all the bits together to build a JTag cable and saving a bunch of useful webpages on my laptop, I tried one last time to get my router to talk to me before opening the case up.</p>
<p>Due to some fat fingered typing when setting a static IP on my computer, I accidentally put the PC on a 192.168.1.0/24 network. However, the router responded to pings on that subnet and I was able to TFTP a copy of the firmware to the device. After a reboot, the thing came back to life like nothing had happened.</p>
<p>I was relived to say the least, but still don&#8217;t really understand why it wasn&#8217;t on the default 192.168.0.0/24 net. Still it&#8217;s working now and that&#8217;s the main thing.</p>
<p>So, do I dare try to upgrade the firmware again?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codehead.co.uk/blog/?feed=rss2&#038;p=285</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Router Nightmare</title>
		<link>http://www.codehead.co.uk/blog/?p=282</link>
		<comments>http://www.codehead.co.uk/blog/?p=282#comments</comments>
		<pubDate>Wed, 20 Apr 2011 11:21:28 +0000</pubDate>
		<dc:creator>Codehead</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[Hardware]]></category>

		<guid isPermaLink="false">http://www.codehead.co.uk/blog/?p=282</guid>
		<description><![CDATA[I seem to be getting through routers at an unusually high rate. I&#8217;m on my fourth in three years. The previous victims had all been D-Links, which expired with depressing regularity. However,  the latest is a NetGear DGN2200 purchased in Dec 2010 which has been until recently. Over the last couple of weeks it has started to [...]]]></description>
			<content:encoded><![CDATA[<p>I seem to be getting through routers at an unusually high rate. I&#8217;m on my fourth in three years.</p>
<p>The previous victims had all been D-Links, which expired with depressing regularity. However,  the latest is a NetGear DGN2200 purchased in Dec 2010 which has been until recently. Over the last couple of weeks it has started to randomly drop out, losing Internet connectivity for around 10mins at a time.</p>
<p>Last night I had two drop outs in quick succession and I decided to log on to the admin page to see if anything was causing the problem.</p>
<p>One of the nice things about the router is that it automatically checks for firmware updates when you log in to the admin page. However, one of the bad things is that it doesn&#8217;t tell you when the update process is complete. I reset the router after about 10 minutes of inactivity and the damn thing died completely.</p>
<p>All I&#8217;ve been able to get since is a red power LED at boot and two flashing green LEDs (Ethernet Port #1 and Ethernet Status)  after about 20 seconds. The router won&#8217;t give out a DHCP address and I can&#8217;t connect via a static 192.168.0.0/24 address either.</p>
<p>Digging around the web suggests that I might need to build a JTag cable to re-flash the board directly. That would be an interesting project if I was doing it for fun on hardware that I didn&#8217;t care about, but as I&#8217;m tethering my phone to get Internet at the moment and Mrs Codehead is getting fed up, there&#8217;s a high level of urgency to get it right first  time building up.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codehead.co.uk/blog/?feed=rss2&#038;p=282</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Regular Quad Based Glyphs For The Android Text Renderer</title>
		<link>http://www.codehead.co.uk/blog/?p=276</link>
		<comments>http://www.codehead.co.uk/blog/?p=276#comments</comments>
		<pubDate>Sun, 13 Mar 2011 20:37:02 +0000</pubDate>
		<dc:creator>Codehead</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Coding]]></category>

		<guid isPermaLink="false">http://www.codehead.co.uk/blog/?p=276</guid>
		<description><![CDATA[Here&#8217;s a quick screen shot of the latest work on the Android GL font renderer. The 3D font is now rendered using regular quads. This means that you can apply regular translations and rotations to the text and have much more flexibility than the original DrawTex rendered fonts. The downside is that the output will [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a quick screen shot of the latest work on the Android GL font renderer.</p>
<p><a href="http://www.codehead.co.uk/blog/wp-content/uploads/2011/03/QuadText.png" target="_blank"><img class="size-full wp-image-277 alignleft" title="QuadText" src="http://www.codehead.co.uk/blog/wp-content/uploads/2011/03/QuadText.png" alt="" width="192" height="288" /></a></p>
<p>The 3D font is now rendered using regular quads. This means that you can apply regular translations and rotations to the text and have much more flexibility than the original DrawTex rendered fonts.</p>
<p>The downside is that the output will probably look worse in most situations, and at the moment, the code is quite slow.</p>
<p>I&#8217;m not releasing this as an update just yet. I&#8217;ve had to hack the older code around alot and the 3D text needs optimising, but I thought I share it as eye candy.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codehead.co.uk/blog/?feed=rss2&#038;p=276</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Android Bitmap Font Renderer Text Scaling Feature</title>
		<link>http://www.codehead.co.uk/blog/?p=269</link>
		<comments>http://www.codehead.co.uk/blog/?p=269#comments</comments>
		<pubDate>Wed, 09 Mar 2011 23:06:48 +0000</pubDate>
		<dc:creator>Codehead</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Coding]]></category>

		<guid isPermaLink="false">http://www.codehead.co.uk/blog/?p=269</guid>
		<description><![CDATA[After Matt&#8217;s question about text sizes and Bxm&#8217;s correction of my brainfart, I&#8217;ve added scaling to the Android text rendering code. The new SetScale() function is overloaded to provide two scaling methods. The first uses a single float value which preserves the aspect ratio of the quad when scaling the text output, the second allows [...]]]></description>
			<content:encoded><![CDATA[<p>After <a href="http://www.codehead.co.uk/blog/?p=258#comment-521" target="_blank">Matt&#8217;s question</a> about text sizes and<a href="http://www.codehead.co.uk/blog/?p=258#comment-529" target="_blank"> Bxm&#8217;s correction of my brainfart</a>, I&#8217;ve added scaling to the Android text rendering code.</p>
<p>The new SetScale() function is overloaded to provide two scaling methods. The first uses a single float value which preserves the aspect ratio of the quad when scaling the text output, the second allows the width and height scales to be specified independently with two float values.</p>
<p>The default scale value is 1.0, this is set when the font is initalised. This value produces regular text with no scaling. Setting the value to 2.0 produces double size text and a value of 0.5 halves the output size.</p>
<p><span id="more-269"></span></p>
<p>The quality of the scaled text decreases as the scale increases, as seen in these screenshots.</p>
<table width="100%">
<tbody>
<tr>
<td align="center"><img class="size-full wp-image-270   alignnone" title="Scaled text using GL_NEAREST" src="http://www.codehead.co.uk/blog/wp-content/uploads/2011/03/nearest.png" alt="" width="320" height="480" /></td>
<td align="center"><img class="size-full wp-image-271    alignnone" title="Scaled text using GL_LINEAR" src="http://www.codehead.co.uk/blog/wp-content/uploads/2011/03/linear.png" alt="" width="320" height="480" /></td>
</tr>
<tr>
<td align="center">Scaled text using GL_NEAREST</td>
<td align="center">Scaled text using GL_LINEAR</td>
</tr>
</tbody>
</table>
<p>GL_NEAREST produces reasonable small text, but you might want to play about with the texture MIN/MAG settings to see which gives best results for your needs.</p>
<p>Scaling works for PrintAt() and Print(), the Messy text has scaling changed mid-string using the SetCursor() and Print() functions. This highlights the need to look at glyph baselines, but that&#8217;s a problem for another day.</p>
<p>Also, the GetTextLength() and GetTextHeight() functions have been tweaked to take scaling into account when returning sizes.</p>
<p>Other changes in this update are a divide by zero check in the load functions and the addition of Apache 2.0 licencing to the code. I hope the licence doesn&#8217;t cause any problems for anybody, its a permissive licence and shouldn&#8217;t get in the way.</p>
<p>As always, the code is available at <a href="http://www.codehead.co.uk/cbfg/TexFont.java" target="_blank">http://www.codehead.co.uk/cbfg/TexFont.java</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.codehead.co.uk/blog/?feed=rss2&#038;p=269</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Customer Service FTW!</title>
		<link>http://www.codehead.co.uk/blog/?p=266</link>
		<comments>http://www.codehead.co.uk/blog/?p=266#comments</comments>
		<pubDate>Sat, 05 Mar 2011 18:07:06 +0000</pubDate>
		<dc:creator>Codehead</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://www.codehead.co.uk/blog/?p=266</guid>
		<description><![CDATA[I coudn&#8217;t put up with the stupid keyboard on the new HP laptop, so I took it back to Currys after a just one day of use. I was expecting them to turn me away as I had opened the box, trashed all the sticky plastic protectors and generally messed around with it. However, as [...]]]></description>
			<content:encoded><![CDATA[<p>I coudn&#8217;t put up with the <a title="New Laptop, Stupid Design" href="http://www.codehead.co.uk/blog/?p=261" target="_blank">stupid keyboard on the new HP laptop</a>, so I took it back to <a href="http://www.currys.co.uk" target="_blank">Currys</a> after a just one day of use. I was expecting them to turn me away as I had opened the box, trashed all the sticky plastic protectors and generally messed around with it. However, as I hadn&#8217;t registered it (does anyone ever use that free junk that comes pre-loaded?) and I&#8217;d run the restore wizard to return it to the OOBE state, they happily let me choose another laptop.</p>
<p>I settled on an <a href="http://www.google.co.uk/search?q=Acer+5742+core+i5" target="_blank">Acer 5742 i5</a>. It has pretty much the same spec as the G62 but it has a proper keyboard (including numeric pad), no softkeys and a touchpad that&#8217;s delineated by a tray. It&#8217;s so much better and has given me no stress at all so far. I should never have turned my back on Acer.</p>
<p>So, I&#8217;d like to thank the guys and gals at Currys for genuinely surprising me with their excellent customer service and I&#8217;d like to tell HP that they need to sack their designers and get some usability testers in.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codehead.co.uk/blog/?feed=rss2&#038;p=266</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Laptop, Stupid Design</title>
		<link>http://www.codehead.co.uk/blog/?p=261</link>
		<comments>http://www.codehead.co.uk/blog/?p=261#comments</comments>
		<pubDate>Fri, 04 Mar 2011 10:50:46 +0000</pubDate>
		<dc:creator>Codehead</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://www.codehead.co.uk/blog/?p=261</guid>
		<description><![CDATA[I picked up my lovely shiney new HP G62 laptop yesterday. Although it&#8217;s much faster, smaller and lighter than my old Acer, there&#8217;s a couple of design issues that have me wondering if HP did any user testing before put the thing into production. Firstly the touchpad is completely smooth and flush with the case. This [...]]]></description>
			<content:encoded><![CDATA[<p>I picked up my lovely shiney new <a href="http://www.google.co.uk/search?q=hp+g62-b50sa">HP G62</a> laptop yesterday. Although it&#8217;s much faster, smaller and lighter than my old Acer, there&#8217;s a couple of design issues that have me wondering if HP did any user testing before put the thing into production.</p>
<p>Firstly the touchpad is completely smooth and flush with the case. This means that you cannot find the edge of the pad by feel. This makes the edge scrolling feature far less intuitive. However, this is offset by the multi-touch feature that allows scrolling by using a two finger stoke. Not a huge problem, but it&#8217;s annoying and could have been easily avoided by sticking to accepted convention of having the touchpad in a tray or adding raised edges.</p>
<p>The second (and bigger) issue is the positioning of the soft keys for email, web, calculator, etc. I&#8217;ve never been a big fan of softkeys, but they&#8217;re normally out of the way above the keyboard. For some reason, HP have moved them down to form an extra column on the left side of the keyboard (the Insert, Delete, Home, End and  Page Up/Down keys form a matching column on the right side just to really throw you off). This means that when you type by feel, pressing ctrl opens the calculator, pressing shift invokes print, caps lock starts your browser and tab opens a media player. I had only been using the machine for a few minutes when I was ready to launch it across the room in frustration at the constant interruption of the calculator and printer dialogs popping up while typing.</p>
<p>The laptop does go to great lengths to look stylish and break the grey box/black box mould that laptops tend to conform to, but changing established design practices for purely aesthetic reasons is just plain stupid and has resulted in the product being close to unusable for me. I get the feeling they&#8217;re trying (a failing) to emulate a MacBook keyboard</p>
<p>I&#8217;ve had a dig around the Net and it seems <a href="http://h30434.www3.hp.com/t5/Notebook-Operating-systems-and/How-to-disable-Quick-Launch-keys-on-G62/td-p/272315">I&#8217;m not alone</a> in finding these design choices difficult to work with. There are a few hacks that work around the problem ranging from registry tweaks to custom hotkey scripts and even physical mods to the keyboard, but there is nothing that relieves the problem completely. The HP forum offers no hope of an offical fix and I&#8217;m beginning to wonder if I might be better off just returning the unit to the store before the &#8216;cool down&#8217; period ends.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codehead.co.uk/blog/?feed=rss2&#038;p=261</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Alternative Load Function for Android BFF Loader</title>
		<link>http://www.codehead.co.uk/blog/?p=258</link>
		<comments>http://www.codehead.co.uk/blog/?p=258#comments</comments>
		<pubDate>Fri, 18 Feb 2011 21:51:06 +0000</pubDate>
		<dc:creator>Codehead</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Coding]]></category>

		<guid isPermaLink="false">http://www.codehead.co.uk/blog/?p=258</guid>
		<description><![CDATA[In response to Luis&#8217; problems with the Android port of CBFG&#8217;s Bitmap Font loader, I&#8217;ve re-written the loader to only use read() and provide a bit more feedback if things go wrong. The new load function is called LoadFontAlt() and as before, the BFF file should be placed in the Assets folder of your project. [...]]]></description>
			<content:encoded><![CDATA[<p>In response to Luis&#8217; problems with the Android port of CBFG&#8217;s Bitmap Font loader, I&#8217;ve re-written the loader to only use read() and provide a bit more feedback if things go wrong. The new load function is called LoadFontAlt() and as before, the BFF file should be placed in the Assets folder of your project.</p>
<p>The old LoadFont() function is still present although LoadFontAlt() will replace it once I&#8217;m happy that it is performing correctly.</p>
<p>Get the source <a title="Android BFF loader source code" href="http://www.codehead.co.uk/cbfg/TexFont.java" target="_blank">HERE</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.codehead.co.uk/blog/?feed=rss2&#038;p=258</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
	</channel>
</rss>

