StarBasic FAQWissen, das weiterhilft.

StarBasic - Allgemein

Wie kann man sich alle Fonts in einen Text ausgeben lassen?

Dies geht mit einem kleinen Makro und dem Service FontDescriptor.

Basic
Sub ShowallFonts
Dim oWindow As Object  Dim aFontArray()  Dim oFontDescriptor As Object  Dim sFontList As String  Dim sTemp As String  Dim I As Integer
   oDoc = ThisComponent     otext=odoc.text     ocursor=otext.createtextcursor()     mytext="abcdefghirklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"     Set oWindow = ThisComponent.CurrentController.Frame.ComponentWindow
   aFontArray() = oWindow.getFontDescriptors     For I = 0 to UBound(aFontArray)        oFontDescriptor = aFontArray(I)        If oFontDescriptor.Name <> sTemp Then           sFontList = sFontList & oFontDescriptor.Name & chr(10)        End If
   if oFontDescriptor.Stylename="Standard" then     ocursor.CharFontName=oFontDescriptor.Name     ocursor.String=oFontDescriptor.Name+" --- "+mytext     otext.insertControlCharacter(ocursor, "com.sun.star.ControlCharacter.PARAGRAPH_BREAK",false)     ocursor.gotoEndofParagraph(false)
   end if
  
   Next I
   
End Sub