Как вычеркнуть любую букву, используя Unicode в Java - PullRequest
6 голосов
/ 03 августа 2011

В моем Java-приложении я хочу выводить зачеркнутые буквы (как это делает тег html).Есть ли способ сделать это с помощью Unicode (объединить)

Ответы [ 4 ]

4 голосов
/ 01 декабря 2014

Для выполнения этой задачи вы можете использовать U + 0336 , , комбинирующий наложение длинного хода .

Для сравнения, вот как выглядит U + 0336по сравнению с HTML-х <strike> тег:

UNICODE комбинируя длинноходной Overlay
1012 * Hypertext забастовка тег

Одно замечание, хотя: Еслиесли вы внимательно посмотрите на «m» в «комбинировании» выше, вы, вероятно, увидите небольшой разрыв в страйке из-за того, как работает комбинирование меток наложения.По этой причине вы все равно должны предпочитать использовать html или другую технологию вместо U + 0336 для этой цели, если у вас есть такая опция.

2 голосов
/ 03 августа 2011

Нет, это невозможно. Хотя существует концепция штриха как диакритического знака , он не доступен в качестве отдельного символа Юникода, возможно потому, что различные буквы, в которых используется диакритический знак штриха, не размещают его на одной высоте или даже под углом. Так что результат в любом случае не будет напоминать зачеркнутую разметку.

Для вывода зачеркнутого текста в Java вам необходимо использовать формат вывода, который позволяет вам использовать явную разметку. Если у вас есть приложение Swing, вам повезло, так как многие компоненты Swing поддерживают HTML . В противном случае это зависит от того, какую технологию презентации вы используете.

2 голосов
/ 03 августа 2011

Как уже было сказано, Unicode этого не делает, но многие компоненты Swing понимают основные теги HTML.

JLabel label = new JLabel("<html><s>My stroke</s></html>")
1 голос
/ 03 августа 2011

Нет. Юникод не определяет комбинированную зачеркнутую метку. Unicode считает, что это работа по разметке - как HTML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...