Xojo Conferences
XDCMay2019MiamiUSA

Platforms to show: All Mac Windows Linux Cross-Platform

/MacCocoa/Fonts and Font Families
Function:
Required plugins for this example: MBS MacBase Plugin, MBS MacCocoa Plugin, MBS MacOSX Plugin, MBS Main Plugin
You find this example project in your Plugins Download as a Xojo project file within the examples folder: /MacCocoa/Fonts and Font Families
This example is the version from Fri, 23th May 2013.
Project "Fonts and Font Families.rbp"
Class App Inherits Application
Const kEditClear = "&Löschen"
Const kFileQuit = "Beenden"
Const kFileQuitShortcut = ""
End Class
Class Window1 Inherits Window
Control List Inherits Listbox
ControlInstance List Inherits Listbox
EventHandler Sub Change() if me.ListIndex < 0 then FontPath.Text = "" else FontPath.text = me.Cell(me.ListIndex,3) end if End EventHandler
EventHandler Sub ExpandRow(row As Integer) dim fontFamilyName as string = me.Cell(row,0) dim members() as variant = fontManager.availableMembersOfFontFamily(fontFamilyName) for each m as Variant in members dim member() as Variant = m dim PostscriptName as string = member(0) dim suffix as string = member(1) dim FontWeight as double = member(2) dim FontTrait as string = member(3) dim n as NSFontMBS = NSFontMBS.fontWithName(PostscriptName, 12) if n<>Nil then dim file as FolderItem = n.file dim filepath as string dim filename as string if file<>Nil then filepath = file.UnixpathMBS filename = file.name end if me.AddRow suffix, PostscriptName, filename, filepath end if next End EventHandler
End Control
Control FontPath Inherits TextField
ControlInstance FontPath Inherits TextField
End Control
EventHandler Sub Open() fontManager = new NSFontManagerMBS dim fontFamilyNames() as string = fontManager.availableFontFamilies for each fontFamilyName as string in fontFamilyNames list.AddFolder fontFamilyName dim n as NSFontMBS = NSFontMBS.fontWithName(fontFamilyName, 12) if n<>nil then dim file as FolderItem = n.file dim filepath as string dim filename as string if file<>Nil then filepath = file.UnixpathMBS filename = file.name end if list.Cell(List.LastIndex,1) = n.fontName list.Cell(List.LastIndex,2) = filename list.Cell(List.LastIndex,3) = filepath end if List.Expanded(List.LastIndex) = true next End EventHandler
Property fontManager As NSFontManagerMBS
End Class
MenuBar MenuBar1
MenuItem FileMenu = "&Ablage"
MenuItem FileQuit = "#App.kFileQuit"
MenuItem EditMenu = "&Bearbeiten"
MenuItem EditUndo = "&Rückgängig"
MenuItem UntitledMenu1 = "-"
MenuItem EditCut = "&Ausschneiden"
MenuItem EditCopy = "&Kopieren"
MenuItem EditPaste = "&Einfügen"
MenuItem EditClear = "#App.kEditClear"
MenuItem UntitledMenu0 = "-"
MenuItem EditSelectAll = "&Alles auswählen"
End MenuBar
End Project

Feedback, Comments & Corrections

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




Links
MBS Xojo PDF Plugins