Anti-Jammer-Thread
- Krishty
- Establishment
- Beiträge: 8316
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Anti-Jammer-Thread
Ich habe mir typisierte und überladene C++-Präprozessormakros gebaut. Fuck yea. Der Menü-ohne-Ressource-Compiler-Thread wird noch sowas von krank …
- Krishty
- Establishment
- Beiträge: 8316
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Anti-Jammer-Thread
Microsoft erhört mein Jammern. Leider haben sie mein Problem überhaupt nicht verstanden und durch meine Meldung stattdessen einen anderen, ähnlichen Fehler gefunden. Aber was nicht ist kann ja noch werden. Wenn man einmal im Jahr jemanden aus dem Compiler-Team vor sich hat, sollte man sich bemühen, ihn nicht wieder zu verscheuchen.
Und wo ich gerade nach meinen anderen Fehlern suche, sehe ich, dass die es ja sogar auf StackOverflow geschafft haben :)
Und wo ich gerade nach meinen anderen Fehlern suche, sehe ich, dass die es ja sogar auf StackOverflow geschafft haben :)
- CodingCat
- Establishment
- Beiträge: 1857
- Registriert: 02.03.2009, 21:25
- Wohnort: Student @ KIT
- Kontaktdaten:
Re: Anti-Jammer-Thread
Der CUDA 5.5 Release Candidate ist da. Ob ihrs glaubt oder nicht: MIT VC12-UNTERSTÜTZUNG! Sogar ein NSIGHT 3.1 für VC12 liegt bei. Davon habe ich allerdings in meiner IDE bis jetzt nichts zu Gesicht bekommen. Kommt dann hoffentlich mit dem offiziellen 3.1-Release; die Release-Notes sichern es jedenfalls auch schonmal zu. Natürlich kann ich immer noch nicht umsteigen, weil der neue CUDA-5.5-Compiler sich gleich mal weigert, B40Cs heftigen Template-Code ordnungsgemäß zu kompilieren.
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Re: Anti-Jammer-Thread
So wie ich das sehe ist das Release jedoch komplett ohne Graphics Debugger (die Nsight-Tools bestehen ja aus der Dreifaltigkeit von CUDA Debugger, Graphics Inspector and Graphics Debugger, und Analysis and Profiling Tools); die aktuellen Release-Notes zählen den Graphics Debugger noch nicht einmal auf.
- Schrompf
- Moderator
- Beiträge: 5047
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas
- Wohnort: Dresden
- Kontaktdaten:
Re: Anti-Jammer-Thread
Ich habe gerade eine Suchfunktion in den Spladitor eingebaut. Himmel, wie konnte ich bisher nur ohne leben. Es war durchaus ein bisschen manuelle Arbeit, alle Objekte, Komponenten und Skripte durchzuackern, hier und da mittels dynamic_cast von Hand spezialisiert. Aber das Ergebnis war es wert.
Spladitor hat geschrieben:>such ziel2
Suchtext gefunden in Film "fabrikstart", Schritt 0
Suchtext gefunden in Eigenname von Objekt 384 bei 32.7, 86.0
Suchtext gefunden in Trigger-Film von Trigger 619 bei 91.6, 30.3
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Re: Anti-Jammer-Thread
Whohoo! Ich wollte das schon immer testen (VC2012), brauchte aber für die Uni Cuda. Und eine Parallelinstallation hat irgendwie nicht geklappt, bzw. ich hatte keine Lust, es einzurichten. Aber dann kann es jetzt ja endlich losgehen :)CodingCat hat geschrieben:Der CUDA 5.5 Release Candidate ist da. Ob ihrs glaubt oder nicht: MIT VC12-UNTERSTÜTZUNG!
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
https://jonathank.de/games/
Re: Anti-Jammer-Thread
Horni is back!
[youtube]Q6znp5Pcplg[/youtube]
[youtube]Q6znp5Pcplg[/youtube]
http://fedoraproject.org/ <-- freies Betriebssystem
http://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
http://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
- CodingCat
- Establishment
- Beiträge: 1857
- Registriert: 02.03.2009, 21:25
- Wohnort: Student @ KIT
- Kontaktdaten:
Re: Anti-Jammer-Thread
Jonathan hat geschrieben:Whohoo! Ich wollte das schon immer testen (VC2012), brauchte aber für die Uni Cuda. Und eine Parallelinstallation hat irgendwie nicht geklappt, bzw. ich hatte keine Lust, es einzurichten. Aber dann kann es jetzt ja endlich losgehen :)CodingCat hat geschrieben:Der CUDA 5.5 Release Candidate ist da. Ob ihrs glaubt oder nicht: MIT VC12-UNTERSTÜTZUNG!
Kurzes Update: Bug Report wurde schon am Montag entgegengenommen und Bug ist nach NVIDIAs eigener Aussage sofort behoben worden. Hoffen wir, dass sich dies im nächsten Update bestätigt.CodingCat hat geschrieben:Natürlich kann ich immer noch nicht umsteigen, weil der neue CUDA-5.5-Compiler sich gleich mal weigert, B40Cs heftigen Template-Code ordnungsgemäß zu kompilieren.
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Re: Anti-Jammer-Thread
Die IE-User, die sich auf meine Seite verlaufen, sehen zwar keine rundgelutschten Buttons, dafür aber haben sie eine Absprungrate von 0%.(Durchschnitt: 28,57 %)
http://fedoraproject.org/ <-- freies Betriebssystem
http://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
http://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
- Krishty
- Establishment
- Beiträge: 8316
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Anti-Jammer-Thread
KA, ob das in diesen Thread gehört, aber:
https://connect.microsoft.com/VisualStudio/feedback/details/788471/no-nrvo-for-pod-with-floating-point-members hat geschrieben:Hi, thanks for the source code. The codegen differences you're seeing are indeed because we chose a slightly different optimization path due to the identification of POD versus non-POD. If you are curious, register allocation is affected and we introduce more spills -- those are the spills you see in the assembly code.
This is an optimization bug, and we will address that in a future release. It's getting pretty late in the product cycle for the next major release, but we will try to get it in.
In the mean time, if it's possible to use an empty constructor for performance.
Thanks for taking the time to get the repro case for us. I'm closing this MSConnect item. Feel free to re-activate it if you need anything else.
- Schrompf
- Moderator
- Beiträge: 5047
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas
- Wohnort: Dresden
- Kontaktdaten:
Re: Anti-Jammer-Thread
Hey, die nehmen mal einen Bugreport von Dir ernst! Und sie bedanken sich sogar (völlig zu Recht) für Deine Mühen, den Fehler schön klar zu reproduzieren. Das nützt uns allen was :-)
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
- Krishty
- Establishment
- Beiträge: 8316
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Anti-Jammer-Thread
Aber dass sie tatsächlich getrennte Optimizer-Pfade für POD haben und nicht wissen, ob der Fehler zum nächsten Major Release behoben werden kann, macht es wieder mulmig.
- Krishty
- Establishment
- Beiträge: 8316
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Anti-Jammer-Thread
Vielleicht gibt es irgendwann ein echtes OutputDebugStringW(): What is the freaking point of OutputDebugStringW, anyway? (Sorting it all Out)
(Das aktuelle konvertiert den String einfach zu ANSI und leitet ihn an OutputDebugStringA() weiter.)
(Das aktuelle konvertiert den String einfach zu ANSI und leitet ihn an OutputDebugStringA() weiter.)
Re: Anti-Jammer-Thread
Multi-Sample-Kantenglättung (MSAA) für Windows 8-Store-Apps funktioniert doch (siehe hier):
http://msdn.microsoft.com/en-us/library ... .105).aspx
Der Link ist eigentlich für Windows Phone 8 gedacht. Das Ganze funktioniert auch für Windows 8-Store-Apps.
Allerdings musste ich die ResolveSubresource-Methode vor ClearRenderTargetView und ClearDepthStencilView einfügen.
http://msdn.microsoft.com/en-us/library ... .105).aspx
Der Link ist eigentlich für Windows Phone 8 gedacht. Das Ganze funktioniert auch für Windows 8-Store-Apps.
Allerdings musste ich die ResolveSubresource-Methode vor ClearRenderTargetView und ClearDepthStencilView einfügen.
- CodingCat
- Establishment
- Beiträge: 1857
- Registriert: 02.03.2009, 21:25
- Wohnort: Student @ KIT
- Kontaktdaten:
Re: Anti-Jammer-Thread
Mal wieder eine grenzwertige Template-Spielerei, die das automatische Initialisieren und Enumerieren von Klassenattributen erlaubt:
Wenn wir jetzt noch generische Lambdas hätten, würden wir auch die Funktor-structs los. Wohlgemerkt ist __COUNTER__ nicht Teil des Standards, wird aber von gcc, clang und VC++ unterstützt. Nebenbei ließe sich __COUNTER__ hier auch durch __LINE__ ersetzen, dies könnte den Compiler in großen Dateien allerdings mit entsprechend langen Klassenhierarchien ggf. zum Schwitzen bringen.
Läuft auch in Visual C++. In Action: http://ideone.com/uv4Ab4
Nachtrag: Jetzt auch mit impliziter const-correctness.
Code: Alles auswählen
#include <iostream>
#include <string>
namespace memenum
{
template <int Counter>
struct member_iterator : member_iterator<Counter - 1> { static int const value = Counter; };
template <>
struct member_iterator<0> { static int const value = 0; };
template <class This, class Op>
void call_for_members(This*, member_iterator<__COUNTER__>, Op const&) { }
template <class T>
struct member_wrapper
{
T value;
member_wrapper(T const &v) : value(v) { }
};
#define DEFINE_MEMBER(type, memname, ...) \
struct _##memname##_type : ::memenum::member_wrapper<type> \
{ \
static int const counter = __COUNTER__; \
_##memname##_type() : ::memenum::member_wrapper<type>(__VA_ARGS__) { } \
char const* name() const { return #memname; } \
} memname; \
template <class This, class Op> \
friend void call_for_members(This *self, ::memenum::member_iterator<_##memname##_type::counter> i, Op const &op, typename This::_##memname##_type* = nullptr) \
{ \
call_for_members(self, ::memenum::member_iterator<_##memname##_type::counter - 1>(), op); \
op(self->memname); \
}
#define MAKE_MEMBER_ITERATOR() ::memenum::member_iterator<__COUNTER__>()
} // namespace
namespace test
{
struct foo
{
DEFINE_MEMBER(int, a, 2);
DEFINE_MEMBER(float, b, 2.5f);
public:
struct Printer
{
template <class T>
void operator ()(T &member) const
{
std::cout << member.name() << " = " << member.value << std::endl;
}
};
void print() const
{
call_for_members(this, MAKE_MEMBER_ITERATOR(), Printer());
}
struct Multiplier
{
int factor;
template <class T>
void operator ()(T &member) const
{
member.value *= factor;
}
};
void multiply(int factor)
{
Multiplier multi = { factor };
call_for_members(this, MAKE_MEMBER_ITERATOR(), multi);
}
};
struct bar
{
DEFINE_MEMBER(char, c, 'd');
DEFINE_MEMBER(std::string, d, "hello world");
public:
struct Printer
{
template <class T>
void operator ()(T &member) const
{
std::cout << member.name() << " = " << member.value << std::endl;
}
};
void print() const
{
call_for_members(this, MAKE_MEMBER_ITERATOR(), Printer());
}
};
} // namespace
int main()
{
test::foo test1;
test1.print();
test1.multiply(5);
test1.print();
const test::bar test2;
test2.print();
}
// Output:
// a = 2
// b = 2.5
// a = 10
// b = 12.5
// c = d
// d = hello world
Läuft auch in Visual C++. In Action: http://ideone.com/uv4Ab4
Nachtrag: Jetzt auch mit impliziter const-correctness.
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
- Chromanoid
- Moderator
- Beiträge: 4273
- Registriert: 16.10.2002, 19:39
- Echter Name: Christian Kulenkampff
- Wohnort: Lüneburg
Re: Anti-Jammer-Thread
gerade gefunden :)
- Schrompf
- Moderator
- Beiträge: 5047
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas
- Wohnort: Dresden
- Kontaktdaten:
Re: Anti-Jammer-Thread
Nachtschicht! Und ich habe dabei ne Menge Punkte von meiner Aufgabenliste erledigt bekommen. Darunter das von wirklich jedem Tester angemeckerte Phänomen, dass man durch dünne Objekte durchballert, wenn man direkt davor steht, weil der grafische Startpunkt des Schusses dann schon jenseits des Hindernisses liegt.
Das wird. Aber nicht mehr heute, ich geh jetzt erstmal ins Bett. Und bevor noch Gerüchte aufkommen: "morgen" ist immer nach dem Aufstehen, ungeachtet der Uhrzeit. Release zum Mittwoch sollte also immernoch klappen.
Das wird. Aber nicht mehr heute, ich geh jetzt erstmal ins Bett. Und bevor noch Gerüchte aufkommen: "morgen" ist immer nach dem Aufstehen, ungeachtet der Uhrzeit. Release zum Mittwoch sollte also immernoch klappen.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
-
- Establishment
- Beiträge: 135
- Registriert: 29.08.2003, 14:22
- Kontaktdaten:
Re: Anti-Jammer-Thread
Relaunch der BugSoft-Website ist endlich fertig - inklusive Responsive Webdesign.
http://www.bug-soft.net
http://www.bug-soft.net
>>> http://www.bug-soft.net <<<
Re: Anti-Jammer-Thread
Heute für einen Kunden einen Webservice gebaut.
Schätzung dafür war 2 Tage, blöderweise war DueDate heute.
Also in 10 min schnell was zusammengefrickelt, deployed und zum Test gegeben ("nachkorrigieren" geht ja immer noch, dafür hab ich dann noch ne Woche Zeit... :mrgreen: )
Kunde ruft an: "Ah, geht, Danke."
Ich: "?WTF?!??" :shock:
Schätzung dafür war 2 Tage, blöderweise war DueDate heute.
Also in 10 min schnell was zusammengefrickelt, deployed und zum Test gegeben ("nachkorrigieren" geht ja immer noch, dafür hab ich dann noch ne Woche Zeit... :mrgreen: )
Kunde ruft an: "Ah, geht, Danke."
Ich: "?WTF?!??" :shock:
Re: Anti-Jammer-Thread
Das neue Texture Tool funktioniert mit meiner Engine echt prima: BPTC, RGTC, BC3 und BGRA Format, automatische Mip-Map-Erzeugung, Kompression mit Snappy, ZLIB oder Automatisch was schneller ist und es werden alle gängigen Bildtypen unterstützt, passende Flags für Normal und Height Maps, kann auch für Videos genutzt werden.... och herrlich!
Für den Jammer-Thread: Es wird OpenGL 4.3 benötigt.
Für den Jammer-Thread: Es wird OpenGL 4.3 benötigt.
- Chromanoid
- Moderator
- Beiträge: 4273
- Registriert: 16.10.2002, 19:39
- Echter Name: Christian Kulenkampff
- Wohnort: Lüneburg
Re: Anti-Jammer-Thread
Habe gerade das erste mal Adobe Scout ausprobiert. Man kann sich jeden Frame-Aufbau Schritt für Schritt genau anschauen und tausend andere tolle Dinge sehen. Macht richtig Spaß damit sein Projekt zu untersuchen. Mein gerade neulich erst vertikal aufgestellter zweiter Bildschirm ist wie dafür gemacht :).
- Krishty
- Establishment
- Beiträge: 8316
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Anti-Jammer-Thread
Stephan Theisgen und ich wurden aus dem Artikel übers Rendern von Sternen zitiert:
Müller, Daniel – Photorealistisches Rendering atmosphärischer Effekte in geovirtuellen 3D-Umgebungen in Echtzeit (Kapitel 4.3 Rendering von Sternen)
Müller, Daniel – Photorealistisches Rendering atmosphärischer Effekte in geovirtuellen 3D-Umgebungen in Echtzeit (Kapitel 4.3 Rendering von Sternen)
- Schrompf
- Moderator
- Beiträge: 5047
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas
- Wohnort: Dresden
- Kontaktdaten:
Re: Anti-Jammer-Thread
Glückwunsch! Aber warum heißt der in Deinem Beitrag Daniel Müller und auf der verlinkten Seite Danial Limberger?
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Re: Anti-Jammer-Thread
Sowas erklaert die oftmals hervorragende Codequalitaet ...NytroX hat geschrieben:Heute für einen Kunden einen Webservice gebaut.
Schätzung dafür war 2 Tage, blöderweise war DueDate heute.
Also in 10 min schnell was zusammengefrickelt, deployed und zum Test gegeben ("nachkorrigieren" geht ja immer noch, dafür hab ich dann noch ne Woche Zeit... :mrgreen: )
Kunde ruft an: "Ah, geht, Danke."
Ich: "?WTF?!??" :shock:
-
- Establishment
- Beiträge: 467
- Registriert: 18.04.2002, 15:31
Re: Anti-Jammer-Thread
Der Maintenancecode, der das Projekt dann irgendwann mal übernimmt, postet es dan auf http://thedailywtf.comTheBenji hat geschrieben:Sowas erklaert die oftmals hervorragende Codequalitaet ...NytroX hat geschrieben:Heute für einen Kunden einen Webservice gebaut.
Schätzung dafür war 2 Tage, blöderweise war DueDate heute.
Also in 10 min schnell was zusammengefrickelt, deployed und zum Test gegeben ("nachkorrigieren" geht ja immer noch, dafür hab ich dann noch ne Woche Zeit... :mrgreen: )
Kunde ruft an: "Ah, geht, Danke."
Ich: "?WTF?!??" :shock:
"Mir ist auch klar, dass der Tag, an dem ZFX und Developia zusammengehen werden der selbe Tag sein wird, an dem DirectGL rauskommt."
DirectGL, endlich ist es da :)
"According to the C++ standard, it's "undefined". That's a technical term that means, in theory, anything can happen: the program can crash, or keep running but generate garbage results, or send Bjarne Stroustrup an e-mail saying how ugly you are and how funny your mother dresses you." :shock:[/size]
DirectGL, endlich ist es da :)
"According to the C++ standard, it's "undefined". That's a technical term that means, in theory, anything can happen: the program can crash, or keep running but generate garbage results, or send Bjarne Stroustrup an e-mail saying how ugly you are and how funny your mother dresses you." :shock:[/size]
- Krishty
- Establishment
- Beiträge: 8316
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Anti-Jammer-Thread
Keine Ahnung. Das scheint nur ein Dateiname zu sein; vielleicht hat er das in Limberg verfasst oder vorgestellt oder sein Betreuer heißt so.Schrompf hat geschrieben:Glückwunsch! Aber warum heißt der in Deinem Beitrag Daniel Müller und auf der verlinkten Seite Danial Limberger?
- CodingCat
- Establishment
- Beiträge: 1857
- Registriert: 02.03.2009, 21:25
- Wohnort: Student @ KIT
- Kontaktdaten:
Re: Anti-Jammer-Thread
Implizite Move-Funkationalität kommt voraussichtlich mit einem VC2013 CTP, dann nähert sich C++ in seiner Eleganz tatsächlich Sprachen wie Haskell.
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
- Krishty
- Establishment
- Beiträge: 8316
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Anti-Jammer-Thread
Ich werde nie verstehen, warum Microsoft mit der Calling Convention so ins Klo gegriffen haben. Um Agners Optimizing software in C++ auf Seite 7 und 49 zu zitieren:
Wer sehen will, wie man’s richtig macht, sollte das System V Application Binary Interface AMD64 Architecture Processor Supplement auf Seite 17 bemühen:__vectorcall _vectorcall anders aussähe.
Und jetzt führen sie ein Schlüsselwort dagegen ein. Fick-fack-fantastisch, ihr bescheuerten Armleuchter! Wer hätte beim Entwurf von x64 auch schon gedacht, dass die Leute mit float oder double rechnen würden!64-bit Windows allows only four function parameters to be transferred in registers, whereas 64-bit Linux, BSD and Mac allow up to fourteen parameters to be transferred in registers (6 integer and 8 floating point).
In 64-bit Linux, the first six integer parameters and the first eight floating point parameters are transferred in registers, totaling up to fourteen register parameters. In 64-bit Windows, the first four parameters are transferred in registers, regardless of whether they are integers or floating point numbers.
Wer sehen will, wie man’s richtig macht, sollte das System V Application Binary Interface AMD64 Architecture Processor Supplement auf Seite 17 bemühen:
Würde mich wundern, wennPassing
Once arguments are classified, the registers get assigned (in left-to-right order) for passing as follows:
- If the class is MEMORY, pass the argument on the stack.
- If the class is INTEGER, the next available register of the sequence %rdi, %rsi, %rdx, %rcx, %r8 and %r9 is used12.
- If the class is SSE, the next available SSE register is used, the registers are taken in the order from %xmm0 to %xmm7.
- If the class is SSEUP, the eightbyte is passed in the upper half of the least used SSE register.
- If the class is X87, X87UP or COMPLEX_X87, it is passed in memory.
Zuletzt geändert von Krishty am 05.09.2013, 13:54, insgesamt 2-mal geändert.
- Schrompf
- Moderator
- Beiträge: 5047
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas
- Wohnort: Dresden
- Kontaktdaten:
Re: Anti-Jammer-Thread
Ich glaube, ich habe jetzt alle Zeichen zusammen, um die meisten europäischen Sprachen zu unterstützen. Ich habe mir ein paar Nonsense-Sätze mit Google Translate übersetzen lassen und dann nochmal per Wikipedia und Konsorten alle Zeichen des jeweiligen Alphabets zusammengesucht. Dann ein winziges Tool, dass mir nur eine Liste aller auftretenden Zeichen gibt, und jetzt habe ich alles zusammen, um Fonts aus dem Internet auf Tauglichkeit zu prüfen und einen Texturatlas daraus zu erstellen.
Geheimtipp: die meisten Fonts versagen schon kurz nach Englisch. Deswegen nutzt Splatter aktuell nur für Englisch und Deutsch den stylischen handselektierten Font und schaltet auf einen Windows-eigenen Font namens Calibri um, sobald man eine Sprache abseits dieser beiden auswählt.
Und als Backup, oder vielleicht, weil es auch jemandem von euch mal was bringt: mein Testtext mit angehängter Gesamt-Zeichenliste.
Geheimtipp: die meisten Fonts versagen schon kurz nach Englisch. Deswegen nutzt Splatter aktuell nur für Englisch und Deutsch den stylischen handselektierten Font und schaltet auf einen Windows-eigenen Font namens Calibri um, sobald man eine Sprache abseits dieser beiden auswählt.
Und als Backup, oder vielleicht, weil es auch jemandem von euch mal was bringt: mein Testtext mit angehängter Gesamt-Zeichenliste.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.