A font profile is a file containing a collection of font references. It defines a set of fonts on the user's system.
While you must create and work with font references in order to iterate, identify, and match fonts on a host system, working with font profiles is optional. However, font profiles may make your work easier. For example, your application can use them as a filter to build a menu containing only the fonts a particular prepress company supports. Print shops can also generate them and give them to users to control the set of accessible fonts.
Font profiles are housed in a file. FontSync attempts to moderate access to this file. Ideally, it tries to either allow many readers or exactly one writer but not both. The Mac OS File Manager does not allow this kind of exclusion on local volumes, so it may still be possible for someone to get write access to a profile when there are active readers. Rather than complicating the implementation to work around this limitation, FontSync profile files are treated like most document files where the caller is responsible for making sure that write access is not granted while there are active readers. If the user wishes to modify a profile, your application should make a copy of the file, modify the copy, and swap file names when done. This has the added benefit of preserving the original profile if an error leaves the new profile invalid.