Introduction to EPOC OPL Development
by Richard Bloor
Graphics, Fonts, Help and Resource Files and Installation packages
The OPL SDKs contain a number of utilities which allow for the development of fonts, graphics, help and resource files along with EPOC installation files.
Fonts
The current release of EPOC includes an architecture for the Open Font System. However at present the plug ins to implement this system are not yet available. In the meanwhile fonts can be created using either EPOCs proprietary font definition file or from existing fonts, for example Adobe Bitmap Distribution Format.
There is no mechanism to produce fonts directly on an EPOC device.
Graphics
EPOC uses a unique file type for dealing with graphics, the mbm or multiple bit map file. This file format is able to deal with monochrome through to 24 bit colour, however current EPOC devices can deal with a maximum of 256 colours.
Content is created using any application capable of storing bit maps e.g. the Windows Paint application, and then converted using the bmconv utility.
System icons differ slightly from other multiple bit map file in that they contain only two bitmaps, the icon and a mask. The mask indicates which pixels the icon will effect, the main effect is to define whether the icon background is transparent or not.
mbm files can be created on an EPOC device with the standard Sketch application, however as this stores only one bitmap per file it can not be used to create icons. Icons and mbm file with multiple bitmaps can be created programmatically. In addition a number of third part tools exist to allow mbm file to be manipulated on an EPOC device.
Help Files
EPOC helps files are based on the EPOC data application and a help file is simply a data file with the extension hlp. The file contains fields for help title, help text, application name and synonyms to aid searching. The text can include embedded mbm graphics.
Help file can be created by directly editing a Data file and then changing the file extension, which allows these files to be created directly on an EPOC device. Alternatively a utility, aleppo, is provided on the SDK which allows help files to be created from rich-text files, edited using a Microsoft Word template, and mbm files. The utility provides functionality for ordering and formatting the help file.
Resource Files
If you are developing a program for use in only one language, resource files will be of limited use. However if you want to develop an application for international use, resource files provide a mechanism to eliminate re-coding for other languages.
The OPL resource file actually uses the C++ resource file converted using a piece of OPL code. Although part of the creation process involves OPL code, resource files can only be created using the SDK.
Installation Files
While applications can be installed by simply copying over the program elements the inclusion of OPXs, OPMs, help, bitmap and example files and the need for a de-install mechanism makes this an impractical approach. EPOC uses SIS file to package all the necessary elements into a single install file.
The install file creation utility, makesis, uses a package file to define the installation components. In addition to defining the component to install it provides some control over the install/de-install process, for example, licence text can be displayed on install or files created by the application can be deleted on de-install.
Third party utilities are also available to allow SIS file to be created directly on an EPOC device.
Next: The Future