
- standardmäßig kommt windows 10 mit demSegoe-UI-EmojiSchriftart
- Diese Schriftart ist die einzige Standardschriftart, die über die folgenden 4 Unicode-Zeichen verfügt:
Antwort1
Moderne UI-Elemente funktionieren nicht auf die gleiche Weise wie Legacy-Elemente. Der Ausführen-Dialog und der Notizblock sind beides alte Legacy-Elemente, die nicht mit dem Rest des Betriebssystems aktualisiert werden. Die Suchleiste ist ein modernes Betriebssystemelement, daher sollte dies das Verhalten aller neueren Elemente des Betriebssystems sein. Die Schriftartenfamilie Segoe wurde für moderne UIs entwickelt und wird für verschiedene Textanzeigefunktionen verwendet. Allerdings ist die Microsoft-Entwicklung nicht gerade für Konsistenz bekannt. Sie finden möglicherweise unterschiedliche Elemente, die von unterschiedlichen Teams entwickelt wurden und unterschiedliche Verhaltensweisen aufweisen.
Weitere Informationen zum unterschiedlichen Umgang mit Schriftarten in „modernen“ Windows 10-Anwendungen finden Sie in diesem Artikel:https://docs.microsoft.com/en-us/dotnet/framework/wpf/advanced/typography-in-wpf
WPF bietet erweiterte Schriftartunterstützung durch die folgenden Funktionen: Unicode für den gesamten Text. Das Verhalten und die Auswahl von Schriftarten erfordern keinen Zeichensatz oder keine Codepage mehr.
Dies erklärt, wie moderne Apps Zeichen aus mehreren Schriftarten innerhalb einer Schriftfamilie anzeigen können.
Antwort2
@harrymc „Alle Software unter Windows verwendet dieselbe API, die von denselben Windows-Komponenten unterstützt wird.“
ich: * dies ist relativ zu Ihrer Definition von „API“ * sie laufen beide in .net, das selbst in winrt (Windows-Runtime) läuft * sie können jedoch trotzdem unterschiedliche Schnittstellen haben * vor diesem Hintergrund legt Wiki nahe, dass sie unterschiedlich sind: https://en.wikipedia.org/wiki/Windows_Forms * „Windows Forms basiert auf der vorhandenen Windows-API und einige Steuerelemente umschließen lediglich die darunterliegenden Windows-Komponenten.“ https://en.wikipedia.org/wiki/Windows_Presentation_Foundation * „Die Architektur von WPF umfasst sowohl verwalteten Code als auch native Codekomponenten. Die öffentlich zugängliche API ist jedoch nur über verwalteten Code verfügbar. Während der Großteil von WPF in verwaltetem Code vorliegt, ist die Kompositions-Engine, die die WPF-Anwendungen rendert, eine native Komponente.“
https://docs.microsoft.com/en-us/dotnet/api/system.windows.media.fontfamily?view=netframework-4.8
„Der WPF-Font-Fallback-Mechanismus ersetzt frühere Win32-Font-Ersetzungstechnologien.“
„Windows bietet weiterhin hervorragende Unterstützung für Unicode und internationalen Text und stellt sicher, dass universelle Windows-Apps auf Desktop-Geräten und jedem anderen Formfaktor eine hervorragende Textanzeige bieten können.
@HackSlash „Der Ausführen-Dialog und der Notizblock sind beides uralte Legacy-Elemente, die nicht mit dem Rest des Betriebssystems aktualisiert werden.“
ich: * stimmt nicht * allerdings wird Notepad nicht so häufig aktualisiert wie Wordpad
Die 4 Emojis, die ich erwähnt habe, wurden einzeln zu Windows hinzugefügt:
- https://emojipedia.org/microsoft/windows-10-fall-creators-update/sled/
- https://emojipedia.org/microsoft/windows-10-fall-creators-update/flying-saucer/
- https://emojipedia.org/microsoft/windows-10-october-2018-update/skateboard/
- https://emojipedia.org/microsoft/windows-10-may-2019-update/auto-rickshaw/
https://docs.microsoft.com/en-us/typography/fonts/windows_10_font_list
- diese Liste Segoe UI Emoji als 1.27
- aber meiner ist 1,29
die Beweise deuten darauf hin, dass Windows einige seiner Software (WordPap, Windows Search) aktualisiert hat, um beim Font-Fallback auf die neueste Version von Segoe UI Emoji zu verweisen
- wohingegen andere Software (Notizblock, Dialogfeld „Ausführen“) auf eine ältere Version von Segoe UI Emoji verweist
Notiz * ich werde diesen Beitrag bald aufräumen * ich hatte gerade noch Zeit, dies zu machen, bevor die Kopfgeldzeit abgelaufen war * @harrymc und @HackSlash haben beide grundlegende Fehler gemacht * deshalb wollte ich genauere Informationen liefern
Antwort3
Ich bin mit der akzeptierten Antwort nicht einverstanden: Alle Software unter Windows verwendet dieselbe API, die von denselben Windows-Komponenten unterstützt wird. Während ältere Software möglicherweise eine veraltete API verwendet, ist dies bei Notepad oder Wordpad nicht der Fall, die sich noch heute in der Entwicklung befinden.
Das Problem, das der Verfasser der Beschreibung mit Notepad und Wordpad hatte, hängt eher mit der Benutzeroberfläche zusammen als mit diesen Produkten. Hier ist der Beweis, bei dem die Zeichen korrekt angezeigt werden, wenn die aktuelle Schriftart als Segoe UI Emoji angegeben ist:
Gehen Sie jedoch nicht davon aus, dass das Einfügen dieser Zeichen funktioniert, wenn die aktuelle Schriftart nicht Segoe UI Emoji ist, es sei denn, eines oder mehrere davon sind zufällig in der aktuellen Schriftart enthalten.
Für Windows-Dialoge: Beim Erstellen des Dialogs wird die vom Textfeld verwendete Schriftart in der Definition des Dialogs angegeben. Die Schriftart Segoe UI Emoji ist offensichtlich als normale Textschriftart ungeeignet und würde daher für eine solche Benutzeroberfläche niemals verwendet werden.
Sie können einen Dialog nicht zwingen, eine andere Schriftart als die zu verwenden, mit der er programmiert wurde, zumindest nicht, ohne das .exe
oder zu hacken .dll
, das die Definition des Dialogs enthält. Sie können also nicht erwarten, dass das Einfügen von Emojis in Dialogen funktioniert.
BEARBEITEN
Obwohl der Unicode-Zeichenbereich sehr groß ist, reicht er nicht aus, um alle Zeichen aller Sprachen der Welt aufzunehmen. Deshalb sind Schriftarten wichtig, da derselbe Unicode-Codepunkt für verschiedene Zeichen in verschiedenen Schriftarten verwendet werden kann.
Die Windows-Zwischenablage ist im Gegensatz zur Linux-Zwischenablage sehr umfangreich. Sie enthält nicht nur die Zeichen, sondern kann auch Informationen über die Sprache, Richtung (rechts, links), Schriftart und mehr enthalten. Die API kann verschiedene Formate festlegen und abrufen und ist außerdem intelligent genug, um beim Abrufen das gespeicherte Format in das angeforderte Format zu konvertieren.
Was Sie also erhalten, wenn Sie Sonderzeichen kopieren und einfügen, hängt von der API ab, die von den Quell- und Zielprogrammen verwendet wurde. Unten sehen Sie ein Beispiel, das Wordpad verwendet.
Hier der Ausgangstext in der Schriftart Arial:
Jetzt kopiere ich Ihr viertes Zeichen aus dem Browser und füge es an das Ende des Textes ein, und siehe da, das Wunder – die Schriftart ist jetzt Segoe UI Emoji:
Nun klicke ich auf das Wort „Arial“ und die Schriftart ist auf einmal anders:
Wir haben jetzt also Text in zwei verschiedenen Schriftarten. Das Zeichen, das wir eingefügt haben (