Startseite › Foren › Deutsches LiveCode-Forum › Font-Liste beschränken
Schlagwörter: Font-Liste Font-Auswahl Text-Menu
- Dieses Thema hat 14 Antworten und 3 Teilnehmer, und wurde zuletzt aktualisiert vor 5 Jahren, 3 Monaten von Klaus Major.
-
AutorBeiträge
-
-
Mai 23, 2019 um 13:19 Uhr #15021
Liebe Leute, lieber Klaus,
in einem Feld per Menu ‘Text’ einzelnen Wörtern oder Wörterfolgen eine jeweils andere Schrift zuzuweisen, ist – im Gegensatz zur Auszeichnung mit Merkmalen wie Stil oder Farbe – eine recht knifflige Übung: zählt die Font-Liste doch 553 Zeilen.
Kennt jemand eine Methode, einen Eingriff, mittels deren | dessen ich die Auswahl der von LiveCode im Menu ‘Text’ angebotenen Schriften beschränken kann ?
Gruß & Dank
Peter
-
Mai 23, 2019 um 14:29 Uhr #15023
Hallo Peter,
kannst Du genau beschreiben, was Du vorhast?Ich kann mir verschiedene Möglichkeiten vorstellen, aber welche am besten ist, hängt z.B. davon ab, wie oft du die Fonts wechseln willst.
Besten Gruß
Torsten -
Mai 23, 2019 um 15:04 Uhr #15025
Genau, WORAUF möchtest Du diese Liste beschränken?
-
Mai 23, 2019 um 15:18 Uhr #15027
Hallo Torsten,
Hallo Klaus,danke für Eure Anteilnahme.
von den 553 Fonts, die ich im LiveCode-Menu ‘Text’ auswählen kann, möchte ich nur diese zur Auswahl angezeigt bekommen:
Andale Mono
Ardagh
Arial Unicode MS
Chalkboard
Charcoal
Copperplate
Courier
Courier Bold
Courier Bold Oblique
Courier Oblique
Helvetica
Helvetica Bold
Helvetica Neue Bold
Helvetica Neue Italic
Helvetica Oblique
Herculanum
Lucida Grande
Lucida Grande Bold
Menlo Bold
Menlo Bold Italic
Menlo Italic
Menlo Regular
Monaco
Palatino
Palatino Bold
Palatino Bold Italic
Palatino Italic
Skia Black
Skia Black Condensed
Skia Black Extended
Skia Bold
Skia Condensed
Skia Extended
Skia Light
Skia Light Condensed
Skia Light Extended
Skia Regular
Times Bold
Times Bold Italic
Times Italic
Times Roman.Ich durchsuche gerade alle Skripte des Mac LiveCode Bundles nach der Stelle, wo ‘the fontnames’ aufgerufen, sortiert und im Menu ‘Text’ gelistet werden.
Gruß
Peter
-
Mai 23, 2019 um 15:34 Uhr #15029
Hi Peter,
nun, da hier keine Gesetzmäßigkeit erkennbar ist, möchtest Du wohl eher das LC Fontmenu durch Deine Liste ersetzen, sehe ich das richtig?
Gruß
Klaus
-
Mai 23, 2019 um 15:37 Uhr #15031
Hi Klaus,
genau das (glaubte ich auch geschildert zu haben) …
Peter
-
Mai 23, 2019 um 15:40 Uhr #15035
Hm, arbeitest Du am Mac oder Windows?
Auf jeden Fall im Skript-Only stack -> revmenubar.livecodescript
Darin wird das Menü aufgebaut und Du könntest dort ansetzen.Wie, weiß ich leider auch nicht genau, ich überlege mal…
-
Mai 23, 2019 um 15:46 Uhr #15037
Ich arbeite mit Mac(intosh) … und untersuche gerade die “.livecodescript”-Dateien.
-
Mai 23, 2019 um 15:52 Uhr #15039
Du kannst auch Folgendes machen in der Messagebox:
set the clipboarddata[“text”] to the text of btn “Text” of grp “revmenubar” of stack “revmenubar”Dann in einen Texteditor Deiner Wahl den Text einfügen und die Fontliste nach Deinen Wünschen modifizieren.
Dann diese Liste kopieren und den umgekehrten Weg gehen:
set the text of btn “Text” of grp “revmenubar” of stack “revmenubar” to the clipboarddata[“text”]Falls Du “verkackst”, schnell LC beenden ohne speichern! 🙂
Da alles beim nächsten Start von LC wieder weg ist, würde ich mir einen kleinen Stack erstellen, mit einem Feld, wo Deine Liste reinkommt und einem button, der obiges mit Deiner Liste macht.Den dann immer klicken, nachdem du LC gestartet hast.
-
Mai 23, 2019 um 15:54 Uhr #15041
Am Mac findest Du den Stack hier per Rechtsklick auf die App -> Paketinhalt zeigen:
Livecode xxx.app/Contents/Tools/Toolset/palettes/menubar/revmenubar.livecodescript -
Mai 23, 2019 um 16:03 Uhr #15044
Hallo Klaus,
Deine Konstruktion von 15:52h gefällt mir sehr: ich arbeite auch gern “handwerklich”.
Bis später
Peter
-
Mai 23, 2019 um 17:14 Uhr #15046
Falls Du eine etwas ungefährlichere Methode ausprobieren willst:
Erstell Option Menü-Button in einem Stack und kopiere als “Menu Items” deine angepasste Fontliste hinein.
Dann kopiere folgendes Script in den Script des Buttons:
on mouseUp set the textFont of the selectedChunk to the label of me end mouseUp
Wenn Du jetzt einen Text markierst und dann im Menü den gewünschten Font anwählst, wird der Textteil in diesem Font dargestellt.
Den Option Menü-Button kannst Du dann einfach kopieren, wenn Du in einem anderen Stack die Fonts in einem Feld verändern willst. Auf diese Weise kannst Du auch Apps mit entsprechender Funktionalität erstellen und als Standalone weitergeben.
So funktioniert meine Version: https://youtu.be/nPEys4oFAlU
Beste Grüße
Torsten -
Mai 23, 2019 um 18:13 Uhr #15048
Oder so! 😀
-
Mai 24, 2019 um 01:27 Uhr #15053
Guten Morgen,
auf Klaus’ Vorschlag von 15:54h habe ich mal hier
Livecode xxx.app/Contents/Tools/Toolset/palettes/menubar/revmenubar.livecodescript
gestöbert.Jetzt habe ich einen Stapel mit 2 Zeichensatzlisten:
• alle Computer-Zeichensätze,
• durch Zeilenklick ausgewählte Zeichensätzew.Die Taste [pd] soll nur ‘meine’ Fonts (‘UserFontList’),
die Taste [LC] soll alle Zeichensätze in LiveCodes Text-Menu anbieten.[LC] hat dieses Script:
on MouseUp SetUpTextMenu "LC" end MouseUp
[pd] hat dieses Script:
on MouseUp SetUpTextMenu "pd" end MouseUp
Das Stapel-Skript sieht so aus:
private on setupTextMenu ModeX put fld "UserFontList" into UserFontList if UserFontList = "" then beep 3 answer "User Font List is empty ..." exit to Top end if local tText put toggleMenuItem("Plain/;", false) & return after tText put toggleMenuItem("&Bold/B", false) & return after tText put toggleMenuItem("&Italic/I", false) & return after tText put toggleMenuItem("&Underline/U", false) & return after tText put toggleMenuItem("Strikeout", false) & return after tText put toggleMenuItem("Box", false) & return after tText put toggleMenuItem("3D Box", false) & return after tText put "-" & return after tText put toggleMenuItem("Link", false) & return after tText put "-" & return after tText put toggleMenuItem("Subscript", false) & return after tText put toggleMenuItem("Superscript", false) & return after tText put "-" & return after tText put "Font" & return after tText local tFontNames if ModeX = "LC" then put the FontNames into tFontNames else put UserFontList into tFontNames replace "/" with "\" in tFontNames sort lines of tFontNames beep put ModeX & cr & tFontNames /* Fake fonts begin with "(", but the menu code interprets a "(" at the beginning of the item to mean the item is disabled. So, to show a "(" instead of disabling, we need to double it */ repeat with tLine = 1 to the Number of lines of tFontNames if line tLine of tFontNames begins with "(" then put "(" before line tLine of tFontNames end if end repeat put "Use Owner's Font" & return & "-" & return before tFontNames local fontnum put 1 into fontnum repeat for each line tFontName in tFontNames if tFontName is "-" then put tab & tFontName & return after tText else put "!u" & tab & tFontName & return after tText end if end repeat put "Size" & return after tText local tFontSizes put Format("Use Owner's Size\n-\n8\n9\n10\n12\n14\n18\n24\n36\n48\n-\nOther...") into tFontSizes repeat for each line l in tFontSizes if l is "-" then put tab & l & cr after tText else put "!u" & tab & l & cr after tText end repeat put "Color" & cr after tText local tColors put Format("Use Owner's Color\n-\nBlack\nWhite\nRed\nGreen\nBlue\nYellow\n-\nPen Color") into tColors repeat for each line tColor in tColors if tColor is "-" then put tab & tColor & return after tText else put "!u" & tab & tColor & return after tText end if end repeat put "-" & return & "&Align" & return & "!u" & tab & "Left" & return & "!u" & tab & "Center" & return & "!u" & tab & "Right" after tText # Cache the text menu text in non-disabled state put tText into sTextMenuText repeat for each line tLine in tText if the Platform is "MacOS" and tab is in tLine then replace tab with empty in tLine local tDisabledText put tab & "(" & tLine & return after tDisabledText else put "(" & tLine & return after tDisabledText end if end repeat delete last char of tDisabledText # Cache the disabled text menu text put tDisabledText into sTextMenuDisabledText beep put tDisabledText end setupTextMenu --- function toggleMenuItem pItem, pHilited if pHilited then return "!c" & pItem end if return "!n" & pItem end toggleMenuItem
Noch läuft es nicht wie gewünscht; so zeigt das Text-Menu unverändert die (volle) Computer-Font-Liste.
Bis später
Peter
-
Mai 24, 2019 um 10:03 Uhr #15058
Lass das PRIVATE mal weg -> command setupTextMenu ModeX
Soweit ich mich erinnere, muss das PRIVATE Command oder Funktion im SELBEN Skript wie der Aufruf derselben liegen, damit das funktioniert.
-
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.