From: SourceForge.net <no...@so...> - 2010-03-04 06:51:02
|
Bugs item #2961564, was opened at 2010-03-01 14:36 Message generated for change (Comment added) made by das You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112997&aid=2961564&group_id=12997 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: 45. Aqua Fonts Group: development: 8.6b1.1 Status: Open Resolution: Wont Fix Priority: 5 Private: No Submitted By: Tom Goddard (tom_goddard) Assigned to: Daniel A. Steffen (das) Summary: No italic TkDefaultFont in Tk Cocoa Initial Comment: Making a label with font TkDefaultFont and italic slant displays a non-italic font with Tk Cocoa 8.6, Jan 8, 2010 source code. With Tk 8.5.8 Aqua (Carbon) an italic font is shown. The default Tk Cocoa font should have an italic version. Here's a Wish script demonstrating the problem: label .l -text "in italics?" -font "TkDefaultFont 13 italic" puts [font actual {TkDefaultFont 13 italic}] pack .l On Tk Cocoa 8.6 this shows a non-italic label and prints the following actual font being used: -family {Lucida Grande} -size 13 -weight normal -slant roman -underline 0 -overstrike 0 On Tk Aqua (Carbon) 8.5.8 the displayed label is italic and the script prints the actual font as: -family Geneva -size 13 -weight normal -slant italic -underline 0 -overstrike 0 Both tests were run on Mac OS 10.6.2. ---------------------------------------------------------------------- Comment By: Daniel A. Steffen (das) Date: 2010-03-03 22:51 Message: TkAqua Carbon uses QuickDraw font handling which can draw "fake" italic for fonts that don't have an italic variant, TkAqua Cocoa uses CoreText which does not provide this hack. ---------------------------------------------------------------------- Comment By: Tom Goddard (tom_goddard) Date: 2010-03-03 10:19 Message: Good point. The bug still exists with the suggested fix to the Tcl script: font create ifont {*}[font configure TkDefaultFont] -slant italic label .l -text "in italics?" -font ifont puts [font actual ifont] pack .l This script with wish8.6 displays a non-italic font for the label reported as -family {Lucida Grande} -size 13 -weight normal -slant roman -underline 0 -overstrike 0 while with Tk 8.5.8 Aqua (Carbon) an italic font is shown and reported as -family {Lucida Grande} -size 13 -weight normal -slant italic -underline 0 -overstrike 0 This latter correct result is mysterious because the Font Book application on the Mac OS 10.6 system this was tested on reports no italic Lucida Grande font (only regular and bold), and info on the web also says there is no such thing as an italic Lucida Grande. So it seems that Tk 8.5.8 reports the actual font to be a non-existent font, yet still displays correctly. ---------------------------------------------------------------------- Comment By: Pat Thoyts (patthoyts) Date: 2010-03-03 05:36 Message: {TkDefaultFont 13 italic} is an invalid font description. On the font manual page in the "FONT DESCRIPTION" section there are 5 acceptable forms given. The first is that a named font may be provided. The third form is {family ?size? ?style? ?style...?}. In this case you are presenting a named font name as a font family name. The system will try and find some acceptable font as it cant find a match. When I try the above example on Windows for instance, [font actual TkDefaultFont] gives a "SegoeUI" font but [font actual {TkDefaultFont 14 italic}] yields an Arial family font which is the default Tk family match when it can't find anything else appropriate. To make an italic version of the TkDefaultFont you should do: font create TkDefaultItalicFont {*}[font configure TkDefaultFont] -slant italic ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112997&aid=2961564&group_id=12997 |