LCD and GLCD Font Creator Plugin

Discuss the Integrated Development Environment (IDE)

Moderators: David Barker, Jerry Messina

Post Reply
User avatar
octal
Registered User
Registered User
Posts: 586
Joined: Thu Jan 11, 2007 12:49 pm
Location: Paris IDF
Contact:

LCD and GLCD Font Creator Plugin

Post by octal » Mon May 21, 2007 8:05 am

Hi everybody,
I'm writing a Font Creator Software for LCD and GLCD screens. The program is almost working. It will be published as
1- A standalone program to be used with any dev tools set,
2- as a Swordfish IDE plugin

What's done :
- Creation of a font from scratch
- Creation of a font by importing an existing font
- Pixel level editing of chars
  • - Clearing a char
    - Inverting a char
    - Outlining a char (create an overlined char from a filled one)
    - Resizing dynamically the font by adding/removing Lines/Cols
- Saving the font project (in XML format) to let users reuse or continue working on "font projects" at any time.
-Live preview of currently edited char using TRUE LCD colors (Implemented LCD colors schemes : Blue, Gray, Yellow, Red, Green, and user custom)

- Exporting the generated fonts using strategies (filters):
  • - Swordfish basic filter for Fixed Fonts (only Scan along Y)
    - Swordfish basic for Proportional Fonts (only Scan along Y)
    (Generated modules are the same format as those of Swordfish Font Converter plugin.)
Whats planned:
- A comprehensive Help file
- A Flash Online Demo
- More filters for other compilers (in the standalone application, not in SWF plugin)
-Alphanumeric LCD export filter
- in Swordfish plugin Export filter Add Scan along X.
- Let user define a custom export strategy (using templates)
- Let user define a custom export strategy using a visual tool(almost workig... very nice ;) !!!

I would like to know what do you want/hope to have in such tool?

PS. The plugin will be published soon (next week maybe). Just want to test it correctly.

TimB
Posts: 262
Joined: Wed Oct 04, 2006 7:25 am
Location: London UK

Post by TimB » Mon May 21, 2007 10:23 am

Sounds really good

With the version of Fontconvert I have for another compiler its not at all as flexible it does let you manipulate chars so they are as big as you can make them.

Will your version enable you to manipulate all chars so there is no white space around the edges etc?

User avatar
octal
Registered User
Registered User
Posts: 586
Joined: Thu Jan 11, 2007 12:49 pm
Location: Paris IDF
Contact:

Post by octal » Mon May 21, 2007 12:11 pm

Hi TimB,
In my version you can build the font with the dimensions you want (Width x Height)

Once you draw chars, you can click on an OPTIMIZE button that will let you automatically remove all unused white lines that are common to all the font. This gives you chars with the same with and height. Once you want to export the font, you can also told the program to export as FIXED font, so it will keeps all chars the same dimension, or you can told him to export it as a PROPORTIONAL Font and thus it creates a variables width chars (it removes all unused blanks at right).
For the height I do not think it's a good idea (useful) to have chars with different heights (I can do it if needed, but I do not think it's usefull).

To let you imagine how it will be, here are some screenshots :) Waiting for suggestions. If I have a working (clean) version today, let me know, I'll send you a version for tests ;)

MAIN SCREEN
Image

IMPORT FONT OPTIONS SCREEN
Image

The OPTIMISE OPTION TO REMOVE UNUSED BLANK LINES AND COLUMNS
Image

EXPORT FUNCTIONALITY
Image
Image

SOME POSSIBLE EFFECTS
Image
Last edited by octal on Mon May 21, 2007 12:39 pm, edited 2 times in total.

TimB
Posts: 262
Joined: Wed Oct 04, 2006 7:25 am
Location: London UK

Post by TimB » Mon May 21, 2007 12:26 pm

:o :o :o :o :shock: :shock: :shock: :shock:

Nice

User avatar
Steven
BETA Tester
Posts: 406
Joined: Tue Oct 03, 2006 8:32 pm
Location: Cumbria, UK

Post by Steven » Mon May 21, 2007 12:31 pm

Looking very good indeed..! Am excited about trying it.

Steve

User avatar
octal
Registered User
Registered User
Posts: 586
Joined: Thu Jan 11, 2007 12:49 pm
Location: Paris IDF
Contact:

Post by octal » Mon May 21, 2007 1:03 pm

Thank you, TimB and Steven. I really appreciate. I'm waiting for your suggestions :)

Note for the registration:

The plugin version for Swordfish will be FREE !!! I find that David (and Mecanique) has been very kind in giving us a fully working version of a great compiler with source codes of libs. They also were very king in giving us quick support on the forum even if we arent registered users of the compiler(I'm not registered yet :oops:). This is very kind of them.
As a thank I'll give the Plugin Version as free for Swordfish community!

The independent APP version of G-LCD Font Creator that supports other compilers and custom export filters instead will be shareware (may be only 10euro).

For people who want to use the free version they have to install Swordfish and use it as a plugin :wink:

It will be posted soon. But I need help to finalize the plugin ! I'm wasting time in trying to figure out how Swordfish Basic Font Converter generate fonts in Scan_X mode?

For proportional fonts, by studiing given font files with Swordfish Basic, I have found the way to generate font along Y (SCAN_Y with chars offsets calculation...), but for Scan_X I have not understood the way to do it :(
Worse, if I convert Arial font for example for 8 pixels (wich leads to 10x10 font), in Scan_X mode the table generated by FontConverter plugin is different from the file provided with Swordfish basic.

Please, can anyone explain me the logic behind ScanX mode in Swordfish Tables? (may be just a little diagram on a 10x10 matrix showing bytes numbering and disposition will be sufficient) ?

Regards
Octal

User avatar
octal
Registered User
Registered User
Posts: 586
Joined: Thu Jan 11, 2007 12:49 pm
Location: Paris IDF
Contact:

Post by octal » Mon May 21, 2007 1:28 pm

may be I'm wrong, but I think that the font ARIAL.BAS (that comes with SWF Basic) scanned along X is wrong !!!!

#ifdef GLCD_XFONT // scan along x
public const Arial(900) as byte =
(
$42,$60,$00,$0A,
$C0,$00, // 1
$C3,$00, // 2
....

$01,$00,$00, // code for
$01,$FD,$00, // code for !
$03,$B6,$80,$00,$00, // code for "
$05,$29,$7E,$A5,$7E,$94,$00,$00, // code for #



Look at code for "!" char ... it seems to be scanned along Y :shock:
$FD is "11111101" in binay witch really represents the "!" char but it's really a Vertical scan ...

Am I wrong ? please help

User avatar
David Barker
Swordfish Developer
Posts: 1214
Joined: Tue Oct 03, 2006 7:01 pm
Location: Saltburn by the Sea, UK
Contact:

Post by David Barker » Mon May 21, 2007 8:39 pm

The old version of the font gereator compressed bits along the x axis. The x fonts currently supplied use this old format, to maintain compatibility with the nokia GLCD library.

However, the latest version of the font generator does not use this approach. It is exactly the same as y fonts, except (obviously) they are scanned along x. You should therefore use the latest format, as per the font converter plugin.

I plan to post an update in the future, which will change the supplied x fonts to the new format. However, given that only the nokia GLCd uses x fonts it's not priority at the moment.

User avatar
octal
Registered User
Registered User
Posts: 586
Joined: Thu Jan 11, 2007 12:49 pm
Location: Paris IDF
Contact:

Post by octal » Mon May 21, 2007 9:02 pm

Ok David, Thank you. Now I understand the "strange" format origine.
I'll try to generate a font using the new font converter and compare the resulting file with my own generated font.

Best regards
Octal

User avatar
rocketbob
Registered User
Registered User
Posts: 51
Joined: Sun Apr 01, 2007 1:36 am
Location: Indiana USA

Post by rocketbob » Tue May 22, 2007 3:49 am

This is excellent. I have looked all over the internet and only found one java applet that allow you to create fonts optimized for embedded systems, and it was clunky at best.

Regards,
Bob

CS
Posts: 127
Joined: Thu Nov 02, 2006 9:14 am

Post by CS » Sun May 27, 2007 8:16 pm

Hi all,

it seems that this is the tool that I have ever searched for! Hopefully it will published soon!

Thanks

Christian

Post Reply