int cmd_font( char * in ) { // font=fontname,fontid char name[512]; char id[512]; wItem * item; CHECKDEFLIST( "font" ); CHECKWINLIST( "font" ); CHECK( "sub" ); CHECK( "menu" ); cutItem( in,name,',',0 ); cutItem( in,id,',',1 ); mp_dbg( MSGT_GPLAYER,MSGL_DBG2,"\n[skin] font\n" ); mp_dbg( MSGT_GPLAYER,MSGL_DBG2,"[skin] name: %s\n",name ); (*currSubItem)++; item=&currSubItems[ *currSubItem ]; item->type=itFont; item->fontid=fntRead( path,name ); switch ( item->fontid ) { case -1: ERRORMESSAGE( MSGTR_SKIN_FONT_NotEnoughtMemory ); return 1; case -2: ERRORMESSAGE( MSGTR_SKIN_FONT_TooManyFontsDeclared ); return 1; case -3: ERRORMESSAGE( MSGTR_SKIN_FONT_FontFileNotFound ); return 1; case -4: ERRORMESSAGE( MSGTR_SKIN_FONT_FontImageNotFound ); return 1; } return 0; }
/** * @brief Parse a @a font definition. * * Syntax: font=fontfile * * @param in definition to be analyzed * * @return 0 (ok) or 1 (error) */ static int item_font(char *in) { char fnt[256]; if (!window_item("font")) return 1; if (in_window("video")) return 1; if (in_window("menu")) return 1; cutItem(in, fnt, ',', 0); // Note: This seems needless but isn't for compatibility // reasons with a meanwhile depreciated second parameter. switch (fntRead(path, fnt)) { case -1: skin_error(MSGTR_SKIN_NotEnoughMemory); return 1; case -2: skin_error(MSGTR_SKIN_FONT_TooManyFontsDeclared); return 1; case -3: skin_error(MSGTR_SKIN_FONT_FontFileNotFound); return 1; case -4: skin_error(MSGTR_SKIN_FONT_FontImageNotFound); return 1; } mp_msg(MSGT_GPLAYER, MSGL_DBG2, "[skin] font: %s (#%d)\n", fnt, fntFindID(fnt)); return 0; }