Fonts and licenses
BDF itself is under the MIT License. The fonts it holds or serves have licenses of their own.
Fonts inside the library
| Font | Where it is | Source | License |
|---|---|---|---|
| STIX Two Math 2.13 b171 | Embedded in the package image/formula (go:embed, the whole font, unmodified): the formula font when Options name no other |
stipub/stixfonts, tag v2.13b171, fonts/static_otf/STIXTwoMath-Regular.otf |
SIL Open Font License 1.1 |
| Bravura 1.482 | The outlines and metrics of music symbols, as a generated table in converter/internal/music/smufl, for the scores of MML, MIDI and MusicXML |
steinbergmedia/bravura | SIL Open Font License 1.1 |
| M PLUS 1p Regular 1.062 | The outlines of digits 0–9, as a generated table in image/barcode, for the human-readable numbers below JAN/EAN/UPC bars |
Google Fonts M PLUS 1p | SIL Open Font License 1.1 |
| NewStroke | The stroke font KiCad draws text with, as a table in converter/kicad |
vovanium's NewStroke release; NEWSTROKE.txt names the file |
CC0 1.0 |
| DejaVu Sans, Regular and Bold (subsets: ASCII) | In fixture, the package that builds the sample document (bdf demo) |
dejavu-fonts | DejaVu Fonts License |
STIX Two Math: Copyright 2001-2021 The STIX Fonts Project Authors (https://github.com/stipub/stixfonts), with Reserved Font Name "TM Math". STIX Fonts™ is a trademark of The Institute of Electrical and Electronics Engineers, Inc.
Bravura: Copyright © 2015, Steinberg Media Technologies GmbH (http://www.steinberg.net/), with Reserved Font Name "Bravura".
The file of STIX Two Math in the repository is the one of the upstream tag, byte for byte; image/formula/fonts/README.md gives its SHA-256 and the command that checks it.
A program that imports formula holds STIX Two Math. The Open Font License allows bundling and embedding a font with any software, commercial or not, and asks that copies keep the copyright notice and the license — the font carries both in its name table, and OFL.txt is beside it. A program that lays formulas out with a font of its own (formula.Options.Math) still links the embedded one in.
The converters hold no font for the text of documents. They lay text out with the fonts they are given (-font-dir, the fonts of the system) and embed subsets of those in the documents they write; the licenses of those fonts are theirs.
Fonts on this website
The demo pages convert files in the browser. The Forms page fetches M PLUS 1p Regular and Bold directly from Google Fonts (fonts.gstatic.com); these fonts are not bundled with the site. The filled BDF and PDF embed subsets, retaining the font's copyright and license notices. Other pages fetch the fonts a document asks for from fonts/, published with their license files beside them:
| Font | Stands in for | License |
|---|---|---|
| Liberation Sans, Serif, Mono | Arial, Times New Roman, Courier New | SIL Open Font License 1.1 |
| Carlito | Calibri | SIL Open Font License 1.1 |
| Caladea | Cambria | the license in its copyright file (fonts/fonts-crosextra-caladea.copyright.txt) |
| M PLUS 1p (fetched from Google Fonts) | The editable business form examples | SIL Open Font License 1.1 |
| IPAex Gothic, IPAex Mincho | Japanese text | IPA Font License Agreement v1.0 |
| DejaVu Sans, Serif, Mono | symbols | Bitstream Vera Fonts license; the DejaVu changes are in the public domain |
| STIX Two Math | Cambria Math, and formulas | SIL Open Font License 1.1 |
The bundled files come from the Debian packages fonts-liberation, fonts-crosextra-carlito, fonts-crosextra-caladea, fonts-ipaexfont-gothic, fonts-ipaexfont-mincho and fonts-dejavu-core, and from the STIX release above; the workflow that builds the site lists them.
Fonts of the tests
The test fonts in the repository — subsets of M PLUS 1p, STIX Two Math, STIX Two Text and DejaVu Sans — sit in testdata directories with their licenses.
The InDesign documents the IDML converter is tested on (converter/idml/testdata/simpleidml) are the regression test files of SimpleIDML, copyright (c) 2012 Stanislas Guerra, under the BSD 3-clause license kept beside them.
Code from other projects
encoding/htmlro, the HTML parser, carries the tokenizer states and the tree construction stage of golang.org/x/net/html (scan.go, parse.go, foreign.go, doctype.go, const.go, the entity table and the tests), copyright The Go Authors, under the BSD 3-clause license kept beside them in encoding/htmlro/LICENSE. Its testdata/html5lib-tests are the html5lib test suite, copyright James Graham, Geoffrey Sneddon and other contributors, under the MIT license in its README.