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 