2015-03-05 3 views
1

Я программно создаю двуязычный файл MSWord 2011 (содержащий текст из 2-х языков) с помощью docx4j. Мой план состоит в том, чтобы установить шрифт-семейство текста на основе языка в тексте. например: Когда у меня есть латинский и индийский языки, весь текст, содержащий английский, будет иметь «Times New Roman» и Hindi как «Devanagari» в качестве их шрифта.Где я могу получить семейство шрифтов для языковой пары для Microsoft Word

В документации по MS Word об этом нет. Любая помощь в поиске списка всех известных языков поддерживает MS-Word и их соответствующие Font-Families.

ответ

1

Отправной точкой является rFonts element.

Как говорится:

Этого элемент определяет шрифты, которые должны быть использованы для отображения текстового содержимого этой перспективы. В одном счете, может быть до четыре типов контента настоящего, которые должны каждому из них будет разрешено использовать уникальный шрифт:

• ASCII

• Высокая ANSI

• Комплекс скриптов

• Восточной Азии

использование каждого из этих шрифтов, определяется значениями Unicode символов содержания выполнения, если руководство LY перекрыт с помощью использования CS элемента

Для дальнейшего комментария и фактического алгоритма, используемого docx4j (в его выходе PDF), который призван имитировать Word, см RunFontSelector

Для упрощения немного, вы необходимо определить, какой из 4-х атрибутов Word будет использоваться для вашего хинди (по его символьным символам Юникода), а затем установите этот атрибут для нужного шрифта.

Вы можете установить атрибут для фактического имени шрифта или использовать ссылку на тему (см. Код RunFontSelector, как это работает).

Если бы я был вами, я бы создал docx в Word, который настроен так, как вам нравится, а затем посмотрите на его базовый XML. Если он использует ссылки на темы в атрибутах шрифта, вы можете либо использовать созданный вами docx в качестве шаблона для вашей работы docx4j, либо вы можете вручную «разрешить» ссылки и заменить их фактическими именами шрифтов.

Если вы хотите программно воспроизвести то, что Word создал для вас, вы можете загрузить свой docx в docx4j webapp для создания подходящего кода.

Наконец, обратите внимание, что шрифты должны быть доступны на компьютере, открывая docx. (Если шрифты не встроены в docx). Если это не так, можно заменить другой шрифт.

 Смежные вопросы

  • Нет связанных вопросов^_^