[Libreoffice-bugs] [Bug 38297] symbol font not correctly accessed

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed May 9 01:01:09 PDT 2012


https://bugs.freedesktop.org/show_bug.cgi?id=38297

Roman Eisele <bugs at eikota.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |NOTABUG

--- Comment #4 from Roman Eisele <bugs at eikota.de> 2012-05-09 01:01:09 PDT ---
Thank you for your report! But I'm sorry to say that this is not a bug, it is
just a misunderstanding about how fonts, letters and encodings interact in the
age of Unicode. The behaviour you describe is irritating, I understand, but it
is absolutely correct. If you try the same task e.g. in Apple's TextEdit
application, you will get the same result (at least I get it; I am using
LibreOffice 3.5.3.2 on MacOS X 10.6.8 with German UI, BTW).

To explain why, I have to go far back. In the good (or bad) old days of
pre-Unicode computer-aided word processing and typesetting, i.e. in the 1980s
and 1990s, each letter of a text was represented by one byte in memory, and
each font cointanded only up to 2^8 = 256 glyphs (actually even less glyphs,
because many of these 256 slots were used for control characters etc.).
Therefore all symbol fonts used a simple trick: they did contain other glyphs
at the place of the normal glyphs. So the classic 'Symbol' font contained a
lowercase Greek alpha in the slot normally used for the Latin lowercase 'a',
beta in the slot for 'b', etc. If you selected the 'Symbol' font and typed 'a',
the Computer thought you wanted an 'a', which is in slog $61, and displayed
this letter -- you would see a lowercase Greek alpha, but the computer thought
(if anything) that this was just an 'a' taken. (To be honest, the sitation was
much more complicated, because different encoding tables were used on different
operating systems and depending on the main language, and Computers did not
think at all, of course, they just 'calculated' something ;-)

But this was a bad trick. Why? If you used the 'Symbol' font to type a Greek
letter, e.g. alpha, and then changed the font of this letter, you would see
again a Latin 'a' -- or maybe something entirely different, e.g. some ornament,
if you selected an ornaments font, or a Cyrillic letter, if you selected a
Cyrillic font, etc. The computer just did not know that you wanted a Greek
alpha, it only knew that you wanted slot $61, and what this slot contained
depended completely from the font you used.

This is the old trick you are used to, and the behaviour you expect from
LibreOffice: you type 'p f jkl; poiuzxcv' (quoting your attachment!), select
the 'Symbol' font, and Greek letters will appear, is just this old trick.

But this trick does not work anymore in modern Unicode-enabled applications (it
may still work in MS Word, as you report, but this just means that MS Word is a
bit outdated).

Thanks to the new version of the 'Symbol' font Apple supplies with MacOS X, and
thanks to LibreOffice, MacOS and LibreOffice now 'know' that the slot $61 of
the 'Symbol' font does NOT contain a Latin 'a', but a small Greek alpha.
Therefore, if you type 'a' and select the 'Symbol' font, the computer searches
all 'Symbol' font slots for a Latin 'a'. But there is no small Latin 'a' in the
'Symbol' font. Therefore, to display the Latin 'a' you typed and requested,
LbreOffice MUST use another font to display the 'a' at all; and this other
font, just the first font LibreOffice finds containing a Latin 'a', is the
"sans-serif font I don't recognize" (quoting your description).

That the 'Symbol' font is indeed "correctly accessed" by LibreOffice can be
proved in different ways.

1) Just try some letters the 'Symbol' font shares with normal fonts -- e.g. the
numbers. Type a line of text, assign to it some font looking entirely different
from the 'Symbol' font (e.g. a bold sans-serif font), then type some numbers,
e.g. '4592' in the mid of this line, select these numbers and select the
'Symbol' font -- you will recognize that really the figures from the 'Symbol'
font are used (they look like figures from Times [New Roman], but this is no
surprise, because 'Symbol' was designed to match the look of Times).

2) Enter the Greek lowercase letters using a Greek keyboard layout. To make
this possible, go to the MacOS System preferences, select the section 'Language
and Text', switch to the tab panel 'Input sources' [or however this may be
called in English; in German, it is 'Eingabequellen'], search for the Greek
keyboard in the long list at the left, check the checkbox near to it, then
check the general check box 'Show input sources in menu bar' at the bottom of
the window. Now a new menu showing small flags will appear in the right section
of the MacOS menu bar. Switch to LibreOffice, open a Writer document, type some
normal text, and then select the Greek flag from the new menu. If you now
continue to type 'abc', small Greek letter will appear instead of Latin ones.
If you select these Greek letters and assign the 'Symbol' font to them, they
will look like the you expected: the good old alpha etc. from the Symbol font
is used again. (Be sure to reset your keyboard to your normal one again after
this test, because if you don't you will just continue to type Greek ... ;-)

Both tests work perfectly fine for me.

So, in a Nutshell: This is not a bug, it is just normal in the world of
Unicode. It is confusing at the beginning, and my explanation may have been
confusing, too. But if you get used to the new Unicode world, it will become
familiar and you will (like me) be happy about it and remember the old
pre-Unicode way of typing symbols etc. only with shuddering.

If you want to input any symbols from the Symbol font, you have at least three
possibilites:

i) In LibreOffice, select 'Insert > Special characters' from the menu; in the
dialog window, select 'Symbol' from the font menu; and then click any symbol
you want to input. But you already know this.

ii) Select the 'Symbol' font as text font, select a Greek keyboard layout from
the new flags menu (see (2) above) and just type. You have to figure out which
key from your keyboard gives which Greek letter, of course; this varies
depending on your (physical) keyboard. 'a' will give alpha, 'b' beta, but some
other keys are more difficult. In the flags menu, you may find an item called
'Keyboard overview' or similar; if you select it, a small window appears which
shows the current keyboard layout, i.e. which symbols are inserted when you
press a key.

iii) In the flags menu, you may also find an item called 'Glpyh overview' or
'Letter overview' or similar. If you select it, a small window with an overview
of all available Unicode symbols will appear. You see the complete wonderfull
world of Unicode. If you select the section 'Greek and coptic letters', you
will see the Greek letters again. Just double-click a letter and it will be
inserted in the text you are currently editing.

Hope it helps. If my explanation is not easy to understand I'm sorry but I did
the best what I can do here. (I may have even done more than what is
appropriate in an answer to a bug report, of course ;-) There are many books,
online refrences, etc. about Unicode and how to enter it, and many people that
can help you. About the flags menu and selecting different keyboard layouts,
Apple's online help should be helpful.

Closing this bug as RESOLVED/NOTABUG.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the Libreoffice-bugs mailing list