Issue 31803 - Change in font susbtitution strategy
Summary: Change in font susbtitution strategy
Status: CONFIRMED
Alias: None
Product: Writer
Classification: Application
Component: ui (show other issues)
Version: current
Hardware: All All
: P2 Trivial (vote)
Target Milestone: ---
Assignee: AOO issues mailing list
QA Contact:
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-07-21 02:56 UTC by lists
Modified: 2013-08-07 14:38 UTC (History)
2 users (show)

See Also:
Issue Type: FEATURE
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description lists 2004-07-21 02:56:33 UTC
After discussion in the GSL list, I have been asked by Herbert to submit this
proposal and set ft@openoffice.org as the owner of the issue. 
This relates to a discussion under Subject “automatic font switch in Calc and
Impress†in July 2004


Font substitutions.

The present font substitution system does not allow a user to change to his
favorite CTL font and start typing.

When encountering a character identified as CTL, it automatically look for a
present-locale substitution table, and not finding it, switches (I am told) to
the “en†substitution table in VCL.xcu, therefore finding a font that is rarely
fit to type the user’s CTL script.

The user experience related to this is:

-	The user starts work. He opens OOo writer and selects his favorite font for
his language (say a Khmer moul font, used for headings in Khmer language, this
font would not be in the Khmer substitution table).
-	Types his first character. Two things may happen:
o	A Khmer locale was active, the font is switched to the first font in the list
(correct script, but not the font he wants to use)
o	The English or another locale was active. OOo changes to Tahoma font and
displays a white square
-	The user thinks that he has done something wrong, erases the square and starts
again, with the same result.
-	With the white square in the screen, the user changes again to his favorite
font and types his first character again. This time it works. Now he has to:
o	Go back one character.
o	Erase the first character that he wrote (white square).
o	Go forward one step. 
o	Keep on writing. 

With the current system, in theory even an English speaker would have problems
using his desired font in English.

A user will never understand why the behavior of the word processor, or other
application is different for the first and for the second character that he types.

Principles for this correction

It seems correct that if a user chooses the font that he likes, and it is fit
for the language he is writing on (the code points are in the font), that font
should never be automatically switched by the word processor or any other
application. This is the behavior in other word processors. 

A default substitution font should only be used at start time (before the user
chooses the font) or when the present font does not include the code-points that
are being typed. 

Also, it is desirable that the main substitution font be definable by the user,
superseding the VCL.xcu defined substitution fonts. Modern fonts appear that are
rarely updated in the substitution list, therefore giving the option of using a
modern font is important. This now only happens in the Formatcell option of
Calc, but it should be OOo-wide. By default, the definable font should be the
first one in the substitution table (the first one that is actually present in
the system).

In other word processors, user selected fonts are not switched unless they are
unfit for the character that has just been typed. If the font is not fit, the
word processor looks for a font that can be used as a substitute. If it finds
it, it switches font (and does not go back to the original one if the user types
in English, unless that font does not have English). As there is no substitution
table, the system decides itself which font to use. I believe is the older (date
of installation) font for that code-point range that is installed.


Preliminary proposal. 

The hearth of the proposal is that a font that has been chosen by the user and
that is fit for the character that has been typed should not be changed to a
default font. Only if a font does not contain a code-point (the first
code-point?), it should be changed.

First, the substitution system should be considered.



In case it does not have it, the code-point will be identified as latin (under
256) or language specific (unicode range). 
If latin, the font will be selected based on the preferences of VCL for the
current locale. 
If special (CJK or CTL), it will identify the locale corresponding to the range
of the character, and look for a replacement font for that locale in 
the VCL.xcu file. 

This could also be improved by allowing the user to define the replacements
fonts, for the current locale in Impress and Writer, in the same way that is
done in Cell formatting in Calc (create a Ooo wide definition). 
In this case, if the code-point typed is not in the font (for CJK and CTL), it
will look for the right locale for that code-point. If the locale of the
code-point is not the current locale, it will look directly for a font for that
locale in VCL.xcu. If the locale of the code-point corresponds with the current
locale, it will use the user-defined CTL or CJK default font (which by default
will be the first font for that locale in VCL.Xcu). 

Do any users normally use CJK and CTL at the same time?  This could be changed
into a unique "Special" language case. 

Also, what OOo calls Asian Languages, for clarification, should be East-Asian,
and naming the languages would be much more clear, as there are only three (old
vietnamese excluded). Instead of CTL I would talk about Indic, South-east Asian
and other complex scripts, this would help users identify themselves with these
concepts. 

In short: 
- All OOo would allow a user changing default Latin, CJK and CTL fonts. 
- A working font for the first character would never be changed. 
- Selected font depends on locale of code-point, if current locale, look for
user-defined font. 
- Changing names in UI.
Comment 1 falko.tesch 2005-02-16 10:26:41 UTC
FT: I'm very sorry, but since this issue has no target milestone set it has
evaded all my issue tracking queries :o(
That's why I'm looking into it that (too) late.
In other words:
Thank you very much for your proposal but it is too late to integrate in 2.0.
Therefore I must re-target it to OfficeLater but have elevated the priority.
Comment 2 lists 2005-02-16 11:11:22 UTC
I talked to Herbert at the meeting in Berlin in September about this, and I knew
already that it was too late for 2.0.

After seeing really how the font substitution strategy works, I believe that it
would be better to have a discussion on the list after 2.0 is released. I have
seen things that work much better that in MS word (for example, when writing in
Khmer and changing to English, OOo changes automatically to the prefered English
font, and when changing to Khmer it goes back the favorite Khmer font. I believe
that this is very good, and should be integrated in what I wrote). 
Comment 3 falko.tesch 2005-10-20 15:49:27 UTC
FT: Targeted, priorised and re-assigned to default feature request owner.
Comment 4 ace_dent 2008-05-16 01:42:31 UTC
OpenOffice.org Issue Tracker - Feedback Request.

The Issue you raised is currently assigned to 'Requirements' pending review, but
has not been updated within the last 2+ years. Please consider re-testing with
one of the latest versions of OOo, as the problem(s) may have already been
addressed. Either use the recent stable version:
http://download.openoffice.org/index.html
or consider trying the new OOo 3 BETA (still in testing):
http://download.openoffice.org/3.0beta/
 
Please report back the outcome so this Issue may be Closed or Progressed as
necessary - otherwise it may be Resolved as Invalid in the future. You may also
wish to search for (and note) any duplicates of this Issue that may have
advanced further by checking the Issue Tracker:
http://www.openoffice.org/issues/query.cgi
 
Many thanks,
Andrew
 
Cleaning-up and Closing old Issues as part of:
~ The Grand Bug Squash, pre v3 ~
http://marketing.openoffice.org/3.0/announcementbeta.html