As the author of the graphical menu support in GRUB 2 and the creator of the new font format, I can defend the decision to create a new font format in a few ways. First, it was decided at the beginning of the graphical menu project that bitmap fonts should be used at first, and possibly down the road we could add support for vector (outline) fonts, and we would definitely need to depend on an external library for the more complex rendering of vector fonts. There has been discussion of using the FreeType library to provide support for OpenType, TrueType, and many other font formats. In my opinion, full vector font support would not be too difficult to add to GRUB.
As for using an existing bitmap font format such as BDF of PCF, I seriously considered them but found them altogether unsatisfactory for our specific purpose. Here is my analysis of why another font format was needed. We also have discussed plans to add LZMA compression support to the font format, which would dramatically improve storage efficiency without impacting performance, by providing near-random access to characters of the font through compressing groups of characters together.
As for the omission of the 'width' property of fonts, I simply considered that too unimportant of a detail, particularly in light of the fact that non-antialiased bitmap fonts were the only target of that font format, and none of the free fonts we tested with were provided in different widths.
I do take your point about ASCII metadata for the fonts. True textual data such as the font name and family name should be Unicode strings, not ASCII.
Copyright © 2018, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds