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

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

> When documents are loaded which contain fonts that are not 
> present, they are substituted. At least in the case of font 
> attributes applied to objects (as opposed to default 
> attributes), they are (or should be) substituted at render 
> time (as opposed to in the document) so if a small change is 
> made to the document, that change can be reflected in the 
> document when saved without also having the substituted font 
> replaced with its substitution.
> I think Martin & I are at one on that one.
And I agree also

> When working with substituted fonts, the field in text tool 
> should indicate the name of the font /before/ substitution, 
> preferably with some indicator to show it isn't actually 
> present. I think Martin and I agree on that much too.
And I agree also.

> So to the questions:
> Q1: Should it be possible to select a font which is not 
> present on the machine (but is present in the document and 
> has an appropriate
> substitution) using the drop down menu? I say yes.

OK I agree this is useful. However I do not like cryptic symbols or
icons and so would prefer us to be explicit and clear on the menu so it
says 'Arial (missing)'. Since the font menu us now a wide one able to
handle long font names I see no reason not to spell it out. (Does it
calculate the max width or is this a fixed width still?  Some font names
are very long).

> Q2: When a /default/ (or for that matter perhaps 'current') 
> attribute is to be set to a substituted font (or perhaps when 
> a template is loaded), should the substitution be permanent? 
> EG if there is a template that says "Arial" in it as a 
> substituted font, which is only ever used as a default 
> attribute, there is nothing particularly useful in preserving 
> Arial across a font substitution. Every time a saved-out 
> document is reloaded, it will warn about the missing font. Is 
> this actually useful behaviour

Yes, because the document was using Arial and only the user should
decide whether they want to change this or not. So it should prompt
every time that fonts used in the document is missing, even the default
template. This may be irritating, but it easily fixed by the user.

> or should the font be /permanently/ substituted (e.g. in the attribute

No, again because the user may well want this behaviour (I work on
document using Arial default font and would like to keep it that way.
Only I should decide whether to substitute the font for real)

> This, it seems to me, is a bug 
> irrespective of whether people can apply substituted fonts to 
> objects in the program.

Why? Just because it prompts all the time that a used font is missing? 

> Even if you disagree with my view on Q1, it seems to me daft 
> to use templates which produce documents which always warn on 
> loading (or rather would warn, if the warning message was 
> there). Fixing this (so that when loading a document the 
> default font attribute is not a missing font) would also fix 
> Bug 1057 without any further recoding

I can't see that's it's easy to fix this. What font are you going to
use? How can you be sure it's available on all Linux, any more than
Arial. What's for sure is whatever font you select will be a lot less
cross-platform than Arial. Remember there is a very good reason for
using one of the core 14 Postscript fonts, of which Arial is one (OK
it's a clone of Helvetica, but that's substituted at print time).

Seems to me there are other ways this could be solved. 
A) Perhaps have user preference that allows Arial (or any font) to be
substituted on load with any other, permanently, or on-the-fly.
B) Prompt the user telling them how to get, and preferably even just
provide a one click solution to getting, the core MS 14 fonts installed
on their computer.

It's to everyone advantage that we can be sure that Arial etc is
available to all Xara users. This would provide a much more
cross-platform compatible experience.


> Q3: Should we recode the font drop-down to display the font 
> name of a substituted font even when it isn't selectable 
> through the drop-down menu? This is in essence what Martin 
> proposes. It is clearly unnecessary if you do what I propose 
> w.r.t. Q1 as the font will always be on the dropdown menu. It 
> also would involve not only a rework of our own font combo, 
> but it may not work using wxOwnerDrawnComboBox without some 
> non-trivial modification to the wx class - read only combo 
> boxes are assumed to have a selected value which is in the 
> drop-down list - that's pretty much how they work. Of course 
> it would not be impossible, but it is non-trivial, so we 
> should decide what we are doing about Q1 (and possibly Q2) 
> first. Martin's view is that I should fix this :-) I want to 
> avoid it if I can because it's pretty intrusive.

Yes if it's not easy to have names appear in the text field that are not
in the menu, then I think that's another reason we do go with your Q1

There are a number of other, perhaps simple, enhancements that would be
useful in this area.
- If the font menu does show fonts used in the document even if they are
not present, perhaps we use this fact and make the menu highlight which
fonts are used, whether they are or not present. E.g. show them in a
slightly different colour. This would be a great way of viewing which
fonts are used, and whether they are present or not at a glance
(although having said that, the name gallery does this also)
- The font menu (not sure about LX) does not show all the variant of the
given typeface. E.g. it does not enumerate the italc and bold version.
The font gallery does do this, and that's rather more useful. The Mac
way (and the best of all) is that it shows families in an expanable tree
control menu. So it would only show a single entry for Arial, but if you
expand this it shows all Arial variants.