AMIGA-RESISTANCE

Die Projektseite für alles rund um den Amiga
Aktuelle Zeit: 28 Mär 2024, 10:21

Alle Zeiten sind UTC


 

 

 



Ein neues Thema erstellen  Auf das Thema antworten  [ 8 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Anfänger: Fonts unter Linux
BeitragVerfasst: 23 Okt 2019, 11:33 
Offline
User

Registriert: 22 Okt 2019, 09:22
Beiträge: 4
Postleitzahl: 32791
Land: Deutschland
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 :)


Nach oben
   
 Betreff des Beitrags: Re: Anfänger: Fonts unter Linux
BeitragVerfasst: 23 Okt 2019, 18:37 
Offline
Schreiberling
Benutzeravatar

Registriert: 17 Okt 2007, 21:48
Beiträge: 1392
Postleitzahl: 4132
Land: Schweiz
Wohnort: Muttenz
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


Nach oben
   
 Betreff des Beitrags: Re: Anfänger: Fonts unter Linux
BeitragVerfasst: 24 Okt 2019, 12:47 
Offline
User

Registriert: 22 Okt 2019, 09:22
Beiträge: 4
Postleitzahl: 32791
Land: Deutschland
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


Nach oben
   
 Betreff des Beitrags: Re: Anfänger: Fonts unter Linux
BeitragVerfasst: 24 Okt 2019, 22:28 
Offline
Schreiberling
Benutzeravatar

Registriert: 17 Okt 2007, 21:48
Beiträge: 1392
Postleitzahl: 4132
Land: Schweiz
Wohnort: Muttenz
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


Nach oben
   
 Betreff des Beitrags: Re: Anfänger: Fonts unter Linux
BeitragVerfasst: 25 Okt 2019, 15:52 
Offline
User

Registriert: 22 Okt 2019, 09:22
Beiträge: 4
Postleitzahl: 32791
Land: Deutschland
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


Nach oben
   
 Betreff des Beitrags: Re: Anfänger: Fonts unter Linux
BeitragVerfasst: 25 Okt 2019, 19:36 
Offline
Schreiberling
Benutzeravatar

Registriert: 17 Okt 2007, 21:48
Beiträge: 1392
Postleitzahl: 4132
Land: Schweiz
Wohnort: Muttenz
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


Nach oben
   
 Betreff des Beitrags: Re: Anfänger: Fonts unter Linux
BeitragVerfasst: 25 Okt 2019, 20:32 
Offline
User

Registriert: 22 Okt 2019, 09:22
Beiträge: 4
Postleitzahl: 32791
Land: Deutschland
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


Nach oben
   
 Betreff des Beitrags: Re: Anfänger: Fonts unter Linux
BeitragVerfasst: 26 Okt 2019, 20:48 
Offline
Schreiberling
Benutzeravatar

Registriert: 17 Okt 2007, 21:48
Beiträge: 1392
Postleitzahl: 4132
Land: Schweiz
Wohnort: Muttenz
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


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 8 Beiträge ] 

Alle Zeiten sind UTC


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Gehe zu: 

cron