BigFonts & FontCreator
Posted: May 10th, 2014, 10:49 am
BigFonts Plugin v0.1.5 alpha 10-05-2014
It's been a long time in the works but it's finally here.
BigFonts comes with 27 built in fonts including the original BigNum font series and can also use custom fonts saved in a generic xml format.
This plugin is also able to use any characters from your screen's CGROM table that may be useful in a custom font, like the block character for example.
This technique allows you to free up some of the 8 custom character spaces for other uses or use more than 8 custom characters in your font! (Disabled by default. See Using the CGROM Table below)
Setup is kept as simple as possible: The input text (or output from another plugin) is only needed on the first line, but as I like flexibility as well there are some extra options that can be used.
Built in Fonts: ----------------------------------------------------------------------------------------------------------------------------------
Download: ----------------------------------------------------------------------------------------------------------------------------------
Minimum Requirements:
- LCD Smartie 5.3 beta 3+ (for dotNET plugin support) http://lcdsmartie.sourceforge.net/smartied.htm
- dotNET Framework 2.0+
----------------------------------------------------------------------------------------------------------------------------------
Installation:
- Extract BigFonts.dll, BigFonts.ini, CGROM.xml and the Fonts Folder to LCD Smartie's plugin directory.
----------------------------------------------------------------------------------------------------------------------------------
BigFonts Plugin Setup:
Function 1-4: Is used for the line number.
Param1: Is used to select a font. (if empty the default font Blade is used)
* Internal fonts can be selected by name or by internal index.
* Custom font files are prefixed with # and can be selected by name or by alphabetical index in the font directory.
(note: The file extension .xml is not required)
* Demo Modes: Demo or #Demo loop through all the internal/custom fonts at your screen refresh interval.
(note: Some fonts are only able to display 2 unique characters/numbers at a time, so it's best to just use 2 digits for param2 in demo modes)
Param2: This is the text or data to display. You can call another plugin here to return temperature data or the time for example.
* param2 options: These can be included in any order and are case insensitive:
----------------------------------------------------------------------------------------------------------------------------------
Examples:
----------------------------------------------------------------------------------------------------------------------------------
Config File: BigFonts.ini
----------------------------------------------------------------------------------------------------------------------------------
Using the CGROM Table:
** Disabled by default. To enable change the setting: Enable CGROM table to True in BigFonts.ini
** Note: At present the only included font which uses more than 8 custom chars is Fourty3WideRom.
** Note: Regardless of CGROM Table Enabled setting, all alpha-numeric characters (32-122) used in a font are automatically mapped to the cgrom table.
This is an advanced feature that allows characters in a font to map directly to existing characters in your screen's CGROM table.
Most CGROM's have some useful characters (at least the block char) which can be used in custom fonts.
Using this feature allows you to free up some of the 8 custom characters or use more than 8 custom characters in your font.
To use this feature a CGROM mapping file (CGROM.xml) which matches your screens rom table must be provided in LCD Smartie's plugin directory.
The BigFonts plugin download includes a CGROM.xml for the generic HD44780 standard screens which may or may not match your hardware.
If you know the controller brand/model number used in your screen or have a datasheet for your hardware, you can export an existing or edit/create a new CGROM.xml from the FontCreator app.
The FontCreator application includes rom tables for the following hardware:
* CrystalFontz (533/633/632/634/631/635/735)
* HD44780_Generic/HD44780U
* Matrix Orbital (Euro/Jap)
* NT3881D
* S1D13700
* SPLC780D
* SSD1311 (OLED)
* ST7066U
The very common JHD-162 / JHD-202 LCD screens from eBay and elsewhere seem to use ST7066U controller and rom table 0A which is identical to the HD44780_Generic CGROM.xml included with BigFonts plugin.
If you need any help with this feature please post to this thread.
hurley.
It's been a long time in the works but it's finally here.
BigFonts comes with 27 built in fonts including the original BigNum font series and can also use custom fonts saved in a generic xml format.
This plugin is also able to use any characters from your screen's CGROM table that may be useful in a custom font, like the block character for example.
This technique allows you to free up some of the 8 custom character spaces for other uses or use more than 8 custom characters in your font! (Disabled by default. See Using the CGROM Table below)
Setup is kept as simple as possible: The input text (or output from another plugin) is only needed on the first line, but as I like flexibility as well there are some extra options that can be used.
Built in Fonts: ----------------------------------------------------------------------------------------------------------------------------------
Download: ----------------------------------------------------------------------------------------------------------------------------------
Minimum Requirements:
- LCD Smartie 5.3 beta 3+ (for dotNET plugin support) http://lcdsmartie.sourceforge.net/smartied.htm
- dotNET Framework 2.0+
----------------------------------------------------------------------------------------------------------------------------------
Installation:
- Extract BigFonts.dll, BigFonts.ini, CGROM.xml and the Fonts Folder to LCD Smartie's plugin directory.
----------------------------------------------------------------------------------------------------------------------------------
BigFonts Plugin Setup:
Function 1-4: Is used for the line number.
Param1: Is used to select a font. (if empty the default font Blade is used)
* Internal fonts can be selected by name or by internal index.
* Custom font files are prefixed with # and can be selected by name or by alphabetical index in the font directory.
(note: The file extension .xml is not required)
* Demo Modes: Demo or #Demo loop through all the internal/custom fonts at your screen refresh interval.
(note: Some fonts are only able to display 2 unique characters/numbers at a time, so it's best to just use 2 digits for param2 in demo modes)
Param2: This is the text or data to display. You can call another plugin here to return temperature data or the time for example.
* param2 options: These can be included in any order and are case insensitive:
Code: Select all
#Font(FontnameOrIndex)...........................Override the font that is set in Param1.
#NoNums..........................................Don't apply font to numbers.
#NoAlpha.........................................Don't apply font to letters.
#NoSymb..........................................Don't apply font to symbols.
[[ignore this text]].............................Don't apply font to text between double square brackets.
#Line1(line1 text)#Line3(line3 text).............Offset two groups of text.
(eg: use a 2 line high font on lines 1/2 and 3/4 of a 4 line display)
#NoRom...........................................Disable mapping characters to your CGROM table.
(fonts which use cgrom characters may not display properly on LCD Smarties on-screen display)
Examples:
Code: Select all
$dll(BigFonts,1,Blade,text to display)
$dll(BigFonts,2,,)
$dll(BigFonts,1,#Fourty3Wide,text to display)
$dll(BigFonts,2,,)
$dll(BigFonts,3,,)
$dll(BigFonts,4,,)
$dll(BigFonts,1,#8,0123456789)
$dll(BigFonts,2,,)
$dll(BigFonts,1,Borg,[[Cpu Temp: ]]$dll(CoreTemp,1,,))
$dll(BigFonts,2,,)
$dll(BigFonts,1,Blade,#NoAlpha#NoSymb$dll(hwinfo,1,Core Max,))
$dll(BigFonts,2,,)
$dll(BigFonts,1,Blade,#Line1(HELLO)#Line3(WORLD))
$dll(BigFonts,2,,)
$dll(BigFonts,3,,)
$dll(BigFonts,4,,)
$dll(BigFonts,1,Demo,35)
$dll(BigFonts,2,,)
$dll(BigFonts,3,,)
$dll(BigFonts,4,,)
Config File: BigFonts.ini
Code: Select all
Enable Alpha characters...........True Enable/Disable globally for all fonts
Enable Numeric characters.........True as above
Enable Symbol characters..........True as above
Enable CGROM table................False Enable using cgrom map file for font characters
Replace Undefined Degree with o...True Replace degree with lower case o unless degree is defined in font
Custom char overflow warning......(!) Prefix if text uses more than 8 custom characters
Dont apply font to text between:
> StartMarker....................[[ Set the start/end markers to use here
> EndMarker......................]]
Using the CGROM Table:
** Disabled by default. To enable change the setting: Enable CGROM table to True in BigFonts.ini
** Note: At present the only included font which uses more than 8 custom chars is Fourty3WideRom.
** Note: Regardless of CGROM Table Enabled setting, all alpha-numeric characters (32-122) used in a font are automatically mapped to the cgrom table.
This is an advanced feature that allows characters in a font to map directly to existing characters in your screen's CGROM table.
Most CGROM's have some useful characters (at least the block char) which can be used in custom fonts.
Using this feature allows you to free up some of the 8 custom characters or use more than 8 custom characters in your font.
To use this feature a CGROM mapping file (CGROM.xml) which matches your screens rom table must be provided in LCD Smartie's plugin directory.
The BigFonts plugin download includes a CGROM.xml for the generic HD44780 standard screens which may or may not match your hardware.
If you know the controller brand/model number used in your screen or have a datasheet for your hardware, you can export an existing or edit/create a new CGROM.xml from the FontCreator app.
The FontCreator application includes rom tables for the following hardware:
* CrystalFontz (533/633/632/634/631/635/735)
* HD44780_Generic/HD44780U
* Matrix Orbital (Euro/Jap)
* NT3881D
* S1D13700
* SPLC780D
* SSD1311 (OLED)
* ST7066U
The very common JHD-162 / JHD-202 LCD screens from eBay and elsewhere seem to use ST7066U controller and rom table 0A which is identical to the HD44780_Generic CGROM.xml included with BigFonts plugin.
If you need any help with this feature please post to this thread.
