Hi,
Thanks to the efforts done by the GSL team, OOo now has several cool
functionalities around font handling. To make it more powerful, there
would be some possible topics that could be discussed.
What do you want to discuss first, or something else?
- Listing unknown font names in the font name substitution dialog
- Disclosing a real font name for rendering a preview text
- Language tuned predefined font name substitution
- Font file discovery procedure
- Virtual font name
- Fake font name for targeting platforms
- Font name replacement in an export filter
If I am doing something wrong, please notify me.
Regards,
Tora
=====
- Listing unknown font names in the font name substitution dialog
A pull-down menu titled Font in the dialog of Tools - Options -
%PRODUCTNAME - Fonts currently lists a set of fonts installed in
the computer. From a user's point of view, it would be better if
the menu listed a set of fonts specified in his/her document but
not installed in his/her computer.
- Disclosing a real font name for rendering a preview text
With current implementation, there is no way for users to know
what font name or font file is actually used to render a text.
There seem at least two choices of message in the dialog for
Character of the context menu:
"The same font will be used on both your printer and your screen."
"This font has not be installed. The closest available font will be used."
Unfortunately, those messages seem to work with only Western fonts.
Modifying Asian or CTL font name does not make anything. In reality,
knowing actual font name for rendering might be crucial for non-
Western users.
The Unicode assigns one code point for different characters among
CJK due to the limitation of 16 bits. That often causes undesirable
bad appearance on Linux and Solaris platforms when opening a document
prepared on Windows platform. Windows variants for Japanese have five
fundamental Japanese fonts: MS Mincho, MS PMincho, MS Gothic, MS
PGothic, and MS UI Gothic. Many Japanese users use them in their
documents. In the meantime, Linux distributions for Japanese and
Solaris have several fonts for CJK. Especially, they have Korean fonts
named Mincho and Gothic. Both OpenOffice.org and StarSuite sometimes
mistakenly choose Korean fonts for rendering Japanese texts and its
appearance is unacceptable for Japanese users, and maybe vice versa.
Some solutions could be made. One of them is that the dialog of
font name selection will add a message disclosing a real font name
for actually rendering the text. It would be useful for users to
realize the necessity of substituting what font name with what one.
- Language tuned predefined font name substitution
Current implementation has a predefined list of font substitution,
but the list is generally defined regardless of the language in
which a document is written.
In general, Japanese documents never use Korean fonts named Mincho
or Gothic. Hence, a predefined list for Japanese should not include
such fonts. The list for Korean, however, should include Mincho and
Gothic. Consequently, it would be better to have individual predefined
lists for each language.
- Font file discovery procedure
With current implementation, OOo always finds a font file to render texts.
That would be controversial. Please consider the following two facts:
1) Assume that a font name specified in a document is MS Micho and you
computer has a font named Kochi Mincho. You might want OOo to
automatically use Kochi Mincho for MS Mincho to render texts.
2) Manually filling a font name box with a nonexistent font name like a
single letter x or some letters like "Hello World" sounds no sense,
but current OOo chooses a font in any way to render texts.
In the case 2, some might want OOo not to render texts but to show special
characters such as a rectangle or question mark meaning that no appropriate
glyph is available.
To find a real font name for specified font name, current OOo processes
a font name as a sequence of letters and normalizes it by translating
fullwidth alphabetical characters into Western letters, removing special
characters including a space, and case converting letters into capital
(or lower - i am not sure) letters and then tries to match the normalized
text with normalized font names installed in the computer.
To try to match them, exactly match will be used first. If no font matches,
then substring match will be used. Now that another question could be posed.
Is such a substring match really suitable for finding a font file?
I know it works, but sometimes it works wrongly. E.g. Attempting to find a
font file for a Japanese font Kochi Micho sometimes wrongly results a font
file of Korean font Mincho. Therefore, since the substring match potentially
works wrongly, we may need to reconsider the current algorithm.
- Virtual font name
This is an idea by someone in the Japanese community. Users specify virtual
font names in their document and OOo will automatically choose appropriate
physical font files installed in their computer. The virtual font names do
not depend on users' platform. Exchanging document files between different
computer environments or platforms is being demanded. So, we can try not to
rely on physical font names when authoring documents.
The virtual font names would be Arial, Courier, Helvetica, Times,... for
Western,
Mincho, Gothic, PMincho (Proportional one), PGothic for CJK,... and so on.
How does it work? For example, a virtual font Mincho for Japanese document
will be MS Mincho on Windows, Kochi Mincho on Linux. The same font Mincho
for Korean document will be something on Windows, Micho on Linux.
- Fake font name for targeting platforms
For interoperability, OOo could provide users with fake font names that
were not available on their computer but available on targeting computers.
For example, when a user start to write a document on Linux, she/he should
use the fonts installed in her/his computer. She/He, however, needs to send
the document to their contacts who are using Windows. In such a case, she/he
might want to use a set of font names that were available on Windows
although she/he used OOo on Linux.
- Font name replacement in an export filter
For interoperability, OOo could have a capability of replacing font names
specified in a document with corresponding font names that are available
on targeting platforms.
For instance, when saving a document in one of the Microsoft Office file
formats, a font name Kochi Mincho available on Linux could be automatically
replaced with MS Mincho available on Windows.
=====
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]