server  
  end of page  
<previous .current:00cover >next  

cbmfont

<previous .current:cbmfont-0.25 >next  

cbmfont

v0.25


cbmfont_cbmfont-0.25.Dina_preview.png

cbmfont is a linux32 elf32 c99 application

cbmfont can do multiple things with cbm amiga pixel fonts, including
-crafting a preview image
-dumping the font gfx to an image file
-prints infos about a fontfile as a single line summary
-lint reporting about the font, with warning & errors
-font files decoding, reporting about diskfont file structure


cbmfont can only handle pixel fonts b&w, grayscale or coloured.
vector font .otag file can't be loaded with it.



download linux ELF32 exe i386:

cbmfont-0.25.tar.gz (35k)
<previous .current:synopsis >next  
cbmfont [--help][--version][-v][-l|--lint][-g][-c][-d][-s|--symbols][-p|--preview][--cmap [FILENAME]][-r PATH] FILE --version --help help -v print info while doing -l or --lint report lint -g report about glyphs while drawing text, require -p -c or --chunks report about file chunks -t draw glyphs on the command line, require -p -ds or --symbols craft an image with the font content -p or --preview craft a preview image -s or --summary short font summary --fg rgba color as 0xRRGGBBAA works only with b&w fonts --bg rgba color as 0xRRGGBBAA works only with b&w fonts --cmap [FILENAME] load .cmap palette, filename with path --injectcmap [FILENAME] load .cmap palette, then modify the font files !!cannot be reversed!! -r PATH destination directory. FILE source file.
<previous .current:cbmfontoptionp >next  

preview

option -p or --preview


option --preview craft an image file, a png, in the work directory.
if -r [PATH] is used, the image file will be in PATH
file is named HANDLE_preview.png with HANDLE being the name of the .font without ".font"

colors can be changed with --fg and --bg

.font preview in a window
IMAGEVIEWER="display" DOTFONT="/usr/local/share/fonts_pixel/1994/SCOOPY2.font" HANDLEFONT=$(basename "$DOTFONT" \.font) cbmfont -p "$DOTFONT" -r /tmp/ ; $IMAGEVIEWER /tmp/"$HANDLEFONT"_preview.png ; rm /tmp/"$HANDLEFONT"_preview.png

<previous .current:cbmfontoptiont >next  

short font summary str

option -s or --summary


prints a single line summary per fontfile, as:
Mcoop.font cbm font, 6 entries: Mcoop.font #0, 60, YSize: 60, not found Mcoop.font #1, 44, YSize: 44, not found Mcoop.font #2, 39, YSize: 39, not found Mcoop.font #3, 30, YSize: 30, Style:NORMAL , Flags:TALLDOT PROPORTIONAL DESIGNED , Glyphs ranges: OPERATORS NUMBERS ASCII_UPPERCASES BRACKETS ASCII_LOWERCASES Mcoop.font #4, 21, YSize: 21, Style:NORMAL , Flags:TALLDOT PROPORTIONAL DESIGNED , Glyphs ranges: OPERATORS NUMBERS ASCII_UPPERCASES BRACKETS ASCII_LOWERCASES Mcoop.font #5, 17, YSize: 17, Style:NORMAL , Flags:DISKFONT TALLDOT PROPORTIONAL DESIGNED , Glyphs ranges: OPERATORS NUMBERS ASCII_UPPERCASES BRACKETS ASCII_LOWERCASES
find about the meaning of those tags in the tables below.

glyphs ranges are checked via the font glyphs definition, and then each glyph is checked to verify an image exists. if a defined range has each glyph then the tag is printed. there is, uptoday, no way to verify the encoding so those names are only indications about the range.

to report about multiple files, bash could be used:
for FILE in *.font; do cbmfont -s "$FILE" ;done

<previous .current:cbmfontoptionl >next  

lint

option -l or --lint


there are really few lint detected uptnow.
-if files are found
-if drawer content has more or less files than the .font has

========================================== Prime.font ========================================== fontdrawer found:Prime ✔ found lint: 2 entries found != 3 .font fileentries dotfontfile requested fc_FontDimFileName:9 ✔ found dotfontfile requested fc_FontDimFileName:8 ✔ found dotfontfile requested fc_FontDimFileName:11 ✘ not found

========================================== garamond.font ========================================== fontdrawer found:garamond ✔ found lint: 0 entries found != 3 .font fileentries dotfontfile requested fc_FontDimFileName:23 ✘ not found dotfontfile requested fc_FontDimFileName:32 ✘ not found dotfontfile requested fc_FontDimFileName:64 ✘ not found

to report about multiple files:
for FILE in *.font; do cbmfont -l "$FILE" ;done

<previous .current:cbmfontoptionv >next  

print info while doing things

option -v


cbmfont_cbmfontoptionv_AvantGardeDemi_preview.png
<previous .current:fontstyle >next  
 font style        
 NORMAL   normal    
 UNDERLINED   underlined    
 BOLD   bold face    
 ITALIC   italic (slanted 1:2 right)    
 EXTENDED   extra wide extended face (wider than normal)    
 COLORFONT   a color font    
 TAGGED      **not implemented** 
<previous .current:fontflags >next  
 font flags       
 ROMFONT   The font is built into the ROM (mostly, only Topaz-8 and Topaz-9 are ROM fonts).    
 DISKFONT   The font was loaded from disk    
 REVPATH   The font is designed to be printed from from right to left    **not implemented** 
 TALLDOT   The font was designed for a Hires screen (640x200 NTSC, non-interlaced)   **not implemented** 
 WIDEDOT   The font was designed for a Lores Interlaced screen (320x400 NTSC)   **not implemented** 
 FIXEDWIDTH    any glyphs have the same widths, are constant    non standard 
 PROPORTIONAL   Glyphs widths of this font are not constant    
 DESIGNED   The font size was explicitly designed at this size rather than constructed.    
 REMOVED   the font has been removed   **not implemented** 
<previous .current:colourfontflags >next  
 colourfont flags       
 COLORFONT   The color map for this font contains colors specified by the designer.    
 GREYFONT   The colors for this font describe evenly stepped gray shades from low to high.    
 ANTIALIAS   zero background thru fully saturated char    **not implemented** 
<previous .current:glyphsrangestags >next  
 glyphs ranges tags     range     if encoding ascii or latin      
 ASCII_CONTROLS    0-31    ascii control codes    
 OPERATORS    33-47    ascii !"#$%&'()*+,-./    
 NUMBERS    48-57    ascii numbers    
 PUNCTUATIONS    58-64    ascii :SEMIC<=>?@    
 ASCII_UPPERCASES    65-90    ascii uppercase    
 BRACKETS    91-96    ascii [\]^_`    
 ASCII_LOWERCASES    97-122    ascii lowercase    
 CURLIES    123-126    ascii {|}~    
 LATIN_CONTROLS    127-159    latin control codes    
 LATIN_SPECIALS    160-191    latin special glyphs    
 LATIN_UPPERCASES_ACCENTS    192-222    latin uppercase accented    
 LATIN_LOWERCASES_ACCENTS    223-255    latin lowercase accented    
<previous .current:changelog >next  

changelog

20250905 v0.25
-cleanups glyphs reports printouts
-tested ok with 1856 .font files
-improved cli arg color handling
-report about .font file content also if drawer is missing
-multiple small fixes
-version 0.25



20250902 v0.23
-summary includes info about glyphs ranges found in the font
-summary cleanup
-preview improved
-multiple small fixes
-version 0.23


20250901 v0.21
-if a cmap is found use it automatically
-better errors messages
-improved cli arg color handling
-changed some cli args, summary is now -s or --summary
-multiple small fixes
-version 0.21


20250830 v0.2
-made a test suite to test the cli, and fixed errors found
-return codes now linux style: return 0 if ok, !0 on errors
-improved build so exe is smaller
-version 0.2
-tar.gz archive


20240402 v0.1
-multiple small fixes
-handle subdirectories better
-preview also if some files are missing

20231023 v0.1
-draw with other colors, also .cmap palette files
cli interface with --fg --bg --cmap

-option to return a short single line summary about the font,
cli interface with -t

20231014-23 v0.1
-improved many things
-load most fonts,
-report about probable palette errors
-inject palette in existing font file -function only, no cli interface
-fallback to uppercase if lowercase glyph absent
-report if other files are found in the font drawer

20220126 v0.0
-can do previews

links

cbmfont_cbmfontlinks_Earth_Yellow_preview.png

Amiga bitmap font reader/viewer for Windows and Linux (written in C). by mrmcsoftware
afont.c

python tools to read amiga bitmap font files, also convert to ttf. by smugpie
here

R package AmigaFFH has ways to use mono fonts:
here

<previous .current:todolist >next  


  support ukraine


noospot

 cbmfont

 debian
 glorec
 samegame
 streetcleaner
 gardening
 vegs temps
 contact



 
  top of page