DynaPDF.SysFontInfo
-------------------

Returns the most important properties of a system font.

| Component | Version | macOS | Windows | Linux | Server | iOS SDK |
|---|---|---|---|---|---|---|
| [DynaPDF](component_DynaPDF.md) | [5.1](newinversion51.md) | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |

MBS( "DynaPDF.SysFontInfo"; PDF; Handle; Selector ) 

**MBS**( **"DynaPDF.SysFontInfo";** /\* Returns the most important properties of a system font. \*/  
**$PDF**; /\* The PDF reference returned from [DynaPDF.New](DynaPDFNew.md). \*/   
**$Handle**; /\* Font Handle or zero for first calle.g. 0 \*/   
**$Selector**) /\* Which value to return.   
Can be Result, BaseType, BaseFont, CIDOrdering, CIDRegistry, CIDSupplement, DataOffset, FamilyName, FilePath, FileSize, Flags, Embeddable, Editable, FullName, Length1, Length2, PostScriptName, Index, IsFixedPitch, Style, UnicodeRange1, UnicodeRange2, UnicodeRange3 or UnicodeRange4.e.g. "FamilyName" \*/ 

### Parameters

| Parameter | Description | Example |
|---|---|---|
| PDF | The PDF reference returned from [DynaPDF.New](DynaPDFNew.md). | $pdf |
| Handle | Font Handle or zero for first call | 0 |
| Selector | Which value to return.    Can be Result, BaseType, BaseFont, CIDOrdering, CIDRegistry, CIDSupplement, DataOffset, FamilyName, FilePath, FileSize, Flags, Embeddable, Editable, FullName, Length1, Length2, PostScriptName, Index, IsFixedPitch, Style, UnicodeRange1, UnicodeRange2, UnicodeRange3 or UnicodeRange4. | "FamilyName" |

### Result

Returns value or error.

### Description

Returns the most important properties of a system font.   
For first call, please use zero for the handle. Then you can get with Selector "Result" the handle of the next font. Loop until this next handle is zero.  
Embeddable returns 1 or 0 depending on whether the font can be embedded or not.  
FamilyName, FullName, FilePath and PostScriptName are returned in unicode text if possible.  
See also [SysFontInfo](https://www.monkeybreadsoftware.com/DynaPDF-Manual/GetSysFontInfo.shtml) function in DynaPDF manual.

### Examples

Get Family name of first font:

 MBS ( "DynaPDF.SysFontInfo"; $pdf ; 0; "FamilyName" )  
List System Fonts by adding records to a table with font names:

 Set Variable \[$Handle ; Value:0\]  
Loop  
 #Get values  
 Set Variable \[$NextHandle ; Value:MBS ("DynaPDF.SysFontInfo"; $pdf ; $Handle ; "Result")\]  
 New Record/Request  
 Set Field \[System Font Info::FamilyName ; MBS ("DynaPDF.SysFontInfo"; $pdf ; $Handle ; "FamilyName")\]  
 Set Field \[System Font Info::Embeddable ; MBS ("DynaPDF.SysFontInfo"; $pdf ; $Handle ; "Embeddable")\]  
 Commit Records/Requests \[Skip data entry validation; No dialog\]  
 Exit Loop If \[$NextHandle = 0\]  
 #Next  
 Set Variable \[$Handle ; Value:$NextHandle \]  
End Loop  
### See also

- [DynaPDF.FontInfo](DynaPDFFontInfo.md)
- [DynaPDF.New](DynaPDFNew.md)
- [DynaPDF.SetDocInfo](DynaPDFSetDocInfo.md)
- [DynaPDF.SysFontInfoAsJSON](DynaPDFSysFontInfoAsJSON.md)

### Release notes

- **Version 14.4**
    - Added BaseFont as selector for [DynaPDF.SysFontInfo](https://www.mbsplugins.eu/DynaPDFSysFontInfo.shtml) function.
    - Added BaseFont value to JSON for [DynaPDF.SysFontInfoAsJSON](https://www.mbsplugins.eu/DynaPDFSysFontInfoAsJSON.shtml) function.
- **Version 12.3**
    - Fixed [DynaPDF.SysFontInfo](https://www.mbsplugins.eu/DynaPDFSysFontInfo.shtml) function and example database to not miss the last font.
- **Version 10.5**
    - Added [DynaPDF.GetAnnotationsAsJSON](https://www.mbsplugins.eu/DynaPDFGetAnnotationsAsJSON.shtml), [DynaPDF.GetBookmarksAsJSON](https://www.mbsplugins.eu/DynaPDFGetBookmarksAsJSON.shtml), [DynaPDF.GetColorSpacesAsJSON](https://www.mbsplugins.eu/DynaPDFGetColorSpacesAsJSON.shtml), [DynaPDF.GetDocInfoAsJSON](https://www.mbsplugins.eu/DynaPDFGetDocInfoAsJSON.shtml), [DynaPDF.GetEmbeddedFilesAsJSON](https://www.mbsplugins.eu/DynaPDFGetEmbeddedFilesAsJSON.shtml), [DynaPDF.GetFieldsAsJSON](https://www.mbsplugins.eu/DynaPDFGetFieldsAsJSON.shtml), [DynaPDF.GetFontsAsJSON](https://www.mbsplugins.eu/DynaPDFGetFontsAsJSON.shtml), [DynaPDF.GetImportDocInfoAsJSON](https://www.mbsplugins.eu/DynaPDFGetImportDocInfoAsJSON.shtml) and [DynaPDF.SysFontInfoAsJSON](https://www.mbsplugins.eu/DynaPDFSysFontInfoAsJSON.shtml) functions.

### Example Databases

- [DynaPDF/System Font Info](https://www.mbsplugins.eu/MBS-FileMaker-Plugin-Examples/DynaPDF/System%20Font%20Info.shtml#2ScriptAnchor_)
- [DynaPDF/Tables](https://www.mbsplugins.eu/MBS-FileMaker-Plugin-Examples/DynaPDF/Tables.shtml#8ScriptAnchor_)

### Blog Entries

- [MBS FileMaker Plugin, version 14.4pr5](https://www.mbsplugins.de/archive/2024-08-29/MBS_FileMaker_Plugin_version_1/monkeybreadsoftware_blog_filemaker)
- [MBS FileMaker Plugin, version 12.3pr1](https://www.mbsplugins.de/archive/2022-06-02/MBS_FileMaker_Plugin_version_1/monkeybreadsoftware_blog_filemaker)
- [MBS FileMaker Plugin, version 5.1pr2](https://www.mbsplugins.de/archive/2015-03-23/MBS_FileMaker_Plugin_version_5/monkeybreadsoftware_blog_filemaker)

This function checks for a license.

Created 21st March 2015 , last changed 27th August 2024

  
[DynaPDF.StrokePath](DynaPDFStrokePath.md) - [DynaPDF.SysFontInfoAsJSON](DynaPDFSysFontInfoAsJSON.md)

[HTML Version](DynaPDFSysFontInfo.shtml)