[Win10] VectorFont Dysfunktion bei nachgeladenen Fonts

Hier werden, insbesondere in den Beta-Phasen, Bugmeldungen gepostet. Das offizielle BugForum ist allerdings hier.
KTX82
Beiträge: 95
Registriert: 31.08.2004 00:11
Wohnort: Mannheim
Kontaktdaten:

[Win10] VectorFont Dysfunktion bei nachgeladenen Fonts

Beitrag von KTX82 »

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: Alles auswählen

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.
Pharmacie populaire www.viagrasansordonnancefr.com aide aux malades