Rounds to the lowest integer, not the nearest.
[wine/testsucceed.git] / documentation / fonts
blob48afcddebf4cfa86aa62bf5e054cf07f62e41e25
2 How To Convert Windows Fonts
3 ============================
5 If you have access to a Windows installation you should use 
6 fnt2bdf utility (found in the 'tools)' directory to convert
7 bitmap fonts (VGASYS.FON, SSERIFE.FON, and SERIFE.FON) into 
8 the format that X Window System can recognize. 
10 Step 1. Extract bitmap fonts with 'fnt2bdf'.
12 Step 2. Convert .bdf files produced by the Step 1 into
13         .pcf files with 'bdftopcf'.
15 Step 3. Copy .pcf files to the font server directory which
16         is usually /usr/lib/X11/fonts/misc (you will probably 
17         need superuser privileges). If you want to create a new
18         font directory you will need to add it to the font path.
20 Step 4. Run 'mkfontdir' for the directory you copied fonts to.
21         If you are already in X you should run 'xset fp rehash' 
22         to make X server aware of the new fonts.
24 Step 5. Edit WINE.CONF file to remove aliases for the fonts 
25         you've just installed.
27 WINE can get by without these fonts but 'the look and feel'
28 may be quite different. Also, some applications try to load
29 their custom fonts on the fly (WinWord 6.0) and since WINE does
30 not implement this yet it instead prints out something like;
32 STUB: AddFontResource( SOMEFILE.FON )
34 You can convert this file too. Note that .FON file may not hold 
35 any bitmap fonts and fnt2bdf will fail if this is the case. Also
36 note that although the above message will not disappear WINE will
37 work around the problem by using the font you extracted from the
38 SOMEFILE.FON. fnt2bdf will only work for Windows 3.1 fonts. It 
39 will not work for TrueType fonts.
41 What to do with TrueType fonts? There are several commercial
42 font tools that can convert them to the Type1 format but the 
43 quality of the resulting fonts is far from stellar. The other
44 way to use them is to get a font server capable of rendering 
45 TrueType (Caldera has one, there also is the free Xfstt in
46 Linux/X11/fonts on sunsite and mirrors, if you're on FreeBSD you
47 can use the port in /usr/ports/x11-servers/Xfstt.  And there is
48 xfsft which uses the freetype library, see documentation/ttfserver).
50 However, there is a possibility of the native TrueType support 
51 via FreeType renderer in the future (hint, hint :-)
54 How To Add Font Aliases To WINE.CONF
55 ====================================
57 Many Windows applications assume that fonts included in original Windows 3.1 
58 distribution are always present. By default Wine creates a number of aliases
59 that map them on the existing X fonts:
61 Windows font            ...is mapped to...      X font
63 "MS Sans Serif"                 ->              "-adobe-helvetica-"
64 "MS Serif"                      ->              "-bitstream-charter-"
65 "Times New Roman"               ->              "-adobe-times-"
66 "Arial"                         ->              "-adobe-helvetica-"
68 There is no default alias for the "System" font. Also, no aliases are 
69 created for the fonts that applications install at runtime. The recommended 
70 way to deal with this problem is to convert the missing font (see above). 
71 If it proves impossible, like in the case with TrueType fonts, you can force 
72 the font mapper to choose a closely related X font by adding an alias to the 
73 [fonts] section. Make sure that the X font actually exists (with xfontsel
74 tool).
76 AliasN = [Windows font], [X font] <, optional "mask X font" flag>
78 Example:
80 Alias0 = System, --international-, subst
81 Alias1 = ...
82 ...
84 Comments:
85 *   There must be no gaps in the sequence {0, ..., N} otherwise all aliases
86     after the first gap won't be read.
88 *   Usually font mapper translates X font names into font names visible to
89     Windows programs in the following fashion:
91     X font              ...will show up as...           Extracted name
93     --international-...         ->                      "International"
94     -adobe-helvetica-...        ->                      "Helvetica"
95     -adobe-utopia-...           ->                      "Utopia"
96     -misc-fixed-...             ->                      "Fixed"
97     -...
98     -sony-fixed-...             ->                      "Sony Fixed" 
99     -...
101     Note that since -misc-fixed- and -sony-fixed- are different fonts
102     Wine modified the second extracted name to make sure Windows programs
103     can distinguish them because only extracted names appear in the font 
104     selection dialogs. 
106 *   "Masking" alias replaces the original extracted name so that in the 
107     example case we will have the following mapping:
109     --international-            ->                      "System"
111     "Nonmasking" aliases are transparent to the user and they do not 
112     replace extracted names.
114     Wine discards an alias when it sees that the native X font is
115     available.
117 *   If you do not have access to Windows fonts mentioned in the first 
118     paragraph you should try to substitute the "System" font with 
119     nonmasking alias. 'xfontsel' will show you the fonts available to
120     X.
122     Alias.. = System, ...bold font without serifs
124 Also, some Windows applications request fonts without specifying the 
125 typeface name of the font. Font table starts with Arial in most Windows 
126 installations, however X font table starts with whatever is the first line 
127 in the fonts.dir.  Therefore WINE uses the following entry to determine 
128 which font to check first.
130 Example:
132 Default = -adobe-times-
134 Comments:
135     It is better to have a scalable font family (bolds and italics included) 
136     as the default choice because mapper checks all available fonts until 
137     requested height and other attributes match perfectly or the end of the 
138     font table is reached. Typical X installations have scalable fonts in
139     the ../fonts/Type1 and ../fonts/Speedo directories.
142 How To Manage Cached Font Metrics
143 =================================
145 WINE stores detailed information about available fonts in the ~/.wine/.cachedmetrics
146 file. You can copy it elsewhere and add this entry to the [fonts] section 
147 in your WINE.CONF:
149 FontMetrics = <file with metrics>
151 If WINE detects changes in the X font configuration it will rebuild font
152 metrics from scratch and then it will overwrite ~/.wine/.cachedmetrics with 
153 the new information. This process can take a while.
156 Too Small Or Too Large Fonts
157 ============================
159 Windows programs may ask WINE to render a font with the height specified
160 in points. However, point-to-pixel ratio depends on the real physical size 
161 of your display (15", 17", etc...). X tries to provide an estimate of that 
162 but it can be quite different from the actual size. You can change this
163 ratio by adding the following entry to the [fonts] section:
165 Resolution = <integer value>
167 In general, higher numbers give you larger fonts. Try to experiment with
168 values in the 60 - 120 range. 96 is a good starting point.
171 "FONT_Init: failed to load ..." Messages On Startup
172 ===================================================
174 The most likely cause is a broken fonts.dir file in one of your font
175 directories. You need to rerun 'mkfontdir' to rebuild this file. Read
176 its manpage for more information. If you can't run mkfontdir on this machine
177 as you are not root, use "xset -fp xxx" to remove the broken font path.