| Note: |
| ===== |
| The fnt2bdf utility is included with Wine. It can be found in the tools |
| directory. |
| Links to the other tools mentioned in this document can be found on wine |
| headquarters: http://www.winehq.com/tools.html |
| |
| |
| How To Convert Windows Fonts |
| ============================ |
| |
| If you have access to a Windows installation you should use |
| fnt2bdf utility (found in the 'tools)' directory to convert |
| bitmap fonts (VGASYS.FON, SSERIFE.FON, and SERIFE.FON) into |
| the format that the X Window System can recognize. |
| |
| Step 1. Extract bitmap fonts with 'fnt2bdf'. |
| |
| Step 2. Convert .bdf files produced by Step 1 into |
| .pcf files with 'bdftopcf'. |
| |
| Step 3. Copy .pcf files to the font server directory which |
| is usually /usr/lib/X11/fonts/misc (you will probably |
| need superuser privileges). If you want to create a new |
| font directory you will need to add it to the font path. |
| |
| Step 4. Run 'mkfontdir' for the directory you copied fonts to. |
| If you are already in X you should run 'xset fp rehash' |
| to make X server aware of the new fonts. |
| |
| Step 5. Edit WINE.CONF file to remove aliases for the fonts |
| you've just installed. |
| |
| WINE can get by without these fonts but 'the look and feel' |
| may be quite different. Also, some applications try to load |
| their custom fonts on the fly (WinWord 6.0) and since WINE does |
| not implement this yet it instead prints out something like; |
| |
| STUB: AddFontResource( SOMEFILE.FON ) |
| |
| You can convert this file too. Note that .FON file may not hold |
| any bitmap fonts and fnt2bdf will fail if this is the case. Also |
| note that although the above message will not disappear WINE will |
| work around the problem by using the font you extracted from the |
| SOMEFILE.FON. fnt2bdf will only work for Windows 3.1 fonts. It |
| will not work for TrueType fonts. |
| |
| What to do with TrueType fonts? There are several commercial |
| font tools that can convert them to the Type1 format but the |
| quality of the resulting fonts is far from stellar. The other |
| way to use them is to get a font server capable of rendering |
| TrueType (Caldera has one, there also is the free Xfstt in |
| Linux/X11/fonts on sunsite and mirrors, if you're on FreeBSD you |
| can use the port in /usr/ports/x11-servers/Xfstt. And there is |
| xfsft which uses the freetype library, see documentation/ttfserver). |
| |
| However, there is a possibility of the native TrueType support |
| via FreeType renderer in the future (hint, hint :-) |
| |
| |
| How To Add Font Aliases To WINE.CONF |
| ==================================== |
| |
| Many Windows applications assume that fonts included in original Windows 3.1 |
| distribution are always present. By default Wine creates a number of aliases |
| that map them on the existing X fonts: |
| |
| Windows font ...is mapped to... X font |
| |
| "MS Sans Serif" -> "-adobe-helvetica-" |
| "MS Serif" -> "-bitstream-charter-" |
| "Times New Roman" -> "-adobe-times-" |
| "Arial" -> "-adobe-helvetica-" |
| |
| There is no default alias for the "System" font. Also, no aliases are |
| created for the fonts that applications install at runtime. The recommended |
| way to deal with this problem is to convert the missing font (see above). |
| If it proves impossible, like in the case with TrueType fonts, you can force |
| the font mapper to choose a closely related X font by adding an alias to the |
| [fonts] section. Make sure that the X font actually exists (with xfontsel |
| tool). |
| |
| AliasN = [Windows font], [X font] <, optional "mask X font" flag> |
| |
| Example: |
| |
| Alias0 = System, --international-, subst |
| Alias1 = ... |
| ... |
| |
| Comments: |
| * There must be no gaps in the sequence {0, ..., N} otherwise all aliases |
| after the first gap won't be read. |
| |
| * Usually font mapper translates X font names into font names visible to |
| Windows programs in the following fashion: |
| |
| X font ...will show up as... Extracted name |
| |
| --international-... -> "International" |
| -adobe-helvetica-... -> "Helvetica" |
| -adobe-utopia-... -> "Utopia" |
| -misc-fixed-... -> "Fixed" |
| -... |
| -sony-fixed-... -> "Sony Fixed" |
| -... |
| |
| Note that since -misc-fixed- and -sony-fixed- are different fonts |
| Wine modified the second extracted name to make sure Windows programs |
| can distinguish them because only extracted names appear in the font |
| selection dialogs. |
| |
| * "Masking" alias replaces the original extracted name so that in the |
| example case we will have the following mapping: |
| |
| --international- -> "System" |
| |
| "Nonmasking" aliases are transparent to the user and they do not |
| replace extracted names. |
| |
| Wine discards an alias when it sees that the native X font is |
| available. |
| |
| * If you do not have access to Windows fonts mentioned in the first |
| paragraph you should try to substitute the "System" font with |
| nonmasking alias. 'xfontsel' will show you the fonts available to |
| X. |
| |
| Alias.. = System, ...bold font without serifs |
| |
| Also, some Windows applications request fonts without specifying the |
| typeface name of the font. Font table starts with Arial in most Windows |
| installations, however X font table starts with whatever is the first line |
| in the fonts.dir. Therefore WINE uses the following entry to determine |
| which font to check first. |
| |
| Example: |
| |
| Default = -adobe-times- |
| |
| Comments: |
| It is better to have a scalable font family (bolds and italics included) |
| as the default choice because mapper checks all available fonts until |
| requested height and other attributes match perfectly or the end of the |
| font table is reached. Typical X installations have scalable fonts in |
| the ../fonts/Type1 and ../fonts/Speedo directories. |
| |
| |
| How To Manage Cached Font Metrics |
| ================================= |
| |
| WINE stores detailed information about available fonts in the ~/.wine/.cachedmetrics |
| file. You can copy it elsewhere and add this entry to the [fonts] section |
| in your WINE.CONF: |
| |
| FontMetrics = <file with metrics> |
| |
| If WINE detects changes in the X font configuration it will rebuild font |
| metrics from scratch and then it will overwrite ~/.wine/.cachedmetrics with |
| the new information. This process can take a while. |
| |
| |
| Too Small Or Too Large Fonts |
| ============================ |
| |
| Windows programs may ask WINE to render a font with the height specified |
| in points. However, point-to-pixel ratio depends on the real physical size |
| of your display (15", 17", etc...). X tries to provide an estimate of that |
| but it can be quite different from the actual size. You can change this |
| ratio by adding the following entry to the [fonts] section: |
| |
| Resolution = <integer value> |
| |
| In general, higher numbers give you larger fonts. Try to experiment with |
| values in the 60 - 120 range. 96 is a good starting point. |
| |
| |
| "FONT_Init: failed to load ..." Messages On Startup |
| =================================================== |
| |
| The most likely cause is a broken fonts.dir file in one of your font |
| directories. You need to rerun 'mkfontdir' to rebuild this file. Read |
| its manpage for more information. If you can't run mkfontdir on this machine |
| as you are not root, use "xset -fp xxx" to remove the broken font path. |