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

Re: [XaraXtreme-dev] Substituted fonts and Bug 1057

On Mon, 22 May 2006 21:16:59 +0200, Martin Wuerthner wrote:
> I do not think Carl proposed encoding "Serif" or "Sans" in the 
> document. Rather, having a default font "Sans" that is resolved to a 
> real existing font (taking the user's own choices into account or by 
> default, the system-wide font configuration) on the machine where the 
> document is created. Then, that font name is put in the document.

Yes, that's the idea.

Discussion might be easier if we talk about "unresolved font patterns"
that through some substitution machinery can be mapped to a "resolved
font". (In the following I'll sometimes use "pattern" and "font" as
shorthands for these two concepts when unambiguous.)

With that terminology I think it's easier to talk about which of these
objects are getting stored rather than talking about whether font
substitution is allowed or not in certain situations. For example, the
convention might be:

 * Xara's "default font" should be an unresolved font pattern.

 * Templates should also be able to provide an unresolved font pattern
   that will be the default font after the template is loaded.

 * Any text that has actually been visually laid out by a user and
   saved into a document should be saved with a resolved font.

And then the rules for substitution might be as follows. [The details
here might be wrong, since I don't actually know how text is saved in
Xara documents, but perhaps the outline will still be useful.]

It's always fine to use font substitution machinery to resolve a
pattern to a font. No prompting should be necessary.

However, if font substitution is necessary for converting from one
resolved font to another for display of a document, then the user
should perhaps be notified that there's a lack of fidelity in the
displayed result. As Alex mentioned, this sort of substitution should
not change the resolved font being stored in the data structures, (so
that subsequent editing of non-text elements does not change the
resolved font emitted into the document on the next save).

Finally, the case Alex didn't mention is that of trying to edit text
that is set in a non-existent font. In this case, it's probably the
case that some permanent substitution would have to take place and the
user needs a big scary warning about the irreversible change that will
occur in the document (or whatever).


Attachment: pgprGY3DHg9Q3.pgp
Description: PGP signature