Buli Notes

Note concerning embedding fonts function.

There already was some discussion here:

I personally doesn’t agree with the “copyright issues” as OpenType fonts (TrueType are OpenType fonts) provides an information about the embeddability of a font.

The information is stored in OS/2 table in fsType field:

Microsoft documentation is clear about this:

Embeddable fonts may be stored in a document. When a document with embedded fonts is opened on a system that does not have the font installed (the remote system), the embedded font may be loaded for temporary (and in some cases, permanent) use on that system by an embedding-aware application. Embedding licensing rights are granted by the vendor of the font.

Applications that implement support for font embedding must not embed fonts which are not licensed to permit embedding. Also, when embedding a font into a document, applications must not modify the embedding permissions and restrictions indicated in this field. In addition, applications loading embedded fonts for temporary use (Preview & Print or Editable embedding) must delete the fonts when the document containing the embedded font is closed.

Bits 0 to 3 (the embedding permissions sub-field) are mutually exclusive: fonts should never have more than of these bits set. Note that, if two or more bits are set, some applications could assume the least-restrictive permission indicated. (See version differences for more discussion.) Caution: Font vendors are responsible to set these bits correctly to obtain the desired application behaviors. For Restricted License embedding to take effect, the Embedding permissions sub-field must have the value 2 (that is, only bit 1 is set).

There’s some important things here:

  • Applications that implement support for font embedding must not embed fonts which are not licensed to permit embedding
    Plugin respect this

  • Caution: Font vendors are responsible to set these bits correctly to obtain the desired application behaviors
    On my side, I choose to not let the plugin embed a font for which information is not provided

  • In addition, applications loading embedded fonts for temporary use (Preview & Print or Editable embedding) must delete the fonts when the document containing the embedded font is closed
    For the first case “Preview & Print” I choose to not let the plugin being able to embed this kind of fonts as it’s not possible to guarantee a Krita document being opened in read-only mode
    For the second case “Editable” the situation is a bit different: it’s possible to embed an “Editable” font that is installed on computer, and once font is loaded from note, font is “available” for Krita (so for other documents) but:
    It’s not possible in a document B to embed an “Editable” font loaded from document A
    The plugin doesn’t allow to extract embedded font to let user install it on computer

By nature plugin source code is open and I’m aware that “anybody” is able to modify it to do anything with fonts… but sincerely, I consider it’s easier for “anybody” to just copy a font from a computer to another one if restriction have to be bypassed :sweat_smile:

The initial goal for this functionality is that’s can be useful to store font in a document for the following reasons:

  • When sharing a document across different computers, ensure to always have used fonts available
  • When reopening a document many years later, to be sure font is still available

On my side, I have more than 1300 fonts installed on my computer, 95% of them are “Installable”, there’s some “Editable” (don’t know why, I have to check that and maybe made some cleanup )

My recommendation to anybody: prefer to use “Instalable” fonts, that’s easier for copyrights stuff :slight_smile:

Grum999

1 Like