LIBNETPBM_FONT(3)
π NAME π
libnetpbm_font β the Libnetpbm PBM Font Function Manual, aka the little corner of libnetpbm that teaches you how to draw text characters. Yes bestie, we're doing fonts today. π
This page lives in the Libnetpbm ...ion Manual(3), and it's the cutest little manual you ever did read. π
β¨ DESCRIPTION β¨
Okay so. This reference manual covers the functions in the libnetpbm library that let you access fonts so you can draw text characters β and it does all that using the PBM image format plus the libnetpbm in-memory image formats. π¦
And here's the tea, bestie: we actually have very little information here. Fr fr. This page is mainly a framework for adding documentation later, if someone ever becomes interested in this facility. So it's giving "placeholder era" and we're at peace with that. π
But wait β note that the primary known user of this library is the Netpbm program pbmtext. You can use that program's source code as an example. That's your blueprint, go off. π
πΈ Font Object πΈ
libnetpbm represents a font with an object of type struct font. The library provides functions to create these objects. Cute, right? π
The object these functions create is in newly allocated memory and β this is the important part β you can't actually free it. π The memory may be in multiple pieces, pointing to each other, and libnetpbm provides no destroy function. (This is only because of implementation laziness.) So like... it's iconic but it is not giving cleanup. π
π«Ά The Functions π«Ά
The functions are all declared in the pbmfont.h header file. Periodt.
pbm_defaultfont
Synopsis
struct font *
pbm_defaultfont(const char * which);
Description
This returns a font object representing a font built in to libnetpbm. π
which is the name of the desired built-in font. There are two:
bdfβ a proportional font similar to Adobe'stimR12font. Slay. β¨fixedβ a fixed space font. The reliable one. The one that shows up on time. π
π Copyright
The provenance of the built-in fonts are not known for sure, but in 2018, the bdf font was almost identical to a font on which Adobe and Digital Equipment Corporation once claimed copyright. That font was available in the X.org source code in a collection named font-adobe-75dpi, in a file named timR12.pcf.gz.
Ergo, it is likely that the font was copied into Netpbm from that font in 1991.
Bestie, listen carefully: you may need a copyright license from the copyright owners of that original font not only to copy the libnetpbm code, but to execute it β thus generating copies of the glyphs of the font. Not me being dramatic, that's literally what it says. π
The X.org files in 2018 indicate the following copyright claims, along with a license to the public to copy them:
Copyright 1984-1989, 1994 Adobe Systems Incorporated.
Copyright 1988, 1994 Digital Equipment Corporation.
Permission to use, copy, modify, distribute and sell this
software
and its documentation for any purpose and without fee is hereby
granted, provided that the above copyright notices appear in
all
copies and that both those copyright notices and this
permission
notice appear in supporting documentation, and that the names
of
Adobe Systems and Digital Equipment Corporation not be used in
advertising or publicity pertaining to distribution of the
software
without specific, written prior permission. Adobe Systems and
Digital Equipment Corporation make no representations about the
suitability of this software for any purpose. It is provided
'as
is' without express or implied warranty.
pbm_dissectfont
pbm_loadfont
This function returns a font object for a font described in a file. π¦ The file may be either a special PBM file or a BDF file. The function determines which it is and behaves as either pbm_loadpbmfont or pbm_loadbdffont accordingly. Iconic behavior honestly. β¨
pbm_loadpbmfont
pbm_loadbdffont2
pbm_loadbdffont
This is obsolete. New programs should use pbm_loadbdffont2 instead. No cap β move on, bestie. π
pbm_expandbdffont
pbm_dumpfont
π DOCUMENT SOURCE π
This manual page was generated by the Netpbm tool makeman from HTML source. The master documentation is at
http://netpbm.sourceforge.net/doc/libnetpbm_font.html
And that's the whole page, bestie β no crumbs left behind. π This was netpbm documentation, April 2018, living its best life inside the Libnetpbm ...ion Manual(3). Stay slaying, and remember: the font object can't be freed, so love it while you have it. ππ
π¦ where this page comes from
- centos-stream 10: netpbm-devel 11.09.00-1.el10 Β· BSD-3-Clause AND GPL-2.0-only AND LGPL-2.1-or-later AND GPL-3.0-or-later AND IJG AND MIT AND NTP AND PostgreSQL AND LicenseRef-MIT-CRL-Xim AND LicenseRef-Fedora-Public-Domain
- centos-stream 9: netpbm-devel 10.95.00-3.el9 Β· BSD and GPLv2 and IJG and MIT and Public Domain
- centos-stream 9: netpbm-devel 10.95.00-3.el9 Β· BSD and GPLv2 and IJG and MIT and Public Domain
- debian trixie: libnetpbm-dev 2:11.10.02-1 Β· MIT
- fedora 43: netpbm-devel 11.10.00-2.fc43 Β· BSD-3-Clause AND GPL-2.0-only AND LGPL-2.1-or-later AND GPL-3.0-or-later AND IJG AND MIT AND NTP AND PostgreSQL AND LicenseRef-MIT-CRL-Xim AND LicenseRef-Fedora-Public-Domain
- fedora 43: netpbm-devel 11.10.00-2.fc43 Β· BSD-3-Clause AND GPL-2.0-only AND LGPL-2.1-or-later AND GPL-3.0-or-later AND IJG AND MIT AND NTP AND PostgreSQL AND LicenseRef-MIT-CRL-Xim AND LicenseRef-Fedora-Public-Domain
- fedora 43: netpbm-devel 11.13.00-1.fc43 Β· BSD-3-Clause AND GPL-2.0-only AND LGPL-2.1-or-later AND GPL-3.0-or-later AND IJG AND MIT AND NTP AND PostgreSQL AND LicenseRef-MIT-CRL-Xim AND LicenseRef-Fedora-Public-Domain
- fedora 43: netpbm-devel 11.13.00-1.fc43 Β· BSD-3-Clause AND GPL-2.0-only AND LGPL-2.1-or-later AND GPL-3.0-or-later AND IJG AND MIT AND NTP AND PostgreSQL AND LicenseRef-MIT-CRL-Xim AND LicenseRef-Fedora-Public-Domain
- fedora 44: netpbm-devel 11.13.00-2.fc44 Β· BSD-3-Clause AND GPL-2.0-only AND LGPL-2.1-or-later AND GPL-3.0-or-later AND IJG AND MIT AND NTP AND PostgreSQL AND LicenseRef-MIT-CRL-Xim AND LicenseRef-Fedora-Public-Domain
- fedora 44: netpbm-devel 11.13.00-2.fc44 Β· BSD-3-Clause AND GPL-2.0-only AND LGPL-2.1-or-later AND GPL-3.0-or-later AND IJG AND MIT AND NTP AND PostgreSQL AND LicenseRef-MIT-CRL-Xim AND LicenseRef-Fedora-Public-Domain
- opensuse-leap 16.0: libnetpbm-devel 11.9.3-160000.2.2 Β· BSD-3-Clause AND GPL-2.0-or-later AND IJG AND MIT AND SUSE-Public-Domain
- opensuse-leap 16.0: libnetpbm-devel 11.9.3-160000.2.2 Β· BSD-3-Clause AND GPL-2.0-or-later AND IJG AND MIT AND SUSE-Public-Domain
- opensuse-leap 16.0: libnetpbm-devel 11.9.3-160000.2.2 Β· BSD-3-Clause AND GPL-2.0-or-later AND IJG AND MIT AND SUSE-Public-Domain
- opensuse-leap 16.0: libnetpbm-devel 11.9.3-160000.2.2 Β· BSD-3-Clause AND GPL-2.0-or-later AND IJG AND MIT AND SUSE-Public-Domain
- ubuntu noble: libnetpbm-dev 2:11.05.02-1.1build1 Β· MIT
- ubuntu resolute: libnetpbm-dev 2:11.10.02-1build1 Β· MIT
- ubuntu stonking: libnetpbm-dev 2:11.13.03+ds-2 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms