Version 4 of extrafont

Updated 2017-07-17 10:03:44 by ABU

ABU 16-Jul-2017

extrafont is a multi-platform binary package providing a way for loading "private fonts" in a Tk apps.

"Private fonts" are fonts usually delivered with an app.
They don't need to be installed in some 'standard' system-wide directories; once these fonsts are loaded, they can be used in the same way of pre-installed fonts.
These loaded fonts are only visible by the process (app) who loaded'em, and then disappear when the app terminates.

Download

  • [L1 ] extrafont-1.0 Multi-platform package (Windows/Linux/MacOSX)
  • [L2 ] extrafont Development-Kit. For developers/maintainers.

Image Img-PrivateFonts

SYNOPSYS

The extrafont package provides one core command

 extrafont::load

and two convenience commands

 extrafont::isAvailable
 extrafont::availableFamilies
extrafont::load filename
After loading filename, a new font-family will be available to the current Tk app.
extrafont::isAvailable fontFamily
Return true is fontFamily is avaiable.
extrafont::availableFamilies fontFamilyPattern
Return the list of font-families matching the glob-style fontFamilyPattern.

e.g.

 extrafont::availableFamilies co*
 returns
  Courier {Comic Sans MS}  .....

One important distinction to keep in mind is among

  • font-filename
  • font-family
  • fontname

Font-filename is used just for loading an external font:

  extrafont::load "c:/tmp/Monoton-regular.ttf"

This font will be then available as "Monoton" font-family (note that the family-name may be very different from the font-filename).

 extrafont::isAvailable "Monoton"   ;# true

Finally, when you want to use this new font, you should create or configure a fontname (using the standard 'font' command)

 set myfontname "tk_monoton"  ;#  ... choose the name you want ..
 font create $myfontname -family "monoton" -size 20
  # or, let tk choose a fontname for you ...
 set myfontname [font create -family "monoton" -size 20]
  # then use $myfontname for a new widget ...
 label .mylabel -font $myfontname .......