@prostophp

Как задать разный font-size для кириллицы и латиницы в одном элементе?

В одном элементе может быть одновременно латиница и кириллица.
Подключено два разных шрифта. Один первичный, но без поддержки кириллицы, второй с поддержкой обоих, но нужен лишь как костыль для кириллицы.
@font-face {
	font-family: latin;
	src: url('/fonts/latin.eot'); /* IE9 Compat Modes */
	src: url('/fonts/latin.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
	url('/fonts/latin.woff') format('woff'), /* Modern Browsers */
	url('/fonts/latin.ttf')  format('truetype'), /* Safari, Android, iOS */
	url('/fonts/latin.svg#svgFontName') format('svg'); /* Legacy iOS */
}
@font-face {	
	font-family: cyrillic;
	...
}
.example {
	font-family: latin, cyrillic, Arial, Helvetica, sans-serif;
	font-size: 100%;
}


Однако в реальности шрифты имеют разницу в размере в три раза. Отказаться от латинского не могу, хотя именно он является виновником отсутствия стандартов в размере.

Вопрос - можно ли задать разный размер для кириллицы и латиницы в одном элементе. Или все таки придется искать кириллический шрифт подходящий по размеру(нестандартному) к латинскому?
  • Вопрос задан
  • 763 просмотра
Пригласить эксперта
Ответы на вопрос 3
@vvvadimos
если у вас так - [span]рус eng[/span], то никак, если только яваскриптом детектить символы, и оборачивать латиницу или кириллицу в доп. элемент, для него уже шрифт потом задавать
но это какое-то извращение) найдите нормальный шрифт
Ответ написан
@chirskiy_mixail
Очень давно занимаюсь версткой, имею огромный опыт
Зачем вам такое извращение, если, как в примере выше, рус eng, то можно на JS разбить по пробелу spli(' ') и нужному добавить класс и уже применить нужный стиль, а за такую конструкцию

.example[unicode-range = 'U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F'] { font-size: 2.5em; }

вам руки оторвут
Ответ написан
Комментировать
@prostophp Автор вопроса
Михаил Чирский: почему извращение? мне кажется вполне разумным если бы существовал стиль для определенного юникод-символа. существует же псевдоэлемент для первого символа в тексте.

или например хотелось бы что-то типа такого:
.example {
     @font-face {
          font-family: latin;
          font-size: 1em;
     }
     @font-face {
          font-family: cyrillic;
          font-size: 2em;
     }
     font-family: latin, cyrillic, Arial, Helvetica, sans-serif;
}

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

Войдите, чтобы написать ответ

Похожие вопросы