Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Clear Type Kantenglättung

44 views
Skip to first unread message

Michael Schuricht

unread,
Sep 5, 2017, 7:45:08 AM9/5/17
to
Hallo,
das ist zwar nicht ganz die richtige Gruppe, aber ich versuchs doch mal
hier, da ich das Problem ja mit Delphi Programmierung lösen will.

In den Display Eigenschaften von Windows 7 gibt es bei "Anzeige" "Clear Type
-Text anpassen". Klickt man darauf, öffnet sich ein Fenster "Clear Type
Textoptimierung". Dieses Fenster ist das Program cttune.exe unter
C:\Windows\System32. Auf der ersten Seite ist eine Checkbox (ClearType
aktivieren). Diese ist normalerweise angekreuzt. Wählt man das Häckchen ab
ändert sich sofort das Aussehen der Texte der Icos auf dem Desktop (die
Schrift wird dicker). Kreuzt man wieder an, wird die Schrift feiner.
So weit - so gut.
Ich habe nun einen Industrie Rechner (Siemens PCU50),
der Cleartype bei jeden Neustart deaktiviert. Ich möchte nun durch
(Delphi)-Programmierung das gleiche erreichen, was das Program cttune.exe
macht, allerdings ohne graphische Oberfläche. Weiß jemand, wo diese
Einstellung gespeichert ist HKCU/Control Panel/Desktop FontSmoothing und
FontSmoothingtype ist es jedenfalls nicht, auch ändert das Ändern dieser
Schlüssel nicht sofort das Textaussehen (wie bei cttune.exe)
Ich habe auch die Registry (HKLM und HKCU) vollständig exportiert ,vor
ankreuzen und nach ankreuzen, und dann beide Exportdateien verglichen->
keine Auffälligkeiten.

Bin für jeden Hinweis dankbar.

Gruß Michael

Matthias Eißing

unread,
Sep 5, 2017, 8:42:59 AM9/5/17
to
Am 05.09.17 um 13:45 schrieb Michael Schuricht:
> Bin für jeden Hinweis dankbar.

Quick-Hack :-)

SystemParametersInfo(SPI_SETFONTSMOOTHING,0,0,0); //disable ClearType

bzw

SystemParametersInfo(SPI_SETFONTSMOOTHING,1,0,0); //enable ClearType

Schickt man noch (jeweils) ein

InvalidateRect(0, nil, True);

hinterher, verändert sich auch sofort der komplette Desktop.


--
cu://Matthias.Eißing.de [Embarcadero]

Matthias Eißing

unread,
Sep 5, 2017, 9:50:09 AM9/5/17
to
Am 05.09.17 um 14:42 schrieb Matthias Eißing:
> Am 05.09.17 um 13:45 schrieb Michael Schuricht:
>> Bin für  jeden Hinweis dankbar.

Besser
Einschalten:
SystemParametersInfo(SPI_SETFONTSMOOTHING, Cardinal(true), 0,
SPIF_UPDATEINIFILE OR SPIF_SENDCHANGE);
SystemParametersInfo(SPI_SETFONTSMOOTHINGTYPE,
FE_FONTSMOOTHINGCLEARTYPE, 0, SPIF_UPDATEINIFILE OR SPIF_SENDCHANGE);

Ausschalten:
SystemParametersInfo(SPI_SETFONTSMOOTHING, Cardinal(false), 0,
SPIF_UPDATEINIFILE OR SPIF_SENDCHANGE);

InvalidateRect nicht mehr notwendig :-)

--
cu://Matthias.Eißing.de

Michael Schuricht

unread,
Sep 8, 2017, 4:51:42 AM9/8/17
to
Danke für die Antwort!
=?UTF-8?Q?Matthias_Ei=c3=9fing?= <meis...@gmx.de> wrote in <ooma2g$s36$1
@solani.org>:

>Am 05.09.17 um 14:42 schrieb Matthias Eißing:
>
>Besser
>Einschalten:
> SystemParametersInfo(SPI_SETFONTSMOOTHING, Cardinal(true), 0,
>SPIF_UPDATEINIFILE OR SPIF_SENDCHANGE);
> SystemParametersInfo(SPI_SETFONTSMOOTHINGTYPE,
>FE_FONTSMOOTHINGCLEARTYPE, 0, SPIF_UPDATEINIFILE OR SPIF_SENDCHANGE);
>
Die zweite Funktion stimmt so nicht, sie muss vielmehr so aussehen:
SystemParametersInfo(SPI_SETFONTSMOOTHINGTYPE,0,
Pointer(FE_FONTSMOOTHINGCLEARTYPE), SPIF_UPDATEINIFILE OR
SPIF_SENDCHANGE);

>InvalidateRect nicht mehr notwendig :-)
Das kann ich so nicht bestätigen. Das Auffrischen des Bildschirmes
erfolgt nur wenn man
InvalidateRect(0, nil, True);
hinterherschickt.

Die Funktion des Einschaltens der Kantenglättung funktioniert für meine
Zwecke, allerdings ist das Verhalten gegenüber dem Ausführen von cttune.exe
doch unterschiedlich. Da im Forum keine Bilder erwünscht sind, würde ich dir
gern per Mail ein paar Screenshots vom Desktop bei unterschiedlichen Stati
der Kantenglättung schicken. Ist das ok?

Des weiteren habe ich noch zwei weitere Frage zu Systemeinstellungen,
die ich mit Delphi lesen, bzw. verändern möchte:

1. Wie kann man von einem Netzwerkadaper lesen(durch Programmierung), ob die
Datei- und Druckerfreigabe gesetzt ist, und ggf. die Freigabe setzen?

2. Wie kann der Mauscursor für das gesamte System (nicht nur das eigene
Programm) ein- bzw. ausgeschaltet(versteckt,sichtbar) werden?

Gruß Michael

Andreas Fecht

unread,
Sep 9, 2017, 4:32:19 AM9/9/17
to
Michael Schuricht schrieb:

> Bin für jeden Hinweis dankbar.

Hier noch ein vielleicht hilfreicher Hinweis.

Cleartype und Schriftenantialiasing sind zwei verschiedene Dinge die
jedoch aufeinander aufsetzen.

Ein sehr gutes Tool um die Effekte zu erforschen ist dieses hier:

https://www.heise.de/download/product/cleartype-switch-86706

Gruß Andreas

Andreas Fecht

unread,
Sep 9, 2017, 4:44:59 AM9/9/17
to
Andreas Fecht schrieb:
Hier noch ein Nachtrag:

Die ganze Interpoliererei ist nur wirklich sinnvoll wenn das Display
deutlich über 100DPI hat (mindestens 150).

Kurzer Monitorvergleich hier:

http://www.aftec.de/zeuch/Monitore.html

Bei Werten um 100DPI alles abschalten und alle Windows Standardschriften
auf Tahoma zurückstellen, sonst sieht die Darstellung unscharf aus.

Oft gehörter Satz:
"Ich hab mir extra eine neue Brille gekauft, und sehe das Bild immer
noch unscharf"

Gruß Andreas

Matthias Eißing

unread,
Sep 9, 2017, 1:22:25 PM9/9/17
to
Am 08.09.17 um 10:51 schrieb Michael Schuricht:

> Die Funktion des Einschaltens der Kantenglättung funktioniert für meine
> Zwecke, allerdings ist das Verhalten gegenüber dem Ausführen von cttune.exe
> doch unterschiedlich. Da im Forum keine Bilder erwünscht sind, würde ich dir
> gern per Mail ein paar Screenshots vom Desktop bei unterschiedlichen Stati
> der Kantenglättung schicken. Ist das ok?

Mmmh..... ich würd' da gerne Microsoft zu befragen, wie/ob man das
gewünschte Verhalten von cttune.exe über eine WinAPI erreichen kann. Ist
nicht Delphi-spezifisches.... da bin ich dann raus :-) Sorry


--
cu://Matthias.Eißing.de

Achim Kalwa

unread,
Sep 11, 2017, 2:32:04 AM9/11/17
to
Hallo Michael,

Am 08.09.2017 um 10:51 schrieb Michael Schuricht:

> Die Funktion des Einschaltens der Kantenglättung funktioniert für meine
> Zwecke, allerdings ist das Verhalten gegenüber dem Ausführen von cttune.exe
> doch unterschiedlich.
[...]

Möglicherweise musst Du nach dem Aktivieren von ClearType noch den
Kontrastwert mittels SPI_SETFONTSMOOTHINGCONTRAST anpassen (das was
cttune.exe macht); siehe dazu auch

> https://msdn.microsoft.com/de-de/library/windows/desktop/dd183433(v=vs.85).aspx

Und weiter..

> Da im Forum keine Bilder erwünscht sind, [...]

Du könntest Screenshots z.B. via DropBox, GoogleDrive, OneDrive etc. zur
Verfügung stellen.

Gruß
Achim
0 new messages