Component: gLCD Font Library (Graphical Library)

From Flowcode Help
Jump to navigationJump to search
Author Matrix TSL
Version 19.1
Category Graphical Library


gLCD Font Library component

A component designed to simplify the task of creating dynamic fonts for use with graphical displays.

Version information

Library Version, Component Version, Date, Author, Info
11, 1.0, 20-06-24, BR, Renamed Number fonts to (Number Only)
12, 1.0, 20-06-24, BR, Added new sizes of Arial and SevenSegment fonts
13, 1.0, 20-06-24, BR, Fixed a bug with fonts with more then 255 bytes per character
14, 1.0, 09-08-24, MW, Added new font size variations
15, 1.0, 12-08-24, BR, Fixed a bug with fonts with more then 65535 bytes per font set
16, 16.0, 13-08-24, MW, Added new sizes of Arial, Courier, Fourteen and SevenSegment fonts
16, 16.0, 13-08-24, MW, corrected spelling of Segment and Calibri fonts
16, 16.0, 14-08-24, MW & BR, changed the way the fonts work by reading font from a text file instead of within Font component
17, 17.0, 30-08-24, BR, Added dynamic font selection and made public
17, 17.0, 30-08-24, BR, Added watchdog disable to prevent taking too long error message
17, 17.0, 30-08-24, BR, Changed dynamic font file from .txt to .xml to work with dynamic library updates

Detailed description

The font component provides a series of bitmap glyphs to the graphical display components and is built into these components.

Each font can be capable of providing a full character set or just a set of numeric characters, these latter being marked with the word Number.


Custom Fonts

Custom fonts can be created using the Custom option and providing a link to a file generated by a tool called The Dot Factory.

To do this you must first download and install the dot factory on your computer.

File:TheDotFactory.zip

http://www.eran.io/the-dot-factory-an-lcd-font-and-image-generator/


Once the software is installed, run the software and click the spanner (wrench) icon next to the Preset. Configure the software like this.

DotFactorySettings.jpg


For a fixed width font like courier new you can change the Width (x) setting from Tightest to Fixed.

Click Apply and then click the folder next to the Font option to set the font type and size. Click OK when done.


In the main text window underneath the Font you can specify the characters you will create glyphs for. This can be reduced to ensure you only create glyphs for characters you are going to be using in your program.


For a complete font glyph set similar to other Flowcode fonts copy and paste the following into the text field.

!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~


Once you're done click the Generate button and then click File and Save as files, save to a location on your PC ideally with your Flowcode project file.

In Flowcode point the custom file to the .c file generated by the dot factory.

The new custom font should now simulate and work on embedded hardware. The Flowcode file will need to retain the link to the font .c file so be sure to keep both files when transferring projects.

Examples

No additional examples








Macro reference

ReadASCIILUT

Fc9-comp-macro.png ReadASCIILUT
Gets a single pixel column byte from the selected ASCII character font data. 
Fc9-u8-icon.png - BYTE Character
ASCII position so A = 'A' 
Fc9-u16-icon.png - UINT ByteIndex
Range: 0 to ((PixelWidth - 1) * BytesPerColumn) 
Fc9-u8-icon.png - BYTE Return


ReadFontStat

Fc9-comp-macro.png ReadFontStat
Collects a stat about the selected font 
Fc9-u8-icon.png - BYTE Index
0=SpaceColumns, 1=CharacterHeight 
Fc9-u8-icon.png - BYTE Return


ReadWidth

Fc9-comp-macro.png ReadWidth
Gets the width of the ASCII character font data 
Fc9-u8-icon.png - BYTE Character
ASCII position so A = 'A' 
Fc9-u8-icon.png - BYTE Return


Property reference

Fc9-prop-icon.png Properties
Fc9-conn-icon.png Font Settings
Fc9-type-7-icon.png Enabled
Allows the font to be disabled when not in use which allows for faster loading and simulation. 
Fc9-type-7-icon.png Embed Font Set
Specifies whether or not to add an embedded font set into the program memory. Some displays have their own in-built font set and so do not require an additional embedded font. 
Fc9-type-16-icon.png Font
Font picker to decide which font to use on your display. 
Fc9-type-16-icon.png Character Spacing
Sets the number of blank pixels between each character when printing text. Default 1. 
Fc9-type-16-icon.png Space Width
Sets the number of horizontal pixels used to represent a space character. 
Fc9-type-7-icon.png Width Fixed
Details if the font has fixed width characters or variable width characters. 
Fc9-type-21-icon.png Pixel Width
Details the pixel width of the font for fixed width characters. 
Fc9-type-21-icon.png Pixel Height
Details the pixel height of the font. 
Fc9-type-21-icon.png First Character
Details the first printable ASCI character. 
Fc9-type-21-icon.png Character Count
Details the number of characters available, different fonts may have different characters available. 
Fc9-type-21-icon.png Bytes Per Column
 

Component Source Code

Please click here to download the component source project: FC_Comp_Source_Lib_Fonts.fcfx

Please click here to view the component source code (Beta): FC_Comp_Source_Lib_Fonts.fcfx