@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%;
}


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

Вопрос - можно ли задать разный размер для кириллицы и латиницы в одном элементе. Или все таки придется искать кириллический шрифт подходящий по размеру(нестандартному) к латинскому?
  • Вопрос задан
  • 738 просмотров
Пригласить эксперта
Ответы на вопрос 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: да, такой шрифт, написан специально для игры, и отошедший от всех возможных стандартов. Однако сайт по игре и стилизован соответственно, поэтому было преступлением отказываться от шрифта. Как вариант можно поискать спецов которые подгонят его под стандарт
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы