ENGLISH VERSION |
|
Links | | | Forum | | | Kommentare | | | News melden |
Chat | | | Umfragen | | | Newsticker | | | Archiv |
amiga-news.de Forum > Programmierung > Font öffnen | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
-1- | [ - Beitrag schreiben - ] |
08.10.2008, 15:30 Uhr Der_Wanderer Posts: 1229 Nutzer |
Hallo! Kleines Problemchen: code:Function.l ntui_OpenFont{fontname.s,size.l,style.l} fontname.s = "Fonts:"+fontname+".font" ta.TextAttrta_Name = &fontname.s tata_YSize = size ; /* height of the font */ tata_Style = style ; /* intrinsic font style */ tata_Flags = #FPF_DISKFONT; /* font preferences and flags */ *font.TextFont = OpenDiskFont_ (ta) Function Return *font End Function ist meine Funktion um eine Font zu öffnen. Für style gebe ich, wenn ich das RKM richtig verstanden habe, ein FSF_xxx an, z.B. FSF_BOLD, FSF_ITALIC etc. z.B. ntui_Openfont{"Vera Sans",17,#FSF_BOLD} Das funktioniert leider nicht. Ich bekomme immer nur die "normale" Version der Font, sowohl bei Bitmap Fonts als auch bei TTF Fonts. (AfA). Was mache ich falsch? Mich beschleicht auch das Gefühl, das hier gleich gemeckert wird wegen fontname.s = "Fonts:"+fontname+".font" und ihr hab ja wahrschenlich recht, es gibt möglicherweise eine bessere Möglichkeit. Aber es funktioniert bisher und daran sollte ja nicht das Style problem liegen. -- Thilo Köhler, Author von: HD-Rec, Sweeper, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ScreenCam, PerlinFX, MapEdit, TK AB3 Includes und viele mehr... Homepage: http://www.hd-rec.de [ Dieser Beitrag wurde von Der_Wanderer am 08.10.2008 um 15:37 Uhr geändert. ] [ - Antworten - Zitieren - Direktlink - ] |
08.10.2008, 16:40 Uhr thomas Posts: 7718 Nutzer |
@Der_Wanderer: Bei OpenFont steht dabei: Zitat: Ich denke, daß das für OpenDiskFont auch gilt. Für die meisten Fonts gibt es halt nur den normalen Stil, die anderen Stile müssen generiert werden. Dazu kannst du SetSoftStyle benutzen. Gruß Thomas -- Email: thomas-rapp@web.de Home: thomas-rapp.homepage.t-online.de/ [ - Antworten - Zitieren - Direktlink - ] |
08.10.2008, 18:33 Uhr Holger Posts: 8116 Nutzer |
Das AmigaOS kennt nicht das Konzept von Font-Familiennamen. Wenn Du "Vera Sans" anforderst, wirst Du niemals "Vera Sans Bold" bekommen... Aber ich verstehe trotzdem nicht, wozu Du "FONTS:" davorhängst. Die library sucht doch sowieso immer in "FONTS:". mfg -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
08.10.2008, 18:54 Uhr akl Posts: 265 Nutzer |
@Der_Wanderer: In der bullet.library (oder kompatiblen Clones) kann man über das Tag OT_InhibitAlgoStyle feststellen, ob der jeweilige Style (z.B. FSF_BOLD) für den entsprechenden Font algorithmisch berechnet werden kann, oder nicht. Über OT_BName, OTIName und OT_BIName kann man den Namen der "echten" Bold- und/oder Italic-Variante in Erfahrung bringen (also z.B. "Vera Sans Bold"). So kann man die Mitglieder einer Font Family ermitteln. [ Dieser Beitrag wurde von akl am 08.10.2008 um 18:56 Uhr geändert. ] [ - Antworten - Zitieren - Direktlink - ] |
08.10.2008, 18:57 Uhr akl Posts: 265 Nutzer |
@Holger: >Das AmigaOS kennt nicht das Konzept von Font-Familiennamen. Wenn Du >"Vera Sans" anforderst, wirst Du niemals "Vera Sans Bold" bekommen... Das Konzept ist bekannt, aber gut versteckt. Man kann in Erfahrung bringen, was man anfordern muss. [ - Antworten - Zitieren - Direktlink - ] |
09.10.2008, 10:46 Uhr Der_Wanderer Posts: 1229 Nutzer |
Danke für die Hinweise. Habe nun mit erschrecken festgestellt dass TextLength() den SoftStyle gar nicht berücksichtigt, d.h. eine Italic font z.B. ist zwei bis drei Pixel breiter als TextLength zurückgibt. Kann das jemand bestätigen? -- Thilo Köhler, Author von: HD-Rec, Sweeper, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ScreenCam, PerlinFX, MapEdit, TK AB3 Includes und viele mehr... Homepage: http://www.hd-rec.de [ - Antworten - Zitieren - Direktlink - ] |
09.10.2008, 10:52 Uhr akl Posts: 265 Nutzer |
@Der_Wanderer: Ja, dafür wurde TextExtent() eingeführt. [ - Antworten - Zitieren - Direktlink - ] |
09.10.2008, 10:57 Uhr tboeckel Posts: 124 Nutzer |
@Der_Wanderer: Probier mal TextExtent(). Das wurde unter anderem deswegen erfunden, weil TextLength() nur die Breite in Pixeln zurückgeben kann und sonst nix. TextExtent() liefert da sehr viel ausführlichere Daten. [ Dieser Beitrag wurde von tboeckel am 09.10.2008 um 10:57 Uhr geändert. ] [ - Antworten - Zitieren - Direktlink - ] |
09.10.2008, 13:23 Uhr Der_Wanderer Posts: 1229 Nutzer |
Ok, danke! jetzt funktionuckelts. -- Thilo Köhler, Author von: HD-Rec, Sweeper, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ScreenCam, PerlinFX, MapEdit, TK AB3 Includes und viele mehr... Homepage: http://www.hd-rec.de [ - Antworten - Zitieren - Direktlink - ] |
-1- | [ - Beitrag schreiben - ] |
amiga-news.de Forum > Programmierung > Font öffnen | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
Impressum |
Datenschutzerklärung |
Netiquette |
Werbung |
Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten. |