2 ärgerliche Fälle kein Linuxprogramm fertigzukriegen
-
- Beiträge: 50
- Registriert: 29.03.2013 12:25
- Wohnort: Eisenach
Re: 2 ärgerliche Fälle kein Linuxprogramm fertigzukriegen
Hallo !
Die Verwandlung der TTF-Datei in Datazeilen wie bei FontRegister.pb wäre noch eine Option. Aber wie geht das. Muß man die gesamte Datei
in einem String speichern und immer 8bytes-weise blockweise auslesen und daraus die Datazeile aufstellen. Helft doch noch mal.
Heinz
Die Verwandlung der TTF-Datei in Datazeilen wie bei FontRegister.pb wäre noch eine Option. Aber wie geht das. Muß man die gesamte Datei
in einem String speichern und immer 8bytes-weise blockweise auslesen und daraus die Datazeile aufstellen. Helft doch noch mal.
Heinz
Re: 2 ärgerliche Fälle kein Linuxprogramm fertigzukriegen
Nein ...
So anpassen. Der path zur datei muss natürlich stimmen (Linux groß klein schreibung beachten)
So anpassen. Der path zur datei muss natürlich stimmen (Linux groß klein schreibung beachten)
Code: Alles auswählen
;
; ------------------------------------------------------------
;
; PureBasic - RegisterFontFile example file
;
; (c) Fantaisie Software
;
; ------------------------------------------------------------
;
; NOTE: This file could compile with the demo version !
;
Procedure Rebuilt_FontFile_From_DataSection()
Protected file, size
; Create the font file...
file = CreateFile(#PB_Any, GetTemporaryDirectory() + "ascii.ttf")
If file
size = ?ttf_end - ?ttf_start
WriteData(file, ?ttf_start, size)
CloseFile(file)
EndIf
EndProcedure
; Now let's open a Window with a ListIconGadget
OpenWindow(0, 0, 0, 920, 670, "Font US-ASCII", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ListIconGadget(0, 0, 0, 920, 670, "0..31", 110, #PB_ListIcon_GridLines)
AddGadgetColumn(0, 1, "32..64", 110)
AddGadgetColumn(0, 2, "65..96", 110)
AddGadgetColumn(0, 3, "97..128", 110)
AddGadgetColumn(0, 4, "127..160", 110)
AddGadgetColumn(0, 5, "161..192", 110)
AddGadgetColumn(0, 6, "193..224", 110)
AddGadgetColumn(0, 7, "225..255", 110)
; Rebuilt the font file from the data section if necessary.
If FileSize(GetTemporaryDirectory() + "ascii.ttf") = -1
Rebuilt_FontFile_From_DataSection()
EndIf
; Now to use the new font, let's register it.
If RegisterFontFile(GetTemporaryDirectory() + "ascii.ttf")
LoadFont(0, "ascii", 12)
SetGadgetFont(0, FontID(0))
Define i
For i = 0 To 31
AddGadgetItem(0, -1, Str(i) + " " + Chr(i * Bool(i <> #LF And i <> #Null) + 32 * Bool(i = #LF Or i = #Null)) + #LF$ + Str(i+32) + " " + Chr(i+32) +
Chr(10) + Str(i + 64) + " " + Chr(i + 64) + Chr(10) + Str(i + 96) + " " + Chr(i + 96) +
Chr(10) + Str(i + 128) + " " + Chr(i + 128) +Chr(10) + Str(i + 160) + " " + Chr(i + 160) +
Chr(10) + Str(i + 192) + " " + Chr(i + 192) + Chr(10) + Str(i + 224) + " " + Chr(i + 224))
Next i
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
; The font file inside the datasection.
DataSection
ttf_start:
IncludeBinary "C:\Users\michael\Documents\ascii.ttf"
ttf_end:
EndDataSection
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
- NicTheQuick
- Ein Admin
- Beiträge: 8807
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Re: 2 ärgerliche Fälle kein Linuxprogramm fertigzukriegen
Haha, das ist im Grunde ja der gleiche Code wie ich geschrieben habe.
Ich wusste nicht, dass es da schon einen Beispielcode gibt. Aber wenn Heinz das Problem mit dem IncludeBinary nicht hinkriegt, dann wird das so oder so nichts.

Ich wusste nicht, dass es da schon einen Beispielcode gibt. Aber wenn Heinz das Problem mit dem IncludeBinary nicht hinkriegt, dann wird das so oder so nichts.
-
- Beiträge: 50
- Registriert: 29.03.2013 12:25
- Wohnort: Eisenach
Re: 2 ärgerliche Fälle kein Linuxprogramm fertigzukriegen
Hallo !
Er (ich) kriegt das wirklich nicht hin.Wenn der Font aber installiert ist, klappt alles auch ohne Includebinary. Aber das ist ja nicht der Sinn, den Anwender zum Installieren eines fremden Fonts nötigen. Der müßte dann mit dem Executable mitgeliefert werden. Aber verratet mir doch bitte, wie
die Datazeilen in dem Programm RegisterFontFile.pb erstellt wurden.
Heinz
Er (ich) kriegt das wirklich nicht hin.Wenn der Font aber installiert ist, klappt alles auch ohne Includebinary. Aber das ist ja nicht der Sinn, den Anwender zum Installieren eines fremden Fonts nötigen. Der müßte dann mit dem Executable mitgeliefert werden. Aber verratet mir doch bitte, wie
die Datazeilen in dem Programm RegisterFontFile.pb erstellt wurden.
Heinz
-
- Beiträge: 6291
- Registriert: 29.08.2004 08:37
- Computerausstattung: Hoffentlich bald keine mehr
- Kontaktdaten:
Re: 2 ärgerliche Fälle kein Linuxprogramm fertigzukriegen
Hast du mal versucht die Datei neben die source datei zu packen und mit relativem Pfad zu inkludieren?Heinz Mendax hat geschrieben: 16.05.2023 20:12 Hallo !
Er (ich) kriegt das wirklich nicht hin.Wenn der Font aber installiert ist, klappt alles auch ohne Includebinary. Aber das ist ja nicht der Sinn, den Anwender zum Installieren eines fremden Fonts nötigen. Der müßte dann mit dem Executable mitgeliefert werden. Aber verratet mir doch bitte, wie
die Datazeilen in dem Programm RegisterFontFile.pb erstellt wurden.
Code: Alles auswählen
IncludeBinary "safoall.ttf"
Ansonsten mach doch mal auf dem Terminal
Code: Alles auswählen
file /home/peter/safoall.ttf
Code: Alles auswählen
stat /home/peter/safoall.ttf
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Re: 2 ärgerliche Fälle kein Linuxprogramm fertigzukriegen
Den code mal zeigen ...
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
- NicTheQuick
- Ein Admin
- Beiträge: 8807
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Re: 2 ärgerliche Fälle kein Linuxprogramm fertigzukriegen
Er hat ja hoffentlich schon die bisherigen Codes 1:1 so getestet. Und wenn die trotzdem fehlschlagen, fehlen uns Informationen.
Aber ja, mk-soft hat trotzdem Recht. Zeig uns mal den Code, der fehlschlägt.
-
- Beiträge: 50
- Registriert: 29.03.2013 12:25
- Wohnort: Eisenach
Re: 2 ärgerliche Fälle kein Linuxprogramm fertigzukriegen
Hallo !
Die Prüfungen im Terminal ergaben:
peter@peter-virtual-machine:~$ file /home/peter/safoall.ttf
/home/peter/safoall.ttf: cannot open `/home/peter/safoall.ttf' (No such file or directory)
peter@peter-virtual-machine:~$ stat /home/peter/safoall.ttf
stat: der Aufruf von statx für '/home/peter/safoall.ttf' ist fehlgeschlagen: Datei oder Verzeichnis nicht gefunden
peter@peter-virtual-machine:~$
[img]f:/sammler/safolinux.jpg[/img]
Ich würde zum Beweis,das die Schriftdatei im Verzeichnis /home/peter/safoall.ttf ist, ein Bildschirmbild schicken, weiss
aber nicht wie das hier gehen.soll.
Heinz
Die Prüfungen im Terminal ergaben:
peter@peter-virtual-machine:~$ file /home/peter/safoall.ttf
/home/peter/safoall.ttf: cannot open `/home/peter/safoall.ttf' (No such file or directory)
peter@peter-virtual-machine:~$ stat /home/peter/safoall.ttf
stat: der Aufruf von statx für '/home/peter/safoall.ttf' ist fehlgeschlagen: Datei oder Verzeichnis nicht gefunden
peter@peter-virtual-machine:~$
[img]f:/sammler/safolinux.jpg[/img]
Ich würde zum Beweis,das die Schriftdatei im Verzeichnis /home/peter/safoall.ttf ist, ein Bildschirmbild schicken, weiss
aber nicht wie das hier gehen.soll.
Heinz
-
- Beiträge: 50
- Registriert: 29.03.2013 12:25
- Wohnort: Eisenach
Re: 2 ärgerliche Fälle kein Linuxprogramm fertigzukriegen
@Heinz Mendax
NicTheQuick hat geschrieben: 16.05.2023 10:10 Denkt dran, dass unter Linux die Groß- und Kleinschreibung von Dateinamen wichtig ist.