64
The DBMS supports compression, so that read-only compressed databases can be constructed,
typicaly 70% smaller than without compression. This facility is used for help databases and is
supported by
aleppo
, the EPOC help builder.
Column types:
•
column length can be increased dynamically
•
Unicode text column types are now fully supported
•
only long binary must be used to storing embedded stores (not long text)
SQL has been improved:
•
ORDER BY
no longer requires an index (and is often faster without one!)
•
queries are optimized by the DBMS so that they are evaluated in the most effective
manner
•
a full range of DML SQL has been added
•
DDL and DML operations may be mixed in a single transaction
Encryption is supported, using E32’s
CSecurityBase
-provided features, and support newly
added to the stream store. The stream store has new encryption support for page-pools, which are
used by B+trees, and performance improvements in the encryption filters.
8.5.3.2.4 C Standard library
The C Standard Library now supports
popen3()
for process launching with pipes, and
associated calls such as
waitpid()
,
wait()
and
system()
.
The standard library is integrated better with Windows for command-line tools, including the
ability to attach pipes from Windows, and to parse Windows command lines.
The standard library has been aggressively tested in a much wider variety of contexts, and is now
much more robust.
8.5.3.3 Graphics
The major new functionality in the EPOC R5 graphics system is colour support. Prior to EPOC
R5,
TRgb
values supported colour, and settings were honoured by printer drivers. Now, EPOC’s
raster graphics components support colour, and a logical colour mechanism has been built into the
EIKON GUI.
An open font system has been implemented, which allows vector fonts such as Truetype to be
implemented by adding in new rasterizers. Printer drivers also support rasterizers as well as built-
in printer fonts. A rasterizer, compatible with Truetype, has been written to demonstrate this
framework, but is not presently available for commercial release.
Unicode-related work has impacted graphics. The front-end processor (FEP) framework and Open
Font system were strongly motivated by Unicode, though they also have other applications. Text
wrapping logic has been separated from the main FORM DLL in order to allow non-Western
wrapping requirements to be supported.
The font and bitmap server has been made a fixed process, to improve performance.
Display drivers have been improved to use displays of arbitrary size.
The window server supports power-off notification, hollow-rectangle cursors, fading (intended to
diminish the brightness of non-foreground windows), dynamic screen size changes. The window
server is also now a fixed process.
CONE has been enhanced by FEP and colour support. Other detailed enhancements include
ability to set whether a control takes focus or not dynamically (not just when a control is created),
ability to prevent CONE flushing the window server buffer when waiting for a non-window-
server event, support for swapping GCs while printing, ability to create a control on a backed-up
window, and reference-counted resource file management which allows a resource file to be added
multiple times (and then deleted a matching number of times, only disappearing when the
reference count reaches zero). All EPOC fonts now include the Euro symbol at 0x80.
Various printer driver issues have been fixed, and a Canon BJ printer driver has been added.
Many fixes have been applied to FORM, the text view. FORM also supports the new hollow-
rectangle cursor type.