AMIGA-RESISTANCE
https://forum.amiga-resistance.info/

Anfänger: Fonts unter Linux
https://forum.amiga-resistance.info/viewtopic.php?f=38&t=3623
Seite 1 von 1

Autor:  snurf.T [ 23 Okt 2019, 11:33 ]
Betreff des Beitrags:  Anfänger: Fonts unter Linux

Hallo liebe Leute im Hollywood-Forum! :)

Vor Kurzem habe ich mir Hollywood gekauft und möchte nun anfangen damit zu programmieren. Da ich (noch) keinen PPC-Amiga habe (warte auf das A1222 :wink:) bin ich meistens auf MorphOS und AROS unterwegs.

Anyway, hier meine Frage:
Kennt sich jemand mit Fonts unter Linux aus? Mit
@FONT 1, "/usr/share/fonts/xmind/fonts/IndieFlower.ttf", 98, {Engine = #FONTENGINE_INBUILT}

kann ich eine Schriftart einbinden. Ich habe es aber nicht geschafft eine Schriftart nur über ihren Namen ansprechen zu können. Hat jemand eine Idee?
@FONT 1, "Indie Flower", 98 {Engine = #FONTENGINE_INBUILT}
hat es bisher nicht funktioniert.

Eigentlich ist das Ganze nicht so wild, die Schriftart kann ja beim Kompilieren mit eingebunden werden. Aber wenn ich ein Skript sowohl unter MorphOS, Linux, AROS testen möchte, dann müsste ich jedes Mal an der Stelle den Code anpassen (z.B. auskommentieren / einkommentieren). - Es geht also um reine Bequemlichkeit / Faulheit. :wink:

Vielen Dank und viele Grüße :)

Autor:  Tipsi [ 23 Okt 2019, 18:37 ]
Betreff des Beitrags:  Re: Anfänger: Fonts unter Linux

Salli snurf.T

Herzlich willkommen bei Amiga-Resistance.

Da stellst Du eine nette Frage, die ich als
ohne Linuxbesitzer versuche zu beantworten.

Die zwei Möglichkeiten, eine Schriftart aufzurufen,
kennst Du ja bereits. Beim direkten Aufruf
über den Dateipfad (Dein erstes Beispiel)
muss die Schriftart nicht installiert sein.

Hingegen wenn Du sie über den Namen
(Dein zweites Beispiel) aufrufen möchtest,
muss sie vorher installiert worden sein.

Falls sie bereits installiert ist und es doch
nicht über den Namen funktioniert, dann
wechsle mal das Schriftartenmodul; in
Deinem Fall verwende #FONTENGINE_NATIVE.
Wenn dann die Schriftart geladen wird,
dann kann das in Hollywood integrierte
Schriftartenmodul Deine gewünschte
Schrift nicht laden.

Um rauszufinden, ob eine bestimmte
Schriftart installiert ist, verwende den
Befehl GetAvailableFonts().

Ich hoffe, Du kommst einen Schritt weiter.

Griessli
Tipsi

Autor:  snurf.T [ 24 Okt 2019, 12:47 ]
Betreff des Beitrags:  Re: Anfänger: Fonts unter Linux

Hallo Tipsi! :)

Vielen Dank für die Antwort! :daumen3:

Ich habe den Hinweis auf GetAvailableFonts() in ein kleines Skript gegossen und festgestellt, dass ich unter Linux keine Fonts zurückbekomme. Möhp! Why ever!? Bin kein Schriftenexperte unter Linux :oops: .

Es gibt unter Linux (ich nutze derzeit Arch Linux) ein kleines Programm, das die (installierten!?) Schriften anzeigt. Dort hatte ich mir den Namen rauskopiert. Und unter LibreOffice kann ich die Schrift auch nutzen. Aber irgendwo ist da noch ein Haken :? . - Wenn ich noch etwas rausfinde - es pressiert ja nicht so ;) - dann werde ich es hier posten.

Cheers,
snurf.T

Autor:  Tipsi [ 24 Okt 2019, 22:28 ]
Betreff des Beitrags:  Re: Anfänger: Fonts unter Linux

Salli snurf.T

Es ist komisch, wenn GetAvailableFonts() gar keine
Schriftarten rausspuckt. Es könnte auch möglich sein,
dass dieser Befehl unter Arch Linux nicht funktioniert.

Ein weiterer Versuch wäre noch, zu schauen, was
der Befehl FontRequest() auflisten würde.
Wenn dieser Befehl Dir Schriftarten zur Auswahl
zeigt, dann hat GetAvailableFonts() irgendwo einen
"Bug", so dass er mit Arch Linux nichts anfangen
kann.

Damit Du den Code nicht immer wieder an eine
Plattform anpassen musst, gäbe es folgende
Möglichkeit:
@IF #HW_LINUX
  @FONT 1, "/usr/share/fonts/xmind/fonts/IndieFlower.ttf", 98, {Engine = #FONTENGINE_INBUILT}  
@ELSEIF #HW_AROS
  @FONT 1, Pfad zur Schriftart und so
@ELSEIF #HW_MORPHOS
  @FONT 1, Pfad zur Schriftart und so
@ENDIF
Falls dies etwas wäre, dann wirf einen Blick auf
@IF
@ELSE
@ELSEIF
@ENDIF

Griessli
Tipsi

Autor:  snurf.T [ 25 Okt 2019, 15:52 ]
Betreff des Beitrags:  Re: Anfänger: Fonts unter Linux

Hallöle Tipsi!

Bäm! Das is'es! :D :daumen3:

FontRequest() listet fein alle Schriften auf, die auch in LibreOffice zur Verfügung stehen! - Tja, also entweder habe ich Murks bei der Anwendung von GetAvailableFonts() gemacht oder da steckt tatsächlich irgendwo ein Fehler in dem Befehl. - Was die Anwendung des Befehls angeht, habe ich mich an das Beispiel in der Hilfe gehalten und dieses um die Ausgabe in eine Liste erweitert.
t = GetAvailableFonts()
	For Local k = 0 To ListItems(t) - 1
		DebugPrint("Family:", t[k].Family, "Weight:", t[k].Weight,
			"Slant:", t[k].Slant, "Bitmap:", t[k].Bitmap)
		moai.DoMethod("listView_Fonts", "Insert", "Bottom", t[k].Family)
	Next
Wenn ich da keinen Bock geschossen habe, dann wäre das eventuell etwas für den Author von Hollywood!?

Anyway, die Hinweise mit
@IF #HW_LINUX
finde ich auch super! Kommt bestimmt irgendwann mal ganz praktisch. - Hatte irgendwie im Hinterkopf, dass bei Präprozessordirektiven keine Variablen ausgewertet werden können (klar, das Proggy is' ja noch nich' gelaufen) und hatte solche Abfragen von daher null auf'm Schirm.

Also, besten Dank an dieser Stelle!!! :)

LG,
snurf.T

Autor:  Tipsi [ 25 Okt 2019, 19:36 ]
Betreff des Beitrags:  Re: Anfänger: Fonts unter Linux

Salli snurf.T

Ich stellte vorhin fest, dass DebugPrint() bei
mir kein Fenster öffnet. Vielleicht ist das bei
Dir auch der Fall. Versuche doch mal den
folgenden Code. Vielleicht musst Du noch
die Display-Grösse anpassen:
@DISPLAY {Width = 800, Height = 600}
t = GetAvailableFonts()
For Local k = 0 To ListItems(t) - 1
  NPrint("Family:", t[k].Family, "Weight:", t[k].Weight,"Slant:", t[k].Slant, "Bitmap:", t[k].Bitmap)
Next
Wait(200)
Vielleicht wird nun etwas aufgelistet.

Griessli
Tipsi

Autor:  snurf.T [ 25 Okt 2019, 20:32 ]
Betreff des Beitrags:  Re: Anfänger: Fonts unter Linux

Hi Tipsi!

DebugPrint() öffnet bei mir ebenfalls kein Fenster. Ich nahm an, das liegt an der leeren Rückgabe von GetAvailableFonts(). - In der Liste ist schließlich auch kein Eintrag aufgetaucht.

Anyway, der Versuch mit dem Display / NPrint() zeigt bei mir auch nur ein leeres Display. Es werden keine Schriften ausgegeben. Hmmm...

Beste Grüße,
snurf.T

Autor:  Tipsi [ 26 Okt 2019, 20:48 ]
Betreff des Beitrags:  Re: Anfänger: Fonts unter Linux

Salli snurf.T

Vielleicht ist es doch ein Fall für
Andreas, denn bei mir mit Windows 10
wurden Schriften in Hülle und Fülle
aufgelistet.

Griessli
Tipsi

Seite 1 von 1 Alle Zeiten sind UTC

Powered by phpBB® Forum Software © phpBB Limited

Deutsche Übersetzung durch phpBB.de