GLCD Font generator : Data and Structure parameters

Update V4.6

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

The Tab names are Data and Struct and Header

There’s a choice between 4 different GLCD data structures.

The Font character descriptors / Font Char Header information / 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 address.

Start Address : Start Address 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. Example : If the bottom right pixel of the char is X18 , Y31 (in the Char Grid of the Font Panel) + the X0 Y0 bits, so 19 bits in width x 32 bits in height, the Char size in Bits is 19 x 32 = 608 pixels

An X and Y Offset system is available to remove lines of blank pixels in the code ( char background ) and save memory space. 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.

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

>.<

More to read :

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…

https://en.wikipedia.org/wiki/Kerning

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.

Bitmap2lcd_vector_design_3

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.

Standard and Extended Editions can automatically be updated by the user.

From version V3.9H

1. Click the [ ? ] button at the left of the main menu : The About window is showed.

2. Update tab , check latest and current versions.

3. If active, Download and Install Latest …

4.The current version installs the update.

5.The current version will not be uninstalled !

6. You’ll find both the current and latest versions as icons on the desktop.

>.<

Generate a One Line Array per Char Font

 

Generate a One Line Array per Char Font (with bitmap2LCD)

( from Version 3.8G build 8 )

1. Enter Font Script Mode

2. Select the chars, here from 0 to 9 ( green arrow )

3. Shift the whole Font up to eliminate white pixel lines ( blue arrow )

4. Specify Max Height in the Parameters ( red arrow )

-> This example is for horizontal data direction, see the bar with buttons with arrows on screenshot below !

5. Set One Line Array Parameter to True ( purple arrow )

6. Click Export Font To data button

 

In the output file, data array for each char takes one single line ( orange arrow )

( in this example, it is a 16 bit data array format )