Represents a private font store.

Fonts are normally loaded from the system into a global font store, which is relatively static.

You can add fonts using Doc.AddFont or Doc.EmbedFont, and unload them with XFont.Unload. However because the global store is shared across threads, modifying it can cause issues if other threads are using the fonts.

A private font store provides a more flexible alternative. It isolates fonts so that only specific Doc objects can access them. You can load all required fonts into a private store, assign that store to any Doc that needs those fonts, and later unload the fonts or delete the original font files once all dependent objects are done using them.

For automatic deletion of font files, see the autoDeleteFile parameter in AddFont and AddFonts.

When two private font stores interact, their fonts are merged into a shared reference group.

The private font store ensures that all fonts it contains are unloaded before their files are deleted.

If multiple private stores come into contact, all private fonts (and any shared references to them) become shared across all involved stores. Fonts are only unloaded and files automatically deleted after every involved store has been disposed.

However, contact between stores does not mean they all end up with the same font set. Shared references are managed separately from the actual fonts each store contains. When you add a font to a store that already has a shared reference to the same font, the existing shared reference is reused.

Private font stores come into contact in the following cases:

  • When multiple font stores are assigned sequentially to the same Doc.FontStore.
  • When a new store is created using the copy constructor Store(Store), it contacts the original store.
  • When calling AddFont(XFont) with a font that is private, the fonts store contacts the current store.
  • When calling AddStore(Store), the passed-in store contacts the current store.

There are XFont.FindFamily, XFont.FindFamilyNames, XFont.FindByName and XFont.FindByStyle function overloads which allow you to search a font store for certain types of fonts.

System.Object
   WebSupergoo.ABCpdf14.Store

Implements: IDisposable

 

   
   
Method
Description
Store Creates a new XFont.Store.
Dispose Releases the reference to the font store.
AddFont Adds a font from a file to this font store.
AddFonts Adds a font from a file to this font store.
AddStore Adds all fonts from another font store into this font store.
FindAll Returns all fonts held in this font store.

 

   
   
Property
Description
IsWeakReference Gets or sets whether references to this font store are weak or strong.