Xojo Developer Conference
25/27th April 2018 in Denver.
MBS Xojo Conference
6/7th September 2018 in Munich, Germany.

DynaPDF Manual - Page 306

Previous Page 305   Index   Next Page 307

Function Reference
Page 306 of 750
typedef enum
{
efpAnsiPath
= 0, // Code page 1252 on Windows, UTF-8 otherwise
efpUnicodePath = 1, // FilePath is in Unicode format (UTF-16).
efpEmbeddable
= 2, // The font has embedding rights.
efpEditable
= 4
// The font has editing rights (important for form
// fields).
}TEnumFontProcFlags;
The function enumerates all fonts found in the search directories in the same way as
EnumHostFonts(). However, the callback function provides further information about the font such
as the font type, file path, and whether the font is embeddable or editable.
Form fields which can be edited, e.g. like text fields, require a font that is editable if the font will be
embedded. If a font has no editable rights then the fields read only flag should be set since a PDF
viewer application must replace the font if such a field would be edited. This can lead to unwanted
side effects and should be avoided. To avoid unnecessary issues, fonts with no editable rights should
not be embedded if used with form fields.
Note that the file path can be returned in Unicode or Ansi format. On Windows the string format can
be different for every font. The default string format on Windows is Unicode but the function can
also return Ansi strings, i.e. if further fonts were loaded with the Ansi version of
AddFontSearchPath().
On non-Windows operating systems the function returns always UTF-8 Unicode strings.
Remarks:
The function does not produce error messages or warnings. The internal exception handling of
DynaPDF is not used by this function.
Return values:
If the function succeeds the return value is the number of available font files or zero if no font files
were found. If the function fails the return value is a negative error code. At time of publication
negative error codes are not returned.
ExchangeBookmarks
Syntax:
LBOOL pdfExchangeBookmarks(
const PPDF* IPDF, // Instance pointer
SI32 Bmk1,
// Handle of first bookmark
SI32 Bmk2)
// Handle of second bookmark
This function exchanges two bookmarks.
Return values:
If the function succeeds the return value is 1. If the function fails the return value is 0.
 

Previous topic: EnumHostFontsEx

Next topic: FileAttachAnnot