Path: utzoo!attcan!uunet!ncrlnk!ncr-sd!hp-sdd!hplabs!ucbvax!bloom-beacon!EXPO.LCS.MIT.EDU!rws From: rws@EXPO.LCS.MIT.EDU (Bob Scheifler) Newsgroups: comp.windows.x Subject: Re: Portable server release clients (How is it done?) Message-ID: <8811171251.AA22802@EXPO.LCS.MIT.EDU> Date: 17 Nov 88 12:51:26 GMT References: <8811170001.AA21807@wayback.unm.edu> Sender: daemon@bloom-beacon.MIT.EDU Organization: The Internet Lines: 43 The protocol hasn't really changed from release to release, so in most ways portability should not be an issue. The subject of fonts is important, but it has almost nothing to do with "releases". There are no standards for what fonts a server must provide. The way you write a portable client is to make sure that font names are resources that can be changed by the end-user or site admin. You'll probably want to "build in" default font names, either in an app-defaults file or in your code, but your code ought to be robust enough to fall back on the default font in the GC if all else fails. If you have particular fonts that you want to use, and you have them in source (BDF) form, then most server vendors should be supplying a font compiler with their server, allowing you to import fonts. R2 Fonts use the file name convention and R3 Fonts use the ISO Latin-1 naming convention. The R3 convention isn't "ISO Latin 1", that's a character set encoding. R3 provides a mechanism for enabling file names as aliases (see the mkfontdir man page). You can also just use your R2 fonts with an R3 server, so you can certainly place R2 fonts in a directory and allow users to add it to their font path. We tried reasonably hard to provide backward compatibility capability for R2 clients. Why doesn't the display structure have an entry for the MIT X Consortium based revision number? The vendor name and release constitute this information. *OR* some other method for telling clients what the server expects, be it fonts names or what ever else will change in coming releases. If the protocol changes in some significant way, the protocol minor version will change, and that will be the indicator. But if I'm not, how are we going to ever write independent server release clients? By providing configurable font (and color) resources.