Реализация Unicode: много шрифтов или один большой шрифт? - PullRequest
3 голосов
/ 19 января 2009

Я интернационализирую приложение на множество разных языков, и должны поддерживаться следующие языки:

  1. английский
  2. Испанский
  3. Немецкий
  4. Французский
  5. Русский
  6. китайский мандарин
  7. Thai

Возможно, мы также добавим поддержку для:

  1. хинди
  2. Португальский
  3. На любом другом языке люди на работе говорят и могут легко перевести

Должен ли я устанавливать разные шрифты для каждого языка или я должен идти с одной крупной установкой шрифтов Arial Unicode MS? И если я сделаю последнее, есть ли какие-либо юридические последствия добавления шрифта в установщик?

Эта проблема в .NET 3.5, но я думаю, что общая проблема не зависит от языка программирования.

Ответы [ 5 ]

3 голосов
/ 19 января 2009

Arial Unicode MS не распространяется повторно и устанавливается вместе с Microsoft Office: Lucida Sans Unicode поставляется вместе с Windows и содержит символы для большинства языков в вашем списке (хотя я считаю, что это не китайский).

http://alanwood.net/unicode/fonts.html - хороший источник информации о том, какие шрифты содержат какие символы.

2 голосов
/ 20 января 2009

GNU Unifont - единственный, который охватывает все (или почти все, более 63 000) символов. К сожалению, это растровое изображение, и поэтому рендеринг довольно уродливый.

WenQuanYi Zen Hei или Arial Unicode MS лучше всего подходят, если вам нужен шрифт TrueType.
Они имеют примерно такое же покрытие (~ 35 000 символов), но WenQuanYi Zen Hei является открытым исходным кодом (GPL), а Arial Unicode MS является проприетарной.

2 голосов
/ 19 января 2009

Маловероятно, что это будет реальной проблемой, когда вы ограничиваете себя шрифтами, которые поставляются с Windows и Internet Explorer. У пользователя будет установлена ​​версия этих шрифтов, которая способна отображать глифы на своем местном языке.

0 голосов
/ 30 мая 2009

Многие из API Windows будут выполнять связывание шрифтов для известных шрифтов. Например, если вы выберете Tahoma и попробуете рисовать, используя любую из функций более высокого уровня, я считаю, что это сделает связывание шрифтов автоматически. Я подозреваю, что почти все интерфейсы .NET учитывают функции более высокого уровня.

Раймонд Чен показывает, как развернуть собственную ссылку на собственный шрифт .

Майкл Каплан также сделал серию о связывании шрифтов .

0 голосов
/ 03 февраля 2009

Мы решили пойти по следующему маршруту:

Для латинских наборов символов мы будем использовать Gentium-шрифты . Эти шрифты подпадают под действие Open Font License , что означает, что мы должны включить уведомление об авторских правах в программное обеспечение и подтверждение в пользовательском интерфейсе.

Когда мы перейдем на азиатские языки, мы, вероятно, отправим электронное письмо создателю WenQuanYi Zen Hei (на своем сайте он заявляет, что он открыт для коммерческого использования, но за плату), или создателю Code2000 . Кстати, для шрифтов хинди Code2000 выглядит действительно хорошо, но не так много для шрифтов Latin-1 (слишком широкий, очень типографский, а не на основе экрана).

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