Aktuelle Zeit: 24.05.2020 23:50

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Forumsregeln


Die Forumsregeln lesen



Ein neues Thema erstellen Auf das Thema antworten  [ 1 Beitrag ] 
Autor Nachricht
 Betreff des Beitrags: [Win10] VectorFont Dysfunktion bei nachgeladenen Fonts
BeitragVerfasst: 07.04.2020 21:55 
Offline

Registriert: 31.08.2004 00:11
Wohnort: Mannheim
Hallo Leute!

Nach sehr vielen Jahren der Abstinenz wollte ich ein neues Projekt starten.
Sehr positiv überrascht bin ich über die Vector-Funktionalität gestolpert, die früher noch nicht vorhanden war.
Abgesehen davon, dass die Dokumentation hierzu relativ dürftig ist und einen Einstieg nicht gerade einfach macht, habe ich einige Dinge mit Trial and Error dann auch selbst rausbekommen.

Für mein Projekt ist es nötig, dass ich einen ttf-Font nachlade. Jedoch egal welchen Font ich per ttf-Datei nachlade, VectorFont möchte damit nicht zurecht etwas anfangen wollen.
Ich habe es mit vielen verschiedenen Fonts getestet. Standard-Systemfonts, die man nicht nachladen muss und viele extern nachzuladende. Es ist immer das gleiche Resultat.
VectorFont zeichnet keine einzige Schrift, außer Fonts die schon im System installiert sind.
Zum Vergleich wird exakt der selbe Font mit DrawingFont und DrawText wiederum ohne Probleme dargestellt.
PS: Auch VectorTextWidth und VectorTextHeight resultieren im Wert 0 oder Null (wird von mir im eigentlichen Projekt verwendet)

Hier jetzt ein Beispielcode, der den Fehler aufzeigen soll:
(Bei RegisterFontFile und LoadFont natürlich einen entsprechenden Font eintragen, der nicht im System installiert ist)
Code:
Procedure CreateNormalImage(image, font)
   CreateImage(image, 175, 30)
   If StartDrawing(ImageOutput(image))
      DrawingFont(FontID(font))
      Box(0, 0, 175, 30, RGB(255,255,255))
      DrawText(0, 0, "Testtext 12345678", RGB(0,0,0), RGB(255,255,255))
      StopDrawing()
   EndIf
EndProcedure

Procedure createVectorImage(image, font)
   CreateImage(image, 175, 30)
   If StartVectorDrawing(ImageVectorOutput(image, #PB_Unit_Pixel))
      AddPathBox(0, 0, 175, 30)
      VectorSourceColor(RGBA(255, 255, 255, 255))
      FillPath()
      VectorFont(FontID(font), 16)
      MovePathCursor(0, 0)
      VectorSourceColor(RGBA(0, 0, 0, 255))
      DrawVectorText("Testtext 12345678")
      StopVectorDrawing()
   EndIf
EndProcedure


LoadFont(1, "Arial", 16)
If RegisterFontFile("Attentica 4F UltraLight.ttf")
   LoadFont(2, "Attentica 4F UltraLight", 16)
   Debug "Laden des Font geglückt"
Else
   LoadFont(2, "Calibri", 16)
   Debug "Laden des Font gescheitert"
EndIf

CreateNormalImage(1, 1)
createVectorImage(2, 1)
CreateNormalImage(3, 2)
createVectorImage(4, 2)


OpenWindow(0, 0, 0, 250, 250, "Test")
For i = 1 To 4
   ImageGadget(i, 0, i * 40, 175, 30, ImageID(i))
Next i

Repeat
   Event = WaitWindowEvent()
Until Event = #PB_Event_CloseWindow


Dieses Verhalten zeigt sich mit PB x64 5.71 LTS & 5.72 LTS
Mein System läuft auf Win10 x64
An den Compiler-Einstellungen habe ich nichts verändert, hier ist "Moderne Themen-Unterstützung aktivieren" als einziges abgehakt.
Auch mit zusätzlichen Subsystemen habe ich noch nichts zu tun.

Jetzt bin ich mal gespannt, ob diese Verhalten bei anderen auch auftaucht und/oder ich zu dusselig bin und hier etwas nicht bedacht habe.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 1 Beitrag ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye