X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=gtk%2Fxboard.c;h=5498622fba2630e0f3c6fdad47c749f66ea20cd7;hb=fae5c4d7152788cbe63069bdb97f6c2df5ec08ee;hp=7ea83829ad28b6250e0dc681d638bb7a05b79f90;hpb=b4f97ed2dd6c9d8e9d780211d8ebc54803d46403;p=xboard.git diff --git a/gtk/xboard.c b/gtk/xboard.c index 7ea8382..5498622 100644 --- a/gtk/xboard.c +++ b/gtk/xboard.c @@ -444,6 +444,17 @@ SetFontDefaults () } void +ChangeFont (int force, char **font, int fnr, int size, char *def, int pix) +{ + if(!fontValid[fnr][size]) { + if(fontIsSet[fnr] && !force) return; // unless forced we do not replace an explicitly specified font by a default + ASSIGN(fontTable[fnr][size], def); // use default + fontIsSet[fnr] = False; + } + FREE(*font); *font = InsertPxlSize(fontTable[fnr][size], pix); +} + +void CreateFonts () { // no-op, until we identify the code for this already in XBoard and move it here } @@ -516,9 +527,10 @@ SaveFontArg (FILE *f, ArgDescriptor *ad) default: return; } + if(fontIsSet[n]) // only save fonts that were not defaults for(i=0; i sqx*BOARD_WIDTH; h++) {} if(initialSquareSize != sizeDefaults[h].squareSize) { // boardSize changed initialSquareSize = sizeDefaults[h].squareSize; // used for saving font - if(!fontValid[CLOCK_FONT][initialSquareSize]) { ASSIGN(fontTable[CLOCK_FONT][initialSquareSize], CLOCK_FONT_NAME); } - appData.clockFont = InsertPxlSize(fontTable[CLOCK_FONT][initialSquareSize], 2*(sizeDefaults[h].clockFontPxlSize+1)/3); - if(!fontValid[MESSAGE_FONT][initialSquareSize]) { ASSIGN(fontTable[MESSAGE_FONT][initialSquareSize], DEFAULT_FONT_NAME); } - appData.font = InsertPxlSize(fontTable[MESSAGE_FONT][initialSquareSize], sizeDefaults[h].coordFontPxlSize); + ChangeFont(1, &appData.clockFont, CLOCK_FONT, initialSquareSize, CLOCK_FONT_NAME, 2*(sizeDefaults[h].clockFontPxlSize+1)/3); + ChangeFont(1, &appData.font, MESSAGE_FONT, initialSquareSize, DEFAULT_FONT_NAME, sizeDefaults[h].coordFontPxlSize); + ChangeFont(0, &appData.icsFont, CONSOLE_FONT, initialSquareSize, CONSOLE_FONT_NAME, sizeDefaults[h].coordFontPxlSize); + ChangeFont(0, &appData.tagsFont, EDITTAGS_FONT, initialSquareSize, TAGS_FONT_NAME, sizeDefaults[h].coordFontPxlSize); + ChangeFont(0, &appData.commentFont, COMMENT_FONT, initialSquareSize, COMMENT_FONT_NAME, sizeDefaults[h].coordFontPxlSize); + ChangeFont(0, &appData.gameListFont, GAMELIST_FONT, initialSquareSize, GAMELIST_FONT_NAME, sizeDefaults[h].coordFontPxlSize); + ChangeFont(0, &appData.coordFont, MOVEHISTORY_FONT, initialSquareSize, HISTORY_FONT_NAME, sizeDefaults[h].coordFontPxlSize); DisplayBothClocks(); ApplyFont(&mainOptions[W_MESSG], NULL); for(i=1; i<6; i++) ApplyFont(&mainOptions[W_BUTTON+i], NULL);