doc/sphinx/techref/bitmaponlysfnt.rst
:small:(the file type which holds a truetype or opentype font)
Unfortunately every system has its own way of storing bitmap only fonts into an sfnt wrapper (or the system just doesn't support it)
.. _bitmaponlysfnt.Apple:
Apple documents the existence of a bitmap only format, and gives some hints about the requirements of it. Their documentation is far from complete and the following is determined in part by that documentation, in part by examining the (few) bitmap only fonts of theirs I have found, and in part by error messages given by some of their tools.
As is expected on Apple, the bitmap data reside in 'bloc' and 'bdat' tables.
(These are identical in format to the 'EBLC' and 'EBDT' tables used in
OpenType)
The 'head <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6head.html>__'
table is replaced by a 'bhed_' table which is byte for byte identical
There are no 'glyf', 'loca' nor 'CFF ' tables.
There are no 'hhea' nor 'hmtx' tables (metrics data are provided in
the bitmap strikes themselves)
(Presumably there are no 'vhea' nor 'vmtx' tables either)
'maxp <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6maxp.html>__'.
numGlyphs is set to the number of bitmap glyphs
.. _bitmaponlysfnt.X11:
The X consortium have devised their own format which they call "OpenType Bitmap" with extension .otb.
EBLC' and 'EBDT' tables.glyf_' tableloca_' table with one entry in ithead_' table (not a 'bhed')maxp'. numGlyphs is set to the number of bitmap glyphs, not to the
size of the 'loca' table.. _bitmaponlysfnt.MS:
MicroSoft Windows provides no support for a bitmap only sfnt. So I have created a faked up format which should work in most cases
EBLC' and 'EBDT' tables.glyf' / 'loca' tables with entries for every glyph. If used
the entries will produce blank glyphs (spaces).EBSC_' table which maps common pixel sizes to the supplied
pixel sizes. (so if a user asked for a 20 pixel strike s/he might get an 18
pixel strike -- as opposed to getting a set of blanks.head_' table (not a 'bhed').. _bloc: https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6bloc.html .. _bdat: https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6bdat.html .. _EBLC: https://docs.microsoft.com/en-us/typography/opentype/spec/eblc .. _EBDT: https://docs.microsoft.com/en-us/typography/opentype/spec/ebdt .. _bhed: https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6bhed.html .. _glyf: https://docs.microsoft.com/en-us/typography/opentype/spec/glyf .. _loca: https://docs.microsoft.com/en-us/typography/opentype/spec/loca .. _EBSC: https://docs.microsoft.com/en-us/typography/opentype/spec/ebsc .. _maxp: https://docs.microsoft.com/en-us/typography/opentype/spec/maxp .. _head: https://docs.microsoft.com/en-us/typography/opentype/spec/head