In Google siehst's so aus, als wenn die
DLL nen uraltes TextRenderingZeugs vom Internet Explorer sein könnte (Microsoft
DirectX Typography Services),
demnach hätte ich den Fehler eher andersrum gedacht, also dass die
DLL im aktuellen Windows fehlt.
Obwohl ... Vieles was ich finde ist ~10 Jahre alt, also könnte dennoch neuer sein, als 2003.
Neuere Delphis (
RTL/
VCL) nutzen ab und an auch neuere APIs, die in älteren OSen so noch nicht existieren, und demnach laufen sie dort "oft" nicht.
So lange man die problematischen APIs nicht benutzt, gibt es weniger Probleme und es kann dennoch gehn.
Aber keines der "aktuelleren" Delphi (ab XE4) unterstützt offiziell noch das 2003er Windows.
http://docwiki.embarcadero.com/Platf...s/en/Main_Page
http://docwiki.embarcadero.com/RADSt...allation_Notes
Delphi XE (1) wäre eine Version, die das aber noch tut. (Abhängigkeiten von Fremdkomponenten nicht eingeschlossen)
https://edn.embarcadero.com/article/...0774_tocentry3
Alternativ mußt du eben rausbekommen wo und mit welcher
API-Funktion die DWrite.dll benutzt wird (Textsuche in
PAS/
DCU/
DLL/
BPL/...)
und schauen ob sich das ersetzen/umgehen/entfernen lässt.
Es darf kein Code
compilert gelinkt werden, der einen Aufruf von Funktionen dieser
DLL enthält. (die
Unit darf drin bleiben, aber die aufrufenden Funktionen nirgendwo benutzt werden, womit der Linker es dann weglässt)
Die
DLL in einem Windows zum Laufen zu bekommen, wofür sie nicht vorgesehen ist ... da mußt'e vermutlich noch mehrere weitere Abhängigkeiten beheben, falls es überhaupt geht.
[EDIT]
Im Delphi XE ist die DWrite.dll (directwrite.h) in der
Unit D2D1.pas vom
Direct2D drin, die auch im Delphi XE dann nicht verwendet werden sollte.
C:\program files (x86)\embarcadero\
rad studio\8.0\source\
rtl\win\D2D1.pas
D2D1 verwendet in rtl_units.pas, Direct2D.pas und z.B. auch vom
SynEdit die SynEdit.pas
und dementsprechend auch in vcl_units.pas, sowie vemutlich ebenfalls in rtl150.bpl und vcl150.bpl