Author Archives: Bernie

GLCD Font Generator : SVG Vector Graphics Fonts output

Update V4.3

To get GLCD fonts with better antialiasing rendering quality, in apps with grayscale TFT displays (256 gray shades) Bitmap2LCD can output Scalable Vector Graphics (SVG fonts)


Latest News : Bitmap2LCD Version V4.3b out !

News : Bitmap2LCD Version V4.3b


Run Bitmap2LCD on a computer with 2 connected monitors or a large one !

Bitmap2LCD has a few different “flying” windows and some like for example, the Work Canvas, can be very large as a single pixel is displayed 5x larger, on like 5 real pixels of the monitor.

Link to the Latest News Page


GLCD Font generator : Data and Structure parameters

Update V4.3

The Data format and Data Structure Parameters for the export of Graphic LCD Fonts have been extended and splitted in two tabs on the Font Panel.

The Tab names are Data and Struct

There’s a choice beetween 3 different GLCD data structures.

The Font character descriptors / Font Char Header informations / can optionally be enabled or disabled and their order of appearance in the code defined.

Character Descriptors / Font Char Header

Switch the needed descriptors to True or False, if you need them or not in your code export. the adjust then order of their appearance in the code at the right.

Char Adress : It’s the Ascii Code of the Char (In the case of Editable Custom Fonts, you can adjust the Ascii Offset in the Data Parameters to adjust the Char adress.

Start Adress : Start Adress of the Data array of the char.

Char Width Bits : Width in bits of the char.

Char Height Bits : Height in bits of the char.

Char Size Bytes : Size in bytes of the char.

Char Size Bits : Size in bits of the char.

An X and Y Offset system is available to remove lines of blank pixels in the code ( char background ) and save memory space. (256 grayscale mode) The blank lines at the top and at the bottom of the data are removed from the code output and replaced by Offsets in the descriptors.

Char Spacing : Spacing adjustment in pixels chars.

For this subject, also read this article about character spacing with kerning pairs :

An optional Terminator Code can be inserted as last byte at the end of the code.


Font Descriptors / Global Font Header

An optional 4 bytes global Font Header outputs data at the top of the Font Bloc structure.

Datas such as global Char Height and Width and Number of Chars can be exported there.


System Codepage ( ANSI Fonts )

Extended Edition Only

There’s a default/active Codepage installed in your basic Windows installation. The active Codepage depends on your Region/geographic location.

On the ANSI Font Panel, a System Codepage combobox allows a quick selection of the ANSI Font character encoding without the need to modify the Windows installation.

A code page is a character encoding and as such it is a specific association of a set of printable characters and control characters with unique numbers…

Read more about Codepage on Wikipedia

Export of the Kerning Pairs for GLCD

Export of the Kerning Pairs for GLCD

In typography, kerning is the process of adjusting the spacing between characters in a proportional font, usually to achieve a visually pleasing result. Kerning adjusts the space between individual letter forms…

From Version 4.0 Extended Edition , a new Kerning feature has been implemented in the Bitmap2LCD software tool.

For its use on microsystems with Graphic LCD (GLCD) , the table of Kerning Pairs (1st char, 2nd Char, Pixel Shift in X) corresponding to a particular Font Name, its size and style (Bold, italic..) can be exported to a file as source code

Export > Bitmap2LCD Extended Edition only !

  • Click Grids/Excel Button
  • Load the Kerning Pairs List for the current Font and Font Size
  • Export the Kerning Pairs List to Source/Text file

Kerning Pairs Export inside the Editor (Graphics Preview and Editors Window)

GLCD Vector Programming Simulator / Debugger

Bitmap2LCD is a tool for programming small Graphic LCDs in embedded systems and a programmable graphic and text processing tool.

Bitmap2LCD : GLCD Vector Programming Simulator / Debugger

Version V3.9n and upwards

Loading GLCD Vector Script files

GLCD Vector Programming script files (*.B2L file ext) are stored in the user defined Graphics Files folder and can be loaded into the script editor using the File explorer (blue arrow).

From version V3.9n , when the GLCD Vector Tab in the main menu is active, there’s a quicker way to load an existing vector script file: All the B2L files found in the Graphics Folder are listed in a combobox (Purple arrows)

GLCD Vector Script Menu bar

From version V3.9n, the vector script menu bar has been upgraded with new items. (blue arrow)

  • List of GLCD Vector Functions to import in the script
  • List of basic functions (f.e sleep/pause, calling a subprogram)
  • Current ANSI Font + Font size or Editable Font to load into script

Simultator/debugger functions and other features have been added (see context menu (Orange arrow)

Debugger allows to set breakpoints by clicking the script line inside the gutter (Red arrow) and to ignore/include (Ctrl+i) a script line at script running time . (Green arrow)


Bitmap2LCD : Vector Design Module ( Info + Tutorial )

Bitmap2LCD is a tool for programming small Graphic LCDs in embedded systems and a programmable graphic and text processing tool.

Bitmap2LCD : Vector Design Module ( General Information )

Programming example below

Update V3.9 upwards

From Version V3.1  Bitmap2LCD is capable to run / generate code which is compatible with external vector Libraries such as GLCD.C , for example one of the many GLCD library you can download for free or buy on the Internet.

Drawing for example a Line , a circle, an ellipse or a Rectangle on your Graphic LCD becomes very easy : You just have to draw these vectors inside the Work Canvas of Bitmap2LCD (red arrow), and the tool generates the code with its coordinates. Another option is to program vectors inside the script editor and run the script in the same way as with a Graphic LCD Simulator.

This code can be exported to the Text Editor for an external use or can be moved to the Vector Script (blue arrow).

Draw Elements in the Work Canvas  < —->  Programm Vector Elements in the script

  • Draw Vectors Elements inside the Work canvas     >>  Export Code inside Text editor
  • Draw Vector Elements inside the Work canvas      >>  Export Code to the Current Vectors Script

Program Vector Elements inside the Script editor >> Run Script which is Drawing Vector elements inside the Work Canvas

There’s is a list of Vector design Elements (green arrow) you can select and then edit each of its parameters.

The vectors Elements are functions to draw a bitmap, to move the cursor, to write a number, a char or a text, to select a font with its size and style, to draw a dot , a line a rectangle or a circle etc…

The syntax of these Vector Elements can be changed in the Settings Panel to match your particular GLCD library. It’s easy then to copy the script as it is already and paste it inside your embedded app source editor.

Buttons :

Context Menu :

The Vector Programming Settings Panel :

In the Vector Data Settings Panel, you can set the following parameters : The Syntax of the Vector Element function, define if enabled or disabled, define if X and Y coordinates only or with length and width, where applicable, with or without fill (color) parameter. The defined syntax will also appear as defined here in the list of Vector Elements above the Script (green arrow above fig.)

Programming Example

With  vecto2  in the main menu, you can enter the Vector Design Mode.

In the Vector Design mode, the frame around the Work Canvas becomes purple.

  1. Draw a rectangle and a circle vector in the Work Canvas2
  2. Export Work Canvas to Vectors (red arrow)
  3. Vector Script has been generated
  4. Clear the Work Canvas with the delete cross or using the context menu item
  5. Export Vectors To Work Canvas
  6. Work Canvas has been updated from Script

Vector Elements are selectable to be edited/moved, selectable in the Work Canvas or in the Script tables (see below)

Loading / Saving Vector Files

Saving and loading Bitmap2LCD Vector Design files (Files with .B2L extension)

The Vector Elements inside the Work Canvas are saved to a .B2L file. These Vector Elements can be reloaded and edited later, if needed.

B2L Vector Files are saved inside the user defined Graphics Library Folder

See below how to activate the filter to view only the Vector Files inside the File Explorer.

bitmap2lcd B2L filter

In the Vector Design Mode , you can see the parameters of every vector Element inside the ‘Script + Objects‘ tab located in the Text Editor Main Tab (blue arrow).

Select a Vector Element in the Vector script

You can select them (red arrow) and the selected vector becomes orange inside the Work Canvas.

Select a Vector Element in the Work Canvas

Orange arrow points the Select Vector Element button, the yellow arrow points to the two last lines of the script. These are the rectangle and the circle drawn in the Work Canvas and exported to the script.


Formats of the Vector Elements  ( syntaxes are user definable )

GLCD.Dot or GLCD.SetPixel (X,Y,Color)

GLCD.Rect (X1,Y1,X2,Y2,Color)

GLCD.FillRect (X1,Y1,X2,Y2,Color)

GLCD.RoundRect (X1,Y1,X2,Y2,R,Color)

GLCD.FillRoundRect (X1,Y1,X2,Y2,R,Color)

GLCD.CIrcle (X1,Y1,X2,Y2,Color)

GLCD.FillCircle (X1,Y1,X2,Y2,Color)

GLCD.Line (X1,Y1,X2,Y2,Color)

GLCD.VLine (X,Y,Height,Color)

GLCD.HLine (X,Y,Length,Color)

GLCD.DrawBitmap (Filename.bmp,X,Y)

Filename of bmp file located in the Graphics files folder. > no folder name allowed here !

GLCD.DrawBitmap (Filename*,X,Y,Width,Height)

* filename of converted *.h file located in the output files folder but without extension,

No folder allowed here, data direction and endianness must be set correctly  : this operation uses the data to graphic conversion ! Currently only monochrome data files supported !

GLCD.GotoXY or GLCD.CursorTo (X,Y)

GLCD.Puts (“text”)

” are optional and definable

GLCD.PrintNumber (numeric value)

GLCD.InvertRect (X1,Y1,X2,Y2)

GLCD.Putchar (character)

GLCD.ClearScr ()

Delay (mS)   >> max 5000 mS

GLCD.SelectFont (System Font Name, Font Size, Font Styles (max 4x)*)

*Font styles are : Bold, Italic, StrikedOut, Underlined

Currently only System Fonts supported

Monochrome :

Color = 1 is white

Color= 0  is black


Select and modify Vectors

At the right side of the Script and Objects panel, there’s a vector tree where you can find the list of the vectors having been drawn inside the Work Canvas. By clicking on a vector (blue arrow), the list of its Properties appears in the Properties view. (red arrow).

In the Properties View, you can edit the X and Y coordinates and if available, the corner radius of the selected vector.

The vectors programmed inside the script, do not appear in the vector tree and Properties list.

bitmap2lcd Vector Paramaters

Bitmap2LCD Software Update

Bitmap2LCD is a tool for programming small Graphic LCDs in embedded systems and a programmable graphic and text processing tool.

From Version V3.0c  Standard Edition and V4.0a Extended Edition, the software can be automatically updated by the user.

From version V3.9H

Access the About Panel by clicking the [ ? ] button. It’s at the left of the main menu.

The Currently running and then curretly available Software versions are displayed in the Update Tab of the About Window .

The currently running version installs the update. The current version will not be uninstalled. You’ll find current and new version as icons on your destop. As the configuration settings and the projects of the various versions are located in separate folders in the my Documents folder, you can run the different versions installed, one session at the time.

Bitmap2LCD update on previous versions

From V3.8 the SW-update system has been changed and does’nt work anymore on older versions. Standard Edition licensed users, please ask for an update with you Paypal transaction number by email.

From version V3.9H, the automatic update sytem is based on the new SW update system. The update request button has been moved from the main menu to the About window now  accessible with the First button at the top left [?]

Note : Sometimes corporate firewalls are blocking the update process. In such cases, contact us by email for an update with paypal transaction number.

At the right side In the update main menu or later in the About (?) update tab, you can check the latest available Version, and opt to download and install the update. The currently running version installs the update. The current version will not be uninstalled. You’ll find current and new version as icons on your destop. As the configuration settings and the projects of the various versions are located in separate folders in the my Documents folder, you can run the different versions installed, one session at the time.

From Version V3.1 the configuration settings and the projects of the current version are copied into the settings folder of the updated version during the SW update process.