English
MCU font generator/editor

   Tento prográmek umožňuje rasterizovat libovolný font, který máte nainstalovaný a následně upravit jednotlivé symboly bit po bitu. Případně lze symboly nakreslit kompletně ručně. Program umožňuje pracovat se znaky až 32x32 pixelů. Vygenerovaný font lze uložit ve speciálním binárním formátu (popsán dále) a vyexportovat ho jako zdrojový kód, který lze includovat k vašemu projektu.
   Program byl vyvinut v prostředí BDS2006 Turbo C++ a testován pouze ve M$ Windows XP, takže netuším, jak bude chodit v novějších verzích OS.

Takhle to vypadá


1 - Nastavení

   Není co nastavovat, jedině snad v případě, že používáte ClearType nebo jiné vyhlazovnání písma. Sice jsem ho při vlastní rasterizaci programově vypnul, ale pokud by to přeci jen nefungovalo (generované znaky by byly neúplné nebo žádné), pak bude třeba dočasně vyhlazování vypnout v nastavení zobrazení systému.


2 - Použití

2.1 - Generátor fontu

   Hlavní funkcí programu je rasterizace nainstalovaných fontů. Stači vybrat symboly, které mají být generovány, požadované operace se získanými rastry (post processing) a pak už jen stiknout "Generete font". Měl by se zobrazit standardní dialog s výběrem fontu.

2.2 - Editor

   Jednotlivé symboly fontu lze editovat/nakreslit také ručně. Stačí vybrat požadovaný znak v seznamu a provést patřičné úpravy. Pro kařdý znak lze nastavit jinou šířku, výška je společná pro všechny. Pokud chcete přidat nový znak, je potřeba zadat jeho jméno (každý znak musí mít unikátní jméno). Jak název znaku, tak i fontu musí být ve formátu slučitelném s jazykem, ve kterém bude font exportován, tj. asm a/nebo C. Identifikátory jednotlivých znaků budou generovány ve formátu FontName_SymbolName.

2.3 - Generáto zdrojového kódu

   Hotový font lze momentálně exportovat ve třech formátech: C51 assembler, AVR assembler a v C/C++ (určeno původně pro Kail C51). Data mohou být genrována v různých uspořádáních popsaných dále.

Export

   Při vertikálním uspořádání obrazových bytů jsou k dispozici následující volby (lze jich vybrat i více najednou):

Vertical - Default Vertical - Aligh to MSB Vertical - Right side first Vertical - Top side to MSB

   Při horizontálním uspořádání obrazových bytů jsou k dispozici následující volby (lze jich vybrat i více najednou):

Horizontal - Default Horizontal - Align to MSB
Horizontal - Bottom side first Horizontal - Right side first


3 - Formát souboru fontu

   Prográmek ukládá vygenerovaný font binárně v následujícím formátu:

Délka Význam
16B Identifikátor formátu "SMfont_generV1.0" nebo "SMfont_generV2.0"
?B Asm/C kompatibilní název fontu (zakončen nulou)
1B Výška znaků
?B Data symbolu 0
?B Data symbolu 1
... ...
?B Data symbolu 256 (blank znak)

   Původně program umožňoval pouze editaci znaků 8x16 pixelů (identifikátor "SMfont_generV1.0"), ale časem jsem potřeboval větší fonty pro vetší display, takže jsem ho rozšířil na 32x32 (identifikátor "SMfont_generV2.0"). Formát dat jednotlivých symbolů je uveden v následující tabulce:

Délka Význam
?B Asm/C kompatibilní název symbolu (zakončen nulou)
1B Šířka symbolu
16/32B Data sloupce 0
16/32B Data sloupce 1
... ...
16/32B Data sloupce 7/31

   Protože jsem byl asi hodně líný udělat to pořádně, jsou znaky ukládány ve formátu byte/pixel a navíc v poli pevné velikosti bez ohledu na skutečné rozměry symbolu (vždy 8x16 nebo 32x32 bytů). Data jsou uložena po sloupcích zleva doprava od hora dolů a symbol je zarovnán vlevo nahoru.


4 - Historie verzí

V1.00 - 6.11.2011: První verze.
V1.10 - 17.1.2015: Přidán vertikální offset při rasterizaci Windowsích fontů. Hodí se pro velké symboly.


5 - Licence

   Je to freeware, takže může být libovolně používán a šířen, ale pouze se všemi přiloženými soubory (zejména tento help) a bez úprav! Autor nenese žádnou zodpovědnost za případné problémy nebo škody vzniklé použitím tohoto SW ať už by byly jakékoliv. Pokud s uvedenými podmínkami nesouhlasíte, pak tento SW nepoužívejte.


6 - Kontakt

   V případě problémů s programem mě můžete kontaktovat na e-mailu s.maslan@seznam.cz. Nějaké ty informace k programu a případné další verze lze nalézt na mém webu: http://www.elektronika.kvalitne.cz/SW/MCU_font_gen/MCU_font_gen.html.



(c) 2011, Stanislav Mašláň - All rights reserved.