AG_TextFont() and AG_TextRender() must be invoked from widget draw()
context. I assume this code fragment is part of a custom widget?
Was the AG_FetchFont() call successful? Have you tried setting it
as the default font and using something like AG_TextMsg()? You can't
have UTF-8 in the C source, but you can insert the literal UTF-8
sequences byte-by-byte with \x in format strings.
There is no equivalent of SDL_EnableUNICODE(), since Unicode support
in Agar is enabled by default.
On Thu, Jul 02, 2009 at 08:11:17PM +0800, Gang Tang wrote:
> Dear Nadeau,
>
> I have to ask for further help.
>
> I have modified the code as you supplied. It seems like follows:
>
> AG_SetString(agConfig, "font-path", "/root/.fonts/");
> AG_Font *font = AG_FetchFont("msyh.ttf", 24, 0);
> printf("0x%x.\n", font);
> if (font != NULL)
> AG_TextFont(font);
> my->mySurface = AG_WidgetMapSurface(my,
> AG_TextRender("?????????Custom widget! ??????!"));
>
> compile and run it, it pop a SDL window, display like follows:
>
>
> ?????????Custom widget!?????????
>
> that means the Chinese characters are all been displayed as blank
> rectangles. Why?
>
> Because SDL lib has function SDL_EnableUNICODE to support utf8 characters, I
> want to ask whether there is a corresponding funciton to that?
>
> Fanally, how I shoud do to display them correctly?
>
> Thank you, very much.
> On Thu, Jul 2, 2009 at 4:51 PM, Julien Nadeau <[email protected]> wrote:
>
> >
> > Sorry, AG_SetDefaultFont() is only in 1.3.4-beta, but in 1.3.3 you
> > can still do:
> >
> > agDefaultFont = font;
> >
> > On Thu, Jul 02, 2009 at 04:00:02PM +0800, Gang Tang wrote:
> > > Thanks for your rapid reply. But I cann't find this function:
> > > AG_SetDefaultFont in agar lib, is there something wrong?
> > >
> > > 3ks.
> > >
> > > -----------------------
> > > Using AG_FetchFont() in your program initialization:
> > >
> > > AG_Font *font = AG_FetchFont("msyh.ttf", 12, 0);
> > > if (font != NULL)
> > > AG_SetDefaultFont(font);
> > >
> > > See http://libagar.org/man3/AG_Text for details. AG_FetchFont() will
> > scan
> > > the "font-path" directories for the ttf file. You'll probably want to
> > > edit the font-path before setting the font:
> > >
> > > AG_SetString(agConfig, "font-path", "/path/to/fontdir");
> > >
> > > _______________________________________________
> > > Agar mailing list
> > > [email protected]
> > > http://libagar.org/lists.html
> >
_______________________________________________
Agar mailing list
[email protected]
http://libagar.org/lists.html