Xojo Conferences
XDCMay2019MiamiUSA

Platforms to show: All Mac Windows Linux Cross-Platform

/DynaPDF/Fonts Mapping with NSFont
Function:
You find this example project in your Plugins Download as a Xojo project file within the examples folder: /DynaPDF/Fonts Mapping with NSFont
This example is the version from Mon, 29th Jul 2018.
Project "Fonts Mapping with NSFont.rbp"
Class App Inherits Application
Const kEditClear = "&Delete"
Const kFileQuit = "&Quit"
Const kFileQuitShortcut = ""
End Class
Class MainWindow Inherits Window
Control List Inherits Listbox
ControlInstance List Inherits Listbox
End Control
EventHandler Sub Open() dim d as new DynaPDFMBS dim fontManager as NSFontManagerMBS = NSFontManagerMBS.sharedFontManager dim fonts() as DynaPDFSysFontMBS = d.GetSysFontInfos dim FontDic as new Dictionary for each f as DynaPDFSysFontMBS in fonts fontdic.Value(f.PostScriptName) = f next dim NSFontNames() as string = fontManager.availableFonts dim fontMissing as integer for each NSFontName as string in NSFontNames List.AddRow NSFontName dim f as DynaPDFSysFontMBS = fontdic.Lookup(NSFontName, nil) if f = nil and left(NSFontName,1) = "." then // lookup without dot to find a few special cases... f = fontdic.Lookup(NSFontName.mid(2), nil) end if if f <> nil then List.Cell(List.LastIndex,1) = f.FamilyName List.Cell(List.LastIndex,2) = f.PostScriptName else fontMissing = fontMissing + 1 end if next 'Title = str(fontMissing)+" fonts missing?" End EventHandler
End Class
MenuBar MainMenuBar
MenuItem FileMenu = "&File"
MenuItem FileQuit = "#App.kFileQuit"
MenuItem EditMenu = "&Edit"
MenuItem EditUndo = "&Undo"
MenuItem EditSeparator1 = "-"
MenuItem EditCut = "Cu&t"
MenuItem EditCopy = "&Copy"
MenuItem EditPaste = "&Paste"
MenuItem EditClear = "#App.kEditClear"
MenuItem EditSeparator2 = "-"
MenuItem EditSelectAll = "Select &All"
End MenuBar
End Project

See also:

Feedback, Comments & Corrections

The items on this page are in the following plugins: MBS DynaPDF Plugin.




Links
MBS Xojo Plugins