печатный символ в Java - PullRequest
       23

печатный символ в Java

31 голосов
/ 21 октября 2008

Кто-нибудь знает, как обнаружить печатные символы в Java?

Через некоторое время (методом проб / ошибок) я получаю этот метод:

    public boolean isPrintableChar( char c ) {
        Character.UnicodeBlock block = Character.UnicodeBlock.of( c );
        return (!Character.isISOControl(c)) &&
                c != KeyEvent.CHAR_UNDEFINED &&
                block != null &&
                block != Character.UnicodeBlock.SPECIALS;
    }

Я получаю ввод через KeyListener и получаю Ctr-'key ', печатая квадрат. С этой функцией кажется достаточно честно.

Мне не хватает какого-нибудь символа здесь?

Ответы [ 2 ]

39 голосов
/ 07 января 2009

Кажется, это был независимый способ "Шрифт".

public boolean isPrintableChar( char c ) {
    Character.UnicodeBlock block = Character.UnicodeBlock.of( c );
    return (!Character.isISOControl(c)) &&
            c != KeyEvent.CHAR_UNDEFINED &&
            block != null &&
            block != Character.UnicodeBlock.SPECIALS;
}
14 голосов
/ 21 октября 2008

Я не совсем уверен, понимаю ли я вашу проблему. Но если вы хотите определить, можно ли нарисовать символ в графическом объекте, и если нет, вывести какой-либо символ-заполнитель, то вам может пригодиться:

Font.canDisplay(int)

Он будет проверять, может ли шрифт отображать определенную кодовую точку (более того, он проверяет, отображается ли вообще шрифт, поскольку существуют отображаемые символы, например ą, но некоторые шрифты не могут их отображать.

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