Support for "Virtual Fonts"  
LCD overview Home
 
Back button
  
 

Use of Virtual Fonts
The most efficient way to reduce processor memory consumption in most embedded GUI systems.

  • Very small processor ROM consumption.
  • Extremely small processor RAM consumption.
  • Very small impact on update speed performance.
  • Integrated locating, look-up, and access management.
  • Easy to implement. Easy to use. Simple maintenance.

Background

Graphic picture images, fonts with a large number of character symbols, or fonts with large character symbols are often the most memory-consuming objects in a graphical application.

Moving such memory-consuming constant data objects from processor ROM memory to an external storage device, such as a serial EEPROM, a serial flash device, or a disk type device, can give a huge reduction in processor ROM memory consumption.

The RAMTEX Virtual Font features, facilitates and automates this design solution.

 

Virtual memory storage handling:

Get virtually unlimited memory storage for fonts, images, and BMP pictures

The number of fonts, icons and pictures that can be handled is only limited by the byte size of each external memory device and the number of external memory devices used for Virtual Font storage

Integrated virtual font locating and look-up handling

The look-up handling for all virtual fonts is integrated with the library.
One virtual font storage image may contain multiple individual fonts and pictures.
One virtual font storage image can be located in multiple memory devices.
One application can use multiple virtual font storage images.
No need for FILE type support in the embedded program application.
No need for any special virtual font look-up considerations at GUI application level.

Optimized data load
Minimum RAM consumption

Virtual font data are fetched directly from the virtual storage image when needed during screen drawing.
A large font symbol or image may be fetched in multiple small parts in the optimal order for the video format used by the given display controller. This means a minimum RAM buffer requirement for temporary data.

This concept results in RAM buffer requirements which are several magnitudes less than would otherwise be required if the application had to load full soft fonts to RAM before use.

Configurable RAM buffer size. The optimal RAM buffer size with respect to speed is equal to the symbol byte size of the most used font. Minimum RAM buffer size can be as low as 6 bytes.

Device-independent storage format

The virtual font storage image format is compiler and processor endian independent.
This ensures full portability between any platform types, for instance between an embedded target system and PC-mode simulation.

During loading and programming, a virtual font storage image is treated as one linear byte array.
This simplifies both downloading and programming of a virtual font device and subsequent fetching of virtual font data.

Memory chip device driver

Any type of data storage device can be used for the virtual font storage image.
Block copying of the virtual font data from the external storage device (EEPROM, flash chip, etc.) to a RAM buffer is simply done with a small customized device driver function. Template device driver functions are included with the library.

Programming with Virtual Fonts

Easy to use

Virtual fonts are used in the same easy way as compiled-in fonts. In fact, from a GUI application programmer's point of view, there is no difference. Just select a font in the normal way and then use it for text or picture output.

Smooth migration path

Virtual fonts and normal compiled-in fonts can coexist seamlessly in the same embedded application.
Virtual fonts may therefore be introduced late in the development process without any impact on the existing GUI application source code. For instance, you can start with normal compiled-in fonts and then later switch to using virtual fonts

Simple to add support for more languages.

Locating most fonts in the external memory storage enables an application to include multiple language specific fonts without putting extra constraints on processor ROM memory.
This is particularly important when using the large Chinese or Japanese language specific fonts.

Full PC simulation support

All virtual fonts can be run-time tested on the PC.
The display driver libraries provide support for run-time testing of a GUI application on the PC using ordinary PC compiler tools and the LCD simulation server.
During testing, the virtual font image data is just fetched directly from the file.

Creating Virtual Fonts

Easy to create virtual fonts

The generation of virtual font files is particularly easy.
The GENVF.EXE program included with the library auto-generates virtual fonts by converting existing soft-font files, pictures images, or BMP files into a single set of virtual font files (here called vf.*). The files contain all information needed for font locating, look-up, and access management.

The existing (original) fonts and images may, for instance, have been created with the IconEdit tool, the Color IconEdit tool, or the FontEdit tool. They can also be standard fonts from the display driver library packages, or fonts taken from the European Font library package, or the Extended Asian font library package.

Virtual Font files

 vf.bin Virtual font image To be located in (programmed into) the virtual memory device.
 vf.c  Virtual font descriptor.  To be included in the compilation project.
Accelerates text size and position calculations in the application.
Contains all locating and look-up information for vfont.bin
Provides fast font selection without initial load time overhead.
 vf.h  Virtual font prototypes To be included via application modules using virtual fonts.

Maintenance of Virtual Fonts can be made extremely simple. Just place all original symbol, image and BMP files to be included in a virtual font image in a single directory for the virtual font. Then activate GENVF.EXE. Updated virtual font *.c *.h *.bin files, containing all font and picture data on the sub-directory, can then be generated automatically.

Color format conversion

The GENVF program includes color format conversion from various BMP file formats to the color data formats used by the display controller / driver libraries:

  • BMP B&W format to library format conversion (with size reduction)
  • BMP color to grey-shade conversion (color format and size compression)
  • BMP palette to RGB conversion (color format expansion)
  • BMP RGB conversion with palette matching (color format and size compression).

 
  
Back button To top
Copyright© 2008 RAMTEX International ApS. All rights reserved.