158 lines
5.4 KiB
Tcl
158 lines
5.4 KiB
Tcl
#
|
|
# Font specifications.
|
|
#
|
|
# This file, [source]d at initialization time, sets up the following
|
|
# symbolic fonts based on the current platform:
|
|
#
|
|
# TkDefaultFont -- default for GUI items not otherwise specified
|
|
# TkTextFont -- font for user text (entry, listbox, others)
|
|
# TkFixedFont -- standard fixed width font
|
|
# TkHeadingFont -- headings (column headings, etc)
|
|
# TkCaptionFont -- dialog captions (primary text in alert dialogs, etc.)
|
|
# TkTooltipFont -- font to use for tooltip windows
|
|
# TkIconFont -- font to use for icon captions
|
|
# TkMenuFont -- used to use for menu items
|
|
#
|
|
# In Tk 8.5, some of these fonts may be provided by the TIP#145 implementation
|
|
# (On Windows and Mac OS X as of Oct 2007).
|
|
#
|
|
# +++ Platform notes:
|
|
#
|
|
# Windows:
|
|
# The default system font changed from "MS Sans Serif" to "Tahoma"
|
|
# in Windows XP/Windows 2000.
|
|
#
|
|
# MS documentation says to use "Tahoma 8" in Windows 2000/XP,
|
|
# although many MS programs still use "MS Sans Serif 8"
|
|
#
|
|
# Should use SystemParametersInfo() instead.
|
|
#
|
|
# Mac OSX / Aqua:
|
|
# Quoth the Apple HIG:
|
|
# The _system font_ (Lucida Grande Regular 13 pt) is used for text
|
|
# in menus, dialogs, and full-size controls.
|
|
# [...] Use the _view font_ (Lucida Grande Regular 12pt) as the default
|
|
# font of text in lists and tables.
|
|
# [...] Use the _emphasized system font_ (Lucida Grande Bold 13 pt)
|
|
# sparingly. It is used for the message text in alerts.
|
|
# [...] The _small system font_ (Lucida Grande Regular 11 pt) [...]
|
|
# is also the default font for column headings in lists, for help tags,
|
|
# and for small controls.
|
|
#
|
|
# Note that the font for column headings (TkHeadingFont) is
|
|
# _smaller_ than the default font.
|
|
#
|
|
# There does not appear to be any recommendations for fixed-width fonts.
|
|
#
|
|
# X11:
|
|
# Need a way to tell if Xft is enabled or not.
|
|
# For now, assume patch #971980 applied.
|
|
#
|
|
# "Classic" look used Helvetica bold for everything except
|
|
# for entry widgets, which use Helvetica medium.
|
|
# Most other toolkits use medium weight for all UI elements,
|
|
# which is what we do now.
|
|
#
|
|
# Font size specified in pixels on X11, not points.
|
|
# This is Theoretically Wrong, but in practice works better; using
|
|
# points leads to huge inconsistencies across different servers.
|
|
#
|
|
|
|
namespace eval ttk {
|
|
|
|
variable tip145 [catch {font create TkDefaultFont}]
|
|
catch {font create TkTextFont}
|
|
catch {font create TkHeadingFont}
|
|
catch {font create TkCaptionFont}
|
|
catch {font create TkTooltipFont}
|
|
catch {font create TkFixedFont}
|
|
catch {font create TkIconFont}
|
|
catch {font create TkMenuFont}
|
|
catch {font create TkSmallCaptionFont}
|
|
|
|
if {!$tip145} {
|
|
variable F ;# miscellaneous platform-specific font parameters
|
|
switch -- [tk windowingsystem] {
|
|
win32 {
|
|
# In safe interps there is no osVersion element.
|
|
if {[info exists tcl_platform(osVersion)]} {
|
|
if {$tcl_platform(osVersion) >= 5.0} {
|
|
set F(family) "Tahoma"
|
|
} else {
|
|
set F(family) "MS Sans Serif"
|
|
}
|
|
} else {
|
|
if {[lsearch -exact [font families] Tahoma] != -1} {
|
|
set F(family) "Tahoma"
|
|
} else {
|
|
set F(family) "MS Sans Serif"
|
|
}
|
|
}
|
|
set F(size) 8
|
|
|
|
font configure TkDefaultFont -family $F(family) -size $F(size)
|
|
font configure TkTextFont -family $F(family) -size $F(size)
|
|
font configure TkHeadingFont -family $F(family) -size $F(size)
|
|
font configure TkCaptionFont -family $F(family) -size $F(size) \
|
|
-weight bold
|
|
font configure TkTooltipFont -family $F(family) -size $F(size)
|
|
font configure TkFixedFont -family Courier -size 10
|
|
font configure TkIconFont -family $F(family) -size $F(size)
|
|
font configure TkMenuFont -family $F(family) -size $F(size)
|
|
font configure TkSmallCaptionFont -family $F(family) -size $F(size)
|
|
}
|
|
aqua {
|
|
set F(family) "Lucida Grande"
|
|
set F(fixed) "Monaco"
|
|
set F(menusize) 14
|
|
set F(size) 13
|
|
set F(viewsize) 12
|
|
set F(smallsize) 11
|
|
set F(labelsize) 10
|
|
set F(fixedsize) 11
|
|
|
|
font configure TkDefaultFont -family $F(family) -size $F(size)
|
|
font configure TkTextFont -family $F(family) -size $F(size)
|
|
font configure TkHeadingFont -family $F(family) -size $F(smallsize)
|
|
font configure TkCaptionFont -family $F(family) -size $F(size) \
|
|
-weight bold
|
|
font configure TkTooltipFont -family $F(family) -size $F(smallsize)
|
|
font configure TkFixedFont -family $F(fixed) -size $F(fixedsize)
|
|
font configure TkIconFont -family $F(family) -size $F(size)
|
|
font configure TkMenuFont -family $F(family) -size $F(menusize)
|
|
font configure TkSmallCaptionFont -family $F(family) -size $F(labelsize)
|
|
}
|
|
default -
|
|
x11 {
|
|
if {![catch {tk::pkgconfig get fontsystem} F(fs)] && $F(fs) eq "xft"} {
|
|
set F(family) "sans-serif"
|
|
set F(fixed) "monospace"
|
|
} else {
|
|
set F(family) "Helvetica"
|
|
set F(fixed) "courier"
|
|
}
|
|
set F(size) -12
|
|
set F(ttsize) -10
|
|
set F(capsize) -14
|
|
set F(fixedsize) -12
|
|
|
|
font configure TkDefaultFont -family $F(family) -size $F(size)
|
|
font configure TkTextFont -family $F(family) -size $F(size)
|
|
font configure TkHeadingFont -family $F(family) -size $F(size) \
|
|
-weight bold
|
|
font configure TkCaptionFont -family $F(family) -size $F(capsize) \
|
|
-weight bold
|
|
font configure TkTooltipFont -family $F(family) -size $F(ttsize)
|
|
font configure TkFixedFont -family $F(fixed) -size $F(fixedsize)
|
|
font configure TkIconFont -family $F(family) -size $F(size)
|
|
font configure TkMenuFont -family $F(family) -size $F(size)
|
|
font configure TkSmallCaptionFont -family $F(family) -size $F(ttsize)
|
|
}
|
|
}
|
|
unset -nocomplain F
|
|
}
|
|
|
|
}
|
|
|
|
#*EOF*
|