http://openoffice.org/bugzilla/show_bug.cgi?id=117120
Issue Type: ENHANCEMENT
Summary: Special Characters - improved font subset (ranges)
detection
Classification: Code
Product: framework
Version: OOo 3.3
Platform: PC
OS/Version: All
Status: UNCONFIRMED
Priority: P3
Component: ui
AssignedTo: [email protected]
ReportedBy: [email protected]
QAContact: [email protected]
Description of current implementation:
The "Subsets" drop-down menu in the Insert | Special Characters dialog displays
the names of available Unicode ranges for each font. This information is
apparently taken from each font's ulUnicodeRange (OS/2) table.
The ulUnicodeRange OS/2 table, as defined in the OpenType 1.4 spec, ascribes
one bit to each of 128 Unicode ranges (list here:
http://www.microsoft.com/typography/unicode/ulu.htm). Unfortunately, this means
that ranges added to Unicode after the OS/2 table was defined have no encoding
bits, and thus are not included in the list of ranges shown by OpenOffice.
So for example, even when a font fully supports Latin Extended-A, B, C and D,
the drop-down list omits Latin Extended-C and D, as they're not encoded in the
ulUnicodeRange table. This makes it difficult to locate specific characters in
large fonts.
Possible workaround:
It'll probably be a very long time before the OS/2 spec is updated to include
these newer Unicode ranges - if ever, given that all available 128 bits are
already assigned.
An alternative to reading the OS/2 table is parsing the entire font cmap (see
http://forum.fontlab.com/archive-old-fontlab-forum/adding-a-new-unicode-range-to-a-font-t2536.0.html).
As this likely implies a performance hit, it might be possible to implement a
partial reading of the cmap to check for the presence of specific ranges only,
perhaps user-defined as an OpenOfice-wide option. The settings dialog would
show the full list of ranges according to the latest Unicode standard, with
check boxes beside each for the user to select.
The following php script may or may not be helpful ("php class for parsing sfnt
and opentype fonts"):
http://trac.openfontlibrary.org/browser/selapa/sfnt.class.php
Alternative solution:
If this request is wishful thinking, could I suggest an alternative ? - namely,
user-defined ranges saved as something like "favourites", within the Special
Characters dialog. This would need a "define a range" button. Clicking this
would then permit the selection of a sequential range of characters, most
logically via two mouse clicks, one marking the start of the range, the other
marking the end. Once the range is selected or marked, user would be asked to
give a name to that custom range, which would then appear in the drop-down
list, perhaps at the top, separated from the standard entries by a line.
Thanks, ~jurf
PS I'm running XP, but the given the limitation in the fonts' own OS/2 tables,
the behaviour likely applies to all OS, and has thus been marked as such.
--
Configure bugmail: http://openoffice.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
---------------------------------------------------------------------
Please do not reply to this automatically generated notification
from Bugzilla. Please log into the website and enter your comments.
---------------------------------------------------------------------
--
------------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected] with Subject:
help
--
------------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected] with Subject: help