<?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>mrm-sama ga miteru v3.0 &#187; mrm</title>
	<atom:link href="http://www.perry.es/author/admin/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.perry.es</link>
	<description>The sky was the color of television tuned to a dead channel.</description>
	<lastBuildDate>Thu, 09 Feb 2012 22:04:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>¡Tiempo, coño!</title>
		<link>http://www.perry.es/2012/02/09/tiempo-cono/</link>
		<comments>http://www.perry.es/2012/02/09/tiempo-cono/#comments</comments>
		<pubDate>Thu, 09 Feb 2012 19:21:05 +0000</pubDate>
		<dc:creator>mrm</dc:creator>
				<category><![CDATA[Random]]></category>

		<guid isPermaLink="false">http://www.perry.es/?p=30160</guid>
		<description><![CDATA[Llega un punto en que tienes tantas ideas, tantos proyectos, tantas ganas de hacer tantas cosas&#8230; y tan poco tiempo, ¡que se hace desesperante! Lo jodido es que acabas por no hacer nada, lo quieres todo con resultados rápidos, y sabes que podrías hacer lo que te propusieses&#8230; pero claro, no tienes tiempo para hacerlo [...]]]></description>
			<content:encoded><![CDATA[<p>Llega un punto en que tienes tantas ideas, tantos proyectos, tantas ganas de hacer tantas cosas&#8230; y tan poco tiempo, ¡que se hace desesperante!</p>
<p>Lo jodido es que acabas por no hacer nada, lo quieres todo con resultados rápidos, y sabes que podrías hacer lo que te propusieses&#8230; pero claro, no tienes tiempo para hacerlo todo.</p>
<p><a href="http://www.perry.es/2012/02/09/tiempo-cono/tiempo/" rel="attachment wp-att-30161"><img class="aligncenter size-full wp-image-30161" title="Tiempo" src="http://www.perry.es/extra/uploads/2012/02/Tiempo.jpg" alt="" width="452" height="452" /></a></p>
<p>El attention span de un pez, oiga.</p>
<p>Random /cry over.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.perry.es/2012/02/09/tiempo-cono/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hackintosh actualizado a 10.7.3</title>
		<link>http://www.perry.es/2012/02/02/hackintosh-actualizado-a-10-7-3/</link>
		<comments>http://www.perry.es/2012/02/02/hackintosh-actualizado-a-10-7-3/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 19:22:02 +0000</pubDate>
		<dc:creator>mrm</dc:creator>
				<category><![CDATA[Random]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[10.7.3]]></category>
		<category><![CDATA[hackintosh]]></category>
		<category><![CDATA[lion]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[tutoriales]]></category>

		<guid isPermaLink="false">http://www.perry.es/?p=29854</guid>
		<description><![CDATA[Hoy ha salido la actualización de Lion a 10.7.3, así que no hay tiempo que perder. Los pasos para aplicarla que he seguido son: Instalar el combo update 10.7.3. Cuando termina, antes de pulsar a reiniciar, instalar del MultiBeast 4.2.1 el AppleHDA Rollback únicamente. Reiniciar Ha sido fácil, rápido, e indoloro. Y ya van las shares [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.perry.es/2012/02/02/hackintosh-actualizado-a-10-7-3/20120202-xmsjeyb5b92jky5nkmpie31cc4/" rel="attachment wp-att-29855"><img class="aligncenter size-full wp-image-29855" title="Lion 10.7.3 en Hackintosh" src="http://www.perry.es/extra/uploads/2012/02/20120202-xmsjeyb5b92jky5nkmpie31cc4.png" alt="" width="308" height="380" /></a></p>
<p>Hoy ha salido la actualización de <a href="http://support.apple.com/kb/DL1484">Lion a 10.7.3</a>, así que no hay tiempo que perder. Los pasos para aplicarla que he seguido son:</p>
<ul>
<li>Instalar el combo update 10.7.3.</li>
<li>Cuando termina, antes de pulsar a reiniciar, instalar del <a href="http://www.tonymacx86.com/C:Dq-OCPpT/MultiBeast-4.2.1.zip">MultiBeast 4.2.1</a> el AppleHDA Rollback únicamente.</li>
<li>Reiniciar <img src='http://www.perry.es/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ul>
<p>Ha sido fácil, rápido, e indoloro. Y ya van las shares con Windows por red <img src='http://www.perry.es/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.perry.es/2012/02/02/hackintosh-actualizado-a-10-7-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mi Hackintosh con Lion 10.7.2</title>
		<link>http://www.perry.es/2011/11/12/mi-hackintosh-con-lion-10-7-2/</link>
		<comments>http://www.perry.es/2011/11/12/mi-hackintosh-con-lion-10-7-2/#comments</comments>
		<pubDate>Sat, 12 Nov 2011 19:38:39 +0000</pubDate>
		<dc:creator>mrm</dc:creator>
				<category><![CDATA[Random]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[hackintosh]]></category>
		<category><![CDATA[lion]]></category>
		<category><![CDATA[mac os x]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.perry.es/?p=26628</guid>
		<description><![CDATA[Ha sido fácil e indoloro para mi setup ya comentada en el post anterior del tema. Básicamente: Consigues (compras o lo que sea) el Lion, para tener la aplicación &#8220;Install Mac OS X Lion&#8221; que te bajas de la App Store. Esto pone ese &#8220;.app&#8221; en la carpeta de Aplicaciones, donde la queremos. Formateamos un [...]]]></description>
			<content:encoded><![CDATA[<p>Ha sido fácil e indoloro para mi setup ya comentada en el <a href="http://www.perry.es/2011/08/21/instalando-mi-hackintosh-con-sandy-bridge-esa-gran-aventura/">post anterior del tema</a>.</p>
<p><a href="http://www.perry.es/2011/11/12/mi-hackintosh-con-lion-10-7-2/lion_10_7_2/" rel="attachment wp-att-26633"><img class="aligncenter" title="Lion at last" src="http://www.perry.es/extra/uploads/2011/11/lion_10_7_2.png" alt="" width="306" height="378" /></a></p>
<p>Básicamente:</p>
<ul>
<li>Consigues (compras o lo que sea) el Lion, para tener la aplicación &#8220;Install Mac OS X Lion&#8221; que te bajas de la App Store. Esto pone ese &#8220;.app&#8221; en la carpeta de Aplicaciones, donde la queremos.</li>
<li>Formateamos un pendrive (o similar, dongle con microsd vale igual) de 8GB desde la Utilidad de Discos, con formato Mac OS X Journaled, y en opciones marcamos la última (Master Boot Record).</li>
<li>Descargamos el <a href="http://tonymacx86.blogspot.com/2011/10/unibeast-install-mac-os-x-lion-using.html">UniBeast</a> del gran tonymacx86 y lo ejecutamos. Elegimos como destino nuestro USB limpito, y como tipo de instalación &#8220;Mac App Store Install Mac OS X Lion&#8221;. Tras 10 minutos ya está listo el pen lleno de amor.</li>
<li>Reiniciamos el ordenador y hacemos que arranque desde USB. Nos sale el típico menú del Chameleon, en el cual elegimos &#8220;USB&#8221;.</li>
<li>Instalamos Lion normalmente.</li>
<li>Cuando termina la instalación reiniciamos, con el pendrive de nuevo como arranque, pero esta vez elegimos la opción del disco duro en el que hemos instalado Lion.</li>
<li>Tras la instalación hay cosas que no funcionan, como el sonido. Con el <a href="http://www.tonymacx86.com/viewforum.php?f=125">MultiBeast</a> para Lion, para esta placa, elegimos en Drivers &gt; Kexts &gt; Audio &gt; Realtek &gt; ALC8xxHDA, y aparte, en Non-DSDT HDAEnabler, elegimos el ALC 892. Para que funcione la red, hay que ir a Drivers &gt; Kexts &gt; Network y seleccionar AppleIntelE1000e Ethernet. Para tener el bootloader adecuado, seleccionamos el último Chameleon que haya en Drivers &gt; Bootloaders. Para la controladora SATA especial, en Drivers &gt; Kexts &gt; Disk marcamos JMicron36xSATA.</li>
<li>Reiniciamos, y todo nos irá correctamente.</li>
<li>Ahora procedemos a bajar el <a href="http://support.apple.com/kb/DL1459">Combo Update del 10.7.2</a> de la página de Apple. Lo instalamos sin problemas hasta el final, y cuando acabe, antes de reiniciar, ejecutamos el MultiBeast de nuevo e instalamos únicamente el AppleHDA Rollback.</li>
<li>Reiniciamos de nuevo, y ya está, 10.7.2 con todo funcionando <img src='http://www.perry.es/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ul>
<p><a href="http://www.perry.es/2011/11/12/mi-hackintosh-con-lion-10-7-2/mac_pro_proof/" rel="attachment wp-att-26634"><img class="aligncenter size-full wp-image-26634" title="Me lo toma como un Mac Pro del año la polca xD" src="http://www.perry.es/extra/uploads/2011/11/mac_pro_proof.png" alt="" width="584" height="331" /></a></p>
<p>Habrá más formas de hacerlo, pero para mi setup esta ha sido la más sencillita. Por cierto, siempre recomiendo que tengáis copias de seguridad del sistema con Time Machine, por si rompéis algo, que siempre con esto de juguetear con los KEXT es lo más normal.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.perry.es/2011/11/12/mi-hackintosh-con-lion-10-7-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fate/Zero, ufotable también pwneando en TV</title>
		<link>http://www.perry.es/2011/10/02/fatezero-ufotable-tambien-pwneando-en-tv/</link>
		<comments>http://www.perry.es/2011/10/02/fatezero-ufotable-tambien-pwneando-en-tv/#comments</comments>
		<pubDate>Sun, 02 Oct 2011 15:34:30 +0000</pubDate>
		<dc:creator>mrm</dc:creator>
				<category><![CDATA[Anime]]></category>
		<category><![CDATA[Fate/stay night]]></category>
		<category><![CDATA[Fate/zero]]></category>
		<category><![CDATA[ufotable]]></category>

		<guid isPermaLink="false">http://www.perry.es/?p=24428</guid>
		<description><![CDATA[Anonadado me hallo después de disfrutar del primer capítulo (de casi 1h de duración) de Fate/zero. Ganas tremendas de más. Carne de gallina al final. Awesomely awesome. Calidad de producción altísima, de la mano de los grandes ufotable, con unos medios parecidos a los de las películas de la gran Kara no Kyoukai. La verdad, [...]]]></description>
			<content:encoded><![CDATA[<p>Anonadado me hallo después de disfrutar del primer capítulo (de casi 1h de duración) de Fate/zero. Ganas tremendas de más. Carne de gallina al final. Awesomely awesome.</p>
<p><a href="http://www.perry.es/2011/10/02/fatezero-ufotable-tambien-pwneando-en-tv/fatezero/" rel="attachment wp-att-24429"><img class="aligncenter size-full wp-image-24429" title="Fate / Zero" src="http://www.perry.es/extra/uploads/2011/10/fatezero.jpg" alt="" width="500" height="359" /></a>Calidad de producción altísima, de la mano de los grandes ufotable, con unos medios parecidos a los de las películas de la gran Kara no Kyoukai.</p>
<p>La verdad, tengo poquísimo tiempo para fansubear últimamente, pero creo que es necesario compaginar lo poquito que hay de Carnival Phantasm con esto, para completar el círculo de Type-MOON que toca este otoño.</p>
<p>Obviamente, la haremos en <a href="http://www.aunder.org">AU</a>, y será en colaboración con <a href="http://www.inshuheki.org">IS</a>. En breve empezamos a sacar amor.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.perry.es/2011/10/02/fatezero-ufotable-tambien-pwneando-en-tv/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Carnival Phantasm is full of awesome</title>
		<link>http://www.perry.es/2011/08/23/carnival-phantasm-is-full-of-awesome/</link>
		<comments>http://www.perry.es/2011/08/23/carnival-phantasm-is-full-of-awesome/#comments</comments>
		<pubDate>Tue, 23 Aug 2011 09:34:48 +0000</pubDate>
		<dc:creator>mrm</dc:creator>
				<category><![CDATA[Anime]]></category>
		<category><![CDATA[animeunderground]]></category>
		<category><![CDATA[carnival phantasm]]></category>
		<category><![CDATA[type-moon]]></category>

		<guid isPermaLink="false">http://www.perry.es/?p=21913</guid>
		<description><![CDATA[Ayer por fin pude tener algo de tiempo para ver Carnival Phantasm, y vaya si valió la pena&#8230; es impressive para el Type-Moon tard como servidor xD Una producción de calidad y humor absurdo con casi la totalidad de mis personajes favoritos. No pude evitar traducirla, y pronto la sacaremos en AU xD]]></description>
			<content:encoded><![CDATA[<p>Ayer por fin pude tener algo de tiempo para ver Carnival Phantasm, y vaya si valió la pena&#8230; es impressive para el Type-Moon tard como servidor xD</p>
<p><a href="http://www.perry.es/2011/08/23/carnival-phantasm-is-full-of-awesome/carnivalphantasmovacopy/" rel="attachment wp-att-21914"><img class="aligncenter size-large wp-image-21914" title="Carnival, hajimaru yo!" src="http://www.perry.es/extra/uploads/2011/08/CarnivalPhantasmOVAcopy-655x459.jpg" alt="" width="620" height="434" /></a></p>
<p>Una producción de calidad y humor absurdo con casi la totalidad de mis personajes favoritos. No pude evitar traducirla, y pronto la sacaremos en AU xD</p>
]]></content:encoded>
			<wfw:commentRss>http://www.perry.es/2011/08/23/carnival-phantasm-is-full-of-awesome/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Instalando mi Hackintosh con Sandy Bridge, esa gran aventura</title>
		<link>http://www.perry.es/2011/08/21/instalando-mi-hackintosh-con-sandy-bridge-esa-gran-aventura/</link>
		<comments>http://www.perry.es/2011/08/21/instalando-mi-hackintosh-con-sandy-bridge-esa-gran-aventura/#comments</comments>
		<pubDate>Sun, 21 Aug 2011 15:02:28 +0000</pubDate>
		<dc:creator>mrm</dc:creator>
				<category><![CDATA[Random]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[hackintosh]]></category>
		<category><![CDATA[mac os x]]></category>
		<category><![CDATA[snow leopard]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.perry.es/?p=21792</guid>
		<description><![CDATA[Antes de las vacaciones me compré componentes para renovar en gran medida mi PC, y con la idea puesta en hacer un arranque dual Windows 7 / Snow Leopard. Paso de Lion de momento, que ya me está dando el coñazo en el portátil y en el trabajo y hasta que no lo mejoren&#8230;. Por [...]]]></description>
			<content:encoded><![CDATA[<p>Antes de las vacaciones me compré componentes para renovar en gran medida mi PC, y con la idea puesta en hacer un arranque dual Windows 7 / Snow Leopard. Paso de Lion de momento, que ya me está dando el coñazo en el portátil y en el trabajo y hasta que no lo mejoren&#8230;.</p>
<p>Por cuestiones de trabajo tengo que tener Mac OS X, y bastante hice comprándome un MBP. Así que un Hackintosh es lo suyo.</p>
<p>Los componentes los compré teniendo en cuenta la compatibilidad que veía en multitud de posts de <a href="http://www.insanelymac.com">InsanelyMac</a>. A saber, básicamente:</p>
<ul>
<li>Asus Sabertooth P67 B3 Socket 1155</li>
<li>Intel i7-2600K</li>
<li>2 x G.Skill Ripjaws X DDR3 2133 PC3-17000 8GB 2x4GB CL9 (16GB RAM)</li>
<li>Lian Li PC-A71F Negra</li>
<li>Logitech HD Pro Webcam C910</li>
<li>Scythe Mugen 2 Rev.B CPU Cooler</li>
<li>Seagate Barracuda Green 2TB (+otros 6 HD que ya tenía)</li>
<li>OCZ SSD Vertex 3 120GB (ya lo tenía)</li>
<li>Corsair TX750 (ya la tenía)</li>
<li>Sapphire Radeon HD5770 (ya la tenía)</li>
</ul>
<p>Relativamente apañado, y todo comprobado que es compatible con Mac OS X. Tras unos problemillas instalando la placa, al final conseguí que funcionase W7 sin problema alguno y como una auténtica bala.</p>
<p><a href="http://www.perry.es/2011/08/21/instalando-mi-hackintosh-con-sandy-bridge-esa-gran-aventura/hackintosh/" rel="attachment wp-att-21794"><img class="aligncenter size-large wp-image-21794" title="Mi hackintosh" src="http://www.perry.es/extra/uploads/2011/08/hackintosh-655x491.jpg" alt="" width="620" height="464" /></a>Me empapé de conocimiento de webs de referencia como <a href="http://tonymacx86.com/">tonymacx86</a> o <a href="http://hackintosh.com">hackintosh.com</a>, pero aun así me costó un montón encontrar mi manera de instalarlo bien puesto que que sea Sandy Bridge hace las cosas un poco más complicadas.</p>
<p>Esto no es para nada común, cada hardware que tengáis hará que estos pasos varíen, pero vamos que es válido para la mayoría de Sandy Bridge que hay ahora mismo en el mercado.</p>
<p>Al final, la cosa fue como sigue:</p>
<ol>
<li>Nos hacemos con un Snow Leopard retail, y a ser posible, lo grabamos en un USB para que no tarde tanto en instalar (para ello nos haría falta tener un ordenador con Mac OS X, si no pues tiramos adelante con un DVD grabado y au). Nos bajamos en algún lado el <a href="http://support.apple.com/kb/DL1361">Combo 10.6.7</a>, como en otro pendrive o lo que sea. También nos bajamos el MultiBeast actualizado de tonymacx86.</li>
<li>Nos grabamos el <a href="http://www.insanelymac.com/forum/index.php?showtopic=252849">Andy&#8217;s Boot CD</a>, y arrancamos desde él con el DVD (o USB) de Snow Leopard metido en la unidad correspondiente.</li>
<li>Booteamos desde el disco llamado Mac OS X Install DVD.</li>
<li>Instalamos el sistema normalmente, particionando el disco duro que queramos como Mac OS Plus (con registro) y metiéndolo ahí.</li>
<li>Cuando haya terminado, reiniciará. En el cargador elegimos el sistema que acabamos de instalar.</li>
<li>Al iniciar, en el Andy&#8217;s Boot CD hay un paquete llamado P8P67 Pro Install Package. Lo copiamos al escritorio y lo ejecutamos desde ahí.</li>
<li>Cuando termine, sacamos el CD de Andy&#8217;s Boot CD de la unidad, y reiniciamos el ordenador.</li>
<li>Instalamos el Combo update 10.6.7, y cuando finalice y nos pida reiniciar NO LO HACEMOS.</li>
<li>Volvemos a instalar el P8P67 Pro Install Package.</li>
<li>Ahora sí, reiniciamos.</li>
<li>Para que funcione el sonido de esta placa en concreto, ejecutamos el MultiBeast marcando únicamente las siguientes opciones (Audio &gt; Non DSDT -&gt; ALC892):<a href="http://www.perry.es/2011/08/21/instalando-mi-hackintosh-con-sandy-bridge-esa-gran-aventura/multibeast/" rel="attachment wp-att-21797"><img class="aligncenter size-medium wp-image-21797" title="Seteos sonido multibeast" src="http://www.perry.es/extra/uploads/2011/08/multibeast-325x227.png" alt="" width="325" height="227" /></a></li>
<li>Una vez instalado, en Preferencias de Sistema, Sonido, en el tab &#8220;Salida&#8221; marcamos Internal Speakers y cerramos. <a href="http://www.perry.es/2011/08/21/instalando-mi-hackintosh-con-sandy-bridge-esa-gran-aventura/sonido/" rel="attachment wp-att-21798"><br />
<img class="aligncenter size-medium wp-image-21798" title="seteos de sonido" src="http://www.perry.es/extra/uploads/2011/08/sonido-325x239.png" alt="" width="325" height="239" /></a></li>
<li>Y ya está, un Snow Leopard funcional a prueba de bombas <img src='http://www.perry.es/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ol>
<div>No es muy difícil, pero llegar a la solución correcta para cada hardware es un dolor. Antes de preguntar cómo hacer cualquier cosa, una buena búsqueda en google en los foros de InsanelyMac o tonymac lo arregla todo <img src='http://www.perry.es/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </div>
<div><a href="http://www.perry.es/2011/08/21/instalando-mi-hackintosh-con-sandy-bridge-esa-gran-aventura/acerca-de-este-mac/" rel="attachment wp-att-21799"><img class="aligncenter size-full wp-image-21799" title="Mi hackintosh" src="http://www.perry.es/extra/uploads/2011/08/Acerca-de-este-mac.png" alt="" width="160" height="197" /></a>Y eso es todo. La 10.6.8 no la he instalado todavía porque me da problemillas con Sandy Bridge, y la solución que da la gente del UpdateHelper no me vale.</div>
]]></content:encoded>
			<wfw:commentRss>http://www.perry.es/2011/08/21/instalando-mi-hackintosh-con-sandy-bridge-esa-gran-aventura/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Autumn is coming</title>
		<link>http://www.perry.es/2011/08/17/autumn-is-coming/</link>
		<comments>http://www.perry.es/2011/08/17/autumn-is-coming/#comments</comments>
		<pubDate>Wed, 17 Aug 2011 19:02:30 +0000</pubDate>
		<dc:creator>mrm</dc:creator>
				<category><![CDATA[Anime]]></category>
		<category><![CDATA[Fate/stay night]]></category>
		<category><![CDATA[Fate/zero]]></category>

		<guid isPermaLink="false">http://www.perry.es/?p=21214</guid>
		<description><![CDATA[Ganas, muchas ganas de esto. Ganitas de ver las hostias en la Fuyuki de 10 años antes del imbécil de Shirou. Ah, related info, la grandiosa macatraca se ha puesto a traducir la novela visual de Fate. ¡Deseadle suerte, nasuniversianos!]]></description>
			<content:encoded><![CDATA[<p>Ganas, muchas ganas de esto.</p>
<p><iframe src="http://www.youtube.com/embed/fkGaGBrS7_k?rel=0" frameborder="0" width="560" height="349"></iframe></p>
<p>Ganitas de ver las hostias en la Fuyuki de 10 años antes del imbécil de Shirou. Ah, related info, la grandiosa <a href="http://twitter.com/macatraca_">macatraca</a> se ha puesto a <a href="http://blogs.aunder.org/macatraca/2011/08/17/la-odisea-de-traducir-fate-stay-night/">traducir la novela visual de Fate</a>. ¡Deseadle suerte, nasuniversianos!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.perry.es/2011/08/17/autumn-is-coming/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mantenimiento</title>
		<link>http://www.perry.es/2011/08/16/mantenimiento/</link>
		<comments>http://www.perry.es/2011/08/16/mantenimiento/#comments</comments>
		<pubDate>Tue, 16 Aug 2011 17:52:53 +0000</pubDate>
		<dc:creator>mrm</dc:creator>
				<category><![CDATA[Sobre la web]]></category>
		<category><![CDATA[actualización]]></category>
		<category><![CDATA[mantenimiento]]></category>
		<category><![CDATA[mclovin]]></category>
		<category><![CDATA[tohsaka rin]]></category>

		<guid isPermaLink="false">http://www.perry.es/?p=21098</guid>
		<description><![CDATA[La web ha cambiado de ubicación tras más de 2 años en mi queridísimo servidor bautizado como Rin. Rin pasará en breve a mejor vida, así que demos la bienvenida al nuevo servidor, McLovin. Pues eso, que si veis que algo funciona raro, me comentáis.]]></description>
			<content:encoded><![CDATA[<p>La web ha cambiado de ubicación tras más de 2 años en mi queridísimo servidor bautizado como Rin.<br />
<a href="http://www.perry.es/2011/08/16/mantenimiento/tohsaka_rin/" rel="attachment wp-att-21099"><img class="aligncenter size-medium wp-image-21099" title="tohsaka_rin" src="http://www.perry.es/extra/uploads/2011/08/tohsaka_rin-325x243.jpg" alt="" width="325" height="243" /></a><br />
Rin pasará en breve a mejor vida, así que demos la bienvenida al nuevo servidor, McLovin.<br />
<a href="http://www.perry.es/2011/08/16/mantenimiento/1216741996647_f/" rel="attachment wp-att-21100"><img class="aligncenter size-medium wp-image-21100" title="1216741996647_f" src="http://www.perry.es/extra/uploads/2011/08/1216741996647_f-325x207.jpg" alt="" width="325" height="207" /></a>Pues eso, que si veis que algo funciona raro, me comentáis.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.perry.es/2011/08/16/mantenimiento/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configurar el Swype en roms MIUI</title>
		<link>http://www.perry.es/2011/06/09/configurar-el-swype-en-roms-miui/</link>
		<comments>http://www.perry.es/2011/06/09/configurar-el-swype-en-roms-miui/#comments</comments>
		<pubDate>Thu, 09 Jun 2011 09:02:22 +0000</pubDate>
		<dc:creator>mrm</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[miui]]></category>
		<category><![CDATA[swype]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.perry.es/?p=13319</guid>
		<description><![CDATA[Como muchos otros, disfruto de una ROM MIUI para mi Desire HD, concretamente la hecha por los geniales cocineros de MIUI.es. Pero la conjunción con el mejor teclado para Android, el Swype, es bastante puta. Resulta que para licenciar tu copia de Swype se necesita poder desactivar el teclado, y eso MIUI no lo permite. [...]]]></description>
			<content:encoded><![CDATA[<p><a rel="attachment wp-att-13320" href="http://www.perry.es/2011/06/09/configurar-el-swype-en-roms-miui/banner_dhd1/"><img class="alignleft size-medium wp-image-13320" title="Desire HD con ROM MIUI de MIUI.es" src="http://www.perry.es/extra/uploads/2011/06/Banner_DHD1-e1307606985524.png" alt="" width="189" height="169" /></a>Como muchos otros, disfruto de una ROM <strong>MIUI</strong> para mi Desire HD, concretamente la hecha por los geniales cocineros de <a href="http://miui.es">MIUI.es</a>. Pero la conjunción con el mejor teclado para Android, el <a href="http://www.perry.es/tag/swype/">Swype</a>, es bastante puta.</p>
<p>Resulta que para licenciar tu copia de Swype se necesita poder desactivar el teclado, y eso <strong>MIUI no lo permite</strong>. Se supone que tendríamos que tener una checkbox para hacerlo pero no la hay.</p>
<p><a rel="attachment wp-att-13347" href="http://www.perry.es/2011/06/09/configurar-el-swype-en-roms-miui/what-is-swype/"><img class="alignright size-thumbnail wp-image-13347" title="what-is-swype" src="http://www.perry.es/extra/uploads/2011/06/what-is-swype-e1307607658359-150x150.jpg" alt="" width="150" height="150" /></a>Pero no desesperéis, sí hay una manera. Necesitaremos dos cosas:</p>
<ol>
<li>El instalador de un Swype nuestro, que podéis conseguir gratuitamente en <a href="http://beta.swype.com/">la página de la beta</a>.</li>
<li>La aplicación <a href="https://market.android.com/details?id=com.keramidas.TitaniumBackup&amp;feature=search_result">Titanium Backup</a>.</li>
</ol>
<p>Una vez tengamos ambas cosas, tenemos que seguir unos pocos pasos al pie de la letra (funcionando a día de 9 de Junio del 2011):</p>
<ol>
<li>Si tenemos instalado el Swype con anterioridad, <strong>desinstalarlo</strong>. También desinstalar el Swype Installer.</li>
<li>Bajar el instalador del Swype.</li>
<li>Llegar a cuando se te activa el botón de <strong>Generate License</strong>.</li>
<li>Cuando dice que seleccionemos otro teclado, <strong>seleccionamos uno cualquiera que no sea Swype</strong>.</li>
<li>Llegaremos al punto que dice que desactivemos el Swype, cosa que es lo que no podemos hacer. Aquí <strong>dejamos apretada la tecla HOME hasta que salga la lista de tareas</strong> ejecutándose en ese momento.</li>
<li>Pasamos al Titanium Backup. Allí buscamos en la segunda pestaña de <strong>Copiar/Restaurar</strong>, buscamos el Swype, clickeamos sobre su nombre, y se nos abrirá una ventana modal. En ella, seleccionamos <strong>Copiar</strong>. Una vez realizada la copia, nos dirá que se tiene que cerrar la aplicación. Después seleccionamos <strong>Desinstalar</strong>, en el propio Titanium Backup.</li>
<li>Dejando apretada la tecla <strong>HOME</strong>, <strong>volvemos al instalador</strong> de Swype.</li>
<li>Nos dirá que tiene que <strong>volver a bajar el Swype</strong> (debe ser la misma versión que antes). Lo hacemos. Llegaremos de nuevo al paso 6, pero esta vez <strong>nos saltamos el paso de Copiar, y vamos directamente a Desinstalar</strong>.</li>
<li>Dejando apretada la tecla <strong>HOME</strong>, <strong>volvemos al instalador</strong> de Swype.</li>
<li>Nos pedirá el instalador nuestro login, aceptamos, y <strong>bajamos de nuevo el Swype</strong> (el mismo que todas las anteriores veces).</li>
<li>Esta vez <strong>NO INSTALAMOS LA APLICACIÓN</strong>. Cuando nos salga la notificación de instalar, apretamos la tecla <strong>HOME</strong> y <strong>vamos al Titanium Backup</strong>.</li>
<li><strong>Buscamos el Swype</strong>, que nos saldrá como desinstalado pero con 1 copia de seguridad -la que hicimos antes-, lo seleccionamos y le damos a <strong>Restaurar</strong>.</li>
<li>Dejamos pulsada la tecla <strong>HOME</strong>, volvemos al <strong>instalador del Swype</strong>, <strong>cancelamos la instalación</strong> y presionamos la tecla de Atrás hasta <strong>salir completamente del instalador</strong>, ignorando totalmente cuando ponga &#8220;Generating License&#8230;&#8221;.</li>
<li>Vamos a cualquier aplicación con una cajita de texto, hasta que salga el selector de métodos de entrada. Seleccionamos cualquier teclado que <strong>no sea</strong> el Swype.</li>
<li>Repetimos este paso, y <strong>seleccionamos el Swype</strong> esta vez.</li>
<li>PROFIT.</li>
</ol>
<p>Es un rollazo que te cagas, pero funciona. Espero que os sea útil <img src='http://www.perry.es/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.perry.es/2011/06/09/configurar-el-swype-en-roms-miui/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Implementar soporte a Emoji en aplicaciones Android</title>
		<link>http://www.perry.es/2011/05/31/implementar-soporte-a-emoji-en-aplicaciones-android/</link>
		<comments>http://www.perry.es/2011/05/31/implementar-soporte-a-emoji-en-aplicaciones-android/#comments</comments>
		<pubDate>Tue, 31 May 2011 11:00:14 +0000</pubDate>
		<dc:creator>mrm</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Móvil]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[emoji]]></category>
		<category><![CDATA[snippets]]></category>

		<guid isPermaLink="false">http://www.perry.es/?p=9996</guid>
		<description><![CDATA[Creo que voy a comenzar explicando primero qué es esto de Emoji a los que no lo sepan, y dar un poco de antecedentes al respecto. Originario de los keitai japoneses, los caracteres emoji vendrían a ser una variante muy arraigada de lo que conocemos por emoticonos. Vaya, sólo hay que fijarse en que los propios [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-9997" title="mobile_gmail_emoji" src="http://www.perry.es/extra/uploads/2011/05/mobile_gmail_emoji.png" alt="" width="252" height="296" />Creo que voy a comenzar explicando primero qué es esto de Emoji a los que no lo sepan, y dar un poco de antecedentes al respecto.</p>
<p>Originario de los keitai japoneses, los caracteres <strong>emoji</strong> vendrían a ser una variante muy arraigada de lo que conocemos por emoticonos. Vaya, sólo hay que fijarse en que los propios emoji han conseguido tener una serie de caracteres propios en el espacio unicode.</p>
<p>Si bien en un principio <a href="http://surf-style.us/manual3.htm">había varias variantes</a> según el fabricante de móviles/operador japos, ahora está bastante estandarizado, al haberse metido por medio nada menos que gigantes como Apple o Google, y la revisión 6 de Unicode los aúna a todos.</p>
<p>Para ver una curiosa comparativa entre Emoji y la conocida Dingbats, podéis echar un vistazo a <a href="http://www.unicode.org/faq/emoji_dingbats.html#4">este artículo</a>.</p>
<p>Pero vamos al lío. Los emoji se han popularizado en occidente por ser una manera de mostrar emoticonos en iOS (iPhone/iPad) de forma fácil, aprovechándose de las características de internacionalización del móvil, y proporcionando un interfaz común a todas las aplicaciones para ello. Por cuestiones de trabajo (&#8230;and again) he tenido que tomar decisiones al respecto de implementar un soporte a emoticonos, y me he decidido por utilizar lo más estándar que hay al respecto, que es emoji. Pero su utilización en Android de la misma manera que en iPhone no es válida, así que me ha tocado ponerme el traje de trabajo y programar una clase que me permita intercalar el texto con las imágenes.</p>
<p>Para empezar, hace falta el pack de imágenes que deberemos meter en <strong>/res/drawable-mdpi/</strong> de nuestro proyecto. Os lo pongo para descargar aquí.<br />
<a href="http://www.perry.es/descargas/Pack+de+im%C3%A1genes+Emoji">Pack de imágenes Emoji</a> 1.0 - 328 hits</p>
<p>Para mapear las imágenes a caracteres utilizo una clase estática que he llamado <strong>EmoticonUtils.java</strong>, y cuyo código os voy a poner aquí. Es sencilla, lo que pasa es que es un poco coñazo porque es meter muchos datos a pelo, ya que la solución elegante (usando reflection) es inviable por lentísima (y ya sabemos que a mayor gasto de CPU en un móvil, mucho mayor consumo de batería).</p>
<p><pre>
package com.mrm.emoji;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.Map.Entry;
import android.content.Context;
import android.text.Spannable;
import android.text.SpannableStringBuilder;
import android.text.style.ImageSpan;
import com.mrm.emoji.R;
public class EmoticonUtils {
	public enum Tipo { Smiley, Place, Nature, Event, Symbol };
	private final static HashMap&lt;String, Integer&gt; emoticons = new HashMap&lt;String, Integer&gt;();
	private final static HashMap&lt;String, String[]&gt; categories = new HashMap&lt;String, String[]&gt;();
	 // Vectores de caracteres unicode en formato hex (necesitan conversi&oacute;n)
	private final static int[] smileys = new int[] { 0xe415, 0xe056, 0xe057, 0xe414, 0xe405, 0xe106, 0xe418, 0xe417, 0xe40d, 0xe40a, 0xe404, 0xe105, 0xe409, 0xe40e, 0xe402,
		0xe108, 0xe403, 0xe058, 0xe407, 0xe401, 0xe40f, 0xe40b, 0xe406, 0xe413, 0xe411, 0xe412, 0xe410, 0xe107, 0xe059, 0xe416, 0xe408, 0xe40c, 0xe11a,
		0xe10c, 0xe32c, 0xe32a, 0xe32d, 0xe328, 0xe32b, 0xe022, 0xe023, 0xe327, 0xe329, 0xe32e, 0xe335, 0xe334, 0xe337, 0xe336, 0xe13c, 0xe330, 0xe331,
		0xe326, 0xe03e, 0xe11d, 0xe05a, 0xe00e, 0xe421, 0xe420, 0xe00d, 0xe010, 0xe011, 0xe41e, 0xe012, 0xe422, 0xe22e, 0xe22f, 0xe231, 0xe230, 0xe427,
		0xe41d, 0xe00f, 0xe41f, 0xe14c, 0xe201, 0xe115, 0xe428, 0xe51f, 0xe429, 0xe424, 0xe423, 0xe253, 0xe426, 0xe111, 0xe425, 0xe31e, 0xe31f, 0xe31d,
		0xe001, 0xe002, 0xe005, 0xe004, 0xe51a, 0xe519, 0xe518, 0xe515, 0xe516, 0xe517, 0xe51b, 0xe152, 0xe04e, 0xe51c, 0xe51e, 0xe11c, 0xe536, 0xe003,
		0xe41c, 0xe41b, 0xe419, 0xe41a, 0xe32f, 0xe10d };
	private final static int[] places = new int[] { 0xe036, 0xe157, 0xe038, 0xe153, 0xe155, 0xe14d, 0xe156, 0xe501, 0xe158, 0xe43d, 0xe037, 0xe504, 0xe44a, 0xe146, 0xe50a, 0xe505,
		0xe506, 0xe122, 0xe508, 0xe509, 0xe03b, 0xe04d, 0xe449, 0xe44b, 0xe51d, 0xe44c, 0xe124, 0xe121, 0xe433, 0xe202, 0xe135, 0xe01c, 0xe01d, 0xe010,
		0xe136, 0xe42e, 0xe01b, 0xe15a, 0xe159, 0xe432, 0xe430, 0xe431, 0xe42f, 0xe01e, 0xe039, 0xe435, 0xe01f, 0xe125, 0xe03a, 0xe14e, 0xe252, 0xe137,
		0xe209, 0xe154, 0xe133, 0xe150, 0xe320, 0xe123, 0xe132, 0xe143, 0xe50b, 0xe514, 0xe513, 0xe50c, 0xe50d, 0xe511, 0xe50f, 0xe512, 0xe510, 0xe50e };
	private final static int[] nature = new int[] { 0xe04a, 0xe04b, 0xe049, 0xe048, 0xe04c, 0xe13d, 0xe443, 0xe43e, 0xe04f, 0xe052, 0xe053, 0xe524, 0xe52c, 0xe52a, 0xe531, 0xe050,
		0xe527, 0xe051, 0xe10b, 0xe52b, 0xe52f, 0xe109, 0xe528, 0xe01a, 0xe134, 0xe530, 0xe529, 0xe526, 0xe52d, 0xe521, 0xe523, 0xe52e, 0xe055, 0xe525,
		0xe10a, 0xe522, 0xe019, 0xe054, 0xe520, 0xe306, 0xe030, 0xe304, 0xe110, 0xe032, 0xe305, 0xe303, 0xe118, 0xe447, 0xe119, 0xe307, 0xe308, 0xe444,
		0xe441, 0xe436 };
	private final static int[] events = new int[] { 0xe437, 0xe438, 0xe43a, 0xe439, 0xe43b, 0xe117, 0xe440, 0xe442, 0xe446, 0xe445, 0xe11b, 0xe448, 0xe033, 0xe112, 0xe325, 0xe312,
		0xe310, 0xe126, 0xe127, 0xe008, 0xe03d, 0xe00c, 0xe12a, 0xe00a, 0xe00b, 0xe009, 0xe316, 0xe129, 0xe141, 0xe142, 0xe317, 0xe128, 0xe14b, 0xe211,
		0xe114, 0xe145, 0xe144, 0xe03f, 0xe313, 0xe116, 0xe10f };
	private final static int[] symbols = new int[] { 0xe21c, 0xe21d, 0xe21e, 0xe21f, 0xe220, 0xe221, 0xe222, 0xe223, 0xe224, 0xe225, 0xe210, 0xe232, 0xe233, 0xe235, 0xe234, 0xe236,
		0xe237, 0xe238, 0xe239, 0xe23b, 0xe23a, 0xe23d, 0xe23c, 0xe24d, 0xe212, 0xe24c, 0xe213, 0xe214, 0xe507, 0xe203, 0xe20b, 0xe22a, 0xe22b, 0xe226,
		0xe227, 0xe22c, 0xe22d, 0xe215, 0xe216, 0xe217, 0xe218, 0xe228, 0xe151, 0xe138, 0xe139, 0xe13a, 0xe208, 0xe14f, 0xe20a, 0xe434, 0xe309, 0xe315,
		0xe30d, 0xe207, 0xe229, 0xe206, 0xe205, 0xe204, 0xe12e, 0xe250, 0xe251, 0xe14a, 0xe149, 0xe104, 0xe103, 0xe101, 0xe102, 0xe13f, 0xe140, 0xe11f,
		0xe12f, 0xe031, 0xe30e, 0xe311, 0xe113, 0xe30f, 0xe13b, 0xe42b, 0xe42a, 0xe018, 0xe016, 0xe015, 0xe014, 0xe42c, 0xe42d, 0xe017, 0xe013, 0xe20e,
		0xe20c, 0xe20f, 0xe20d, 0xe131, 0xe12b, 0xe130, 0xe12d, 0xe324, 0xe301, 0xe148, 0xe502, 0xe03c, 0xe30a, 0xe042, 0xe040, 0xe041, 0xe12c, 0xe007,
		0xe31a, 0xe31b, 0xe13e, 0xe13b, 0xe006, 0xe302, 0xe319, 0xe321, 0xe322, 0xe314, 0xe503, 0xe10e, 0xe318, 0xe43c, 0xe11e, 0xe323, 0xe31c, 0xe034, 0xe035,
		0xe045, 0xe338, 0xe047, 0xe30c, 0xe044, 0xe30b, 0xe043, 0xe120, 0xe33b, 0xe33f, 0xe341, 0xe34c, 0xe344, 0xe342, 0xe33d, 0xe33e, 0xe340, 0xe34d,
		0xe339, 0xe147, 0xe343, 0xe33c, 0xe33a, 0xe43f, 0xe34b, 0xe046, 0xe345, 0xe346, 0xe348, 0xe347, 0xe34a, 0xe349, 0xe23f, 0xe240, 0xe241, 0xe242,
		0xe243, 0xe244, 0xe245, 0xe246, 0xe247, 0xe248, 0xe249, 0xe24a, 0xe24b, 0xe23e, 0xe532, 0xe533, 0xe534, 0xe535, 0xe21a, 0xe219, 0xe21b, 0xe02f,
		0xe024, 0xe025, 0xe026, 0xe027, 0xe028, 0xe029, 0xe02a, 0xe02b, 0xe02c, 0xe02d, 0xe02e, 0xe332, 0xe333, 0xe24e, 0xe24f, 0xe537 };
	/**
	 * Inicializaci&oacute;n est&aacute;tica de los emoji
	 */
	static {
		// a&ntilde;adimos uno a uno los Drawable de todos los emoticonos
		// a&ntilde;adir los drawable usando reflection es demasiado costoso
		emoticons.put(String.format(&quot;%C&quot;,0xe001),R.drawable.emoji_e001);
		emoticons.put(String.format(&quot;%C&quot;,0xe002),R.drawable.emoji_e002);
		emoticons.put(String.format(&quot;%C&quot;,0xe003),R.drawable.emoji_e003);
		emoticons.put(String.format(&quot;%C&quot;,0xe004),R.drawable.emoji_e004);
		emoticons.put(String.format(&quot;%C&quot;,0xe005),R.drawable.emoji_e005);
		emoticons.put(String.format(&quot;%C&quot;,0xe006),R.drawable.emoji_e006);
		emoticons.put(String.format(&quot;%C&quot;,0xe007),R.drawable.emoji_e007);
		emoticons.put(String.format(&quot;%C&quot;,0xe008),R.drawable.emoji_e008);
		emoticons.put(String.format(&quot;%C&quot;,0xe009),R.drawable.emoji_e009);
		emoticons.put(String.format(&quot;%C&quot;,0xe00a),R.drawable.emoji_e00a);
		emoticons.put(String.format(&quot;%C&quot;,0xe00b),R.drawable.emoji_e00b);
		emoticons.put(String.format(&quot;%C&quot;,0xe00c),R.drawable.emoji_e00c);
		emoticons.put(String.format(&quot;%C&quot;,0xe00d),R.drawable.emoji_e00d);
		emoticons.put(String.format(&quot;%C&quot;,0xe00e),R.drawable.emoji_e00e);
		emoticons.put(String.format(&quot;%C&quot;,0xe00f),R.drawable.emoji_e00f);
		emoticons.put(String.format(&quot;%C&quot;,0xe010),R.drawable.emoji_e010);
		emoticons.put(String.format(&quot;%C&quot;,0xe011),R.drawable.emoji_e011);
		emoticons.put(String.format(&quot;%C&quot;,0xe012),R.drawable.emoji_e012);
		emoticons.put(String.format(&quot;%C&quot;,0xe013),R.drawable.emoji_e013);
		emoticons.put(String.format(&quot;%C&quot;,0xe014),R.drawable.emoji_e014);
		emoticons.put(String.format(&quot;%C&quot;,0xe015),R.drawable.emoji_e015);
		emoticons.put(String.format(&quot;%C&quot;,0xe016),R.drawable.emoji_e016);
		emoticons.put(String.format(&quot;%C&quot;,0xe017),R.drawable.emoji_e017);
		emoticons.put(String.format(&quot;%C&quot;,0xe018),R.drawable.emoji_e018);
		emoticons.put(String.format(&quot;%C&quot;,0xe019),R.drawable.emoji_e019);
		emoticons.put(String.format(&quot;%C&quot;,0xe01a),R.drawable.emoji_e01a);
		emoticons.put(String.format(&quot;%C&quot;,0xe01b),R.drawable.emoji_e01b);
		emoticons.put(String.format(&quot;%C&quot;,0xe01c),R.drawable.emoji_e01c);
		emoticons.put(String.format(&quot;%C&quot;,0xe01d),R.drawable.emoji_e01d);
		emoticons.put(String.format(&quot;%C&quot;,0xe01e),R.drawable.emoji_e01e);
		emoticons.put(String.format(&quot;%C&quot;,0xe01f),R.drawable.emoji_e01f);
		emoticons.put(String.format(&quot;%C&quot;,0xe020),R.drawable.emoji_e020);
		emoticons.put(String.format(&quot;%C&quot;,0xe021),R.drawable.emoji_e021);
		emoticons.put(String.format(&quot;%C&quot;,0xe022),R.drawable.emoji_e022);
		emoticons.put(String.format(&quot;%C&quot;,0xe023),R.drawable.emoji_e023);
		emoticons.put(String.format(&quot;%C&quot;,0xe024),R.drawable.emoji_e024);
		emoticons.put(String.format(&quot;%C&quot;,0xe025),R.drawable.emoji_e025);
		emoticons.put(String.format(&quot;%C&quot;,0xe026),R.drawable.emoji_e026);
		emoticons.put(String.format(&quot;%C&quot;,0xe027),R.drawable.emoji_e027);
		emoticons.put(String.format(&quot;%C&quot;,0xe028),R.drawable.emoji_e028);
		emoticons.put(String.format(&quot;%C&quot;,0xe029),R.drawable.emoji_e029);
		emoticons.put(String.format(&quot;%C&quot;,0xe02a),R.drawable.emoji_e02a);
		emoticons.put(String.format(&quot;%C&quot;,0xe02b),R.drawable.emoji_e02b);
		emoticons.put(String.format(&quot;%C&quot;,0xe02c),R.drawable.emoji_e02c);
		emoticons.put(String.format(&quot;%C&quot;,0xe02d),R.drawable.emoji_e02d);
		emoticons.put(String.format(&quot;%C&quot;,0xe02e),R.drawable.emoji_e02e);
		emoticons.put(String.format(&quot;%C&quot;,0xe02f),R.drawable.emoji_e02f);
		emoticons.put(String.format(&quot;%C&quot;,0xe030),R.drawable.emoji_e030);
		emoticons.put(String.format(&quot;%C&quot;,0xe031),R.drawable.emoji_e031);
		emoticons.put(String.format(&quot;%C&quot;,0xe032),R.drawable.emoji_e032);
		emoticons.put(String.format(&quot;%C&quot;,0xe033),R.drawable.emoji_e033);
		emoticons.put(String.format(&quot;%C&quot;,0xe034),R.drawable.emoji_e034);
		emoticons.put(String.format(&quot;%C&quot;,0xe035),R.drawable.emoji_e035);
		emoticons.put(String.format(&quot;%C&quot;,0xe036),R.drawable.emoji_e036);
		emoticons.put(String.format(&quot;%C&quot;,0xe037),R.drawable.emoji_e037);
		emoticons.put(String.format(&quot;%C&quot;,0xe038),R.drawable.emoji_e038);
		emoticons.put(String.format(&quot;%C&quot;,0xe039),R.drawable.emoji_e039);
		emoticons.put(String.format(&quot;%C&quot;,0xe03a),R.drawable.emoji_e03a);
		emoticons.put(String.format(&quot;%C&quot;,0xe03b),R.drawable.emoji_e03b);
		emoticons.put(String.format(&quot;%C&quot;,0xe03c),R.drawable.emoji_e03c);
		emoticons.put(String.format(&quot;%C&quot;,0xe03d),R.drawable.emoji_e03d);
		emoticons.put(String.format(&quot;%C&quot;,0xe03e),R.drawable.emoji_e03e);
		emoticons.put(String.format(&quot;%C&quot;,0xe03f),R.drawable.emoji_e03f);
		emoticons.put(String.format(&quot;%C&quot;,0xe040),R.drawable.emoji_e040);
		emoticons.put(String.format(&quot;%C&quot;,0xe041),R.drawable.emoji_e041);
		emoticons.put(String.format(&quot;%C&quot;,0xe042),R.drawable.emoji_e042);
		emoticons.put(String.format(&quot;%C&quot;,0xe043),R.drawable.emoji_e043);
		emoticons.put(String.format(&quot;%C&quot;,0xe044),R.drawable.emoji_e044);
		emoticons.put(String.format(&quot;%C&quot;,0xe045),R.drawable.emoji_e045);
		emoticons.put(String.format(&quot;%C&quot;,0xe046),R.drawable.emoji_e046);
		emoticons.put(String.format(&quot;%C&quot;,0xe047),R.drawable.emoji_e047);
		emoticons.put(String.format(&quot;%C&quot;,0xe048),R.drawable.emoji_e048);
		emoticons.put(String.format(&quot;%C&quot;,0xe049),R.drawable.emoji_e049);
		emoticons.put(String.format(&quot;%C&quot;,0xe04a),R.drawable.emoji_e04a);
		emoticons.put(String.format(&quot;%C&quot;,0xe04b),R.drawable.emoji_e04b);
		emoticons.put(String.format(&quot;%C&quot;,0xe04c),R.drawable.emoji_e04c);
		emoticons.put(String.format(&quot;%C&quot;,0xe04d),R.drawable.emoji_e04d);
		emoticons.put(String.format(&quot;%C&quot;,0xe04e),R.drawable.emoji_e04e);
		emoticons.put(String.format(&quot;%C&quot;,0xe04f),R.drawable.emoji_e04f);
		emoticons.put(String.format(&quot;%C&quot;,0xe050),R.drawable.emoji_e050);
		emoticons.put(String.format(&quot;%C&quot;,0xe051),R.drawable.emoji_e051);
		emoticons.put(String.format(&quot;%C&quot;,0xe052),R.drawable.emoji_e052);
		emoticons.put(String.format(&quot;%C&quot;,0xe053),R.drawable.emoji_e053);
		emoticons.put(String.format(&quot;%C&quot;,0xe054),R.drawable.emoji_e054);
		emoticons.put(String.format(&quot;%C&quot;,0xe055),R.drawable.emoji_e055);
		emoticons.put(String.format(&quot;%C&quot;,0xe056),R.drawable.emoji_e056);
		emoticons.put(String.format(&quot;%C&quot;,0xe057),R.drawable.emoji_e057);
		emoticons.put(String.format(&quot;%C&quot;,0xe058),R.drawable.emoji_e058);
		emoticons.put(String.format(&quot;%C&quot;,0xe059),R.drawable.emoji_e059);
		emoticons.put(String.format(&quot;%C&quot;,0xe05a),R.drawable.emoji_e05a);
		emoticons.put(String.format(&quot;%C&quot;,0xe101),R.drawable.emoji_e101);
		emoticons.put(String.format(&quot;%C&quot;,0xe102),R.drawable.emoji_e102);
		emoticons.put(String.format(&quot;%C&quot;,0xe103),R.drawable.emoji_e103);
		emoticons.put(String.format(&quot;%C&quot;,0xe104),R.drawable.emoji_e104);
		emoticons.put(String.format(&quot;%C&quot;,0xe105),R.drawable.emoji_e105);
		emoticons.put(String.format(&quot;%C&quot;,0xe106),R.drawable.emoji_e106);
		emoticons.put(String.format(&quot;%C&quot;,0xe107),R.drawable.emoji_e107);
		emoticons.put(String.format(&quot;%C&quot;,0xe108),R.drawable.emoji_e108);
		emoticons.put(String.format(&quot;%C&quot;,0xe109),R.drawable.emoji_e109);
		emoticons.put(String.format(&quot;%C&quot;,0xe10a),R.drawable.emoji_e10a);
		emoticons.put(String.format(&quot;%C&quot;,0xe10b),R.drawable.emoji_e10b);
		emoticons.put(String.format(&quot;%C&quot;,0xe10c),R.drawable.emoji_e10c);
		emoticons.put(String.format(&quot;%C&quot;,0xe10d),R.drawable.emoji_e10d);
		emoticons.put(String.format(&quot;%C&quot;,0xe10e),R.drawable.emoji_e10e);
		emoticons.put(String.format(&quot;%C&quot;,0xe10f),R.drawable.emoji_e10f);
		emoticons.put(String.format(&quot;%C&quot;,0xe110),R.drawable.emoji_e110);
		emoticons.put(String.format(&quot;%C&quot;,0xe111),R.drawable.emoji_e111);
		emoticons.put(String.format(&quot;%C&quot;,0xe112),R.drawable.emoji_e112);
		emoticons.put(String.format(&quot;%C&quot;,0xe113),R.drawable.emoji_e113);
		emoticons.put(String.format(&quot;%C&quot;,0xe114),R.drawable.emoji_e114);
		emoticons.put(String.format(&quot;%C&quot;,0xe115),R.drawable.emoji_e115);
		emoticons.put(String.format(&quot;%C&quot;,0xe116),R.drawable.emoji_e116);
		emoticons.put(String.format(&quot;%C&quot;,0xe117),R.drawable.emoji_e117);
		emoticons.put(String.format(&quot;%C&quot;,0xe118),R.drawable.emoji_e118);
		emoticons.put(String.format(&quot;%C&quot;,0xe119),R.drawable.emoji_e119);
		emoticons.put(String.format(&quot;%C&quot;,0xe11a),R.drawable.emoji_e11a);
		emoticons.put(String.format(&quot;%C&quot;,0xe11b),R.drawable.emoji_e11b);
		emoticons.put(String.format(&quot;%C&quot;,0xe11c),R.drawable.emoji_e11c);
		emoticons.put(String.format(&quot;%C&quot;,0xe11d),R.drawable.emoji_e11d);
		emoticons.put(String.format(&quot;%C&quot;,0xe11e),R.drawable.emoji_e11e);
		emoticons.put(String.format(&quot;%C&quot;,0xe11f),R.drawable.emoji_e11f);
		emoticons.put(String.format(&quot;%C&quot;,0xe120),R.drawable.emoji_e120);
		emoticons.put(String.format(&quot;%C&quot;,0xe121),R.drawable.emoji_e121);
		emoticons.put(String.format(&quot;%C&quot;,0xe122),R.drawable.emoji_e122);
		emoticons.put(String.format(&quot;%C&quot;,0xe123),R.drawable.emoji_e123);
		emoticons.put(String.format(&quot;%C&quot;,0xe124),R.drawable.emoji_e124);
		emoticons.put(String.format(&quot;%C&quot;,0xe125),R.drawable.emoji_e125);
		emoticons.put(String.format(&quot;%C&quot;,0xe126),R.drawable.emoji_e126);
		emoticons.put(String.format(&quot;%C&quot;,0xe127),R.drawable.emoji_e127);
		emoticons.put(String.format(&quot;%C&quot;,0xe128),R.drawable.emoji_e128);
		emoticons.put(String.format(&quot;%C&quot;,0xe129),R.drawable.emoji_e129);
		emoticons.put(String.format(&quot;%C&quot;,0xe12a),R.drawable.emoji_e12a);
		emoticons.put(String.format(&quot;%C&quot;,0xe12b),R.drawable.emoji_e12b);
		emoticons.put(String.format(&quot;%C&quot;,0xe12c),R.drawable.emoji_e12c);
		emoticons.put(String.format(&quot;%C&quot;,0xe12d),R.drawable.emoji_e12d);
		emoticons.put(String.format(&quot;%C&quot;,0xe12e),R.drawable.emoji_e12e);
		emoticons.put(String.format(&quot;%C&quot;,0xe12f),R.drawable.emoji_e12f);
		emoticons.put(String.format(&quot;%C&quot;,0xe130),R.drawable.emoji_e130);
		emoticons.put(String.format(&quot;%C&quot;,0xe131),R.drawable.emoji_e131);
		emoticons.put(String.format(&quot;%C&quot;,0xe132),R.drawable.emoji_e132);
		emoticons.put(String.format(&quot;%C&quot;,0xe133),R.drawable.emoji_e133);
		emoticons.put(String.format(&quot;%C&quot;,0xe134),R.drawable.emoji_e134);
		emoticons.put(String.format(&quot;%C&quot;,0xe135),R.drawable.emoji_e135);
		emoticons.put(String.format(&quot;%C&quot;,0xe136),R.drawable.emoji_e136);
		emoticons.put(String.format(&quot;%C&quot;,0xe137),R.drawable.emoji_e137);
		emoticons.put(String.format(&quot;%C&quot;,0xe138),R.drawable.emoji_e138);
		emoticons.put(String.format(&quot;%C&quot;,0xe139),R.drawable.emoji_e139);
		emoticons.put(String.format(&quot;%C&quot;,0xe13a),R.drawable.emoji_e13a);
		emoticons.put(String.format(&quot;%C&quot;,0xe13b),R.drawable.emoji_e13b);
		emoticons.put(String.format(&quot;%C&quot;,0xe13c),R.drawable.emoji_e13c);
		emoticons.put(String.format(&quot;%C&quot;,0xe13d),R.drawable.emoji_e13d);
		emoticons.put(String.format(&quot;%C&quot;,0xe13e),R.drawable.emoji_e13e);
		emoticons.put(String.format(&quot;%C&quot;,0xe13f),R.drawable.emoji_e13f);
		emoticons.put(String.format(&quot;%C&quot;,0xe140),R.drawable.emoji_e140);
		emoticons.put(String.format(&quot;%C&quot;,0xe141),R.drawable.emoji_e141);
		emoticons.put(String.format(&quot;%C&quot;,0xe142),R.drawable.emoji_e142);
		emoticons.put(String.format(&quot;%C&quot;,0xe143),R.drawable.emoji_e143);
		emoticons.put(String.format(&quot;%C&quot;,0xe144),R.drawable.emoji_e144);
		emoticons.put(String.format(&quot;%C&quot;,0xe145),R.drawable.emoji_e145);
		emoticons.put(String.format(&quot;%C&quot;,0xe146),R.drawable.emoji_e146);
		emoticons.put(String.format(&quot;%C&quot;,0xe147),R.drawable.emoji_e147);
		emoticons.put(String.format(&quot;%C&quot;,0xe148),R.drawable.emoji_e148);
		emoticons.put(String.format(&quot;%C&quot;,0xe149),R.drawable.emoji_e149);
		emoticons.put(String.format(&quot;%C&quot;,0xe14a),R.drawable.emoji_e14a);
		emoticons.put(String.format(&quot;%C&quot;,0xe14b),R.drawable.emoji_e14b);
		emoticons.put(String.format(&quot;%C&quot;,0xe14c),R.drawable.emoji_e14c);
		emoticons.put(String.format(&quot;%C&quot;,0xe14d),R.drawable.emoji_e14d);
		emoticons.put(String.format(&quot;%C&quot;,0xe14e),R.drawable.emoji_e14e);
		emoticons.put(String.format(&quot;%C&quot;,0xe14f),R.drawable.emoji_e14f);
		emoticons.put(String.format(&quot;%C&quot;,0xe150),R.drawable.emoji_e150);
		emoticons.put(String.format(&quot;%C&quot;,0xe151),R.drawable.emoji_e151);
		emoticons.put(String.format(&quot;%C&quot;,0xe152),R.drawable.emoji_e152);
		emoticons.put(String.format(&quot;%C&quot;,0xe153),R.drawable.emoji_e153);
		emoticons.put(String.format(&quot;%C&quot;,0xe154),R.drawable.emoji_e154);
		emoticons.put(String.format(&quot;%C&quot;,0xe155),R.drawable.emoji_e155);
		emoticons.put(String.format(&quot;%C&quot;,0xe156),R.drawable.emoji_e156);
		emoticons.put(String.format(&quot;%C&quot;,0xe157),R.drawable.emoji_e157);
		emoticons.put(String.format(&quot;%C&quot;,0xe158),R.drawable.emoji_e158);
		emoticons.put(String.format(&quot;%C&quot;,0xe159),R.drawable.emoji_e159);
		emoticons.put(String.format(&quot;%C&quot;,0xe15a),R.drawable.emoji_e15a);
		emoticons.put(String.format(&quot;%C&quot;,0xe201),R.drawable.emoji_e201);
		emoticons.put(String.format(&quot;%C&quot;,0xe202),R.drawable.emoji_e202);
		emoticons.put(String.format(&quot;%C&quot;,0xe203),R.drawable.emoji_e203);
		emoticons.put(String.format(&quot;%C&quot;,0xe204),R.drawable.emoji_e204);
		emoticons.put(String.format(&quot;%C&quot;,0xe205),R.drawable.emoji_e205);
		emoticons.put(String.format(&quot;%C&quot;,0xe206),R.drawable.emoji_e206);
		emoticons.put(String.format(&quot;%C&quot;,0xe207),R.drawable.emoji_e207);
		emoticons.put(String.format(&quot;%C&quot;,0xe208),R.drawable.emoji_e208);
		emoticons.put(String.format(&quot;%C&quot;,0xe209),R.drawable.emoji_e209);
		emoticons.put(String.format(&quot;%C&quot;,0xe20a),R.drawable.emoji_e20a);
		emoticons.put(String.format(&quot;%C&quot;,0xe20b),R.drawable.emoji_e20b);
		emoticons.put(String.format(&quot;%C&quot;,0xe20c),R.drawable.emoji_e20c);
		emoticons.put(String.format(&quot;%C&quot;,0xe20d),R.drawable.emoji_e20d);
		emoticons.put(String.format(&quot;%C&quot;,0xe20e),R.drawable.emoji_e20e);
		emoticons.put(String.format(&quot;%C&quot;,0xe20f),R.drawable.emoji_e20f);
		emoticons.put(String.format(&quot;%C&quot;,0xe210),R.drawable.emoji_e210);
		emoticons.put(String.format(&quot;%C&quot;,0xe211),R.drawable.emoji_e211);
		emoticons.put(String.format(&quot;%C&quot;,0xe212),R.drawable.emoji_e212);
		emoticons.put(String.format(&quot;%C&quot;,0xe213),R.drawable.emoji_e213);
		emoticons.put(String.format(&quot;%C&quot;,0xe214),R.drawable.emoji_e214);
		emoticons.put(String.format(&quot;%C&quot;,0xe215),R.drawable.emoji_e215);
		emoticons.put(String.format(&quot;%C&quot;,0xe216),R.drawable.emoji_e216);
		emoticons.put(String.format(&quot;%C&quot;,0xe217),R.drawable.emoji_e217);
		emoticons.put(String.format(&quot;%C&quot;,0xe218),R.drawable.emoji_e218);
		emoticons.put(String.format(&quot;%C&quot;,0xe219),R.drawable.emoji_e219);
		emoticons.put(String.format(&quot;%C&quot;,0xe21a),R.drawable.emoji_e21a);
		emoticons.put(String.format(&quot;%C&quot;,0xe21b),R.drawable.emoji_e21b);
		emoticons.put(String.format(&quot;%C&quot;,0xe21c),R.drawable.emoji_e21c);
		emoticons.put(String.format(&quot;%C&quot;,0xe21d),R.drawable.emoji_e21d);
		emoticons.put(String.format(&quot;%C&quot;,0xe21e),R.drawable.emoji_e21e);
		emoticons.put(String.format(&quot;%C&quot;,0xe21f),R.drawable.emoji_e21f);
		emoticons.put(String.format(&quot;%C&quot;,0xe220),R.drawable.emoji_e220);
		emoticons.put(String.format(&quot;%C&quot;,0xe221),R.drawable.emoji_e221);
		emoticons.put(String.format(&quot;%C&quot;,0xe222),R.drawable.emoji_e222);
		emoticons.put(String.format(&quot;%C&quot;,0xe223),R.drawable.emoji_e223);
		emoticons.put(String.format(&quot;%C&quot;,0xe224),R.drawable.emoji_e224);
		emoticons.put(String.format(&quot;%C&quot;,0xe225),R.drawable.emoji_e225);
		emoticons.put(String.format(&quot;%C&quot;,0xe226),R.drawable.emoji_e226);
		emoticons.put(String.format(&quot;%C&quot;,0xe227),R.drawable.emoji_e227);
		emoticons.put(String.format(&quot;%C&quot;,0xe228),R.drawable.emoji_e228);
		emoticons.put(String.format(&quot;%C&quot;,0xe229),R.drawable.emoji_e229);
		emoticons.put(String.format(&quot;%C&quot;,0xe22a),R.drawable.emoji_e22a);
		emoticons.put(String.format(&quot;%C&quot;,0xe22b),R.drawable.emoji_e22b);
		emoticons.put(String.format(&quot;%C&quot;,0xe22c),R.drawable.emoji_e22c);
		emoticons.put(String.format(&quot;%C&quot;,0xe22d),R.drawable.emoji_e22d);
		emoticons.put(String.format(&quot;%C&quot;,0xe22e),R.drawable.emoji_e22e);
		emoticons.put(String.format(&quot;%C&quot;,0xe22f),R.drawable.emoji_e22f);
		emoticons.put(String.format(&quot;%C&quot;,0xe230),R.drawable.emoji_e230);
		emoticons.put(String.format(&quot;%C&quot;,0xe231),R.drawable.emoji_e231);
		emoticons.put(String.format(&quot;%C&quot;,0xe232),R.drawable.emoji_e232);
		emoticons.put(String.format(&quot;%C&quot;,0xe233),R.drawable.emoji_e233);
		emoticons.put(String.format(&quot;%C&quot;,0xe234),R.drawable.emoji_e234);
		emoticons.put(String.format(&quot;%C&quot;,0xe235),R.drawable.emoji_e235);
		emoticons.put(String.format(&quot;%C&quot;,0xe236),R.drawable.emoji_e236);
		emoticons.put(String.format(&quot;%C&quot;,0xe237),R.drawable.emoji_e237);
		emoticons.put(String.format(&quot;%C&quot;,0xe238),R.drawable.emoji_e238);
		emoticons.put(String.format(&quot;%C&quot;,0xe239),R.drawable.emoji_e239);
		emoticons.put(String.format(&quot;%C&quot;,0xe23a),R.drawable.emoji_e23a);
		emoticons.put(String.format(&quot;%C&quot;,0xe23b),R.drawable.emoji_e23b);
		emoticons.put(String.format(&quot;%C&quot;,0xe23c),R.drawable.emoji_e23c);
		emoticons.put(String.format(&quot;%C&quot;,0xe23d),R.drawable.emoji_e23d);
		emoticons.put(String.format(&quot;%C&quot;,0xe23e),R.drawable.emoji_e23e);
		emoticons.put(String.format(&quot;%C&quot;,0xe23f),R.drawable.emoji_e23f);
		emoticons.put(String.format(&quot;%C&quot;,0xe240),R.drawable.emoji_e240);
		emoticons.put(String.format(&quot;%C&quot;,0xe241),R.drawable.emoji_e241);
		emoticons.put(String.format(&quot;%C&quot;,0xe242),R.drawable.emoji_e242);
		emoticons.put(String.format(&quot;%C&quot;,0xe243),R.drawable.emoji_e243);
		emoticons.put(String.format(&quot;%C&quot;,0xe244),R.drawable.emoji_e244);
		emoticons.put(String.format(&quot;%C&quot;,0xe245),R.drawable.emoji_e245);
		emoticons.put(String.format(&quot;%C&quot;,0xe246),R.drawable.emoji_e246);
		emoticons.put(String.format(&quot;%C&quot;,0xe247),R.drawable.emoji_e247);
		emoticons.put(String.format(&quot;%C&quot;,0xe248),R.drawable.emoji_e248);
		emoticons.put(String.format(&quot;%C&quot;,0xe249),R.drawable.emoji_e249);
		emoticons.put(String.format(&quot;%C&quot;,0xe24a),R.drawable.emoji_e24a);
		emoticons.put(String.format(&quot;%C&quot;,0xe24b),R.drawable.emoji_e24b);
		emoticons.put(String.format(&quot;%C&quot;,0xe24c),R.drawable.emoji_e24c);
		emoticons.put(String.format(&quot;%C&quot;,0xe24d),R.drawable.emoji_e24d);
		emoticons.put(String.format(&quot;%C&quot;,0xe24e),R.drawable.emoji_e24e);
		emoticons.put(String.format(&quot;%C&quot;,0xe24f),R.drawable.emoji_e24f);
		emoticons.put(String.format(&quot;%C&quot;,0xe250),R.drawable.emoji_e250);
		emoticons.put(String.format(&quot;%C&quot;,0xe251),R.drawable.emoji_e251);
		emoticons.put(String.format(&quot;%C&quot;,0xe252),R.drawable.emoji_e252);
		emoticons.put(String.format(&quot;%C&quot;,0xe253),R.drawable.emoji_e253);
		emoticons.put(String.format(&quot;%C&quot;,0xe301),R.drawable.emoji_e301);
		emoticons.put(String.format(&quot;%C&quot;,0xe302),R.drawable.emoji_e302);
		emoticons.put(String.format(&quot;%C&quot;,0xe303),R.drawable.emoji_e303);
		emoticons.put(String.format(&quot;%C&quot;,0xe304),R.drawable.emoji_e304);
		emoticons.put(String.format(&quot;%C&quot;,0xe305),R.drawable.emoji_e305);
		emoticons.put(String.format(&quot;%C&quot;,0xe306),R.drawable.emoji_e306);
		emoticons.put(String.format(&quot;%C&quot;,0xe307),R.drawable.emoji_e307);
		emoticons.put(String.format(&quot;%C&quot;,0xe308),R.drawable.emoji_e308);
		emoticons.put(String.format(&quot;%C&quot;,0xe309),R.drawable.emoji_e309);
		emoticons.put(String.format(&quot;%C&quot;,0xe30a),R.drawable.emoji_e30a);
		emoticons.put(String.format(&quot;%C&quot;,0xe30b),R.drawable.emoji_e30b);
		emoticons.put(String.format(&quot;%C&quot;,0xe30c),R.drawable.emoji_e30c);
		emoticons.put(String.format(&quot;%C&quot;,0xe30d),R.drawable.emoji_e30d);
		emoticons.put(String.format(&quot;%C&quot;,0xe30e),R.drawable.emoji_e30e);
		emoticons.put(String.format(&quot;%C&quot;,0xe30f),R.drawable.emoji_e30f);
		emoticons.put(String.format(&quot;%C&quot;,0xe310),R.drawable.emoji_e310);
		emoticons.put(String.format(&quot;%C&quot;,0xe311),R.drawable.emoji_e311);
		emoticons.put(String.format(&quot;%C&quot;,0xe312),R.drawable.emoji_e312);
		emoticons.put(String.format(&quot;%C&quot;,0xe313),R.drawable.emoji_e313);
		emoticons.put(String.format(&quot;%C&quot;,0xe314),R.drawable.emoji_e314);
		emoticons.put(String.format(&quot;%C&quot;,0xe315),R.drawable.emoji_e315);
		emoticons.put(String.format(&quot;%C&quot;,0xe316),R.drawable.emoji_e316);
		emoticons.put(String.format(&quot;%C&quot;,0xe317),R.drawable.emoji_e317);
		emoticons.put(String.format(&quot;%C&quot;,0xe318),R.drawable.emoji_e318);
		emoticons.put(String.format(&quot;%C&quot;,0xe319),R.drawable.emoji_e319);
		emoticons.put(String.format(&quot;%C&quot;,0xe31a),R.drawable.emoji_e31a);
		emoticons.put(String.format(&quot;%C&quot;,0xe31b),R.drawable.emoji_e31b);
		emoticons.put(String.format(&quot;%C&quot;,0xe31c),R.drawable.emoji_e31c);
		emoticons.put(String.format(&quot;%C&quot;,0xe31d),R.drawable.emoji_e31d);
		emoticons.put(String.format(&quot;%C&quot;,0xe31e),R.drawable.emoji_e31e);
		emoticons.put(String.format(&quot;%C&quot;,0xe31f),R.drawable.emoji_e31f);
		emoticons.put(String.format(&quot;%C&quot;,0xe320),R.drawable.emoji_e320);
		emoticons.put(String.format(&quot;%C&quot;,0xe321),R.drawable.emoji_e321);
		emoticons.put(String.format(&quot;%C&quot;,0xe322),R.drawable.emoji_e322);
		emoticons.put(String.format(&quot;%C&quot;,0xe323),R.drawable.emoji_e323);
		emoticons.put(String.format(&quot;%C&quot;,0xe324),R.drawable.emoji_e324);
		emoticons.put(String.format(&quot;%C&quot;,0xe325),R.drawable.emoji_e325);
		emoticons.put(String.format(&quot;%C&quot;,0xe326),R.drawable.emoji_e326);
		emoticons.put(String.format(&quot;%C&quot;,0xe327),R.drawable.emoji_e327);
		emoticons.put(String.format(&quot;%C&quot;,0xe328),R.drawable.emoji_e328);
		emoticons.put(String.format(&quot;%C&quot;,0xe329),R.drawable.emoji_e329);
		emoticons.put(String.format(&quot;%C&quot;,0xe32a),R.drawable.emoji_e32a);
		emoticons.put(String.format(&quot;%C&quot;,0xe32b),R.drawable.emoji_e32b);
		emoticons.put(String.format(&quot;%C&quot;,0xe32c),R.drawable.emoji_e32c);
		emoticons.put(String.format(&quot;%C&quot;,0xe32d),R.drawable.emoji_e32d);
		emoticons.put(String.format(&quot;%C&quot;,0xe32e),R.drawable.emoji_e32e);
		emoticons.put(String.format(&quot;%C&quot;,0xe32f),R.drawable.emoji_e32f);
		emoticons.put(String.format(&quot;%C&quot;,0xe330),R.drawable.emoji_e330);
		emoticons.put(String.format(&quot;%C&quot;,0xe331),R.drawable.emoji_e331);
		emoticons.put(String.format(&quot;%C&quot;,0xe332),R.drawable.emoji_e332);
		emoticons.put(String.format(&quot;%C&quot;,0xe333),R.drawable.emoji_e333);
		emoticons.put(String.format(&quot;%C&quot;,0xe334),R.drawable.emoji_e334);
		emoticons.put(String.format(&quot;%C&quot;,0xe335),R.drawable.emoji_e335);
		emoticons.put(String.format(&quot;%C&quot;,0xe336),R.drawable.emoji_e336);
		emoticons.put(String.format(&quot;%C&quot;,0xe337),R.drawable.emoji_e337);
		emoticons.put(String.format(&quot;%C&quot;,0xe338),R.drawable.emoji_e338);
		emoticons.put(String.format(&quot;%C&quot;,0xe339),R.drawable.emoji_e339);
		emoticons.put(String.format(&quot;%C&quot;,0xe33a),R.drawable.emoji_e33a);
		emoticons.put(String.format(&quot;%C&quot;,0xe33b),R.drawable.emoji_e33b);
		emoticons.put(String.format(&quot;%C&quot;,0xe33c),R.drawable.emoji_e33c);
		emoticons.put(String.format(&quot;%C&quot;,0xe33d),R.drawable.emoji_e33d);
		emoticons.put(String.format(&quot;%C&quot;,0xe33e),R.drawable.emoji_e33e);
		emoticons.put(String.format(&quot;%C&quot;,0xe33f),R.drawable.emoji_e33f);
		emoticons.put(String.format(&quot;%C&quot;,0xe340),R.drawable.emoji_e340);
		emoticons.put(String.format(&quot;%C&quot;,0xe341),R.drawable.emoji_e341);
		emoticons.put(String.format(&quot;%C&quot;,0xe342),R.drawable.emoji_e342);
		emoticons.put(String.format(&quot;%C&quot;,0xe343),R.drawable.emoji_e343);
		emoticons.put(String.format(&quot;%C&quot;,0xe344),R.drawable.emoji_e344);
		emoticons.put(String.format(&quot;%C&quot;,0xe345),R.drawable.emoji_e345);
		emoticons.put(String.format(&quot;%C&quot;,0xe346),R.drawable.emoji_e346);
		emoticons.put(String.format(&quot;%C&quot;,0xe347),R.drawable.emoji_e347);
		emoticons.put(String.format(&quot;%C&quot;,0xe348),R.drawable.emoji_e348);
		emoticons.put(String.format(&quot;%C&quot;,0xe349),R.drawable.emoji_e349);
		emoticons.put(String.format(&quot;%C&quot;,0xe34a),R.drawable.emoji_e34a);
		emoticons.put(String.format(&quot;%C&quot;,0xe34b),R.drawable.emoji_e34b);
		emoticons.put(String.format(&quot;%C&quot;,0xe34c),R.drawable.emoji_e34c);
		emoticons.put(String.format(&quot;%C&quot;,0xe34d),R.drawable.emoji_e34d);
		emoticons.put(String.format(&quot;%C&quot;,0xe401),R.drawable.emoji_e401);
		emoticons.put(String.format(&quot;%C&quot;,0xe402),R.drawable.emoji_e402);
		emoticons.put(String.format(&quot;%C&quot;,0xe403),R.drawable.emoji_e403);
		emoticons.put(String.format(&quot;%C&quot;,0xe404),R.drawable.emoji_e404);
		emoticons.put(String.format(&quot;%C&quot;,0xe405),R.drawable.emoji_e405);
		emoticons.put(String.format(&quot;%C&quot;,0xe406),R.drawable.emoji_e406);
		emoticons.put(String.format(&quot;%C&quot;,0xe407),R.drawable.emoji_e407);
		emoticons.put(String.format(&quot;%C&quot;,0xe408),R.drawable.emoji_e408);
		emoticons.put(String.format(&quot;%C&quot;,0xe409),R.drawable.emoji_e409);
		emoticons.put(String.format(&quot;%C&quot;,0xe40a),R.drawable.emoji_e40a);
		emoticons.put(String.format(&quot;%C&quot;,0xe40b),R.drawable.emoji_e40b);
		emoticons.put(String.format(&quot;%C&quot;,0xe40c),R.drawable.emoji_e40c);
		emoticons.put(String.format(&quot;%C&quot;,0xe40d),R.drawable.emoji_e40d);
		emoticons.put(String.format(&quot;%C&quot;,0xe40e),R.drawable.emoji_e40e);
		emoticons.put(String.format(&quot;%C&quot;,0xe40f),R.drawable.emoji_e40f);
		emoticons.put(String.format(&quot;%C&quot;,0xe410),R.drawable.emoji_e410);
		emoticons.put(String.format(&quot;%C&quot;,0xe411),R.drawable.emoji_e411);
		emoticons.put(String.format(&quot;%C&quot;,0xe412),R.drawable.emoji_e412);
		emoticons.put(String.format(&quot;%C&quot;,0xe413),R.drawable.emoji_e413);
		emoticons.put(String.format(&quot;%C&quot;,0xe414),R.drawable.emoji_e414);
		emoticons.put(String.format(&quot;%C&quot;,0xe415),R.drawable.emoji_e415);
		emoticons.put(String.format(&quot;%C&quot;,0xe416),R.drawable.emoji_e416);
		emoticons.put(String.format(&quot;%C&quot;,0xe417),R.drawable.emoji_e417);
		emoticons.put(String.format(&quot;%C&quot;,0xe418),R.drawable.emoji_e418);
		emoticons.put(String.format(&quot;%C&quot;,0xe419),R.drawable.emoji_e419);
		emoticons.put(String.format(&quot;%C&quot;,0xe41a),R.drawable.emoji_e41a);
		emoticons.put(String.format(&quot;%C&quot;,0xe41b),R.drawable.emoji_e41b);
		emoticons.put(String.format(&quot;%C&quot;,0xe41c),R.drawable.emoji_e41c);
		emoticons.put(String.format(&quot;%C&quot;,0xe41d),R.drawable.emoji_e41d);
		emoticons.put(String.format(&quot;%C&quot;,0xe41e),R.drawable.emoji_e41e);
		emoticons.put(String.format(&quot;%C&quot;,0xe41f),R.drawable.emoji_e41f);
		emoticons.put(String.format(&quot;%C&quot;,0xe420),R.drawable.emoji_e420);
		emoticons.put(String.format(&quot;%C&quot;,0xe421),R.drawable.emoji_e421);
		emoticons.put(String.format(&quot;%C&quot;,0xe422),R.drawable.emoji_e422);
		emoticons.put(String.format(&quot;%C&quot;,0xe423),R.drawable.emoji_e423);
		emoticons.put(String.format(&quot;%C&quot;,0xe424),R.drawable.emoji_e424);
		emoticons.put(String.format(&quot;%C&quot;,0xe425),R.drawable.emoji_e425);
		emoticons.put(String.format(&quot;%C&quot;,0xe426),R.drawable.emoji_e426);
		emoticons.put(String.format(&quot;%C&quot;,0xe427),R.drawable.emoji_e427);
		emoticons.put(String.format(&quot;%C&quot;,0xe428),R.drawable.emoji_e428);
		emoticons.put(String.format(&quot;%C&quot;,0xe429),R.drawable.emoji_e429);
		emoticons.put(String.format(&quot;%C&quot;,0xe42a),R.drawable.emoji_e42a);
		emoticons.put(String.format(&quot;%C&quot;,0xe42b),R.drawable.emoji_e42b);
		emoticons.put(String.format(&quot;%C&quot;,0xe42c),R.drawable.emoji_e42c);
		emoticons.put(String.format(&quot;%C&quot;,0xe42d),R.drawable.emoji_e42d);
		emoticons.put(String.format(&quot;%C&quot;,0xe42e),R.drawable.emoji_e42e);
		emoticons.put(String.format(&quot;%C&quot;,0xe42f),R.drawable.emoji_e42f);
		emoticons.put(String.format(&quot;%C&quot;,0xe430),R.drawable.emoji_e430);
		emoticons.put(String.format(&quot;%C&quot;,0xe431),R.drawable.emoji_e431);
		emoticons.put(String.format(&quot;%C&quot;,0xe432),R.drawable.emoji_e432);
		emoticons.put(String.format(&quot;%C&quot;,0xe433),R.drawable.emoji_e433);
		emoticons.put(String.format(&quot;%C&quot;,0xe434),R.drawable.emoji_e434);
		emoticons.put(String.format(&quot;%C&quot;,0xe435),R.drawable.emoji_e435);
		emoticons.put(String.format(&quot;%C&quot;,0xe436),R.drawable.emoji_e436);
		emoticons.put(String.format(&quot;%C&quot;,0xe437),R.drawable.emoji_e437);
		emoticons.put(String.format(&quot;%C&quot;,0xe438),R.drawable.emoji_e438);
		emoticons.put(String.format(&quot;%C&quot;,0xe439),R.drawable.emoji_e439);
		emoticons.put(String.format(&quot;%C&quot;,0xe43a),R.drawable.emoji_e43a);
		emoticons.put(String.format(&quot;%C&quot;,0xe43b),R.drawable.emoji_e43b);
		emoticons.put(String.format(&quot;%C&quot;,0xe43c),R.drawable.emoji_e43c);
		emoticons.put(String.format(&quot;%C&quot;,0xe43d),R.drawable.emoji_e43d);
		emoticons.put(String.format(&quot;%C&quot;,0xe43e),R.drawable.emoji_e43e);
		emoticons.put(String.format(&quot;%C&quot;,0xe43f),R.drawable.emoji_e43f);
		emoticons.put(String.format(&quot;%C&quot;,0xe440),R.drawable.emoji_e440);
		emoticons.put(String.format(&quot;%C&quot;,0xe441),R.drawable.emoji_e441);
		emoticons.put(String.format(&quot;%C&quot;,0xe442),R.drawable.emoji_e442);
		emoticons.put(String.format(&quot;%C&quot;,0xe443),R.drawable.emoji_e443);
		emoticons.put(String.format(&quot;%C&quot;,0xe444),R.drawable.emoji_e444);
		emoticons.put(String.format(&quot;%C&quot;,0xe445),R.drawable.emoji_e445);
		emoticons.put(String.format(&quot;%C&quot;,0xe446),R.drawable.emoji_e446);
		emoticons.put(String.format(&quot;%C&quot;,0xe447),R.drawable.emoji_e447);
		emoticons.put(String.format(&quot;%C&quot;,0xe448),R.drawable.emoji_e448);
		emoticons.put(String.format(&quot;%C&quot;,0xe449),R.drawable.emoji_e449);
		emoticons.put(String.format(&quot;%C&quot;,0xe44a),R.drawable.emoji_e44a);
		emoticons.put(String.format(&quot;%C&quot;,0xe44b),R.drawable.emoji_e44b);
		emoticons.put(String.format(&quot;%C&quot;,0xe44c),R.drawable.emoji_e44c);
		emoticons.put(String.format(&quot;%C&quot;,0xe501),R.drawable.emoji_e501);
		emoticons.put(String.format(&quot;%C&quot;,0xe502),R.drawable.emoji_e502);
		emoticons.put(String.format(&quot;%C&quot;,0xe503),R.drawable.emoji_e503);
		emoticons.put(String.format(&quot;%C&quot;,0xe504),R.drawable.emoji_e504);
		emoticons.put(String.format(&quot;%C&quot;,0xe505),R.drawable.emoji_e505);
		emoticons.put(String.format(&quot;%C&quot;,0xe506),R.drawable.emoji_e506);
		emoticons.put(String.format(&quot;%C&quot;,0xe507),R.drawable.emoji_e507);
		emoticons.put(String.format(&quot;%C&quot;,0xe508),R.drawable.emoji_e508);
		emoticons.put(String.format(&quot;%C&quot;,0xe509),R.drawable.emoji_e509);
		emoticons.put(String.format(&quot;%C&quot;,0xe50a),R.drawable.emoji_e50a);
		emoticons.put(String.format(&quot;%C&quot;,0xe50b),R.drawable.emoji_e50b);
		emoticons.put(String.format(&quot;%C&quot;,0xe50c),R.drawable.emoji_e50c);
		emoticons.put(String.format(&quot;%C&quot;,0xe50d),R.drawable.emoji_e50d);
		emoticons.put(String.format(&quot;%C&quot;,0xe50e),R.drawable.emoji_e50e);
		emoticons.put(String.format(&quot;%C&quot;,0xe50f),R.drawable.emoji_e50f);
		emoticons.put(String.format(&quot;%C&quot;,0xe510),R.drawable.emoji_e510);
		emoticons.put(String.format(&quot;%C&quot;,0xe511),R.drawable.emoji_e511);
		emoticons.put(String.format(&quot;%C&quot;,0xe512),R.drawable.emoji_e512);
		emoticons.put(String.format(&quot;%C&quot;,0xe513),R.drawable.emoji_e513);
		emoticons.put(String.format(&quot;%C&quot;,0xe514),R.drawable.emoji_e514);
		emoticons.put(String.format(&quot;%C&quot;,0xe515),R.drawable.emoji_e515);
		emoticons.put(String.format(&quot;%C&quot;,0xe516),R.drawable.emoji_e516);
		emoticons.put(String.format(&quot;%C&quot;,0xe517),R.drawable.emoji_e517);
		emoticons.put(String.format(&quot;%C&quot;,0xe518),R.drawable.emoji_e518);
		emoticons.put(String.format(&quot;%C&quot;,0xe519),R.drawable.emoji_e519);
		emoticons.put(String.format(&quot;%C&quot;,0xe51a),R.drawable.emoji_e51a);
		emoticons.put(String.format(&quot;%C&quot;,0xe51b),R.drawable.emoji_e51b);
		emoticons.put(String.format(&quot;%C&quot;,0xe51c),R.drawable.emoji_e51c);
		emoticons.put(String.format(&quot;%C&quot;,0xe51d),R.drawable.emoji_e51d);
		emoticons.put(String.format(&quot;%C&quot;,0xe51e),R.drawable.emoji_e51e);
		emoticons.put(String.format(&quot;%C&quot;,0xe51f),R.drawable.emoji_e51f);
		emoticons.put(String.format(&quot;%C&quot;,0xe520),R.drawable.emoji_e520);
		emoticons.put(String.format(&quot;%C&quot;,0xe521),R.drawable.emoji_e521);
		emoticons.put(String.format(&quot;%C&quot;,0xe522),R.drawable.emoji_e522);
		emoticons.put(String.format(&quot;%C&quot;,0xe523),R.drawable.emoji_e523);
		emoticons.put(String.format(&quot;%C&quot;,0xe524),R.drawable.emoji_e524);
		emoticons.put(String.format(&quot;%C&quot;,0xe525),R.drawable.emoji_e525);
		emoticons.put(String.format(&quot;%C&quot;,0xe526),R.drawable.emoji_e526);
		emoticons.put(String.format(&quot;%C&quot;,0xe527),R.drawable.emoji_e527);
		emoticons.put(String.format(&quot;%C&quot;,0xe528),R.drawable.emoji_e528);
		emoticons.put(String.format(&quot;%C&quot;,0xe529),R.drawable.emoji_e529);
		emoticons.put(String.format(&quot;%C&quot;,0xe52a),R.drawable.emoji_e52a);
		emoticons.put(String.format(&quot;%C&quot;,0xe52b),R.drawable.emoji_e52b);
		emoticons.put(String.format(&quot;%C&quot;,0xe52c),R.drawable.emoji_e52c);
		emoticons.put(String.format(&quot;%C&quot;,0xe52d),R.drawable.emoji_e52d);
		emoticons.put(String.format(&quot;%C&quot;,0xe52e),R.drawable.emoji_e52e);
		emoticons.put(String.format(&quot;%C&quot;,0xe52f),R.drawable.emoji_e52f);
		emoticons.put(String.format(&quot;%C&quot;,0xe530),R.drawable.emoji_e530);
		emoticons.put(String.format(&quot;%C&quot;,0xe531),R.drawable.emoji_e531);
		emoticons.put(String.format(&quot;%C&quot;,0xe532),R.drawable.emoji_e532);
		emoticons.put(String.format(&quot;%C&quot;,0xe533),R.drawable.emoji_e533);
		emoticons.put(String.format(&quot;%C&quot;,0xe534),R.drawable.emoji_e534);
		emoticons.put(String.format(&quot;%C&quot;,0xe535),R.drawable.emoji_e535);
		emoticons.put(String.format(&quot;%C&quot;,0xe536),R.drawable.emoji_e536);
		emoticons.put(String.format(&quot;%C&quot;,0xe537),R.drawable.emoji_e537);
		// as&iacute; solamente se realiza la b&uacute;squeda en la inicializaci&oacute;n
		categories.put(Tipo.Smiley.toString(), getCharsFromTags(Tipo.Smiley));
		categories.put(Tipo.Event.toString(), getCharsFromTags(Tipo.Event));
		categories.put(Tipo.Nature.toString(), getCharsFromTags(Tipo.Nature));
		categories.put(Tipo.Place.toString(), getCharsFromTags(Tipo.Place));
		categories.put(Tipo.Symbol.toString(), getCharsFromTags(Tipo.Symbol));
	}
	/**
	 * Transforma los vectores de c&oacute;digo hexadecimal con los c&oacute;digos de caracter unicode a los propios caracteres
	 * @param tipo Categor&iacute;a del emoticono deseado
	 * @return Vector de caracteres unicode
	 */
	private static String[] getCharsFromTags(Tipo tipo) {
		int[] array = null;
		switch (tipo) {
			case Smiley:
				array = smileys;
				break;
			case Event:
				array = events;
				break;
			case Nature:
				array = nature;
				break;
			case Place:
				array = places;
				break;
			case Symbol:
				array = symbols;
				break;
		}
		LinkedList&lt;String&gt; tags = new LinkedList&lt;String&gt;();
		for (int i:array)
			tags.add(String.format(&quot;%C&quot;,i));
		return tags.toArray(new String[0]);
	}
	/**
	 * Devuelve un vector de caracteres unicode perteneciente a una categor&iacute;a de emoji
	 *
	 * @param tipo Categor&iacute;a de emoji deseada
	 * @return Vector de caracteres unicode de los emoji del tipo indicado
	 */
	public static String[] getTags(Tipo tipo) {
		return categories.get(tipo.toString());
	}
	/**
	 * Devuelve la ID del Resource perteneciente a un emoticono, dado su caracter unicode
	 *
	 * @param tag Caracter unicode del emoji deseado
	 * @return
	 */
	public static int getResource(String tag) {
		return emoticons.get(tag);
	}
	/**
	 * Nos devuelve el Spannable con la mezcla de texto/im&aacute;genes necesaria para la representaci&oacute;n de los emoticonos
	 *
	 * @param context Contexto de ejecuci&oacute;n donde se realiza la llamada
	 * @param text Texto a parsear con los caracteres de los emoticonos
	 * @return Devuelve un Spannable con las im&aacute;genes intercaladas en el texto
	 */
	public static Spannable getEmojiText(Context context, String text) {
		SpannableStringBuilder builder = new SpannableStringBuilder(text);
		int index;
		for (index = 0; index &lt; builder.length(); index++) {
			for (Entry&lt;String, Integer&gt; entry : emoticons.entrySet()) {
				int length = entry.getKey().length();
				if (index + length &gt; builder.length())
					continue;
				if (builder.subSequence(index, index + length).toString().equals(entry.getKey())) {
					builder.setSpan(new ImageSpan(context, entry.getValue()), index, index + length,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
					index += length - 1;
		        	break;
				}
			}
		}
		return builder;
	}
}
</pre>
</p>
<p>Para utilizar este código en tus proyectos, solamente hay que cambiar las implementaciones que utilicen <strong>setText</strong> de <strong>String</strong> a <strong>Spannable</strong>, que lo admiten perfectamente. Por ejemplo, os puedo comentar que tanto <strong>TextView</strong> como <strong>EditText</strong> lo admiten sin ningún problema. Un ejemplo de uso sería el que sigue.</p>
<p>
<pre>
final TextView mensajeTexto = (TextView)findViewById(R.id.mensajeTexto);
mensajeTexto.setText(EmoticonUtils.getEmojiText(ctx, textoPlano));
</pre>
</p>
<p>
La variable <strong>textoPlano</strong> debe de ser una String en UTF-8 que puede contener tanto texto como caracteres emoji, que serán convenientemente cambiados por sus respectivas imágenes guardadas en los recursos del proyecto.
</p>
<p>Espero que este código os sirva, que para mí ha sido un coñazo hacerlo. Lo mejoraré seguramente para minimizar los costes, pero a saber si me da por actualizar este post&#8230; de todos modos esto es totalmente funcional <img src='http://www.perry.es/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Si encontráis algún problema, dejádmelo en los comentarios.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.perry.es/2011/05/31/implementar-soporte-a-emoji-en-aplicaciones-android/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

