Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!cs.utexas.edu!uunet!mcvax!hp4nl!philapd!ssp17!gordon From: gordon@idca.tds.PHILIPS.nl (Gordon Booman) Newsgroups: comp.fonts Subject: Re: Need references for font substitution techniques Keywords: font substitution, ISO 9541 Message-ID: <168@ssp17.idca.tds.philips.nl> Date: 14 Jun 89 17:06:46 GMT References: <677@ztivax.UUCP> Organization: Philips Telecommunication and Data Systems, The Netherlands Lines: 50 In article <677@ztivax.UUCP> kap121@ztivax.UUCP (Thomas Oeser) writes: >... >Looking at ISO 9541-1 "Information processing - Text and office systems - Font >information interchange" there is the concept of font reference containing both >a worldwide unique name for the font in question and a set of properties for >the font and its glyphs that allow (??) searching for a matching font if the >requested one is not available. > >Currently we have implemented a hack that simply accumulates weights for >matching components and takes that font with the highest resulting value. But, >we think for real font substitution this is not satisfactory. >... Probably better than just scoring hits (if that's what you mean) is defining a multi-dimensional space for fonts, and then just taking the closest one. The space would have dimensions for pitch, height, boldness, etc. Typefaces are harder to define; ISO's approach (a hierarchy) puts some similar faces very far apart. Better to pick attributes of the face, and make those dimensions. The overall distance is the nth root of the sum of the squares of the individual differences. Allow the user to specify how important various dimensions are and apply a factor to the difference in that dimension when summing. (And pity the poor user that suddenly has to learn all about font terminology just to print variable width.) Character sets are a bigger problem than typefaces. Everything's fine as long as you've got all the characters, but once you start missing, you're in for some tough choices. Is one miss worse than two? Depends on the character frequency, and a lot of other things. And what about fallback representations? How good is the fallback? The problem here is treating a character set as one thing; it's really a collection of characters. You should probably match "fonts" on a character by character basis. This solves the character set problem (there aren't any). It also allows, for example, a variable width character to be used in a fixed pitch setting, if the width matches well enough. Grandiose enough for you yet? This whole discussion ignores such real issues as memory usage, performance, and cost of implementation. And it's faintly ridiculous if the printer in question is a dot-matrix printer with a letter-quality print option. Oh yeah, and who do you expect to create all these font descriptions? There's a proposal being made by ECMA/TC29 to specify how fonts match. Essentially, they allow the user to specify which attributes are necesary for a particular document fidelity. No distance measure, just hit or miss. Regards, -- Gordon Booman SSP/V3 Philips TDS Apeldoorn, The Netherlands +31 55 432785 domain: gordon@idca.tds.philips.nl uucp: ...!mcvax!philapd!gordon