[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#171750: xlibs: XftConfig doesn't map sans/serif/mono



Package: xlibs
Version: 4.2.1-3
Severity: important
Tags: patch



-- System Information
Debian Release: testing/unstable
Architecture: i386
Kernel: Linux hopper 2.2.22 #6 Sat Sep 21 21:00:42 CEST 2002 i686
Locale: LANG=C, LC_CTYPE=C

Versions of packages xlibs depends on:
ii  libc6                         2.2.5-14.3 GNU C Library: Shared libraries an
ii  libfreetype6                  2.1.2-9    FreeType 2 font engine, shared lib
ii  xfree86-common                4.2.1-3    X Window System (XFree86) infrastr


the default /etc/X11/XftConfig shipped with xlibs doesn't contain crucial
mappings for the default font families. this is effecting many dependant
packages. with the current setup any Gtk+-2.0 based application renders
text using the wrong font families (e.g. monospaced/fixed text is rendered
with a proportional font).
in order to fix this, XftConfig needs to
a) map "monospace" (which is the fixed width font gtk asks for) to "mono" and
b) provide appropriate mappings for the "sans", "serif" and "mono"
   font families.
appended is a sample XftConfig file based on /etc/X11/XftConfig from
xlibs-4.2.1-3 which works with any of the three debian font packages
ttf-freefont, msttcorefonts or gsfonts-x11, mapping sans, serif
and mono to fonts which support varying weights (bold, etc.; not all
fonts come in different weights) and which match the requested family:


# Debian XftConfig for ttf-freefont, msttcorefonts or gsfonts-x11

# catch fixed X font queries
match any family == "fixed"		edit family =+ "mono";
# catch terminal font queries
match any family == "console"		edit family =+ "mono";
# Gtk+ likes to ask for "Monospace"
match any family == "monospace"		edit family =+ "mono";


# FreeFont TrueType setup (ttf-freefont)
dir "/usr/share/fonts/truetype/freefont"
# FreeMono*.ttf FreeSans*.ttf FreeSerif*.ttf
match any family == "sans"	edit family += "FreeSans";
match any family == "serif"	edit family += "FreeSerif";
match any family == "mono"	edit family += "FreeMono";


# MS TrueType fonts (msttcorefonts)
dir "/usr/share/fonts/truetype"
# Sans:  Arial*.ttf Verdana*.ttf Trebuchet_MS*.ttf Comic_Sans_MS*.ttf Arial_Black.ttf
# Serif: Georgia*.ttf Times_New_Roman*.ttf
# Mono:  Courier_New*.ttf Andale_Mono.ttf
# Other: Impact.ttf Webdings.ttf
match any family == "sans"	edit family += "Arial";
#match any family == "sans"	edit family =+ "Verdana";
#match any family == "sans"	edit family =+ "Trebuchet MS";
#match any family == "sans"	edit family =+ "Comic Sans MS";
match any family == "serif"	edit family += "Georgia";
#match any family == "serif"	edit family =+ "Times New Roman";
match any family == "mono"	edit family += "Courier New";


# Type1 fonts (gsfonts-x11)
dir "/usr/X11R6/lib/X11/fonts/Type1"
# Sans:   Nimbus_Sans_L* URW_Gothic_L*
# Serif:  Nimbus_Roman_No9_L* URW_Bookman_L* Century_Schoolbook_L* Bitstream_Charter* URW_Palladio_L*
# Mono:   Nimbus_Mono_L* Courier_10_Pitch*
# Script: URW_Chancery_L*
match any family == "sans"	edit family += "Nimbus Sans L";
match any family == "serif"	edit family += "Nimbus Roman No9 L";
#match any family == "mono"	edit family += "Nimbus Mono L";
#match any family == "sans"	edit family += "URW Gothic L";
#match any family == "serif"	edit family += "URW Bookman L";
match any family == "mono"	edit family += "Courier 10 Pitch";


# Check users config file
#
includeif	"~/.xftconfig"

#
# Alias between XLFD families and font file family name, prefer local
# fonts
#
match any family == "charter"		edit family += "bitstream charter";
match any family == "bitstream charter" edit family =+ "charter";







Reply to: