[Ginga-argentina] consulta sobre LUA

Roberto Guisandez rguisandez at gmail.com
Tue Apr 3 21:52:36 CEST 2012


Hola,
Se pueden agregar nuevas fuentes para usar en Ginga. Para esto, lo que yo
hago es agregar los archivos .ttf donde Ginga los está leyendo.

Por ejemplo, en la máquina que estoy usando Ginga lee las fuentes desde el
directorio:  /usr/local/etc/ginga/files/font (aunque fíjense donde las toma
en cada caso, vi que en algunas VMs también los obtiene desde
/usr/local/share/fonts/truetype).
Si quiero agregar la fuente Tiresias entonces:
1. Me bajo las fuentes (ej. Tiresias Infofont) desde
http://www.tiresias.org/fonts/fonts_download.htm ,
2. Descomprimo "Tiresias Infofont.TTF" del zip y le cambio el nombre a
"Tiresias.ttf",
3. Ubico este archivo en  /usr/local/etc/ginga/files/font,

Y luego ya puedo usar este nuevo tipo de fuentes configurándola en Lua, por
ejemplo con canvas:attrFont("Tiresias", 21). Tengan en cuenta que el nombre
de fuente que se especifica en Lua debe coinicidir con el nombre del
archivo, y (al menos en la VM que estoy usando) la extensión del archivo
.ttf tiene que estar en minúsculas.

Saludos,
- Roberto


El 3 de abril de 2012 15:12, Santiago Lombardi
<santiago.lombardi at gmail.com>escribió:

> Leo, tenes idea que fuente especificamente o desde que paquete hay que
> instalar Tiresias en el Kubuntu.
> Yo instale ttf-tiresias, la fuente funciona en el sistema pero no en Ginga.
>
> abrazo y gracias por la ayuda.
>
> Santiago
>
>
>
>
>
>
> On Tue, Apr 3, 2012 at 2:18 PM, leo <lisasmendi at lifia.info.unlp.edu.ar>wrote:
>
>> Es raro porque estoy usando la VM con Kubuntu y solo comenté esas lineas
>> (imagen) y funcionó. Tendrías que fijarte si tenés bien instalada la fuente
>> Tiresias, que es la fuente que se usa por defecto en los STB's.
>>
>>
>> El 3 de abril de 2012 13:06, Daniel Soria <dansoria at gmail.com> escribió:
>>
>> Gracias! Santi y a todos! Esto es una buena lista tecnica che!
>>> Habia pensado lo de la fuente pero jamas se me ocurrio descartarla...Es
>>> cierto que tiresias esta como casi default!
>>> Disfrute y codifique amigo nicolas!
>>> Daniel
>>>
>>> El 3 de abril de 2012 12:34, Nicolas Ignacio Roldan <
>>> niko_cbes at hotmail.com> escribió:
>>>
>>>>  Muchisimas Gracias *Santiago*!
>>>> Funciona Perfecto! [image: Risa] En serio que te lo agradezco!
>>>> Ahora puedo seguir avanzando, estaba muy trabado.
>>>> Y muchisimas Gracias *Daniel *!  [image: Guiño] No se hubiera
>>>> difundido mi mensaje sin tu ayuda.
>>>> saludos
>>>> *nico*
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> ------------------------------
>>>> Date: Tue, 3 Apr 2012 12:23:11 -0300
>>>> From: santiago.lombardi at gmail.com
>>>>
>>>> To: ginga-argentina at lists.ourproject.org
>>>> Subject: Re: [Ginga-argentina] consulta sobre LUA
>>>>
>>>> Daniel / Nicolas,
>>>>  Probe el codigo en la maquina VirtualBox con Ginga.ar 1.2 y vi que lo
>>>> que esta haciendo explotar el codigo es la FontFamily Tiresias. Segun lo
>>>> que veo en la norma esta bien utilizarla pero explota igual. Probe tambien
>>>> con Verdana que segun el pdf de la norma es otra que tiene que funcionar
>>>> pero tambien la hace explotar. Luego probe otros archivos Lua que usen esas
>>>> familias y explotan todos.
>>>>
>>>> encontre en otros archivos que usan la familia "vera" y al probar anda
>>>> perfecto.
>>>>
>>>> Espero que te sirva. Te pego abajo el codigo modificado.
>>>>
>>>> Alguien sabe si es algun bug de la version que trae la maquina virtual
>>>> esto? creo que antes usaba Tiresias sin problemas.
>>>>
>>>> saludos a todos
>>>>
>>>> Santiago
>>>>
>>>> COD LUA
>>>>
>>>> ----------------------------------------------------------------------------------------------------------------
>>>>
>>>> --background
>>>> canvas:attrColor('navy')
>>>> canvas:clear()
>>>>
>>>> --top left
>>>> canvas:attrColor('white')
>>>> canvas:drawRect('frame', 50, 50, 250, 100)
>>>> canvas:drawRect('fill', 50, 200, 250, 100)
>>>>
>>>> -- top left
>>>> for i=0, 15 do
>>>>     canvas:attrColor(0, 255, 0, 255 - (i * 16) )
>>>>     local y = 50 + (i * 10)
>>>>     canvas:drawLine(525, y, 680, y)
>>>> end
>>>>
>>>> -- right
>>>> image = canvas:new('../resources/images/lifia.jpg')
>>>>
>>>> canvas:compose(325, 50, image)
>>>>
>>>> local colors = {"white", "black", "silver", "gray", "red" , "maroon" ,
>>>> "fuchsia", "purple", "lime", "green", "yellow", "olive", "blue", "navy",
>>>> "aqua", "teal"}
>>>> local fontWeight = {"normal", "bold", "italic"}
>>>> local fontFamily = {"vera"}
>>>>
>>>>
>>>> for i=0, 7 do
>>>>     for j=0,2 do
>>>>         local ff = fontFamily[1]
>>>>
>>>>         local fw = fontWeight[j + 1]
>>>>         local offset = i * 2 + j
>>>>         canvas:attrFont(ff, 14 + offset, fw)
>>>>         canvas:attrColor(colors[i * 2 + (j % 2) + 1])
>>>>         canvas:drawText(40 + 225 * j , 310 + 30 * i, ff .. ' ' .. fw)
>>>>     end
>>>> end
>>>>
>>>> -- flush
>>>> canvas:flush()
>>>> --background
>>>> canvas:attrColor('navy')
>>>> canvas:clear()
>>>>
>>>> --top left
>>>> canvas:attrColor('white')
>>>> canvas:drawRect('frame', 50, 50, 250, 100)
>>>> canvas:drawRect('fill', 50, 200, 250, 100)
>>>>
>>>> -- top left
>>>> for i=0, 15 do
>>>>     canvas:attrColor(0, 255, 0, 255 - (i * 16) )
>>>>     local y = 50 + (i * 10)
>>>>     canvas:drawLine(525, y, 680, y)
>>>> end
>>>>
>>>> -- right
>>>> image = canvas:new('../resources/images/lifia.jpg')
>>>>
>>>> canvas:compose(325, 50, image)
>>>>
>>>> local colors = {"white", "black", "silver", "gray", "red" , "maroon" ,
>>>> "fuchsia", "purple", "lime", "green", "yellow", "olive", "blue", "navy",
>>>> "aqua", "teal"}
>>>> local fontWeight = {"normal", "bold", "italic"}
>>>> local fontFamily = {"vera"}
>>>>
>>>>
>>>> for i=0, 7 do
>>>>     for j=0,2 do
>>>>         local ff = fontFamily[1]
>>>>
>>>>         local fw = fontWeight[j + 1]
>>>>         local offset = i * 2 + j
>>>>         canvas:attrFont(ff, 14 + offset, fw)
>>>>         canvas:attrColor(colors[i * 2 + (j % 2) + 1])
>>>>         canvas:drawText(40 + 225 * j , 310 + 30 * i, ff .. ' ' .. fw)
>>>>     end
>>>> end
>>>>
>>>> -- flush
>>>> canvas:flush()
>>>>
>>>>
>>>> ----------------------------------------------------------------------------------------------------------------
>>>>
>>>>
>>>> On Tue, Apr 3, 2012 at 11:18 AM, Daniel Soria <dansoria at gmail.com>wrote:
>>>>
>>>> A ver. LISTA TECNICA.
>>>> Este joven ha hecho esta consulta y no obtiene respuesta.
>>>> Revise el codigo parece bien, pero el tema de lua aun no lo he revisado.
>>>> Si alguien quiere ser tan amable, gracias en nombre del joven nicolas y
>>>> el mi propio.
>>>> Daniel Soria
>>>>
>>>> ---------- Forwarded message ----------
>>>> From: *Nicolas Ignacio Roldan* <niko_cbes at hotmail.com>
>>>> Date: 2012/4/2
>>>> Subject: RE: Hola Daniel! consulta Ginga =)
>>>> To: Daniel Soria GINGA <dansoria at gmail.com>
>>>>
>>>>
>>>>  Hola *Daniel*!
>>>>
>>>> Mi consulta es con respescto a Lua.
>>>> Tengo la maquina virtual de Ginga sobre Kubuntu.
>>>> Los archivos .ncl los ejecuta bien.
>>>> Ahora cuando quiero agregar dependencias a un archivo .lua   ya no
>>>> funciona bien.
>>>>
>>>>
>>>> La Aplicacion corresponde a un punto del Test Suite 1.2.0---->
>>>> http://tvd.lifia.info.unlp.edu.ar/ginga.ar/index.php/testsuite-menu )
>>>> (La aplicacion muestra sobre un fondo azul:
>>>>
>>>> a la izquierda y de arriba hacia abajo:
>>>>
>>>> -un rectangulo vacio y de borde blanco
>>>>
>>>> - un rectangulo blanco lleno
>>>>
>>>> - 16 lineas horizontales de color verde cuya opacidad dismi-
>>>>
>>>> nuye de arriba a abajo
>>>>
>>>> a la derecha y de arriba hacia abajo:
>>>>
>>>> - un logotipo
>>>>
>>>> - textos dibujados utilizando distintos tama~nos, estilos y co-
>>>>
>>>> lores de fuentes. )
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> Me explico mejor ... el código ncl es:
>>>>
>>>> ------------------------- el NCL
>>>> ----------------------------------------
>>>> <?xml version="1.0" encoding="ISO-8859-1"?>
>>>> <ncl id="canvas" xmlns="http://www.ncl.org.br/NCL3.0/EDTVProfile">
>>>>     <head>
>>>>         <regionBase>
>>>>             <region id="reg" width="100%" height="100%" left="0%"
>>>> top="0%" />
>>>>         </regionBase>
>>>>         <descriptorBase>
>>>>             <descriptor id="desc" region="reg"/>
>>>>         </descriptorBase>
>>>>     </head>
>>>>     <body>
>>>>         <port id="pLua" component="lua" />
>>>>         <media id="lua" src="30_canvas.lua" descriptor="desc" />
>>>>     </body>
>>>> </ncl>
>>>>
>>>> ----------------------------------------------------------------------------
>>>>
>>>>
>>>>
>>>>
>>>> --------------------------- Lua
>>>> -----------------------------------------
>>>> --background
>>>> canvas:attrColor('navy')
>>>> canvas:clear()
>>>>
>>>> --top left
>>>> canvas:attrColor('white')
>>>> canvas:drawRect('frame', 50, 50, 250, 100)
>>>> canvas:drawRect('fill', 50, 200, 250, 100)
>>>>
>>>> -- top left
>>>> for i=0, 15 do
>>>>     canvas:attrColor(0, 255, 0, 255 - (i * 16) )
>>>>     local y = 50 + (i * 10)
>>>>     canvas:drawLine(525, y, 680, y)
>>>> end
>>>>
>>>> -- right
>>>> image = canvas:new('../resources/images/logo.jpg')
>>>> canvas:compose(325, 50, image)
>>>>
>>>> local colors = {"white", "black", "silver", "gray", "red" , "maroon" ,
>>>> "fuchsia", "purple", "lime", "green", "yellow", "olive", "blue", "navy",
>>>> "aqua", "teal"}
>>>> local fontWeight = {"normal", "bold", "italic"}
>>>> local fontFamily = {"Tiresias", "Tiresias"}
>>>>
>>>> for i=0, 7 do
>>>>     for j=0,2 do
>>>>         local ff = ''
>>>>         if i < 4 then
>>>>             ff = fontFamily[1]
>>>>         else
>>>>             ff = fontFamily[2]
>>>>         end
>>>>         local fw = fontWeight[j + 1]
>>>>         local offset = i * 2 + j
>>>>         canvas:attrFont(ff, 14 + offset, fw)
>>>>         canvas:attrColor(colors[i * 2 + (j % 2) + 1])
>>>>         canvas:drawText(40 + 225 * j , 310 + 30 * i, ff .. ' ' .. fw)
>>>>     end
>>>> end
>>>>
>>>> -- flush
>>>> canvas:flush()
>>>>
>>>>
>>>>
>>>> ---------------------------------------------------------------------------
>>>>
>>>> y el Error al compilar dice esto:
>>>>
>>>> FormatterMultiDevice::getFormatterLayout for '-1/canvas/lua/desc'
>>>> FormatterScheduler::runAction acquiring player for '-1/canvas/lua/desc'
>>>> TimeStamp: 0.258
>>>> ApplicationPlayerAdapter::ApplicationPlayerAdapter(0x9958248)
>>>> ApplicationPlayerAdapter::hasPrepared return false because object = '0'
>>>> and player = '0'
>>>> ApplicationPlayerAdapter::createPlayer(0x9958248) for
>>>> '/root/Desktop/TestSuite-1.2.0/Aplicaciones - TestSuite Ginga.ar
>>>> 1.2.0/lua/30_canvas.lua'
>>>> FormatterPlayerAdapter::createPlayer for
>>>> '/root/Desktop/TestSuite-1.2.0/Aplicaciones - TestSuite Ginga.ar
>>>> 1.2.0/lua/30_canvas.lua' object = '-1/canvas/lua/desc' objectDevice = '0'
>>>> FormatterMultiDevice::getFormatterLayout for '-1/canvas/lua/desc'
>>>> FormatterRegion::prepareOutputDisplay '0x9ad9d18' created
>>>> LuaPlayer::setCurrentScope ''
>>>> FormatterMultiDevice::getFormatterLayout for '-1/canvas/lua/desc'
>>>> PresentationContext::getPropertyValue prop 'service.currentKeyMaster'
>>>> has a NULL value
>>>> (!) Direct/Interface: Unable to dlopen
>>>> `/usr/local/lib/directfb-1.4-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_mpeg2.so'!
>>>>     -->
>>>> /usr/local/lib/directfb-1.4-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_mpeg2.so:
>>>> undefined symbol: direct_assumption
>>>> (!) Direct/Interface: Unable to dlopen
>>>> `/usr/local/lib/directfb-1.4-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_bmp.so'!
>>>>     -->
>>>> /usr/local/lib/directfb-1.4-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_bmp.so:
>>>> undefined symbol: direct_config
>>>> (*) Direct/Interface: Loaded 'JPEG' implementation of
>>>> 'IDirectFBImageProvider'.
>>>> ComponentManager::releaseComponentFromObject 'ImageProvider'
>>>> DFBFontProvider.cpp <96>:
>>>>     (!) [10402:    0.000] --> Caught signal 11 (at (nil), invalid
>>>> address) <--
>>>>  (!!!)  *** WARNING [still objects in 'Window Pool'] *** [object.c:241
>>>> in fusion_object_pool_destroy()]
>>>>  (!!!)  *** WARNING [still objects in 'Layer Region Pool'] ***
>>>> [object.c:241 in fusion_object_pool_destroy()]
>>>>  (!!!)  *** WARNING [still objects in 'Layer Context Pool'] ***
>>>> [object.c:241 in fusion_object_pool_destroy()]
>>>>  (!!!)  *** WARNING [still objects in 'Surface Pool'] *** [object.c:241
>>>> in fusion_object_pool_destroy()]
>>>> Abortado
>>>>
>>>>
>>>> ... si ejecuto un codigo lua simple como :
>>>>
>>>> canvas:attrColor('blue')
>>>> canvas:clear()
>>>> canvas:flush()
>>>>
>>>> No se produce ningun Error. [image: Confundido]
>>>>
>>>>
>>>>
>>>> Podra ser alguna libreria que me falte de Lua?
>>>> ... o nose que puede ser  :?
>>>>
>>>> desde ya Muchas Gracias Daniel!!!!!!  [image: Guiño]
>>>> Saludos!
>>>> *nico*
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> __________________________________________Lista de correo
>>>> Ginga-argentina at lists.ourproject.org
>>>> cambiar suscripci&#243;n:
>>>> https://lists.ourproject.org/cgi-bin/mailman/listinfo/ginga-argentina
>>>> Sitio web: http://comunidad.ginga.org.ar
>>>> Wiki: http://wiki.ginga.org.ar
>>>>
>>>>
>>>>
>>>> __________________________________________Lista de correo
>>>> Ginga-argentina at lists.ourproject.org cambiar suscripción:
>>>> https://lists.ourproject.org/cgi-bin/mailman/listinfo/ginga-argentinaSitio web:
>>>> http://comunidad.ginga.org.ar Wiki: http://wiki.ginga.org.ar
>>>>
>>>
>>>
>>> __________________________________________Lista de correo
>>> Ginga-argentina at lists.ourproject.org
>>> cambiar suscripci&#243;n:
>>> https://lists.ourproject.org/cgi-bin/mailman/listinfo/ginga-argentina
>>> Sitio web: http://comunidad.ginga.org.ar
>>> Wiki: http://wiki.ginga.org.ar
>>>
>>>
>>
>>
>> --
>> Saludos leo
>>
>>
>> __________________________________________Lista de correo
>> Ginga-argentina at lists.ourproject.org
>> cambiar suscripci&#243;n:
>> https://lists.ourproject.org/cgi-bin/mailman/listinfo/ginga-argentina
>> Sitio web: http://comunidad.ginga.org.ar
>> Wiki: http://wiki.ginga.org.ar
>>
>>
>
> __________________________________________Lista de correo
> Ginga-argentina at lists.ourproject.org
> cambiar suscripci&#243;n:
> https://lists.ourproject.org/cgi-bin/mailman/listinfo/ginga-argentina
> Sitio web: http://comunidad.ginga.org.ar
> Wiki: http://wiki.ginga.org.ar
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://lists.ourproject.org/pipermail/ginga-argentina/attachments/20120403/258bbc80/attachment-0001.htm 


More information about the Ginga-argentina mailing list