Хорошо, во-первых, мне кажется, что вы пытаетесь решить здесь несколько разных вопросов, поэтому я попытаюсь рассмотреть их по отдельности.
<сильный>1. Вам нужен шрифт, который является моноширинным для всех символов Юникода, символов и т. д.
Согласно этой странице, существует 12886 буквенно-цифровых и "символьных" символов, определенных Стандарт Юникод 3.2. Unicode теперь равен 6.0, поэтому мы, вероятно, можем предположить, что теперь это число больше. Я также предполагаю, что «буквенно-цифровой» означает английские символы, потому что Unicode поддерживает более 100 000 символов, охватывающих многие языки. В любом случае, 12886 символов, распознаваемых на английском языке, — это все еще МНОГО, и я сомневаюсь, что есть много бесплатных шрифтов, поддерживающих их все.
Тем не менее, я в конечном итоге использую Courier New
для большинства своих Java-приложений, которым нужен моноширинный шрифт с поддержкой символов. Он поддерживает упомянутый выше символ «\ u2588», а также многие другие важные символы, такие как символ «градусы».
<сильный>2. Этот моноширинный шрифт должен быть «кроссплатформенным».
Я точно знаю, что Mac OS X и все разновидности Windows поддерживают Courier New
, и версии Linux, на которых я работаю, тоже (RedHat... не могу вспомнить номер версии), хотя не все версии Linux изначально имеют этот шрифт. В любом случае... вы можете попробовать Courier New
и посмотреть, сработает ли это для вас. Если нет, вы, вероятно, можете найти бесплатные онлайн-инструменты для тестирования поддержки шрифтов/символов.
Заключительные мысли
Ненавижу это говорить, но я сомневаюсь, что существует много шрифтов, поддерживающих все буквенно-цифровые/символьные символы, определенные стандартом Unicode, меньше всего моноширинных, кросс-платформенных и бесплатных. Если возможно, может быть, стоит потратить время на то, чтобы попытаться выяснить, какие символы вам потребуются, а затем выбрать шрифт, который поддерживает эти символы и, в свою очередь, поддерживается платформами, на которых, как вы знаете, вы будете запускать свое приложение. Если вам абсолютно необходимо иметь поддержку всех символов Unicode, к сожалению, это, вероятно, не будет бесплатным.
person
CodeBlind
schedule
13.06.2012