2013-10-31 6 views
5

Ich habe eine string in einer C# -Anwendung, die unterstrichen werden muss. Dies muss in Unicode erfolgen, da die Zeichenfolge exportiert und in einer Word-Datei angezeigt wird. Dazu voran ich jedes Zeichen mit dem Unterstreichungs Unicode \u0332, das funktioniert, aber es ist nicht vollständig unterstreicht den ‚m‘ Charakter wie in diesem Screenshot zu sehen:Unicode-Unterstreichung unterstreicht einige Zeichen nicht vollständig

enter image description here

ich versucht habe, das \u0332 ein paar Mal vorhergehende vor dem m und nach, aber die Ausgabe ist immer gleich.

Gibt es eine Möglichkeit, um das Zeichen vollständig zu unterstreichen?

EDIT: Ich habe gerade versucht mit der kontinuierlichen Unterstreichung Unicode-Symbol \u2381, aber das macht überhaupt nicht.

Antwort

4

U + 0332 ist ein Unicode combining character, also ist nach das Zeichen, das es ändert. Aber dies spezifiziert nur, dass das Zeichen unterstrichen sein sollte. Die spezifische grafische Darstellung hängt von der Anwendung und ihrer Rendering-Engine ab; Es wird nicht überall voll unterstützt. Versuchen Sie den Text i̲m̲p̲o̲r̲t̲a̲n̲t̲ in die Anwendung einzufügen und sehen Sie, ob es wie vorgesehen funktioniert. Wenn nicht, können Sie nichts anderes tun, als eine andere Darstellung wie *important* oder IMPORTANT zu verwenden oder in ein unterstütztes Rich-Text-Format (RTF, docx usw.) zu exportieren.

+0

Danke. Es ist ein MS Word .docx Dokument, das ich denke, dass es dies unterstützt und es richtig rendert. Ich bin irgendwie der Gnade ausgeliefert, da die Anwendung durch ein Vorlagen-Dokument nach Tags sucht, die in '< >'-Klammern eingeschlossen sind, und sie durch den Inhalt der entsprechend benannten 'string'-Variablen in der Anwendung ersetzt. – Saggio

+0

Warum verwenden Sie Unicode-Hacks, um etwas in einem Word-Dokument * zu formatieren? –

+1

@ R.MartinhoFernandes Vertrauen Sie mir, das ist keine ideale Situation - Es ist eine Legacy-Anwendung und es ist das erste Mal, dass diese Anfrage aufkommt. Zum Beispiel hat das Word-Vorlage-Dokument nur etwas, das "" ähnlich ist, und die Anwendung durchläuft und ersetzt "" durch die in der Zeichenfolge results enthaltene Information aus der Anwendung, in der ein Wort in der Zeichenfolge enthalten sein soll unterstrichen. Dies geschieht zur Laufzeit, so dass es keine Möglichkeit gibt, den Text innerhalb der Vorlage selbst zu formatieren. Er muss auf der Anwendungsseite formatiert werden. – Saggio

Verwandte Themen