{"id":215,"date":"2008-03-02T18:50:26","date_gmt":"2008-03-02T17:50:26","guid":{"rendered":"http:\/\/blog.m-ri.de\/index.php\/2008\/03\/02\/system_font-default_gui_font-und-der-font-der-eigentlich-benutzt-wird\/"},"modified":"2008-09-24T09:28:27","modified_gmt":"2008-09-24T07:28:27","slug":"system_font-default_gui_font-und-der-font-der-eigentlich-benutzt-wird","status":"publish","type":"post","link":"http:\/\/blog.m-ri.de\/index.php\/2008\/03\/02\/system_font-default_gui_font-und-der-font-der-eigentlich-benutzt-wird\/","title":{"rendered":"SYSTEM_FONT, DEFAULT_GUI_FONT und der Font der eigentlich benutzt wird&#8230;"},"content":{"rendered":"<p>Was sind eigentlich \u00a0die beiden Fonts SYSTEM_FONT und DEFAULT_GUI_FONT, die durch <a href=\"http:\/\/msdn2.microsoft.com\/en-us\/library\/ms533223(VS.85).aspx\">GetStockObject <\/a>zur\u00fcckgegeben werden?<br \/>\nSind sie ein schneller Weg um an den <em>&#8222;MS Shell Dlg&#8220;<\/em> bzw. <em>&#8222;MS Shell Dlg 2&#8220;<\/em>?<\/p>\n<p>Es\u00a0ist ein Irrtum wenn man glaubt man bekommt den Standard UI Font mit <em>DEFAULT_GUI_FONT <\/em>oder <em>SYSTEM_FONT<\/em>. Dieser Irrtum basiert auf der Annahme es gebe nur einen Font den die Windows UI verwendet!<\/p>\n<p>Der richtige Weg vorab: Der einzige korrekte Weg einen richtigen Font f\u00fcr die Default UI zu erhalten ist <a href=\"http:\/\/msdn2.microsoft.com\/en-us\/library\/ms724947.aspx\">SystemParametersInfo<\/a> mit <em>SPI_GETNONCLIENTMETRICS<\/em>. Bzw., in Dialogen sollte immer\u00a0als Font <em>&#8222;MS Shell Dlg&#8220;<\/em> bzw. <em>&#8222;MS Shell Dlg 2&#8220; <\/em>verwendet werden\u00a0(siehe auch <a href=\"http:\/\/weblogs.asp.net\/oldnewthing\/archive\/2005\/02\/04\/366987.aspx\">The old new thing<\/a>). Man beachte den Plural \u2757<\/p>\n<p>Und was sind diese beiden Fonts nun?<br \/>\nEs sind Relikte aus alten Tagen, die kein Mensch\u00a0und vor allem kein Windows Entwickler bei Microsoft mehr verwendet.\u00a0\u00a0(Anmerkung des Autors: Ich habe zumindest aus zuverl\u00e4ssiger Quelle geh\u00f6rt, die Entwickler bei Microsoft w\u00e4ren immer noch Menschen \ud83d\ude09 )<\/p>\n<ul>\n<li>In alten Tagen von Windows 2.0 wurden <em>SYSTEM_FONT <\/em>f\u00fcr die Dialoge verwendet. Dieser Font hie\u00df auch <em>System<\/em>. Man glaubt es kaum, dieser Font ist immer noch der Standard-Dialog-Font, den aber wirklich keiner mehr will. Es ist ein Bitmap Font und er kann nicht mit Anti-Aliasing verwendet werden.<\/li>\n<li>Die Geschichte von <em>DEFAULT_GUI_FONT <\/em>ist weniger spektakul\u00e4r. Er wurde mit Windows 95 \u00a0eingef\u00fchrt und man dachte damit einen Standard gesetzt zu haben. Aber das wurde noch im selben Release zugunsten von SystemParametersInfo\u00a0 fallen gelassen. Es ist geblieben als weiteres Relikt aus alten Tagen.<\/li>\n<\/ul>\n<p>Alle Fonts die <em>GetStockObject <\/em>liefert sind Bitmap Fonts, die auch kein ClearType unterst\u00fctzen.<\/p>\n<p>Siehe auch:<br \/>\n<a href=\"http:\/\/blogs.msdn.com\/oldnewthing\/archive\/2005\/07\/07\/436435.aspx\">What are SYSTEM_FONT and DEFAULT_GUI_FONT?<\/a><br \/>\n<a href=\"http:\/\/blogs.msdn.com\/michkap\/archive\/2006\/04\/28\/585735.aspx\">What about logical fonts?<\/a><br \/>\n<a href=\"http:\/\/blogs.msdn.com\/michkap\/archive\/2006\/03\/18\/554308.aspx\">DEFAULT_GUI_FONT really stinks<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Was sind eigentlich \u00a0die beiden Fonts SYSTEM_FONT und DEFAULT_GUI_FONT, die durch GetStockObject zur\u00fcckgegeben werden? Sind sie ein schneller Weg um an den &#8222;MS Shell Dlg&#8220; bzw. &#8222;MS Shell Dlg 2&#8220;? Es\u00a0ist ein Irrtum wenn man glaubt man bekommt den Standard UI Font mit DEFAULT_GUI_FONT oder SYSTEM_FONT. Dieser Irrtum basiert auf der Annahme es gebe nur &hellip; <a href=\"http:\/\/blog.m-ri.de\/index.php\/2008\/03\/02\/system_font-default_gui_font-und-der-font-der-eigentlich-benutzt-wird\/\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eSYSTEM_FONT, DEFAULT_GUI_FONT und der Font der eigentlich benutzt wird&#8230;\u201c <\/span>weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[3,2],"tags":[97,61],"class_list":["post-215","post","type-post","status-publish","format-standard","hentry","category-programmieren","category-windows-api","tag-ui","tag-winapi"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts\/215","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/comments?post=215"}],"version-history":[{"count":0,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts\/215\/revisions"}],"wp:attachment":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/media?parent=215"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/categories?post=215"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/tags?post=215"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}