2013-10-31 38 views
5

我在需要加下劃線的C#應用​​程序中有string。這需要在unicode中完成,因爲字符串被導出並顯示在word文件中。要做到這一點,我前面有下劃線的Unicode \u0332其作品的每一個字符,但在這個截圖看到它並不能完全強調的「m」字:Unicode下劃線不會完全強調某些字符

enter image description here

我曾嘗試\u0332幾次前在m和之後但輸出總是相同的。

有什麼辦法讓它完全強調字符?

編輯:我只是嘗試使用連續下劃線unicode符號\u2381,但根本不呈現。

回答

4

U + 0332是一個Unicode combining character,所以經過之後,它會去它修改的字符。但是這隻能說明該字符應該加下劃線。具體的圖形表示取決於應用程序及其渲染引擎;它到處都沒有完全支持。嘗試將文本i̲m̲p̲o̲r̲t̲a̲n̲t̲粘貼到應用程序中,並查看它是否按預期工作。如果不是,那麼除了使用另一種表示法(例如*important*IMPORTANT)或以支持的富文本格式(RTF,docx等)導出外,您無能爲力。

+0

謝謝。這是一個MS Word .docx文檔,我認爲它支持並正確顯示。由於應用程序通過模板化文檔查找標籤,並將其替換爲應用程序中相應命名的「字符串」變量的內容,所以我對此不以爲然。 – Saggio

+0

爲什麼使用Unicode黑客*在Word文檔中格式化*東西? –

+1

@ R.MartinhoFernandes相信我,這不是一個理想的情況 - 這是一個遺留應用程序,這是第一次出現這個請求。例如,模板化的Word文檔與''類似,並且應用程序通過並用來自應用程序的'results'字符串中包含的信息替換'',其中字符串中包含的一個詞將是下劃線。這是在運行時完成的,因此無法在模板本身中設置文本的格式,它需要在應用程序端進行格式化。 – Saggio