Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   ClearType Patch für Firefox (https://www.delphipraxis.net/100071-cleartype-patch-fuer-firefox.html)

jbg 21. Sep 2007 21:05


ClearType Patch für Firefox
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe mir mal die Mühe gemacht und einen binär-Patch für Firefox (2.0.0.7) geschrieben, der die ClearType Schrift ausschließlich für Firefox aktiviert. Damit muss ClearType nicht mehr systemweit aktiviert werden und Delphi's Editor zeigt die reservierten Wörter noch sichtlich breiter an als den Normaltext. (Was ist ClearType)


Anforderungen:
System: Windows XP (Bei Vista ist ClearType per Vorgabe systemweit aktiviert)
Browser: Firefox 2.0 (möglicherweise funktioniert der Patch auch mit Version 1.5)
Zugriff: Das Programm benötigt Schreibrechte im Firefox-Ordner (in dem die Firefox.exe liegt)

Installation:
Das Patch Programm starten und den Button "Enable ClearType" drücken.
Nach einem Firefox Update muss der Patch erneut installiert werden.

Deinstallation
Das Patch Programm starten und den Button "Disable ClearType" drücken.

Prototypjack 22. Sep 2007 10:02

Re: ClearType Patch für Firefox
 
Moin,

Ich denke ich verstehe dich nicht ganz. Wenn das ein Binärpatch ist, der explizit für die Version 2.0.0.7 geschrieben wurde, wie soll der dann auch noch für andere Versionen nutzbar sein?

Grüße,
Max

Edit: Und was genau macht der Patch?

jbg 22. Sep 2007 10:52

Re: ClearType Patch für Firefox
 
Zitat:

Zitat von Prototypjack
Wenn das ein Binärpatch ist, der explizit für die Version 2.0.0.7 geschrieben wurde, wie soll der dann auch noch für andere Versionen nutzbar sein?

Ganz einfach: Wenn keiner der Firefox Entwickler die Funktion ändert, in der die Schriftart erzeugt wird, dann findet das Patch-Tool die Codestelle auch in neueren und ggf. in älteren Versionen. Und diese Codestelle hat sich schon lange nicht mehr geändert. Sollte die Codestelle aber nicht mehr gefunden werden, meldet das Patch-Tools das natürlich und unterbindet jegliches Patchen.

Zitat:

Edit: Und was genau macht der Patch?
Er ersetzt die DEFAULT_QUALITY durch die CLEARTYPE_QUALITY.


Für die, die es interessiert:
Delphi-Quellcode:
const
{ cl = 0, eax=@LogFont
88 48 1A mov [eax+$1a],cl
88 48 1B mov [eax+$1b],cl
=> 66 C7 40 1A 05 00   mov word ptr [eax+$1a], $0005
}

  OldBytes: array[0..5] of Char = (#$88, #$48, #$1A, #$88, #$48, #$1B);
  NewBytes: array[0..5] of Char = (#$66, #$C7, #$40, #$1A, #$05, #$00);

  Search1: array[0..32] of AnsiChar = (
    #$89, #$48, #$04,
    #$89, #$48, #$08,
    #$89, #$48, #$0C,
    #$8A, #$56, #$1C,
    #$80, #$E2, #$01,
    #$88, #$50, #$15,
    #$8A, #$56, #$1C,
    #$C0, #$EA, #$02,
    #$80, #$E2, #$01,
    #$88, #$50, #$16,
    #$39, #$4E, #$74
  );

  Search2: array[0..10] of AnsiChar = (
    #$8B, #$4C, #$24,
    #$0C, #$C6, #$40, #$18,
    #$04, #$0F, #$94, #$C2
  );

Prototypjack 23. Sep 2007 08:57

Re: ClearType Patch für Firefox
 
Moin,

Ah, ok. Nun sehe ich klarer.
Danke!

Grüße,
Max

TonyR 8. Okt 2008 15:49

Re: ClearType Patch für Firefox
 
Wie verhält sich das mit dem FF3? Gibts da schon eine anwählbare Cleartype Version? ... weil das Patch Programm zeigt eine Versions-Inkompatibilität an!

jbg 8. Okt 2008 16:14

Re: ClearType Patch für Firefox
 
Für FF3 wird es diesen Patch nicht (=nie) geben. Denn dort wurde alles umgestellt und die Funktion die der Patch patcht wird gar nicht mehr aufgerufen. Ich hatte auch nach langem Suchen (auch im Code) nicht die richtige Stelle finden können. Zudem betrifft micht das Problem (dank Vista) nicht mehr, da dort ClearType sowieso für alle Anwendungen aktiv ist und ich mich daran nun gewöhnt habe.

TonyR 8. Okt 2008 16:16

Re: ClearType Patch für Firefox
 
Ok, alles klar! :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:08 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz