amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Programmierung > Fonts beim Programmstart initialisieren? [ - Suche - Neue Beiträge - Registrieren - Login - ]

-1- [ - Beitrag schreiben - ]

10.03.2005, 22:46 Uhr

Amigalien
Posts: 63
Nutzer
Hallo alle zusammen,
ich hab hier noch ein kleines Problem mit den Fonts. Muss ich den beim Start (bevor ich ihn benutze) noch irgendwie öffnen (wenn ja, wie?)?
Wenn ich den Font vorher via ASL-Requester öffne, geht das ganze. Allerdings möchte ich den Font festlegen.


struct TextAttr FONT;
struct IntuiText text;
char textinhalt[1000];
ULONG schwarz;
[...]

FONT.ta_YSize=(UWORD) 14;
FONT.ta_Style=(UBYTE) 0x0;
FONT.ta_Name=(STRPTR) "Bitstream Vera Sans Mono.font";
FONT.ta_Flags =(UBYTE) 0x2;

[...]

text.FrontPen = schwarz;
text.BackPen = 0;
text.DrawMode = JAM1;
text.LeftEdge = 10;
text.TopEdge = 20;
text.ITextFont = &FONT;
text.IText = textinhalt;
text.NextText = NULL;

[...]

IIntuition->PrintIText(win->RPort, &text, 0, 0);



Ich danke schon einmal für die Hilfe.

[ - Antworten - Zitieren - Direktlink - ]

11.03.2005, 01:55 Uhr

DariusBrewka
Posts: 899
[Benutzer gesperrt]
Hmm, leider kann ich nicht erkennen was du fragen möchtest, irgendwie finde ich deine Frage sehr konfus gestellt!

[ - Antworten - Zitieren - Direktlink - ]

11.03.2005, 09:38 Uhr

Amigalien
Posts: 63
Nutzer
Ich möchte den Font "Bitstream Vera Sans Mono.font" (Größe 14) zum Schreiben verwenden. Muss ich diesen vor Gebrauch initialiseren/laden? Wenn ja, wie?

Oben sind Ausschnitte aus meinem Code. So funktioniert es leider nicht...

[ Dieser Beitrag wurde von Amigalien am 11.03.2005 editiert. ]

[ - Antworten - Zitieren - Direktlink - ]

11.03.2005, 10:17 Uhr

thomas
Posts: 7717
Nutzer

PrintIText sollte den Font für dich öffnen. Allerdings benutzt es dafür offenbar IGraphics->OpenFont, welches nur im Speicher sucht. Deshalb solltest du den Font vorher mit IDiskFont->OpenDiskFont öffnen, damit er in den Speicher geladen wird. Am Ende mußt du den Font dann natürlich mit IGraphics->CloseFont wieder schließen.

Gruß Thomas

--
Email: thomas-rapp@web.de
Home: home.t-online.de/home/thomas-rapp/

[ - Antworten - Zitieren - Direktlink - ]

11.03.2005, 10:41 Uhr

Amigalien
Posts: 63
Nutzer
Vielen Dank. Das Problem ist hiermit gelöst.

[ - Antworten - Zitieren - Direktlink - ]

11.03.2005, 18:16 Uhr

Holger
Posts: 8116
Nutzer
Noch ne kleine Anmerkung:
Zitat:
Original von Amigalien:
FONT.ta_Name=(STRPTR) "Bitstream Vera Sans Mono.font";

Strings sind in C immer 0-terminiert, man braucht als kein hinten ranzuhängen.

mfg
--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]

11.03.2005, 18:25 Uhr

thomas
Posts: 7717
Nutzer

Wenn wir schon dabei sind, du solltest für Style und Flags auch lieber die Namen nehmen, als irgendwelche nichtssagende Zahlen.

Außerdem sind Namen mit nur Großbuchstaben für Konstanten vorbehalten.

Also

struct TextAttr font;

font.ta_Style =(UBYTE) FS_NORMAL;
font.ta_Flags =(UBYTE) FPF_DISKFONT;

Gruß Thomas

--
Email: thomas-rapp@web.de
Home: home.t-online.de/home/thomas-rapp/

[ - Antworten - Zitieren - Direktlink - ]


-1- [ - Beitrag schreiben - ]


amiga-news.de Forum > Programmierung > Fonts beim Programmstart initialisieren? [ - Suche - Neue Beiträge - Registrieren - Login - ]


.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.