2013-10-09 3 views
1

Используя CSS, я использую эту строку стиль двуязычный элемент:Как сделать изображение шрифта более крупным?

font-family:persianFont, englishFont; 

Оба persianFont и englishFont определяются с @font-face. Проблема в том, что символы с английским шрифтом показаны немного больше, потому что шрифт создан таким образом. Образец предложение будет обработан следующим образом:

BIG_ENGLISH_WORDS_small_persian_BIG_ENGLISH_AGAIN ...

Итак, мой вопрос, как я могу сделать persianFont немного больше (сделать это иметь больший масштаб), так что строка двуязычного персидско-английского предложения показана правильно как в одном размере? Это вообще возможно? Есть ли другое решение?

Заранее спасибо

+0

Можете ли вы разместить HTML-код, чтобы мы могли видеть, что доступно для CSS? –

+0

Это не относится к элементам HTML. У меня есть строка в элементе. строка унифицирована, означает персидский и английский все вместе в одном месте и не разделены. –

+0

Как работает ваша декларация CSS? Как применяется каждый шрифт? –

ответ

2

Предлагаю создать промежуток отдельно и увеличивая размер шрифта в качестве идеального раствора.

Если я предполагаю, что ваш body имеет значение по умолчанию font-size из 12px, то пропорционально вам необходимо увеличить размер пролета.

НАПРИМЕР,

span{ 
    font-size:14px; 
} 

Из вашего примера, например,

<p>BIG_ENGLISH_WORDS_<span>small_persian</span>_BIG_ENGLISH_AGAIN...</p> 

Надеется, что это помогает.

PS: Вы можете сделать то же самое, создав класс или селектор id.

+0

Это не возможно для меня и не является моим решением –

+0

Любые причины, по которым вы не можете сделать вышеуказанные изменения? Как это обеспечивает решение? - @MostafaShahverdy – Nitesh

+0

Я получаю текст от пользователей, и они набирают персидский и английский все вместе. –

1

Я наконец понял, что вы имели в виду. Я думаю, вы должны посмотреть на свойство CSS unicode-range. Возможно, у него недостаточно поддержки браузера, но это также зависит от вашей целевой аудитории. По крайней мере, Chrome имеет минимальную поддержку.

Я помню, как читал об этом на 24ways.org. Вот exercpt из статьи Дрю Маклеллан (http://24ways.org/2011/creating-custom-font-stacks-with-unicode-range/)

unicode-range Дескриптор предназначен, чтобы помочь при использовании шрифтов, которые не имеют полного охвата символов, используемых на странице. Добавляя свойство unicode диапазонак правилу @font-face, можно указать диапазон символов шрифта.

@font-face { 
    font-family: BBCBengali; 
    src: url(fonts/BBCBengali.ttf) format("opentype"); 
    unicode-range: U+00-FF; 
} 

В этом примере, шрифт должен использоваться для символов в диапазоне U+00 к U+FF, которая проходит от неинтересных управляющих символов в начале таблицы Unicode (символы, такие как восклицательный знак начинается с U+21) с точностью до ÿ по адресу U+FF - степень базовой латыни диапазон знаков.

путем добавления нескольких @font-face правила для одной и той же семьи, но с различных диапазонов, вы можете создать полный охват персонажей вашей страницы использует с использованием различных шрифтов.

Существует также большое article by Richard Ishida) о unicode-range сопровождении теста, который я разместил на JsFiddle.

[править]

Таким образом, ваш следующий шаг заключается в определении точки кода Unicode, соответствующие на персидский язык и создать правило CSS, как описано выше, ориентации этих кодовых точек и изменения размера шрифта соответственно ,

+0

Да, я это делаю. На самом деле это поведение по умолчанию! Моя проблема - масштаб «BBCBengali». Мне нужно, чтобы «BBCBengali» больше или меньше другого шрифта в одной семье. –

+0

Вы имеете в виду, что вы уже используете 'unicode-range'? Было бы хорошо, если бы вы могли опубликовать URL-адрес на странице, которую я вижу, чтобы лучше понять. –

+0

Нет, это поведение по умолчанию. Поскольку персидский шрифт не охватывает все диапазоны юникода, они охватывают только персидские символы. –

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