Hallo,
ich möchte einen EditorGadget() auf gleichbreite Zeichenbreite (Also das "M" und das "I" gleich breit) umstellen (so wie unter cmd.exe oder im PB-Editor).
Hatte im Hinterkopf, dass das über die Schriftart "Fixedsys" gemacht wird. Funktioniert aber nicht, weil die Schrift nicht geladen wird und anscheinend nicht existiert.
Wie geht das?
Einen EditorGadget() auf gleichbreite Zeichenbreite
Re: Einen EditorGadget() auf gleichbreite Zeichenbreite
Also hier unter Windows 10 ist die fixedsys font vorhanden.
Code: Alles auswählen
OpenWindow(0, 0, 0, 640, 320, "DOS", $80C80000 | #PB_Window_ScreenCentered)
SetWindowColor(0, 0)
EditorGadget(0, 0, 00, 640, 320, 0)
SetGadgetColor(0, #PB_Gadget_BackColor, 0)
SetGadgetColor(0, #PB_Gadget_FrontColor, $C0C0C0)
If LoadFont(0, "Fixedsys", 9)
SetGadgetFont(0, FontID(0))
EndIf
SetGadgetText(0, #CRLF$ + "C:\Windows\system32")
Repeat
Event = WaitWindowEvent()
Until Event = #PB_Event_CloseWindow
PureBasic 5.46 LTS (Windows x86/x64) | windows 10 x64 Oktober failure
Re: Einen EditorGadget() auf gleichbreite Zeichenbreite
Bei mir nicht. Auf zwei Geräten sogar nicht. Ich lösche nie Schriftarten.
Beides Win 8.1.
Dein Beispiel geht auch nicht. Zeigt immer dieselbe Schriftart, egal, was ich bei LoadFont() angebe.
Vermutlich fehlt die Schriftart, obwohl sie unter CMD.EXE zu sehen und in NOTEPAD.EXE auswählbar ist.
Warum sie fehlt, ist fast schon egal, denn das müsste mein Programm dann ohnehin berücksichtigen.
Ich kenne mich mit diesen ganzen Schriftarten nicht aus. Die sehen sowieso alle irgendwie gleich aus.
Das Aussehen ist dabei egal. Gleich breit, das ist einzig wichtig.
Welche Schriftart ist garantiert immer verfügbar, die von der Zeichenbreite her wie Fixedsys ist?
Edit: Hat sich erledigt. Hatte ohnehin das falsche PB (x64) zufassen. Ich benutze sonst immer das x86 und da geht es.
Trotzdem danke!
Beides Win 8.1.
Dein Beispiel geht auch nicht. Zeigt immer dieselbe Schriftart, egal, was ich bei LoadFont() angebe.
Vermutlich fehlt die Schriftart, obwohl sie unter CMD.EXE zu sehen und in NOTEPAD.EXE auswählbar ist.
Warum sie fehlt, ist fast schon egal, denn das müsste mein Programm dann ohnehin berücksichtigen.
Ich kenne mich mit diesen ganzen Schriftarten nicht aus. Die sehen sowieso alle irgendwie gleich aus.
Das Aussehen ist dabei egal. Gleich breit, das ist einzig wichtig.
Welche Schriftart ist garantiert immer verfügbar, die von der Zeichenbreite her wie Fixedsys ist?
Edit: Hat sich erledigt. Hatte ohnehin das falsche PB (x64) zufassen. Ich benutze sonst immer das x86 und da geht es.
Trotzdem danke!
Zuletzt geändert von DarkSoul am 08.11.2016 20:16, insgesamt 1-mal geändert.
Re: Einen EditorGadget() auf gleichbreite Zeichenbreite
Versuch eine andere Schriftart zu wählen. Z.B.: Courier New, Courier oder Consolas
Wichtig ist nur, dass du eine Monospace-Schriftart nimmst. Hier weitere Beispiele: https://de.wikipedia.org/wiki/Nichtprop ... hriftarten
Wichtig ist nur, dass du eine Monospace-Schriftart nimmst. Hier weitere Beispiele: https://de.wikipedia.org/wiki/Nichtprop ... hriftarten
Re: Einen EditorGadget() auf gleichbreite Zeichenbreite
Hat sich zeitlich überschnitten.
Das Problem ist erledigt (Siehe Edit-Eintrag).
Die Purebasic-Versionen für x64 und x86 verhalten sich an dieser Stelle unterschiedlich. Da es nur eine 32Bit-Version geben wird und ich gerade das falsche PB offen hatte, hat sich das Problem erübrigt.
Das Problem ist erledigt (Siehe Edit-Eintrag).
Die Purebasic-Versionen für x64 und x86 verhalten sich an dieser Stelle unterschiedlich. Da es nur eine 32Bit-Version geben wird und ich gerade das falsche PB offen hatte, hat sich das Problem erübrigt.
Re: Einen EditorGadget() auf gleichbreite Zeichenbreite
Keine. Immer verfügbar ist nur Courier. Alle anderen könnten unter Umständen mal fehlen.DarkSoul hat geschrieben:Welche Schriftart ist garantiert immer verfügbar, die von der Zeichenbreite her wie Fixedsys ist?
Falls Du mal eine suchst, die exakt Zeichenbreit zu FixedSys ist (bei Schriftgröße 10 und 96 dpi!) empfehle ich Bitstream Vera Mono oder das bekanntere DejaVu Mono, beide downzuloaden, mitzuliefern und einzubinden mit RegisterFontFile ().
( Courier, Courier New, Consolas, Lucida Console habe alle unterschiedliche Zeichenbreiten und decken sich nie mit FixedSys. )
Re: Einen EditorGadget() auf gleichbreite Zeichenbreite
Es geht nicht darum, wie groß die Zeichen sind. Es geht darum, dass alle Zeichen innerhalb des Gadgets dieselbe Breite haben.
Den nehme ich jetzt und gut ist.Immer verfügbar ist nur Courier.