@@ -178,7 +178,6 @@ GetFont(
178178
179179static void
180180GetTkFontAttributes (
181- Tk_Window tkwin ,
182181 XftFont * ftFont ,
183182 TkFontAttributes * faPtr )
184183{
@@ -188,12 +187,12 @@ GetTkFontAttributes(
188187 double size , ptsize ;
189188
190189 (void ) XftPatternGetString (ftFont -> pattern , XFT_FAMILY , 0 , familyPtr );
191- if (XftPatternGetDouble (ftFont -> pattern , XFT_PIXEL_SIZE , 0 ,
192- & ptsize ) == XftResultMatch ) {
193- size = - ptsize ;
194- } else if (XftPatternGetDouble (ftFont -> pattern , XFT_SIZE , 0 ,
190+ if (XftPatternGetDouble (ftFont -> pattern , XFT_SIZE , 0 ,
195191 & ptsize ) == XftResultMatch ) {
196192 size = ptsize ;
193+ } else if (XftPatternGetDouble (ftFont -> pattern , XFT_PIXEL_SIZE , 0 ,
194+ & ptsize ) == XftResultMatch ) {
195+ size = - ptsize ;
197196 } else if (XftPatternGetInteger (ftFont -> pattern , XFT_PIXEL_SIZE , 0 ,
198197 & pxsize ) == XftResultMatch ) {
199198 size = (double )- pxsize ;
@@ -215,7 +214,7 @@ GetTkFontAttributes(
215214#endif /* DEBUG_FONTSEL */
216215
217216 faPtr -> family = Tk_GetUid (family );
218- faPtr -> size = TkFontGetPoints ( tkwin , size ) ;
217+ faPtr -> size = size ;
219218 faPtr -> weight = (weight > XFT_WEIGHT_MEDIUM ) ? TK_FW_BOLD : TK_FW_NORMAL ;
220219 faPtr -> slant = (slant > XFT_SLANT_ROMAN ) ? TK_FS_ITALIC : TK_FS_ROMAN ;
221220 faPtr -> underline = 0 ;
@@ -351,7 +350,7 @@ InitFont(
351350 return NULL ;
352351 }
353352 fontPtr -> font .fid = XLoadFont (Tk_Display (tkwin ), "fixed" );
354- GetTkFontAttributes (tkwin , ftFont , & fontPtr -> font .fa );
353+ GetTkFontAttributes (ftFont , & fontPtr -> font .fa );
355354 GetTkFontMetrics (ftFont , & fontPtr -> font .fm );
356355 Tk_DeleteErrorHandler (handler );
357356 if (errorFlag ) {
@@ -507,7 +506,7 @@ TkpGetFontFromAttributes(
507506 if (faPtr -> size > 0.0 ) {
508507 XftPatternAddDouble (pattern , XFT_SIZE , faPtr -> size );
509508 } else if (faPtr -> size < 0.0 ) {
510- XftPatternAddDouble (pattern , XFT_PIXEL_SIZE , - faPtr -> size );
509+ XftPatternAddDouble (pattern , XFT_SIZE , TkFontGetPoints ( tkwin , faPtr -> size ) );
511510 } else {
512511 XftPatternAddDouble (pattern , XFT_SIZE , 12.0 );
513512 }
@@ -676,7 +675,7 @@ TkpGetSubFonts(
676675
677676void
678677TkpGetFontAttrsForChar (
679- Tk_Window tkwin , /* Window on the font's display */
678+ TCL_UNUSED ( Tk_Window ), /* Window on the font's display */
680679 Tk_Font tkfont , /* Font to query */
681680 int c , /* Character of interest */
682681 TkFontAttributes * faPtr ) /* Output: Font attributes */
@@ -688,7 +687,7 @@ TkpGetFontAttrsForChar(
688687 XftFont * ftFont = GetFont (fontPtr , ucs4 , 0.0 );
689688 /* Actual font used to render the character */
690689
691- GetTkFontAttributes (tkwin , ftFont , faPtr );
690+ GetTkFontAttributes (ftFont , faPtr );
692691 faPtr -> underline = fontPtr -> font .fa .underline ;
693692 faPtr -> overstrike = fontPtr -> font .fa .overstrike ;
694693}
0 commit comments