7
A
回答
12
根據終端的ECMA-48標準,SGR(Select Graphic Rendition)代碼9應該能夠實現劃叉文本。然而,維基百科頁面說,它沒有得到廣泛的支持,我不知道有這樣做。我懷疑那是因爲DEC的VTxxx系列didn't support it。
4
用C11或C++ 11編寫的應用程序的替代解決方案是使用Unicode combining long stroke overlay字符。
在C++ 11,你可以編寫代碼是這樣的:
#include <iostream>
#include <string>
std::string strikethrough(const std::string& text) {
std::string result;
for (auto ch : text) {
result.append(u8"\u0336");
result.push_back(ch);
}
return result;
}
int main() {
std::cout << strikethrough("strikethrough") << std::endl;
}
代碼前綴每個字符與行程覆蓋\u0336
輸入text
。請注意,該函數假定text
採用單字節編碼(如ASCII或拉丁文)進行編碼。如果輸入爲UTF-8,則必須首先將其轉換爲UTF-32以獲取字符邊界。
然後輸出爲s̶t̶r̶i̶k̶e̶t̶h̶r̶o̶u̶g̶h
在UTF-8能力的終端。我不知道爲什麼第一個角色沒有穿透力,一定是終極問題。我可以通過在刪除線函數調用之前至少打印一個字符來解決此問題。
與上面提到的ANSI轉義序列相比,Unicode解決方案還會在我的終端(terminator
)中生成稍微不同的鎖定。前者使文本正好在文本的中間,而後者使文本略低於文本。
相關問題
- 1. 如果沒有控制檯存在,是否仍然顯示控制檯文本?
- 2. 是否可以在Jupyter筆記本中顯示控制檯?
- 3. 是否可以穿透Appcelerator中的標籤文本?
- 4. 是否可以顯示遠程連接的控制檯?
- 5. 繪製具有顯示/淡入效果的標籤文本
- 6. Javascript var在控制檯中顯示效果很好,而不是在html中
- 7. 是否可以在reportlab文檔中使用工具提示或懸停效果?
- 8. 是否有可能在C++中的控制檯來放大文本
- 9. 我可以讓控制檯顯示中文嗎?
- 10. 是否可以在Android中的TextView中顯示數字文本?
- 11. 找出是否有控制檯可用
- 12. 如何在C#控制檯中突出顯示並選擇控制檯文本
- 13. 是否可以將效果添加到TextView中的文本?
- 14. 是否只有Javascript才能穿透NAT?
- 15. 是否可以在TFS源代碼控制中顯示「顯示名稱」?
- 16. 打印效果以及控制檯
- 17. 是否可以在運行中更改工具提示文本?
- 18. 是否有可能以.NET的顏色寫入控制檯?
- 19. 確定M2M字段是否具有自定義穿透模型
- 20. 樹數據結構C++庫,可以在控制檯中顯示?
- 21. Visual Studio Package:是否可以在文本行標記上顯示工具提示?
- 22. 是否可以在Chrome控制檯中保存過濾器?
- 23. 是否可以在代碼中啓動Rails控制檯?
- 24. 是否可以在sbt控制檯中創建RDD?
- 25. 是否可以在javascript控制檯中定義int32值?
- 26. 是否可以在javascript執行中寫入mongodb控制檯?
- 27. 是否可以使用控制檯在IE9中搜索cookie?
- 28. 是否可以在控制檯中執行兩條命令MongoDB
- 29. 是否有可能在ruby控制器/視圖中運行rails控制檯命令並顯示輸出
- 30. 是否有可能在bash中複製vim的`zz`的效果?
我的'libvterm' /'pangoterm'可以做到這一點。請參閱[鏈接](http://leonerds-code.blogspot.com/2011/09/libvtermpangoterm-and-tickit.html)中的第二個屏幕截圖 – LeoNerd
實際上,一組優秀的shell終端似乎支持它(這包括''guake'',''terminator'',''gnome-terminal'',...)。 http://misc.flogisoft.com/bash/tip_colors_and_formatting#terminals_compatibility。快速測試:''echo -e「\ e [9mtest \ e [0m」''。 – vaab